@coorpacademy/components 10.17.0 → 10.17.3

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 (74) hide show
  1. package/README.md +21 -1
  2. package/es/atom/drag-and-drop/index.js +8 -5
  3. package/es/atom/drag-and-drop/index.js.map +1 -1
  4. package/es/atom/drag-and-drop/style.css +5 -0
  5. package/es/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js +12 -0
  6. package/es/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js.map +1 -0
  7. package/es/atom/drag-and-drop/test/fixtures/disabled.js +12 -0
  8. package/es/atom/drag-and-drop/test/fixtures/disabled.js.map +1 -0
  9. package/es/atom/drag-and-drop/test/fixtures.js +4 -0
  10. package/es/atom/drag-and-drop/test/fixtures.js.map +1 -1
  11. package/es/atom/image-upload/index.js +3 -1
  12. package/es/atom/image-upload/index.js.map +1 -1
  13. package/es/atom/image-upload/test/fixtures/disabled.js +12 -0
  14. package/es/atom/image-upload/test/fixtures/disabled.js.map +1 -0
  15. package/es/atom/image-upload/test/fixtures.js +2 -0
  16. package/es/atom/image-upload/test/fixtures.js.map +1 -1
  17. package/es/atom/lottie-wrapper/index.js +37 -9
  18. package/es/atom/lottie-wrapper/index.js.map +1 -1
  19. package/es/atom/lottie-wrapper/test/fixtures/confetti.js +3 -1
  20. package/es/atom/lottie-wrapper/test/fixtures/confetti.js.map +1 -1
  21. package/es/atom/lottie-wrapper/test/fixtures/controls.js +10 -0
  22. package/es/atom/lottie-wrapper/test/fixtures/controls.js.map +1 -0
  23. package/es/atom/lottie-wrapper/test/fixtures/default.js +3 -1
  24. package/es/atom/lottie-wrapper/test/fixtures/default.js.map +1 -1
  25. package/es/atom/lottie-wrapper/test/fixtures/rank.js +3 -1
  26. package/es/atom/lottie-wrapper/test/fixtures/rank.js.map +1 -1
  27. package/es/atom/lottie-wrapper/test/fixtures.js +2 -0
  28. package/es/atom/lottie-wrapper/test/fixtures.js.map +1 -1
  29. package/es/atom/lottie-wrapper/test/lottie.js +57 -20
  30. package/es/atom/lottie-wrapper/test/lottie.js.map +1 -1
  31. package/es/molecule/drag-and-drop-wrapper/test/fixtures/{without-checkbox.js → disabled.js} +3 -2
  32. package/es/molecule/drag-and-drop-wrapper/test/fixtures/disabled.js.map +1 -0
  33. package/es/molecule/drag-and-drop-wrapper/test/fixtures.js +2 -2
  34. package/es/molecule/drag-and-drop-wrapper/test/fixtures.js.map +1 -1
  35. package/es/organism/rewards-form/test/fixtures/default.js +3 -2
  36. package/es/organism/rewards-form/test/fixtures/default.js.map +1 -1
  37. package/lib/atom/drag-and-drop/index.js +9 -5
  38. package/lib/atom/drag-and-drop/index.js.map +1 -1
  39. package/lib/atom/drag-and-drop/style.css +5 -0
  40. package/lib/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js +21 -0
  41. package/lib/atom/drag-and-drop/test/fixtures/disabled-with-image-reset.js.map +1 -0
  42. package/lib/atom/drag-and-drop/test/fixtures/disabled.js +21 -0
  43. package/lib/atom/drag-and-drop/test/fixtures/disabled.js.map +1 -0
  44. package/lib/atom/drag-and-drop/test/fixtures.js +6 -0
  45. package/lib/atom/drag-and-drop/test/fixtures.js.map +1 -1
  46. package/lib/atom/image-upload/index.js +3 -1
  47. package/lib/atom/image-upload/index.js.map +1 -1
  48. package/lib/atom/image-upload/test/fixtures/disabled.js +21 -0
  49. package/lib/atom/image-upload/test/fixtures/disabled.js.map +1 -0
  50. package/lib/atom/image-upload/test/fixtures.js +3 -0
  51. package/lib/atom/image-upload/test/fixtures.js.map +1 -1
  52. package/lib/atom/lottie-wrapper/index.js +42 -10
  53. package/lib/atom/lottie-wrapper/index.js.map +1 -1
  54. package/lib/atom/lottie-wrapper/test/fixtures/confetti.js +3 -1
  55. package/lib/atom/lottie-wrapper/test/fixtures/confetti.js.map +1 -1
  56. package/lib/atom/lottie-wrapper/test/fixtures/controls.js +19 -0
  57. package/lib/atom/lottie-wrapper/test/fixtures/controls.js.map +1 -0
  58. package/lib/atom/lottie-wrapper/test/fixtures/default.js +3 -1
  59. package/lib/atom/lottie-wrapper/test/fixtures/default.js.map +1 -1
  60. package/lib/atom/lottie-wrapper/test/fixtures/rank.js +3 -1
  61. package/lib/atom/lottie-wrapper/test/fixtures/rank.js.map +1 -1
  62. package/lib/atom/lottie-wrapper/test/fixtures.js +3 -0
  63. package/lib/atom/lottie-wrapper/test/fixtures.js.map +1 -1
  64. package/lib/atom/lottie-wrapper/test/lottie.js +60 -21
  65. package/lib/atom/lottie-wrapper/test/lottie.js.map +1 -1
  66. package/lib/molecule/drag-and-drop-wrapper/test/fixtures/{without-checkbox.js → disabled.js} +3 -2
  67. package/lib/molecule/drag-and-drop-wrapper/test/fixtures/disabled.js.map +1 -0
  68. package/lib/molecule/drag-and-drop-wrapper/test/fixtures.js +3 -3
  69. package/lib/molecule/drag-and-drop-wrapper/test/fixtures.js.map +1 -1
  70. package/lib/organism/rewards-form/test/fixtures/default.js +4 -3
  71. package/lib/organism/rewards-form/test/fixtures/default.js.map +1 -1
  72. package/package.json +4 -3
  73. package/es/molecule/drag-and-drop-wrapper/test/fixtures/without-checkbox.js.map +0 -1
  74. package/lib/molecule/drag-and-drop-wrapper/test/fixtures/without-checkbox.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/image-upload/test/fixtures/disabled.js"],"names":["props","defaultProps","disabled"],"mappings":";;;;;AAAA;;;;;;AAEA,MAAM;AAACA,EAAAA;AAAD,IAAUC,iBAAhB;eAEe;AACbD,EAAAA,KAAK,wBAAMA,KAAN;AAAaE,IAAAA,QAAQ,EAAE;AAAvB;AADQ,C","sourcesContent":["import defaultProps from './default';\n\nconst {props} = defaultProps;\n\nexport default {\n props: {...props, disabled: true}\n};\n"],"file":"disabled.js"}
@@ -22,6 +22,8 @@ var _desktopResetNoDescription = _interopRequireDefault(require("./fixtures/desk
22
22
 
23
23
  var _desktop = _interopRequireDefault(require("./fixtures/desktop"));
24
24
 
25
+ var _disabled = _interopRequireDefault(require("./fixtures/disabled"));
26
+
25
27
  var _email = _interopRequireDefault(require("./fixtures/email"));
26
28
 
27
29
  var _mobile = _interopRequireDefault(require("./fixtures/mobile"));
@@ -43,6 +45,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
43
45
  (0, _ava.default)('Atom › AtomImageUpload › DesktopResetDescription › should be rendered', _renderComponent.default, _.default, _desktopResetDescription.default);
44
46
  (0, _ava.default)('Atom › AtomImageUpload › DesktopResetNoDescription › should be rendered', _renderComponent.default, _.default, _desktopResetNoDescription.default);
45
47
  (0, _ava.default)('Atom › AtomImageUpload › Desktop › should be rendered', _renderComponent.default, _.default, _desktop.default);
48
+ (0, _ava.default)('Atom › AtomImageUpload › Disabled › should be rendered', _renderComponent.default, _.default, _disabled.default);
46
49
  (0, _ava.default)('Atom › AtomImageUpload › Email › should be rendered', _renderComponent.default, _.default, _email.default);
47
50
  (0, _ava.default)('Atom › AtomImageUpload › Mobile › should be rendered', _renderComponent.default, _.default, _mobile.default);
48
51
  (0, _ava.default)('Atom › AtomImageUpload › Modified › should be rendered', _renderComponent.default, _.default, _modified.default);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/image-upload/test/fixtures.js"],"names":["t","pass","AtomImageUpload","propTypes","value","key","not","undefined","renderComponentMacro","fixtureCleanModified","fixtureDefault","fixtureDesktopResetDescriptionMultiple","fixtureDesktopResetDescriptionOnlyPng","fixtureDesktopResetDescription","fixtureDesktopResetNoDescription","fixtureDesktop","fixtureEmail","fixtureMobile","fixtureModified"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,sDAAL,EAA6DA,CAAC,IAAI;AAChEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAgBC,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACjDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,gDAA+CF,GAAI,mEAA5E;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,6DAAL,EAAoEG,wBAApE,EAA0FN,SAA1F,EAA2GO,sBAA3G;AACA,kBAAK,uDAAL,EAA8DD,wBAA9D,EAAoFN,SAApF,EAAqGQ,gBAArG;AACA,kBAAK,+EAAL,EAAsFF,wBAAtF,EAA4GN,SAA5G,EAA6HS,wCAA7H;AACA,kBAAK,8EAAL,EAAqFH,wBAArF,EAA2GN,SAA3G,EAA4HU,uCAA5H;AACA,kBAAK,uEAAL,EAA8EJ,wBAA9E,EAAoGN,SAApG,EAAqHW,gCAArH;AACA,kBAAK,yEAAL,EAAgFL,wBAAhF,EAAsGN,SAAtG,EAAuHY,kCAAvH;AACA,kBAAK,uDAAL,EAA8DN,wBAA9D,EAAoFN,SAApF,EAAqGa,gBAArG;AACA,kBAAK,qDAAL,EAA4DP,wBAA5D,EAAkFN,SAAlF,EAAmGc,cAAnG;AACA,kBAAK,sDAAL,EAA6DR,wBAA7D,EAAmFN,SAAnF,EAAoGe,eAApG;AACA,kBAAK,wDAAL,EAA+DT,wBAA/D,EAAqFN,SAArF,EAAsGgB,iBAAtG","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomImageUpload from '..';\nimport fixtureCleanModified from './fixtures/clean-modified';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDesktopResetDescriptionMultiple from './fixtures/desktop-reset-description-multiple';\nimport fixtureDesktopResetDescriptionOnlyPng from './fixtures/desktop-reset-description-only-png';\nimport fixtureDesktopResetDescription from './fixtures/desktop-reset-description';\nimport fixtureDesktopResetNoDescription from './fixtures/desktop-reset-no-description';\nimport fixtureDesktop from './fixtures/desktop';\nimport fixtureEmail from './fixtures/email';\nimport fixtureMobile from './fixtures/mobile';\nimport fixtureModified from './fixtures/modified';\n\ntest('Atom › AtomImageUpload > should have valid propTypes', t => {\n t.pass();\n forEach(AtomImageUpload.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomImageUpload.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomImageUpload › CleanModified › should be rendered', renderComponentMacro, AtomImageUpload, fixtureCleanModified);\ntest('Atom › AtomImageUpload › Default › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDefault);\ntest('Atom › AtomImageUpload › DesktopResetDescriptionMultiple › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetDescriptionMultiple);\ntest('Atom › AtomImageUpload › DesktopResetDescriptionOnlyPng › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetDescriptionOnlyPng);\ntest('Atom › AtomImageUpload › DesktopResetDescription › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetDescription);\ntest('Atom › AtomImageUpload › DesktopResetNoDescription › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetNoDescription);\ntest('Atom › AtomImageUpload › Desktop › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktop);\ntest('Atom › AtomImageUpload › Email › should be rendered', renderComponentMacro, AtomImageUpload, fixtureEmail);\ntest('Atom › AtomImageUpload › Mobile › should be rendered', renderComponentMacro, AtomImageUpload, fixtureMobile);\ntest('Atom › AtomImageUpload › Modified › should be rendered', renderComponentMacro, AtomImageUpload, fixtureModified);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/atom/image-upload/test/fixtures.js"],"names":["t","pass","AtomImageUpload","propTypes","value","key","not","undefined","renderComponentMacro","fixtureCleanModified","fixtureDefault","fixtureDesktopResetDescriptionMultiple","fixtureDesktopResetDescriptionOnlyPng","fixtureDesktopResetDescription","fixtureDesktopResetNoDescription","fixtureDesktop","fixtureDisabled","fixtureEmail","fixtureMobile","fixtureModified"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,sDAAL,EAA6DA,CAAC,IAAI;AAChEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAgBC,SAAxB,EAAmC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACjDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,gDAA+CF,GAAI,mEAA5E;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,6DAAL,EAAoEG,wBAApE,EAA0FN,SAA1F,EAA2GO,sBAA3G;AACA,kBAAK,uDAAL,EAA8DD,wBAA9D,EAAoFN,SAApF,EAAqGQ,gBAArG;AACA,kBAAK,+EAAL,EAAsFF,wBAAtF,EAA4GN,SAA5G,EAA6HS,wCAA7H;AACA,kBAAK,8EAAL,EAAqFH,wBAArF,EAA2GN,SAA3G,EAA4HU,uCAA5H;AACA,kBAAK,uEAAL,EAA8EJ,wBAA9E,EAAoGN,SAApG,EAAqHW,gCAArH;AACA,kBAAK,yEAAL,EAAgFL,wBAAhF,EAAsGN,SAAtG,EAAuHY,kCAAvH;AACA,kBAAK,uDAAL,EAA8DN,wBAA9D,EAAoFN,SAApF,EAAqGa,gBAArG;AACA,kBAAK,wDAAL,EAA+DP,wBAA/D,EAAqFN,SAArF,EAAsGc,iBAAtG;AACA,kBAAK,qDAAL,EAA4DR,wBAA5D,EAAkFN,SAAlF,EAAmGe,cAAnG;AACA,kBAAK,sDAAL,EAA6DT,wBAA7D,EAAmFN,SAAnF,EAAoGgB,eAApG;AACA,kBAAK,wDAAL,EAA+DV,wBAA/D,EAAqFN,SAArF,EAAsGiB,iBAAtG","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomImageUpload from '..';\nimport fixtureCleanModified from './fixtures/clean-modified';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDesktopResetDescriptionMultiple from './fixtures/desktop-reset-description-multiple';\nimport fixtureDesktopResetDescriptionOnlyPng from './fixtures/desktop-reset-description-only-png';\nimport fixtureDesktopResetDescription from './fixtures/desktop-reset-description';\nimport fixtureDesktopResetNoDescription from './fixtures/desktop-reset-no-description';\nimport fixtureDesktop from './fixtures/desktop';\nimport fixtureDisabled from './fixtures/disabled';\nimport fixtureEmail from './fixtures/email';\nimport fixtureMobile from './fixtures/mobile';\nimport fixtureModified from './fixtures/modified';\n\ntest('Atom › AtomImageUpload > should have valid propTypes', t => {\n t.pass();\n forEach(AtomImageUpload.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomImageUpload.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomImageUpload › CleanModified › should be rendered', renderComponentMacro, AtomImageUpload, fixtureCleanModified);\ntest('Atom › AtomImageUpload › Default › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDefault);\ntest('Atom › AtomImageUpload › DesktopResetDescriptionMultiple › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetDescriptionMultiple);\ntest('Atom › AtomImageUpload › DesktopResetDescriptionOnlyPng › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetDescriptionOnlyPng);\ntest('Atom › AtomImageUpload › DesktopResetDescription › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetDescription);\ntest('Atom › AtomImageUpload › DesktopResetNoDescription › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktopResetNoDescription);\ntest('Atom › AtomImageUpload › Desktop › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDesktop);\ntest('Atom › AtomImageUpload › Disabled › should be rendered', renderComponentMacro, AtomImageUpload, fixtureDisabled);\ntest('Atom › AtomImageUpload › Email › should be rendered', renderComponentMacro, AtomImageUpload, fixtureEmail);\ntest('Atom › AtomImageUpload › Mobile › should be rendered', renderComponentMacro, AtomImageUpload, fixtureMobile);\ntest('Atom › AtomImageUpload › Modified › should be rendered', renderComponentMacro, AtomImageUpload, fixtureModified);\n"],"file":"fixtures.js"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = exports.fetchAndLoadAnimation = void 0;
4
+ exports.default = exports.fetchAndLoadAnimation = exports.ANIMATION_CONTROL = void 0;
5
5
 
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
 
@@ -17,6 +17,10 @@ var _has = _interopRequireDefault(require("lodash/fp/has"));
17
17
 
18
18
  var _includes = _interopRequireDefault(require("lodash/fp/includes"));
19
19
 
20
+ var _keys = _interopRequireDefault(require("lodash/fp/keys"));
21
+
22
+ var _omit = _interopRequireDefault(require("lodash/fp/omit"));
23
+
20
24
  var _isomorphicUnfetch = _interopRequireDefault(require("isomorphic-unfetch"));
21
25
 
22
26
  var _style = _interopRequireDefault(require("./style.css"));
@@ -29,6 +33,14 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
29
33
 
30
34
  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); }
31
35
 
36
+ const ANIMATION_CONTROL = {
37
+ play: 'play',
38
+ pause: 'pause',
39
+ stop: 'stop',
40
+ loading: 'loading'
41
+ };
42
+ exports.ANIMATION_CONTROL = ANIMATION_CONTROL;
43
+
32
44
  const isIE11 = () => {
33
45
  if (typeof window === 'undefined') return;
34
46
  const userAgent = (0, _get.default)('navigator.userAgent', window);
@@ -38,7 +50,7 @@ const isIE11 = () => {
38
50
  return hasMsCrypto || hasRevision && hasTrident;
39
51
  };
40
52
 
41
- const fetchAndLoadAnimation = async (animationSrc, containerRef, loop, animationClassnames, hideOnTransparent, _lottie, _fetch) => {
53
+ const fetchAndLoadAnimation = async (_lottie, _fetch, animationSrc, containerRef, loop, animationClassnames, hideOnTransparent, autoplay) => {
42
54
  const animationUrl = new URL(animationSrc).toString();
43
55
  const fetchResult = await _fetch(animationUrl, {
44
56
  headers: {
@@ -52,7 +64,7 @@ const fetchAndLoadAnimation = async (animationSrc, containerRef, loop, animation
52
64
  container: containerRef.current,
53
65
  // the dom element that will contain the animation
54
66
  renderer: 'svg',
55
- autoplay: true,
67
+ autoplay,
56
68
  loop,
57
69
  animationData,
58
70
  rendererSettings: {
@@ -79,29 +91,44 @@ const LottieWrapper = props => {
79
91
  width,
80
92
  height,
81
93
  ie11ImageBackup,
82
- backupImageClassName
94
+ backupImageClassName,
95
+ autoplay = true,
96
+ animationControl
83
97
  } = props;
84
98
  const {
85
99
  className: animationClassName,
86
100
  hideOnTransparent = true
87
101
  } = rendererSettings;
88
- const containerRef = (0, _react.useRef)(null);
102
+ const containerRef = (0, _react.useRef)(null); // lottie's animation instance
103
+
89
104
  const [animationItem, setAnimationItem] = (0, _react.useState)(null);
105
+ const [isAnimationVisible, setIsAnimationVisible] = (0, _react.useState)(autoplay);
90
106
 
91
107
  const _isIE11 = (0, _react.useMemo)(() => isIE11(), []);
92
108
 
93
109
  const wrapperClassName = (0, _react.useMemo)(() => (0, _classnames.default)(className, _style.default.lottieContainer), [className]);
94
110
  const lottieAnimationClassName = (0, _react.useMemo)(() => (0, _classnames.default)(animationClassName, _style.default.animation), [animationClassName]);
95
111
  const ie11BackupImageClassName = (0, _react.useMemo)(() => (0, _classnames.default)(backupImageClassName, _style.default.backupImage), [backupImageClassName]);
112
+ (0, _react.useEffect)(() => {
113
+ // enzyme does not handle well the state update after an async useEffect in tests
114
+ // to remove when the migration towards @testing-library/react is done
115
+
116
+ /* istanbul ignore next */
117
+ if (animationItem && (0, _includes.default)(animationControl, (0, _keys.default)((0, _omit.default)('loading', ANIMATION_CONTROL))) && !autoplay) {
118
+ setIsAnimationVisible(true);
119
+ animationItem[animationControl]();
120
+ if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);
121
+ }
122
+ }, [animationControl, animationItem, autoplay]);
96
123
  (0, _react.useEffect)(() => {
97
124
  const loadAnimation = async () => {
98
125
  if (!_isIE11 && !animationItem) {
99
- /* istanbul ignore next */
126
+ /* istanbul ignore else */
100
127
  if (typeof window !== 'undefined') {
101
128
  window.lottie = _lottieWeb.default;
102
129
  }
103
130
 
104
- const animation = await fetchAndLoadAnimation(animationSrc, containerRef, loop, lottieAnimationClassName, hideOnTransparent, _lottieWeb.default, _isomorphicUnfetch.default);
131
+ const animation = await fetchAndLoadAnimation(_lottieWeb.default, _isomorphicUnfetch.default, animationSrc, containerRef, loop, lottieAnimationClassName, hideOnTransparent, autoplay);
105
132
  /* istanbul ignore next */
106
133
 
107
134
  setAnimationItem(animation);
@@ -112,18 +139,21 @@ const LottieWrapper = props => {
112
139
  return () => animationItem &&
113
140
  /* istanbul ignore next */
114
141
  _lottieWeb.default.destroy(animationItem.name);
115
- }, [lottieAnimationClassName, containerRef, hideOnTransparent, loop, animationSrc, _isIE11, animationItem]);
142
+ }, [lottieAnimationClassName, containerRef, hideOnTransparent, loop, animationSrc, _isIE11, animationItem, autoplay]);
116
143
  return /*#__PURE__*/_react.default.createElement("div", {
117
144
  ref: containerRef,
118
145
  "aria-label": ariaLabel,
119
146
  "data-name": dataName,
120
147
  className: wrapperClassName,
121
- style: _extends(_extends({}, width && {
148
+ style: _extends(_extends(_extends({}, width && {
122
149
  width: `${width}px`,
123
150
  maxWidth: `${width}px`
124
151
  }), height && {
125
152
  height: `${height}px`,
126
153
  maxHeight: `${height}px`
154
+ }), {}, {
155
+ opacity: isAnimationVisible ? 1 : 0,
156
+ transition: 'opacity 0.25s ease-in'
127
157
  })
128
158
  }, _isIE11 ? /*#__PURE__*/_react.default.createElement("img", {
129
159
  src: ie11ImageBackup,
@@ -145,7 +175,9 @@ LottieWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
145
175
  width: _propTypes.default.number,
146
176
  className: _propTypes.default.string,
147
177
  ie11ImageBackup: _propTypes.default.string.isRequired,
148
- backupImageClassName: _propTypes.default.string
178
+ backupImageClassName: _propTypes.default.string,
179
+ autoplay: _propTypes.default.bool,
180
+ animationControl: _propTypes.default.oneOf((0, _keys.default)(ANIMATION_CONTROL))
149
181
  } : {};
150
182
  var _default = LottieWrapper;
151
183
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","_lottie","_fetch","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","autoplay","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationClassName","animationItem","setAnimationItem","_isIE11","wrapperClassName","style","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","lottie","unfetch","destroy","name","maxWidth","maxHeight","propTypes","PropTypes","string","isRequired","bool","shape","number"],"mappings":"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","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n _lottie,\n _fetch\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation = _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay: true,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n const [animationItem, setAnimationItem] = useState(null);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore next */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n lottie,\n unfetch\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n })\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/atom/lottie-wrapper/index.js"],"names":["ANIMATION_CONTROL","play","pause","stop","loading","isIE11","window","userAgent","hasMsCrypto","hasRevision","hasTrident","fetchAndLoadAnimation","_lottie","_fetch","animationSrc","containerRef","loop","animationClassnames","hideOnTransparent","autoplay","animationUrl","URL","toString","fetchResult","headers","animationData","json","animation","loadAnimation","container","current","renderer","rendererSettings","className","preserveAspectRatio","LottieWrapper","props","dataName","ariaLabel","width","height","ie11ImageBackup","backupImageClassName","animationControl","animationClassName","animationItem","setAnimationItem","isAnimationVisible","setIsAnimationVisible","_isIE11","wrapperClassName","style","lottieContainer","lottieAnimationClassName","ie11BackupImageClassName","backupImage","lottie","unfetch","destroy","name","maxWidth","maxHeight","opacity","transition","propTypes","PropTypes","string","isRequired","bool","shape","number","oneOf"],"mappings":"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","sourcesContent":["import React, {useMemo, useRef, useEffect, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport lottie from 'lottie-web';\nimport get from 'lodash/fp/get';\nimport has from 'lodash/fp/has';\nimport includes from 'lodash/fp/includes';\nimport keys from 'lodash/fp/keys';\nimport omit from 'lodash/fp/omit';\nimport unfetch from 'isomorphic-unfetch';\nimport style from './style.css';\n\nexport const ANIMATION_CONTROL = {\n play: 'play',\n pause: 'pause',\n stop: 'stop',\n loading: 'loading'\n};\n\nconst isIE11 = () => {\n if (typeof window === 'undefined') return;\n const userAgent = get('navigator.userAgent', window);\n const hasMsCrypto = has('msCrypto', window);\n const hasRevision = includes('rv:', userAgent);\n const hasTrident = includes('Trident/', userAgent);\n\n return hasMsCrypto || (hasRevision && hasTrident);\n};\n\nexport const fetchAndLoadAnimation = async (\n _lottie,\n _fetch,\n animationSrc,\n containerRef,\n loop,\n animationClassnames,\n hideOnTransparent,\n autoplay\n) => {\n const animationUrl = new URL(animationSrc).toString();\n const fetchResult = await _fetch(animationUrl, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-Type': 'application/json'\n }\n });\n\n const animationData = await fetchResult.json();\n\n const animation = _lottie.loadAnimation({\n container: containerRef.current, // the dom element that will contain the animation\n renderer: 'svg',\n autoplay,\n loop,\n animationData,\n rendererSettings: {\n className: animationClassnames,\n hideOnTransparent,\n preserveAspectRatio: 'xMidYMid meet' // same options as a preserveAspectRatio prop\n }\n });\n return animation;\n};\n\nconst LottieWrapper = props => {\n const {\n className,\n 'data-name': dataName,\n 'aria-label': ariaLabel,\n animationSrc,\n loop = false,\n rendererSettings = {},\n width,\n height,\n ie11ImageBackup,\n backupImageClassName,\n autoplay = true,\n animationControl\n } = props;\n\n const {className: animationClassName, hideOnTransparent = true} = rendererSettings;\n\n const containerRef = useRef(null);\n\n // lottie's animation instance\n const [animationItem, setAnimationItem] = useState(null);\n\n const [isAnimationVisible, setIsAnimationVisible] = useState(autoplay);\n\n const _isIE11 = useMemo(() => isIE11(), []);\n\n const wrapperClassName = useMemo(() => classnames(className, style.lottieContainer), [className]);\n\n const lottieAnimationClassName = useMemo(() => classnames(animationClassName, style.animation), [\n animationClassName\n ]);\n\n const ie11BackupImageClassName = useMemo(\n () => classnames(backupImageClassName, style.backupImage),\n [backupImageClassName]\n );\n\n useEffect(() => {\n // enzyme does not handle well the state update after an async useEffect in tests\n // to remove when the migration towards @testing-library/react is done\n /* istanbul ignore next */\n if (\n animationItem &&\n includes(animationControl, keys(omit('loading', ANIMATION_CONTROL))) &&\n !autoplay\n ) {\n setIsAnimationVisible(true);\n animationItem[animationControl]();\n if (animationControl === ANIMATION_CONTROL.stop) setIsAnimationVisible(false);\n }\n }, [animationControl, animationItem, autoplay]);\n\n useEffect(() => {\n const loadAnimation = async () => {\n if (!_isIE11 && !animationItem) {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n window.lottie = lottie;\n }\n const animation = await fetchAndLoadAnimation(\n lottie,\n unfetch,\n animationSrc,\n containerRef,\n loop,\n lottieAnimationClassName,\n hideOnTransparent,\n autoplay\n );\n\n /* istanbul ignore next */\n setAnimationItem(animation);\n }\n };\n\n loadAnimation();\n return () => animationItem && /* istanbul ignore next */ lottie.destroy(animationItem.name);\n }, [\n lottieAnimationClassName,\n containerRef,\n hideOnTransparent,\n loop,\n animationSrc,\n _isIE11,\n animationItem,\n autoplay\n ]);\n\n return (\n <div\n ref={containerRef}\n aria-label={ariaLabel}\n data-name={dataName}\n className={wrapperClassName}\n style={{\n ...(width && {\n width: `${width}px`,\n maxWidth: `${width}px`\n }),\n ...(height && {\n height: `${height}px`,\n maxHeight: `${height}px`\n }),\n opacity: isAnimationVisible ? 1 : 0,\n transition: 'opacity 0.25s ease-in'\n }}\n >\n {_isIE11 ? (\n <img\n src={ie11ImageBackup}\n className={ie11BackupImageClassName}\n data-name=\"ie11-backup-image\"\n />\n ) : null}\n </div>\n );\n};\n\nLottieWrapper.propTypes = {\n 'aria-label': PropTypes.string.isRequired,\n 'data-name': PropTypes.string,\n animationSrc: PropTypes.string.isRequired,\n loop: PropTypes.bool,\n rendererSettings: PropTypes.shape({\n hideOnTransparent: PropTypes.bool,\n className: PropTypes.string\n }),\n height: PropTypes.number,\n width: PropTypes.number,\n className: PropTypes.string,\n ie11ImageBackup: PropTypes.string.isRequired,\n backupImageClassName: PropTypes.string,\n autoplay: PropTypes.bool,\n animationControl: PropTypes.oneOf(keys(ANIMATION_CONTROL))\n};\n\nexport default LottieWrapper;\n"],"file":"index.js"}
@@ -9,13 +9,15 @@ var _default = {
9
9
  className: undefined,
10
10
  animationSrc: 'https://static-staging.coorpacademy.com/animations/review/confetti.json',
11
11
  loop: undefined,
12
+ autoplay: true,
12
13
  rendererSettings: {
13
14
  hideOnTransparent: false,
14
15
  animationClassName: ''
15
16
  },
16
17
  height: 600,
17
18
  width: 1000,
18
- ie11ImageBackup: 'https://static-staging.coorpacademy.com/animations/review/conffeti_congrats.svg'
19
+ ie11ImageBackup: 'https://static-staging.coorpacademy.com/animations/review/conffeti_congrats.svg',
20
+ animationControl: undefined
19
21
  }
20
22
  };
21
23
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/confetti.js"],"names":["props","className","undefined","animationSrc","loop","rendererSettings","hideOnTransparent","animationClassName","height","width","ie11ImageBackup"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,aADT;AAEL,iBAAa,gBAFR;AAGLC,IAAAA,SAAS,EAAEC,SAHN;AAILC,IAAAA,YAAY,EAAE,yEAJT;AAKLC,IAAAA,IAAI,EAAEF,SALD;AAMLG,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,iBAAiB,EAAE,KADH;AAEhBC,MAAAA,kBAAkB,EAAE;AAFJ,KANb;AAULC,IAAAA,MAAM,EAAE,GAVH;AAWLC,IAAAA,KAAK,EAAE,IAXF;AAYLC,IAAAA,eAAe,EACb;AAbG;AADM,C","sourcesContent":["export default {\n props: {\n 'aria-label': 'aria lottie',\n 'data-name': 'default-lottie',\n className: undefined,\n animationSrc: 'https://static-staging.coorpacademy.com/animations/review/confetti.json',\n loop: undefined,\n rendererSettings: {\n hideOnTransparent: false,\n animationClassName: ''\n },\n height: 600,\n width: 1000,\n ie11ImageBackup:\n 'https://static-staging.coorpacademy.com/animations/review/conffeti_congrats.svg'\n }\n};\n"],"file":"confetti.js"}
1
+ {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/confetti.js"],"names":["props","className","undefined","animationSrc","loop","autoplay","rendererSettings","hideOnTransparent","animationClassName","height","width","ie11ImageBackup","animationControl"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,aADT;AAEL,iBAAa,gBAFR;AAGLC,IAAAA,SAAS,EAAEC,SAHN;AAILC,IAAAA,YAAY,EAAE,yEAJT;AAKLC,IAAAA,IAAI,EAAEF,SALD;AAMLG,IAAAA,QAAQ,EAAE,IANL;AAOLC,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,iBAAiB,EAAE,KADH;AAEhBC,MAAAA,kBAAkB,EAAE;AAFJ,KAPb;AAWLC,IAAAA,MAAM,EAAE,GAXH;AAYLC,IAAAA,KAAK,EAAE,IAZF;AAaLC,IAAAA,eAAe,EACb,iFAdG;AAeLC,IAAAA,gBAAgB,EAAEV;AAfb;AADM,C","sourcesContent":["export default {\n props: {\n 'aria-label': 'aria lottie',\n 'data-name': 'default-lottie',\n className: undefined,\n animationSrc: 'https://static-staging.coorpacademy.com/animations/review/confetti.json',\n loop: undefined,\n autoplay: true,\n rendererSettings: {\n hideOnTransparent: false,\n animationClassName: ''\n },\n height: 600,\n width: 1000,\n ie11ImageBackup:\n 'https://static-staging.coorpacademy.com/animations/review/conffeti_congrats.svg',\n animationControl: undefined\n }\n};\n"],"file":"confetti.js"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _default2 = _interopRequireDefault(require("./default"));
7
+
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+
10
+ 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); }
11
+
12
+ var _default = {
13
+ props: _extends(_extends({}, _default2.default.props), {}, {
14
+ autoplay: false,
15
+ animationControl: 'loading'
16
+ })
17
+ };
18
+ exports.default = _default;
19
+ //# sourceMappingURL=controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/controls.js"],"names":["props","defaultProps","autoplay","animationControl"],"mappings":";;;;;AAAA;;;;;;eAEe;AACbA,EAAAA,KAAK,wBACAC,kBAAaD,KADb;AAEHE,IAAAA,QAAQ,EAAE,KAFP;AAGHC,IAAAA,gBAAgB,EAAE;AAHf;AADQ,C","sourcesContent":["import defaultProps from './default';\n\nexport default {\n props: {\n ...defaultProps.props,\n autoplay: false,\n animationControl: 'loading'\n }\n};\n"],"file":"controls.js"}
@@ -9,13 +9,15 @@ var _default = {
9
9
  className: undefined,
10
10
  animationSrc: 'https://static-staging.coorpacademy.com/animations/review/star.json',
11
11
  loop: false,
12
+ autoplay: undefined,
12
13
  rendererSettings: {
13
14
  hideOnTransparent: false,
14
15
  animationClassName: ''
15
16
  },
16
17
  height: 200,
17
18
  width: 200,
18
- ie11ImageBackup: 'https://static-staging.coorpacademy.com/animations/review/stars_icon_congrats.svg'
19
+ ie11ImageBackup: 'https://static-staging.coorpacademy.com/animations/review/stars_icon_congrats.svg',
20
+ animationControl: undefined
19
21
  }
20
22
  };
21
23
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/default.js"],"names":["props","className","undefined","animationSrc","loop","rendererSettings","hideOnTransparent","animationClassName","height","width","ie11ImageBackup"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,aADT;AAEL,iBAAa,gBAFR;AAGLC,IAAAA,SAAS,EAAEC,SAHN;AAILC,IAAAA,YAAY,EAAE,qEAJT;AAKLC,IAAAA,IAAI,EAAE,KALD;AAMLC,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,iBAAiB,EAAE,KADH;AAEhBC,MAAAA,kBAAkB,EAAE;AAFJ,KANb;AAULC,IAAAA,MAAM,EAAE,GAVH;AAWLC,IAAAA,KAAK,EAAE,GAXF;AAYLC,IAAAA,eAAe,EACb;AAbG;AADM,C","sourcesContent":["export default {\n props: {\n 'aria-label': 'aria lottie',\n 'data-name': 'default-lottie',\n className: undefined,\n animationSrc: 'https://static-staging.coorpacademy.com/animations/review/star.json',\n loop: false,\n rendererSettings: {\n hideOnTransparent: false,\n animationClassName: ''\n },\n height: 200,\n width: 200,\n ie11ImageBackup:\n 'https://static-staging.coorpacademy.com/animations/review/stars_icon_congrats.svg'\n }\n};\n"],"file":"default.js"}
1
+ {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/default.js"],"names":["props","className","undefined","animationSrc","loop","autoplay","rendererSettings","hideOnTransparent","animationClassName","height","width","ie11ImageBackup","animationControl"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,aADT;AAEL,iBAAa,gBAFR;AAGLC,IAAAA,SAAS,EAAEC,SAHN;AAILC,IAAAA,YAAY,EAAE,qEAJT;AAKLC,IAAAA,IAAI,EAAE,KALD;AAMLC,IAAAA,QAAQ,EAAEH,SANL;AAOLI,IAAAA,gBAAgB,EAAE;AAChBC,MAAAA,iBAAiB,EAAE,KADH;AAEhBC,MAAAA,kBAAkB,EAAE;AAFJ,KAPb;AAWLC,IAAAA,MAAM,EAAE,GAXH;AAYLC,IAAAA,KAAK,EAAE,GAZF;AAaLC,IAAAA,eAAe,EACb,mFAdG;AAeLC,IAAAA,gBAAgB,EAAEV;AAfb;AADM,C","sourcesContent":["export default {\n props: {\n 'aria-label': 'aria lottie',\n 'data-name': 'default-lottie',\n className: undefined,\n animationSrc: 'https://static-staging.coorpacademy.com/animations/review/star.json',\n loop: false,\n autoplay: undefined,\n rendererSettings: {\n hideOnTransparent: false,\n animationClassName: ''\n },\n height: 200,\n width: 200,\n ie11ImageBackup:\n 'https://static-staging.coorpacademy.com/animations/review/stars_icon_congrats.svg',\n animationControl: undefined\n }\n};\n"],"file":"default.js"}
@@ -9,9 +9,11 @@ var _default = {
9
9
  className: undefined,
10
10
  animationSrc: 'https://static-staging.coorpacademy.com/animations/review/rank.json',
11
11
  loop: true,
12
+ autoplay: true,
12
13
  height: 200,
13
14
  width: 200,
14
- ie11ImageBackup: 'https://static-staging.coorpacademy.com/animations/review/rank_icon_congrats.svg'
15
+ ie11ImageBackup: 'https://static-staging.coorpacademy.com/animations/review/rank_icon_congrats.svg',
16
+ animationControl: undefined
15
17
  }
16
18
  };
17
19
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/rank.js"],"names":["props","className","undefined","animationSrc","loop","height","width","ie11ImageBackup"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,aADT;AAEL,iBAAa,gBAFR;AAGLC,IAAAA,SAAS,EAAEC,SAHN;AAILC,IAAAA,YAAY,EAAE,qEAJT;AAKLC,IAAAA,IAAI,EAAE,IALD;AAMLC,IAAAA,MAAM,EAAE,GANH;AAOLC,IAAAA,KAAK,EAAE,GAPF;AAQLC,IAAAA,eAAe,EACb;AATG;AADM,C","sourcesContent":["export default {\n props: {\n 'aria-label': 'aria lottie',\n 'data-name': 'default-lottie',\n className: undefined,\n animationSrc: 'https://static-staging.coorpacademy.com/animations/review/rank.json',\n loop: true,\n height: 200,\n width: 200,\n ie11ImageBackup:\n 'https://static-staging.coorpacademy.com/animations/review/rank_icon_congrats.svg'\n }\n};\n"],"file":"rank.js"}
1
+ {"version":3,"sources":["../../../../../src/atom/lottie-wrapper/test/fixtures/rank.js"],"names":["props","className","undefined","animationSrc","loop","autoplay","height","width","ie11ImageBackup","animationControl"],"mappings":";;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACL,kBAAc,aADT;AAEL,iBAAa,gBAFR;AAGLC,IAAAA,SAAS,EAAEC,SAHN;AAILC,IAAAA,YAAY,EAAE,qEAJT;AAKLC,IAAAA,IAAI,EAAE,IALD;AAMLC,IAAAA,QAAQ,EAAE,IANL;AAOLC,IAAAA,MAAM,EAAE,GAPH;AAQLC,IAAAA,KAAK,EAAE,GARF;AASLC,IAAAA,eAAe,EACb,kFAVG;AAWLC,IAAAA,gBAAgB,EAAEP;AAXb;AADM,C","sourcesContent":["export default {\n props: {\n 'aria-label': 'aria lottie',\n 'data-name': 'default-lottie',\n className: undefined,\n animationSrc: 'https://static-staging.coorpacademy.com/animations/review/rank.json',\n loop: true,\n autoplay: true,\n height: 200,\n width: 200,\n ie11ImageBackup:\n 'https://static-staging.coorpacademy.com/animations/review/rank_icon_congrats.svg',\n animationControl: undefined\n }\n};\n"],"file":"rank.js"}
@@ -10,6 +10,8 @@ var _ = _interopRequireDefault(require(".."));
10
10
 
11
11
  var _confetti = _interopRequireDefault(require("./fixtures/confetti"));
12
12
 
13
+ var _controls = _interopRequireDefault(require("./fixtures/controls"));
14
+
13
15
  var _default = _interopRequireDefault(require("./fixtures/default"));
14
16
 
15
17
  var _rank = _interopRequireDefault(require("./fixtures/rank"));
@@ -23,6 +25,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
25
  });
24
26
  });
25
27
  (0, _ava.default)('Atom › AtomLottieWrapper › Confetti › should be rendered', _renderComponent.default, _.default, _confetti.default);
28
+ (0, _ava.default)('Atom › AtomLottieWrapper › Controls › should be rendered', _renderComponent.default, _.default, _controls.default);
26
29
  (0, _ava.default)('Atom › AtomLottieWrapper › Default › should be rendered', _renderComponent.default, _.default, _default.default);
27
30
  (0, _ava.default)('Atom › AtomLottieWrapper › Rank › should be rendered', _renderComponent.default, _.default, _rank.default);
28
31
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/lottie-wrapper/test/fixtures.js"],"names":["t","pass","AtomLottieWrapper","propTypes","value","key","not","undefined","renderComponentMacro","fixtureConfetti","fixtureDefault","fixtureRank"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,wDAAL,EAA+DA,CAAC,IAAI;AAClEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAkBC,SAA1B,EAAqC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACnDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,kDAAiDF,GAAI,mEAA9E;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,0DAAL,EAAiEG,wBAAjE,EAAuFN,SAAvF,EAA0GO,iBAA1G;AACA,kBAAK,yDAAL,EAAgED,wBAAhE,EAAsFN,SAAtF,EAAyGQ,gBAAzG;AACA,kBAAK,sDAAL,EAA6DF,wBAA7D,EAAmFN,SAAnF,EAAsGS,aAAtG","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomLottieWrapper from '..';\nimport fixtureConfetti from './fixtures/confetti';\nimport fixtureDefault from './fixtures/default';\nimport fixtureRank from './fixtures/rank';\n\ntest('Atom › AtomLottieWrapper > should have valid propTypes', t => {\n t.pass();\n forEach(AtomLottieWrapper.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomLottieWrapper.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomLottieWrapper › Confetti › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureConfetti);\ntest('Atom › AtomLottieWrapper › Default › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureDefault);\ntest('Atom › AtomLottieWrapper › Rank › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureRank);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/atom/lottie-wrapper/test/fixtures.js"],"names":["t","pass","AtomLottieWrapper","propTypes","value","key","not","undefined","renderComponentMacro","fixtureConfetti","fixtureControls","fixtureDefault","fixtureRank"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,wDAAL,EAA+DA,CAAC,IAAI;AAClEA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAAkBC,SAA1B,EAAqC,CAACC,KAAD,EAAQC,GAAR,KAAgB;AACnDL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,kDAAiDF,GAAI,mEAA9E;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,0DAAL,EAAiEG,wBAAjE,EAAuFN,SAAvF,EAA0GO,iBAA1G;AACA,kBAAK,0DAAL,EAAiED,wBAAjE,EAAuFN,SAAvF,EAA0GQ,iBAA1G;AACA,kBAAK,yDAAL,EAAgEF,wBAAhE,EAAsFN,SAAtF,EAAyGS,gBAAzG;AACA,kBAAK,sDAAL,EAA6DH,wBAA7D,EAAmFN,SAAnF,EAAsGU,aAAtG","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport AtomLottieWrapper from '..';\nimport fixtureConfetti from './fixtures/confetti';\nimport fixtureControls from './fixtures/controls';\nimport fixtureDefault from './fixtures/default';\nimport fixtureRank from './fixtures/rank';\n\ntest('Atom › AtomLottieWrapper > should have valid propTypes', t => {\n t.pass();\n forEach(AtomLottieWrapper.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Atom.AtomLottieWrapper.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Atom › AtomLottieWrapper › Confetti › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureConfetti);\ntest('Atom › AtomLottieWrapper › Controls › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureControls);\ntest('Atom › AtomLottieWrapper › Default › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureDefault);\ntest('Atom › AtomLottieWrapper › Rank › should be rendered', renderComponentMacro, AtomLottieWrapper, fixtureRank);\n"],"file":"fixtures.js"}
@@ -6,30 +6,56 @@ var _ava = _interopRequireDefault(require("ava"));
6
6
 
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
 
9
- var _enzyme = require("enzyme");
10
-
11
- var _enzymeAdapterReact = _interopRequireDefault(require("enzyme-adapter-react-16"));
9
+ var _react2 = require("@testing-library/react");
12
10
 
13
11
  var _ = _interopRequireWildcard(require(".."));
14
12
 
15
13
  var _default = _interopRequireDefault(require("./fixtures/default"));
16
14
 
15
+ var _controls = _interopRequireDefault(require("./fixtures/controls"));
16
+
17
17
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
18
18
 
19
19
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
20
 
21
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
22
 
23
+ 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); }
24
+
23
25
  (0, _browserEnv.default)();
24
- (0, _enzyme.configure)({
25
- adapter: new _enzymeAdapterReact.default()
26
- });
26
+
27
+ _ava.default.afterEach(_react2.cleanup);
28
+
27
29
  (0, _ava.default)('should update && load the animation, should clean up after unmount', t => {
28
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
29
- wrapper.update();
30
- const backupImage = wrapper.find('[data-name="ie11-backup-image"]');
31
- t.false(backupImage.at(0).exists());
32
- wrapper.unmount();
30
+ const {
31
+ container,
32
+ rerender,
33
+ unmount
34
+ } = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
35
+ rerender( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
36
+ const wrapper = container.querySelectorAll('[data-name="default-lottie"]');
37
+ t.truthy(wrapper);
38
+ const backupImage = wrapper[0].querySelector('[data-name="ie11-backup-image"]');
39
+ t.falsy(backupImage);
40
+ unmount();
41
+ t.pass();
42
+ });
43
+ (0, _ava.default)('lottie controls: should update && load the animation, should clean up after unmount', t => {
44
+ const props = _extends(_extends({}, _controls.default.props), {}, {
45
+ animationControl: 'play'
46
+ });
47
+
48
+ const {
49
+ container,
50
+ rerender,
51
+ unmount
52
+ } = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, props));
53
+ rerender( /*#__PURE__*/_react.default.createElement(_.default, props));
54
+ const wrapper = container.querySelectorAll('[data-name="default-lottie"]');
55
+ t.truthy(wrapper);
56
+ const backupImage = wrapper[0].querySelector('[data-name="ie11-backup-image"]');
57
+ t.falsy(backupImage);
58
+ unmount();
33
59
  t.pass();
34
60
  });
35
61
  (0, _ava.default)('ie11: should load an image in place of the animation', t => {
@@ -40,17 +66,23 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
40
66
  return 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';
41
67
  });
42
68
 
43
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
44
- wrapper.update();
45
- const backupImage = wrapper.find('[data-name="ie11-backup-image"]');
46
- t.true(backupImage.at(0).exists());
47
- wrapper.unmount();
69
+ const {
70
+ container,
71
+ rerender,
72
+ unmount
73
+ } = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
74
+ rerender( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
75
+ const wrapper = container.querySelectorAll('[data-name="default-lottie"]');
76
+ t.truthy(wrapper);
77
+ const backupImage = wrapper[0].querySelector('[data-name="ie11-backup-image"]');
78
+ t.truthy(backupImage);
48
79
  delete window.msCrypto; // eslint-disable-next-line lodash-fp/prefer-constant
49
80
 
50
81
  window.navigator.__defineGetter__('userAgent', function () {
51
82
  return 'Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/13.2.0';
52
83
  });
53
84
 
85
+ unmount();
54
86
  t.pass();
55
87
  });
56
88
  (0, _ava.default)('other browser: should not load an image in place of the animation', t => {
@@ -59,15 +91,22 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
59
91
  return 'Mozilla/5.0 (other stuff; rv:77.0) like Gecko';
60
92
  });
61
93
 
62
- const wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
63
- const backupImage = wrapper.find('[data-name="ie11-backup-image"]');
64
- t.false(backupImage.at(0).exists());
65
- wrapper.unmount(); // eslint-disable-next-line lodash-fp/prefer-constant
94
+ const {
95
+ container,
96
+ rerender,
97
+ unmount
98
+ } = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
99
+ rerender( /*#__PURE__*/_react.default.createElement(_.default, _default.default.props));
100
+ const wrapper = container.querySelectorAll('[data-name="default-lottie"]');
101
+ t.truthy(wrapper);
102
+ const backupImage = wrapper[0].querySelector('[data-name="ie11-backup-image"]');
103
+ t.falsy(backupImage); // eslint-disable-next-line lodash-fp/prefer-constant
66
104
 
67
105
  window.navigator.__defineGetter__('userAgent', function () {
68
106
  return 'Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/13.2.0';
69
107
  });
70
108
 
109
+ unmount();
71
110
  t.pass();
72
111
  });
73
112
  (0, _ava.default)('fetchAndLoadAnimation', async t => {
@@ -91,7 +130,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
91
130
  };
92
131
  };
93
132
 
94
- const animation = await (0, _.fetchAndLoadAnimation)(props.animationSrc, '123456', true, 'test', true, _lottie, _fetch);
133
+ const animation = await (0, _.fetchAndLoadAnimation)(_lottie, _fetch, props.animationSrc, '123456', true, 'test', true);
95
134
  t.is(animation.name, 'animation');
96
135
  });
97
136
  //# sourceMappingURL=lottie.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/atom/lottie-wrapper/test/lottie.js"],"names":["adapter","Adapter","t","wrapper","starFixture","props","update","backupImage","find","false","at","exists","unmount","pass","window","msCrypto","navigator","__defineGetter__","true","plan","_lottie","loadAnimation","name","_fetch","json","animationData","animation","animationSrc","is"],"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 LottieWrapper, {fetchAndLoadAnimation} from '..';\nimport starFixture from './fixtures/default';\n\nbrowserEnv();\nconfigure({adapter: new Adapter()});\n\ntest('should update && load the animation, should clean up after unmount', t => {\n const wrapper = mount(<LottieWrapper {...starFixture.props} />);\n\n wrapper.update();\n\n const backupImage = wrapper.find('[data-name=\"ie11-backup-image\"]');\n t.false(backupImage.at(0).exists());\n\n wrapper.unmount();\n\n t.pass();\n});\n\ntest('ie11: should load an image in place of the animation', t => {\n window.msCrypto = () => {};\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\n });\n\n const wrapper = mount(<LottieWrapper {...starFixture.props} />);\n\n wrapper.update();\n\n const backupImage = wrapper.find('[data-name=\"ie11-backup-image\"]');\n t.true(backupImage.at(0).exists());\n\n wrapper.unmount();\n\n delete window.msCrypto;\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/13.2.0';\n });\n\n t.pass();\n});\n\ntest('other browser: should not load an image in place of the animation', t => {\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (other stuff; rv:77.0) like Gecko';\n });\n\n const wrapper = mount(<LottieWrapper {...starFixture.props} />);\n\n const backupImage = wrapper.find('[data-name=\"ie11-backup-image\"]');\n t.false(backupImage.at(0).exists());\n\n wrapper.unmount();\n\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/13.2.0';\n });\n\n t.pass();\n});\n\ntest('fetchAndLoadAnimation', async t => {\n t.plan(3);\n const props = starFixture.props;\n const _lottie = {\n loadAnimation: () => {\n t.pass();\n return {name: 'animation'};\n }\n };\n const _fetch = () => {\n t.pass();\n return {\n json: () => ({\n animationData: 'some value'\n })\n };\n };\n const animation = await fetchAndLoadAnimation(\n props.animationSrc,\n '123456',\n true,\n 'test',\n true,\n _lottie,\n _fetch\n );\n\n t.is(animation.name, 'animation');\n});\n"],"file":"lottie.js"}
1
+ {"version":3,"sources":["../../../../src/atom/lottie-wrapper/test/lottie.js"],"names":["test","afterEach","cleanup","t","container","rerender","unmount","starFixture","props","wrapper","querySelectorAll","truthy","backupImage","querySelector","falsy","pass","controlsFixture","animationControl","window","msCrypto","navigator","__defineGetter__","plan","_lottie","loadAnimation","name","_fetch","json","animationData","animation","animationSrc","is"],"mappings":"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","sourcesContent":["import browserEnv from 'browser-env';\nimport test from 'ava';\nimport React from 'react';\nimport {render, cleanup} from '@testing-library/react';\nimport LottieWrapper, {fetchAndLoadAnimation} from '..';\nimport starFixture from './fixtures/default';\nimport controlsFixture from './fixtures/controls';\n\nbrowserEnv();\n\ntest.afterEach(cleanup);\n\ntest('should update && load the animation, should clean up after unmount', t => {\n const {container, rerender, unmount} = render(<LottieWrapper {...starFixture.props} />);\n\n rerender(<LottieWrapper {...starFixture.props} />);\n\n const wrapper = container.querySelectorAll('[data-name=\"default-lottie\"]');\n t.truthy(wrapper);\n\n const backupImage = wrapper[0].querySelector('[data-name=\"ie11-backup-image\"]');\n t.falsy(backupImage);\n\n unmount();\n\n t.pass();\n});\n\ntest('lottie controls: should update && load the animation, should clean up after unmount', t => {\n const props = {\n ...controlsFixture.props,\n animationControl: 'play'\n };\n\n const {container, rerender, unmount} = render(<LottieWrapper {...props} />);\n\n rerender(<LottieWrapper {...props} />);\n const wrapper = container.querySelectorAll('[data-name=\"default-lottie\"]');\n t.truthy(wrapper);\n\n const backupImage = wrapper[0].querySelector('[data-name=\"ie11-backup-image\"]');\n t.falsy(backupImage);\n unmount();\n\n t.pass();\n});\n\ntest('ie11: should load an image in place of the animation', t => {\n window.msCrypto = () => {};\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';\n });\n\n const {container, rerender, unmount} = render(<LottieWrapper {...starFixture.props} />);\n\n rerender(<LottieWrapper {...starFixture.props} />);\n const wrapper = container.querySelectorAll('[data-name=\"default-lottie\"]');\n t.truthy(wrapper);\n\n const backupImage = wrapper[0].querySelector('[data-name=\"ie11-backup-image\"]');\n t.truthy(backupImage);\n\n delete window.msCrypto;\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/13.2.0';\n });\n unmount();\n\n t.pass();\n});\n\ntest('other browser: should not load an image in place of the animation', t => {\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (other stuff; rv:77.0) like Gecko';\n });\n\n const {container, rerender, unmount} = render(<LottieWrapper {...starFixture.props} />);\n\n rerender(<LottieWrapper {...starFixture.props} />);\n const wrapper = container.querySelectorAll('[data-name=\"default-lottie\"]');\n t.truthy(wrapper);\n\n const backupImage = wrapper[0].querySelector('[data-name=\"ie11-backup-image\"]');\n t.falsy(backupImage);\n\n // eslint-disable-next-line lodash-fp/prefer-constant\n window.navigator.__defineGetter__('userAgent', function () {\n return 'Mozilla/5.0 (darwin) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/13.2.0';\n });\n unmount();\n\n t.pass();\n});\n\ntest('fetchAndLoadAnimation', async t => {\n t.plan(3);\n const props = starFixture.props;\n const _lottie = {\n loadAnimation: () => {\n t.pass();\n return {name: 'animation'};\n }\n };\n const _fetch = () => {\n t.pass();\n return {\n json: () => ({\n animationData: 'some value'\n })\n };\n };\n const animation = await fetchAndLoadAnimation(\n _lottie,\n _fetch,\n props.animationSrc,\n '123456',\n true,\n 'test',\n true\n );\n\n t.is(animation.name, 'animation');\n});\n"],"file":"lottie.js"}
@@ -12,9 +12,10 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
12
12
  var _default = {
13
13
  props: {
14
14
  list: [_extends(_extends({}, _default2.default.props), {}, {
15
- title: 'Add a badge'
15
+ title: 'Add a badge',
16
+ disabled: true
16
17
  })]
17
18
  }
18
19
  };
19
20
  exports.default = _default;
20
- //# sourceMappingURL=without-checkbox.js.map
21
+ //# sourceMappingURL=disabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/drag-and-drop-wrapper/test/fixtures/disabled.js"],"names":["props","list","firstdDragAndDrop","title","disabled"],"mappings":";;;;;AAAA;;;;;;eAEe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE,uBAAKC,kBAAkBF,KAAvB;AAA8BG,MAAAA,KAAK,EAAE,aAArC;AAAoDC,MAAAA,QAAQ,EAAE;AAA9D;AADD;AADM,C","sourcesContent":["import firstdDragAndDrop from '../../../../atom/image-upload/test/fixtures/default';\n\nexport default {\n props: {\n list: [{...firstdDragAndDrop.props, title: 'Add a badge', disabled: true}]\n }\n};\n"],"file":"disabled.js"}
@@ -10,9 +10,9 @@ var _ = _interopRequireDefault(require(".."));
10
10
 
11
11
  var _default = _interopRequireDefault(require("./fixtures/default"));
12
12
 
13
- var _twoDragAndDrops = _interopRequireDefault(require("./fixtures/two-drag-and-drops"));
13
+ var _disabled = _interopRequireDefault(require("./fixtures/disabled"));
14
14
 
15
- var _withoutCheckbox = _interopRequireDefault(require("./fixtures/without-checkbox"));
15
+ var _twoDragAndDrops = _interopRequireDefault(require("./fixtures/two-drag-and-drops"));
16
16
 
17
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
18
 
@@ -23,6 +23,6 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
23
23
  });
24
24
  });
25
25
  (0, _ava.default)('Molecule › MoleculeDragAndDropWrapper › Default › should be rendered', _renderComponent.default, _.default, _default.default);
26
+ (0, _ava.default)('Molecule › MoleculeDragAndDropWrapper › Disabled › should be rendered', _renderComponent.default, _.default, _disabled.default);
26
27
  (0, _ava.default)('Molecule › MoleculeDragAndDropWrapper › TwoDragAndDrops › should be rendered', _renderComponent.default, _.default, _twoDragAndDrops.default);
27
- (0, _ava.default)('Molecule › MoleculeDragAndDropWrapper › WithoutCheckbox › should be rendered', _renderComponent.default, _.default, _withoutCheckbox.default);
28
28
  //# sourceMappingURL=fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/drag-and-drop-wrapper/test/fixtures.js"],"names":["t","pass","MoleculeDragAndDropWrapper","propTypes","value","key","not","undefined","renderComponentMacro","fixtureDefault","fixtureTwoDragAndDrops","fixtureWithoutCheckbox"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,qEAAL,EAA4EA,CAAC,IAAI;AAC/EA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAA2BC,SAAnC,EAA8C,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC5DL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,+DAA8DF,GAAI,mEAA3F;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,sEAAL,EAA6EG,wBAA7E,EAAmGN,SAAnG,EAA+HO,gBAA/H;AACA,kBAAK,8EAAL,EAAqFD,wBAArF,EAA2GN,SAA3G,EAAuIQ,wBAAvI;AACA,kBAAK,8EAAL,EAAqFF,wBAArF,EAA2GN,SAA3G,EAAuIS,wBAAvI","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeDragAndDropWrapper from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureTwoDragAndDrops from './fixtures/two-drag-and-drops';\nimport fixtureWithoutCheckbox from './fixtures/without-checkbox';\n\ntest('Molecule › MoleculeDragAndDropWrapper > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeDragAndDropWrapper.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeDragAndDropWrapper.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeDragAndDropWrapper › Default › should be rendered', renderComponentMacro, MoleculeDragAndDropWrapper, fixtureDefault);\ntest('Molecule › MoleculeDragAndDropWrapper › TwoDragAndDrops › should be rendered', renderComponentMacro, MoleculeDragAndDropWrapper, fixtureTwoDragAndDrops);\ntest('Molecule › MoleculeDragAndDropWrapper › WithoutCheckbox › should be rendered', renderComponentMacro, MoleculeDragAndDropWrapper, fixtureWithoutCheckbox);\n"],"file":"fixtures.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/drag-and-drop-wrapper/test/fixtures.js"],"names":["t","pass","MoleculeDragAndDropWrapper","propTypes","value","key","not","undefined","renderComponentMacro","fixtureDefault","fixtureDisabled","fixtureTwoDragAndDrops"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,kBAAK,qEAAL,EAA4EA,CAAC,IAAI;AAC/EA,EAAAA,CAAC,CAACC,IAAF;AACA,wBAAQC,UAA2BC,SAAnC,EAA8C,CAACC,KAAD,EAAQC,GAAR,KAAgB;AAC5DL,IAAAA,CAAC,CAACM,GAAF,CAAMF,KAAN,EAAaG,SAAb,EAAyB,+DAA8DF,GAAI,mEAA3F;AACD,GAFD;AAGD,CALD;AAOA,kBAAK,sEAAL,EAA6EG,wBAA7E,EAAmGN,SAAnG,EAA+HO,gBAA/H;AACA,kBAAK,uEAAL,EAA8ED,wBAA9E,EAAoGN,SAApG,EAAgIQ,iBAAhI;AACA,kBAAK,8EAAL,EAAqFF,wBAArF,EAA2GN,SAA3G,EAAuIS,wBAAvI","sourcesContent":["import test from 'ava';\nimport forEach from 'lodash/forEach';\nimport renderComponentMacro from '../../../test/helpers/render-component';\nimport MoleculeDragAndDropWrapper from '..';\nimport fixtureDefault from './fixtures/default';\nimport fixtureDisabled from './fixtures/disabled';\nimport fixtureTwoDragAndDrops from './fixtures/two-drag-and-drops';\n\ntest('Molecule › MoleculeDragAndDropWrapper > should have valid propTypes', t => {\n t.pass();\n forEach(MoleculeDragAndDropWrapper.propTypes, (value, key) => {\n t.not(value, undefined, `PropType for \"Molecule.MoleculeDragAndDropWrapper.propTypes.${key}\" may not be undefined. Did you mistype the propTypes definition?`);\n });\n});\n\ntest('Molecule › MoleculeDragAndDropWrapper › Default › should be rendered', renderComponentMacro, MoleculeDragAndDropWrapper, fixtureDefault);\ntest('Molecule › MoleculeDragAndDropWrapper › Disabled › should be rendered', renderComponentMacro, MoleculeDragAndDropWrapper, fixtureDisabled);\ntest('Molecule › MoleculeDragAndDropWrapper › TwoDragAndDrops › should be rendered', renderComponentMacro, MoleculeDragAndDropWrapper, fixtureTwoDragAndDrops);\n"],"file":"fixtures.js"}