@coorpacademy/components 11.11.3-alpha.6 → 11.11.4-alpha.1

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 (69) hide show
  1. package/es/atom/tooltip/index.d.ts +1 -3
  2. package/es/atom/tooltip/index.d.ts.map +1 -1
  3. package/es/atom/tooltip/index.js +7 -17
  4. package/es/atom/tooltip/index.js.map +1 -1
  5. package/es/atom/tooltip/style.css +2 -10
  6. package/es/globals.d.js.map +1 -1
  7. package/es/molecule/video-player-mobile/index.native.d.ts +2 -1
  8. package/es/molecule/video-player-mobile/index.native.d.ts.map +1 -1
  9. package/es/molecule/video-player-mobile/index.native.js +23 -11
  10. package/es/molecule/video-player-mobile/index.native.js.map +1 -1
  11. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  12. package/es/organism/review-slide/index.native.js +29 -15
  13. package/es/organism/review-slide/index.native.js.map +1 -1
  14. package/es/organism/user-preferences/index.d.ts.map +1 -1
  15. package/es/organism/user-preferences/index.js +3 -6
  16. package/es/organism/user-preferences/index.js.map +1 -1
  17. package/lib/atom/tooltip/index.d.ts +1 -3
  18. package/lib/atom/tooltip/index.d.ts.map +1 -1
  19. package/lib/atom/tooltip/index.js +7 -18
  20. package/lib/atom/tooltip/index.js.map +1 -1
  21. package/lib/atom/tooltip/style.css +2 -10
  22. package/lib/globals.d.js.map +1 -1
  23. package/lib/molecule/video-player-mobile/index.native.d.ts +2 -1
  24. package/lib/molecule/video-player-mobile/index.native.d.ts.map +1 -1
  25. package/lib/molecule/video-player-mobile/index.native.js +23 -11
  26. package/lib/molecule/video-player-mobile/index.native.js.map +1 -1
  27. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  28. package/lib/organism/review-slide/index.native.js +37 -23
  29. package/lib/organism/review-slide/index.native.js.map +1 -1
  30. package/lib/organism/user-preferences/index.d.ts.map +1 -1
  31. package/lib/organism/user-preferences/index.js +3 -10
  32. package/lib/organism/user-preferences/index.js.map +1 -1
  33. package/package.json +3 -4
  34. package/es/atom/battle-opponent/index.d.ts +0 -19
  35. package/es/atom/battle-opponent/index.d.ts.map +0 -1
  36. package/es/atom/battle-opponent/index.js +0 -52
  37. package/es/atom/battle-opponent/index.js.map +0 -1
  38. package/es/atom/battle-opponent/prop-types.d.ts +0 -19
  39. package/es/atom/battle-opponent/prop-types.d.ts.map +0 -1
  40. package/es/atom/battle-opponent/prop-types.js +0 -11
  41. package/es/atom/battle-opponent/prop-types.js.map +0 -1
  42. package/es/atom/battle-opponent/style.css +0 -124
  43. package/es/molecule/battle-opponent-list/index.d.ts +0 -18
  44. package/es/molecule/battle-opponent-list/index.d.ts.map +0 -1
  45. package/es/molecule/battle-opponent-list/index.js +0 -25
  46. package/es/molecule/battle-opponent-list/index.js.map +0 -1
  47. package/es/molecule/battle-opponent-list/prop-types.d.ts +0 -26
  48. package/es/molecule/battle-opponent-list/prop-types.d.ts.map +0 -1
  49. package/es/molecule/battle-opponent-list/prop-types.js +0 -14
  50. package/es/molecule/battle-opponent-list/prop-types.js.map +0 -1
  51. package/es/molecule/battle-opponent-list/style.css +0 -5
  52. package/lib/atom/battle-opponent/index.d.ts +0 -19
  53. package/lib/atom/battle-opponent/index.d.ts.map +0 -1
  54. package/lib/atom/battle-opponent/index.js +0 -70
  55. package/lib/atom/battle-opponent/index.js.map +0 -1
  56. package/lib/atom/battle-opponent/prop-types.d.ts +0 -19
  57. package/lib/atom/battle-opponent/prop-types.d.ts.map +0 -1
  58. package/lib/atom/battle-opponent/prop-types.js +0 -20
  59. package/lib/atom/battle-opponent/prop-types.js.map +0 -1
  60. package/lib/atom/battle-opponent/style.css +0 -124
  61. package/lib/molecule/battle-opponent-list/index.d.ts +0 -18
  62. package/lib/molecule/battle-opponent-list/index.d.ts.map +0 -1
  63. package/lib/molecule/battle-opponent-list/index.js +0 -43
  64. package/lib/molecule/battle-opponent-list/index.js.map +0 -1
  65. package/lib/molecule/battle-opponent-list/prop-types.d.ts +0 -26
  66. package/lib/molecule/battle-opponent-list/prop-types.d.ts.map +0 -1
  67. package/lib/molecule/battle-opponent-list/prop-types.js +0 -23
  68. package/lib/molecule/battle-opponent-list/prop-types.js.map +0 -1
  69. package/lib/molecule/battle-opponent-list/style.css +0 -5
@@ -13,8 +13,6 @@ var _reactTooltip = _interopRequireDefault(require("react-tooltip"));
13
13
 
14
14
  var _isString = _interopRequireDefault(require("lodash/fp/isString"));
15
15
 
16
- var _keys = _interopRequireDefault(require("lodash/fp/keys"));
17
-
18
16
  var _novaIcons = require("@coorpacademy/nova-icons");
19
17
 
20
18
  var _style = _interopRequireDefault(require("./style.css"));
@@ -29,18 +27,13 @@ const FontSizes = {
29
27
  12: _style.default.tooltipContentFontSize12,
30
28
  14: _style.default.tooltipContentFontSize14
31
29
  };
32
- const IconSizes = {
33
- small: 12,
34
- big: 20
35
- };
36
30
 
37
31
  const ToolTipWrapper = ({
38
32
  toolTipIsVisible,
39
33
  anchorId,
40
34
  closeToolTipInformationTextAriaLabel,
41
35
  content,
42
- handleContentMouseOver,
43
- iconSize
36
+ handleContentMouseOver
44
37
  }) => {
45
38
  if (!toolTipIsVisible) return null;
46
39
 
@@ -55,7 +48,7 @@ const ToolTipWrapper = ({
55
48
  }, content);
56
49
  } else {
57
50
  return /*#__PURE__*/_react.default.createElement("div", {
58
- className: (0, _classnames.default)(_style.default.toolTip, iconSize === 'big' ? _style.default.bigIconToolTip : _style.default.smallIconToolTip),
51
+ className: _style.default.toolTip,
59
52
  "data-testid": "tooltip",
60
53
  "aria-label": closeToolTipInformationTextAriaLabel,
61
54
  onMouseOver: handleContentMouseOver
@@ -68,8 +61,7 @@ ToolTipWrapper.propTypes = process.env.NODE_ENV !== "production" ? {
68
61
  anchorId: _propTypes.default.string,
69
62
  closeToolTipInformationTextAriaLabel: _propTypes.default.string.isRequired,
70
63
  content: _propTypes.default.node,
71
- handleContentMouseOver: _propTypes.default.func,
72
- iconSize: _propTypes.default.oneOf((0, _keys.default)(IconSizes))
64
+ handleContentMouseOver: _propTypes.default.func
73
65
  } : {};
74
66
 
75
67
  const toggleStateOnKeyPress = (state, setState, ref) => event => {
@@ -94,8 +86,7 @@ const ToolTip = ({
94
86
  toolTipIsVisible: _toolTipIsVisible,
95
87
  iconContainerClassName,
96
88
  delayHide = 250,
97
- fontSize = 14,
98
- iconSize = 'small'
89
+ fontSize = 14
99
90
  }) => {
100
91
  const isComponent = (0, _react.useMemo)(() => !(0, _isString.default)(TooltipContent) && /*#__PURE__*/(0, _react.isValidElement)(TooltipContent()), [TooltipContent]);
101
92
  const [toolTipIsVisible, setToolTipIsVisible] = (0, _react.useState)(false);
@@ -140,8 +131,8 @@ const ToolTip = ({
140
131
  tabIndex: 0
141
132
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyInformationIcon, {
142
133
  className: _style.default.informationIcon,
143
- width: IconSizes[iconSize],
144
- height: IconSizes[iconSize],
134
+ width: 12,
135
+ height: 12,
145
136
  "aria-label": ariaLabel
146
137
  })), /*#__PURE__*/_react.default.createElement(ToolTipWrapper, {
147
138
  toolTipIsVisible: toolTipIsVisible,
@@ -149,8 +140,7 @@ const ToolTip = ({
149
140
  closeToolTipInformationTextAriaLabel: closeToolTipInformationTextAriaLabel,
150
141
  content: content,
151
142
  handleContentMouseOver: handleContentMouseOver,
152
- fontSize: fontSize,
153
- iconSize: iconSize
143
+ fontSize: fontSize
154
144
  }));
155
145
  };
156
146
 
@@ -163,7 +153,6 @@ ToolTip.propTypes = process.env.NODE_ENV !== "production" ? {
163
153
  iconContainerClassName: _propTypes.default.string,
164
154
  delayHide: _propTypes.default.number,
165
155
  fontSize: _propTypes.default.oneOf([12, 14]),
166
- iconSize: _propTypes.default.oneOf((0, _keys.default)(IconSizes)),
167
156
  // ---------- React Tooltip exclusive --------------
168
157
  // externalHandling: if passed down, React Tooltip is used instead, due to limitations on
169
158
  // parents overflow hidden controls
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["FontSizes","style","tooltipContentFontSize12","tooltipContentFontSize14","IconSizes","small","big","ToolTipWrapper","toolTipIsVisible","anchorId","closeToolTipInformationTextAriaLabel","content","handleContentMouseOver","iconSize","toolTipReact","classnames","toolTip","bigIconToolTip","smallIconToolTip","propTypes","PropTypes","bool","string","isRequired","node","func","oneOf","keys","toggleStateOnKeyPress","state","setState","ref","event","key","current","focus","stopPropagation","preventDefault","ToolTip","TooltipContent","ariaLabel","dataTestId","_toolTipIsVisible","iconContainerClassName","delayHide","fontSize","isComponent","useMemo","isString","isValidElement","setToolTipIsVisible","useState","mouseLeaveTimer","setMouseLeaveTimer","undefined","handleKeyPress","useCallback","clearTimeout","handleMouseOver","handleMouseLeave","setTimeout","tooltipContent","tooltipContainer","tooltipIconContainer","informationIcon","oneOfType","number"],"sources":["../../../src/atom/tooltip/index.js"],"sourcesContent":["import React, {isValidElement, useState, useCallback, useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from 'react-tooltip';\nimport isString from 'lodash/fp/isString';\nimport keys from 'lodash/fp/keys';\nimport {NovaCompositionCoorpacademyInformationIcon as InformationIcon} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst FontSizes = {\n 12: style.tooltipContentFontSize12,\n 14: style.tooltipContentFontSize14\n};\n\nconst IconSizes = {\n small: 12,\n big: 20\n};\n\nconst ToolTipWrapper = ({\n toolTipIsVisible,\n anchorId,\n closeToolTipInformationTextAriaLabel,\n content,\n handleContentMouseOver,\n iconSize\n}) => {\n if (!toolTipIsVisible) return null;\n if (anchorId) {\n return (\n <ReactTooltip\n id={anchorId}\n className={style.toolTipReact}\n data-event-off=\"click\"\n place=\"left\"\n effect=\"solid\"\n aria-label={closeToolTipInformationTextAriaLabel}\n >\n {content}\n </ReactTooltip>\n );\n } else {\n return (\n <div\n className={classnames(\n style.toolTip,\n iconSize === 'big' ? style.bigIconToolTip : style.smallIconToolTip\n )}\n data-testid=\"tooltip\"\n aria-label={closeToolTipInformationTextAriaLabel}\n onMouseOver={handleContentMouseOver}\n >\n {content}\n </div>\n );\n }\n};\n\nToolTipWrapper.propTypes = {\n toolTipIsVisible: PropTypes.bool,\n anchorId: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,\n content: PropTypes.node,\n handleContentMouseOver: PropTypes.func,\n iconSize: PropTypes.oneOf(keys(IconSizes))\n};\n\nexport const toggleStateOnKeyPress = (state, setState, ref) => event => {\n if (event.key === 'Enter') {\n if (ref) ref.current.focus();\n event.stopPropagation();\n event.preventDefault();\n setState(!state);\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n setState(false);\n }\n};\n\nconst ToolTip = ({\n anchorId,\n TooltipContent,\n 'aria-label': ariaLabel,\n 'data-testid': dataTestId,\n closeToolTipInformationTextAriaLabel,\n toolTipIsVisible: _toolTipIsVisible,\n iconContainerClassName,\n delayHide = 250,\n fontSize = 14,\n iconSize = 'small'\n}) => {\n const isComponent = useMemo(\n () => !isString(TooltipContent) && isValidElement(TooltipContent()),\n [TooltipContent]\n );\n\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible)(event);\n },\n [toolTipIsVisible]\n );\n\n const handleContentMouseOver = useCallback(() => {\n mouseLeaveTimer && /* istanbul ignore next */ clearTimeout(mouseLeaveTimer);\n }, [mouseLeaveTimer]);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(setTimeout(() => setToolTipIsVisible(false), delayHide));\n }, [delayHide]);\n\n const content = useMemo(() => {\n return isComponent ? (\n <TooltipContent />\n ) : (\n <p className={classnames([style.tooltipContent, FontSizes[fontSize]])}>{TooltipContent}</p>\n );\n }, [TooltipContent, fontSize, isComponent]);\n\n return anchorId ? (\n <ToolTipWrapper\n toolTipIsVisible={_toolTipIsVisible}\n anchorId={anchorId}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n content={content}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n fontSize={fontSize}\n />\n ) : (\n <div\n className={style.tooltipContainer}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n <button\n type=\"button\"\n className={classnames([style.tooltipIconContainer, iconContainerClassName])}\n data-testid={dataTestId}\n onKeyDown={handleKeyPress}\n tabIndex={0}\n >\n <InformationIcon\n className={style.informationIcon}\n width={IconSizes[iconSize]}\n height={IconSizes[iconSize]}\n aria-label={ariaLabel}\n />\n </button>\n <ToolTipWrapper\n toolTipIsVisible={toolTipIsVisible}\n anchorId={anchorId}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n content={content}\n handleContentMouseOver={handleContentMouseOver}\n fontSize={fontSize}\n iconSize={iconSize}\n />\n </div>\n );\n};\n\nToolTip.propTypes = {\n TooltipContent: PropTypes.oneOfType([PropTypes.func, PropTypes.node, PropTypes.string]),\n 'data-testid': PropTypes.string,\n 'aria-label': PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,\n // ---------- Regular Tooltip exclusive --------------\n iconContainerClassName: PropTypes.string,\n delayHide: PropTypes.number,\n fontSize: PropTypes.oneOf([12, 14]),\n iconSize: PropTypes.oneOf(keys(IconSizes)),\n // ---------- React Tooltip exclusive --------------\n // externalHandling: if passed down, React Tooltip is used instead, due to limitations on\n // parents overflow hidden controls\n anchorId: PropTypes.string,\n toolTipIsVisible: PropTypes.bool\n};\n\nexport default ToolTip;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["FontSizes","style","tooltipContentFontSize12","tooltipContentFontSize14","ToolTipWrapper","toolTipIsVisible","anchorId","closeToolTipInformationTextAriaLabel","content","handleContentMouseOver","toolTipReact","toolTip","propTypes","PropTypes","bool","string","isRequired","node","func","toggleStateOnKeyPress","state","setState","ref","event","key","current","focus","stopPropagation","preventDefault","ToolTip","TooltipContent","ariaLabel","dataTestId","_toolTipIsVisible","iconContainerClassName","delayHide","fontSize","isComponent","useMemo","isString","isValidElement","setToolTipIsVisible","useState","mouseLeaveTimer","setMouseLeaveTimer","undefined","handleKeyPress","useCallback","clearTimeout","handleMouseOver","handleMouseLeave","setTimeout","classnames","tooltipContent","tooltipContainer","tooltipIconContainer","informationIcon","oneOfType","number","oneOf"],"sources":["../../../src/atom/tooltip/index.js"],"sourcesContent":["import React, {isValidElement, useState, useCallback, useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from 'react-tooltip';\nimport isString from 'lodash/fp/isString';\nimport {NovaCompositionCoorpacademyInformationIcon as InformationIcon} from '@coorpacademy/nova-icons';\nimport style from './style.css';\n\nconst FontSizes = {\n 12: style.tooltipContentFontSize12,\n 14: style.tooltipContentFontSize14\n};\n\nconst ToolTipWrapper = ({\n toolTipIsVisible,\n anchorId,\n closeToolTipInformationTextAriaLabel,\n content,\n handleContentMouseOver\n}) => {\n if (!toolTipIsVisible) return null;\n if (anchorId) {\n return (\n <ReactTooltip\n id={anchorId}\n className={style.toolTipReact}\n data-event-off=\"click\"\n place=\"left\"\n effect=\"solid\"\n aria-label={closeToolTipInformationTextAriaLabel}\n >\n {content}\n </ReactTooltip>\n );\n } else {\n return (\n <div\n className={style.toolTip}\n data-testid=\"tooltip\"\n aria-label={closeToolTipInformationTextAriaLabel}\n onMouseOver={handleContentMouseOver}\n >\n {content}\n </div>\n );\n }\n};\n\nToolTipWrapper.propTypes = {\n toolTipIsVisible: PropTypes.bool,\n anchorId: PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,\n content: PropTypes.node,\n handleContentMouseOver: PropTypes.func\n};\n\nexport const toggleStateOnKeyPress = (state, setState, ref) => event => {\n if (event.key === 'Enter') {\n if (ref) ref.current.focus();\n event.stopPropagation();\n event.preventDefault();\n setState(!state);\n } else if (event.key === 'Tab' || event.key === 'Escape') {\n setState(false);\n }\n};\n\nconst ToolTip = ({\n anchorId,\n TooltipContent,\n 'aria-label': ariaLabel,\n 'data-testid': dataTestId,\n closeToolTipInformationTextAriaLabel,\n toolTipIsVisible: _toolTipIsVisible,\n iconContainerClassName,\n delayHide = 250,\n fontSize = 14\n}) => {\n const isComponent = useMemo(\n () => !isString(TooltipContent) && isValidElement(TooltipContent()),\n [TooltipContent]\n );\n\n const [toolTipIsVisible, setToolTipIsVisible] = useState(false);\n\n const [mouseLeaveTimer, setMouseLeaveTimer] = useState(undefined);\n\n const handleKeyPress = useCallback(\n event => {\n toggleStateOnKeyPress(toolTipIsVisible, setToolTipIsVisible)(event);\n },\n [toolTipIsVisible]\n );\n\n const handleContentMouseOver = useCallback(() => {\n mouseLeaveTimer && /* istanbul ignore next */ clearTimeout(mouseLeaveTimer);\n }, [mouseLeaveTimer]);\n\n const handleMouseOver = useCallback(() => {\n mouseLeaveTimer && clearTimeout(mouseLeaveTimer);\n setToolTipIsVisible(true);\n }, [mouseLeaveTimer]);\n\n const handleMouseLeave = useCallback(() => {\n setMouseLeaveTimer(setTimeout(() => setToolTipIsVisible(false), delayHide));\n }, [delayHide]);\n\n const content = useMemo(() => {\n return isComponent ? (\n <TooltipContent />\n ) : (\n <p className={classnames([style.tooltipContent, FontSizes[fontSize]])}>{TooltipContent}</p>\n );\n }, [TooltipContent, fontSize, isComponent]);\n\n return anchorId ? (\n <ToolTipWrapper\n toolTipIsVisible={_toolTipIsVisible}\n anchorId={anchorId}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n content={content}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n fontSize={fontSize}\n />\n ) : (\n <div\n className={style.tooltipContainer}\n onMouseLeave={handleMouseLeave}\n onMouseOver={handleMouseOver}\n >\n <button\n type=\"button\"\n className={classnames([style.tooltipIconContainer, iconContainerClassName])}\n data-testid={dataTestId}\n onKeyDown={handleKeyPress}\n tabIndex={0}\n >\n <InformationIcon\n className={style.informationIcon}\n width={12}\n height={12}\n aria-label={ariaLabel}\n />\n </button>\n <ToolTipWrapper\n toolTipIsVisible={toolTipIsVisible}\n anchorId={anchorId}\n closeToolTipInformationTextAriaLabel={closeToolTipInformationTextAriaLabel}\n content={content}\n handleContentMouseOver={handleContentMouseOver}\n fontSize={fontSize}\n />\n </div>\n );\n};\n\nToolTip.propTypes = {\n TooltipContent: PropTypes.oneOfType([PropTypes.func, PropTypes.node, PropTypes.string]),\n 'data-testid': PropTypes.string,\n 'aria-label': PropTypes.string,\n closeToolTipInformationTextAriaLabel: PropTypes.string.isRequired,\n // ---------- Regular Tooltip exclusive --------------\n iconContainerClassName: PropTypes.string,\n delayHide: PropTypes.number,\n fontSize: PropTypes.oneOf([12, 14]),\n // ---------- React Tooltip exclusive --------------\n // externalHandling: if passed down, React Tooltip is used instead, due to limitations on\n // parents overflow hidden controls\n anchorId: PropTypes.string,\n toolTipIsVisible: PropTypes.bool\n};\n\nexport default ToolTip;\n"],"mappings":"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"}
@@ -34,18 +34,10 @@
34
34
  position: absolute;
35
35
  border-radius: 7px;
36
36
  background-color: cm_grey_700;
37
- height: auto;
38
- width: 200px;
39
- }
40
-
41
- .bigIconToolTip {
42
- right: -71px;
43
- bottom: 31px;
44
- }
45
-
46
- .smallIconToolTip {
47
37
  right: -75px;
48
38
  bottom: 32px;
39
+ height: auto;
40
+ width: 200px;
49
41
  }
50
42
 
51
43
  .toolTip::before {
@@ -1 +1 @@
1
- {"version":3,"file":"globals.d.js","names":[],"sources":["../src/globals.d.ts"],"sourcesContent":["declare module '@coorpacademy/nova-icons';\ndeclare module '@coorpacademy/react-native-slider';\ndeclare module '@react-native-community/blur';\ndeclare module '@coorpacademy/translate';\ndeclare module 'browser-env';\ndeclare module 'react-native/*';\ndeclare module 'color';\ndeclare module 'classnames';\ndeclare module '*.css';\n"],"mappings":""}
1
+ {"version":3,"file":"globals.d.js","names":[],"sources":["../src/globals.d.ts"],"sourcesContent":["declare module '@coorpacademy/nova-icons';\ndeclare module '@coorpacademy/react-native-slider';\ndeclare module '@react-native-community/blur';\ndeclare module '@coorpacademy/translate';\ndeclare module 'react-native/*';\ndeclare module 'color';\ndeclare module 'classnames';\ndeclare module '*.css';\n"],"mappings":""}
@@ -2,7 +2,8 @@
2
2
  import { Media } from '../questions/types';
3
3
  export declare type Props = {
4
4
  media: Media;
5
+ autoplay: boolean;
5
6
  };
6
- declare const Video: ({ media }: Props) => JSX.Element | null;
7
+ declare const Video: ({ media, autoplay }: Props) => JSX.Element | null;
7
8
  export default Video;
8
9
  //# sourceMappingURL=index.native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/video-player-mobile/index.native.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEzC,oBAAY,KAAK,GAAG;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,CAAC;AAwCnC,QAAA,MAAM,KAAK,cAAa,KAAK,uBAE5B,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/video-player-mobile/index.native.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AAEzC,oBAAY,KAAK,GAAG;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAC,CAAC;AA+CtD,QAAA,MAAM,KAAK,wBAAuB,KAAK,uBAEtC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -17,6 +17,8 @@ var _templateContext = require("../../template/app-review/template-context");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
21
+
20
22
  const styleSheet = _reactNative.StyleSheet.create({
21
23
  container: {
22
24
  flex: 1,
@@ -25,7 +27,8 @@ const styleSheet = _reactNative.StyleSheet.create({
25
27
  });
26
28
 
27
29
  const VideoSwitch = ({
28
- media
30
+ media,
31
+ autoplay
29
32
  }) => {
30
33
  const {
31
34
  brandTheme
@@ -35,15 +38,21 @@ const VideoSwitch = ({
35
38
  case 'application/kontiki':
36
39
  case 'application/jwplayer':
37
40
  case 'video/mp4':
38
- if (!media.jwpOptions?.config) {
39
- return null;
41
+ {
42
+ if (!media.jwpOptions?.config) {
43
+ return null;
44
+ }
45
+
46
+ const config = _extends({}, media.jwpOptions.config, {
47
+ autostart: autoplay
48
+ });
49
+
50
+ return /*#__PURE__*/_react.default.createElement(_reactNativeJwMediaPlayer.default, {
51
+ style: styleSheet.container,
52
+ config: config
53
+ });
40
54
  }
41
55
 
42
- return /*#__PURE__*/_react.default.createElement(_reactNativeJwMediaPlayer.default, {
43
- style: styleSheet.container,
44
- config: media.jwpOptions.config
45
- });
46
-
47
56
  case 'application/vimeo':
48
57
  return media.videoId ? /*#__PURE__*/_react.default.createElement(_reactNative.View, {
49
58
  style: styleSheet.container
@@ -55,7 +64,8 @@ const VideoSwitch = ({
55
64
  return /*#__PURE__*/_react.default.createElement(_reactNativeYoutube.default, {
56
65
  apiKey: brandTheme.youtube?.apiKey || '',
57
66
  style: styleSheet.container,
58
- videoId: media.videoId
67
+ videoId: media.videoId,
68
+ play: autoplay
59
69
  });
60
70
 
61
71
  default:
@@ -64,10 +74,12 @@ const VideoSwitch = ({
64
74
  };
65
75
 
66
76
  const Video = ({
67
- media
77
+ media,
78
+ autoplay
68
79
  }) => {
69
80
  return media ? /*#__PURE__*/_react.default.createElement(VideoSwitch, {
70
- media: media
81
+ media: media,
82
+ autoplay: autoplay
71
83
  }) : null;
72
84
  };
73
85
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["styleSheet","StyleSheet","create","container","flex","width","VideoSwitch","media","brandTheme","useTemplateContext","mimeType","jwpOptions","config","videoId","youtube","apiKey","Video"],"sources":["../../../src/molecule/video-player-mobile/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {StyleSheet, Text, View} from 'react-native';\nimport JWPlayer from 'react-native-jw-media-player';\nimport Youtube from 'react-native-youtube';\nimport {Vimeo} from 'react-native-vimeo-iframe';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nimport {Media} from '../questions/types';\n\nexport type Props = {media: Media};\n\nconst styleSheet = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%'\n }\n});\n\nconst VideoSwitch = ({media}: Props) => {\n const {brandTheme} = useTemplateContext();\n\n switch (media.mimeType) {\n case 'application/kontiki':\n case 'application/jwplayer':\n case 'video/mp4':\n if (!media.jwpOptions?.config) {\n return null;\n }\n\n return <JWPlayer style={styleSheet.container} config={media.jwpOptions.config} />;\n case 'application/vimeo':\n return media.videoId ? (\n <View style={styleSheet.container}>\n <Vimeo videoId={media.videoId} />\n </View>\n ) : null;\n case 'application/youtube':\n return (\n <Youtube\n apiKey={brandTheme.youtube?.apiKey || ''}\n style={styleSheet.container}\n videoId={media.videoId}\n />\n );\n default:\n return <Text>{`video mimeType ${media.mimeType} is not handled`}</Text>;\n }\n};\n\nconst Video = ({media}: Props) => {\n return media ? <VideoSwitch media={media} /> : null;\n};\n\nexport default Video;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAMA,MAAMA,UAAU,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EACnCC,SAAS,EAAE;IACTC,IAAI,EAAE,CADG;IAETC,KAAK,EAAE;EAFE;AADwB,CAAlB,CAAnB;;AAOA,MAAMC,WAAW,GAAG,CAAC;EAACC;AAAD,CAAD,KAAoB;EACtC,MAAM;IAACC;EAAD,IAAe,IAAAC,mCAAA,GAArB;;EAEA,QAAQF,KAAK,CAACG,QAAd;IACE,KAAK,qBAAL;IACA,KAAK,sBAAL;IACA,KAAK,WAAL;MACE,IAAI,CAACH,KAAK,CAACI,UAAN,EAAkBC,MAAvB,EAA+B;QAC7B,OAAO,IAAP;MACD;;MAED,oBAAO,6BAAC,iCAAD;QAAU,KAAK,EAAEZ,UAAU,CAACG,SAA5B;QAAuC,MAAM,EAAEI,KAAK,CAACI,UAAN,CAAiBC;MAAhE,EAAP;;IACF,KAAK,mBAAL;MACE,OAAOL,KAAK,CAACM,OAAN,gBACL,6BAAC,iBAAD;QAAM,KAAK,EAAEb,UAAU,CAACG;MAAxB,gBACE,6BAAC,6BAAD;QAAO,OAAO,EAAEI,KAAK,CAACM;MAAtB,EADF,CADK,GAIH,IAJJ;;IAKF,KAAK,qBAAL;MACE,oBACE,6BAAC,2BAAD;QACE,MAAM,EAAEL,UAAU,CAACM,OAAX,EAAoBC,MAApB,IAA8B,EADxC;QAEE,KAAK,EAAEf,UAAU,CAACG,SAFpB;QAGE,OAAO,EAAEI,KAAK,CAACM;MAHjB,EADF;;IAOF;MACE,oBAAO,6BAAC,iBAAD,QAAQ,kBAAiBN,KAAK,CAACG,QAAS,iBAAxC,CAAP;EAxBJ;AA0BD,CA7BD;;AA+BA,MAAMM,KAAK,GAAG,CAAC;EAACT;AAAD,CAAD,KAAoB;EAChC,OAAOA,KAAK,gBAAG,6BAAC,WAAD;IAAa,KAAK,EAAEA;EAApB,EAAH,GAAmC,IAA/C;AACD,CAFD;;eAIeS,K"}
1
+ {"version":3,"file":"index.native.js","names":["styleSheet","StyleSheet","create","container","flex","width","VideoSwitch","media","autoplay","brandTheme","useTemplateContext","mimeType","jwpOptions","config","autostart","videoId","youtube","apiKey","Video"],"sources":["../../../src/molecule/video-player-mobile/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {StyleSheet, Text, View} from 'react-native';\nimport JWPlayer from 'react-native-jw-media-player';\nimport Youtube from 'react-native-youtube';\nimport {Vimeo} from 'react-native-vimeo-iframe';\nimport {useTemplateContext} from '../../template/app-review/template-context';\n\nimport {Media} from '../questions/types';\n\nexport type Props = {media: Media; autoplay: boolean};\n\nconst styleSheet = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%'\n }\n});\n\nconst VideoSwitch = ({media, autoplay}: Props) => {\n const {brandTheme} = useTemplateContext();\n\n switch (media.mimeType) {\n case 'application/kontiki':\n case 'application/jwplayer':\n case 'video/mp4': {\n if (!media.jwpOptions?.config) {\n return null;\n }\n\n const config = {\n ...media.jwpOptions.config,\n autostart: autoplay\n };\n\n return <JWPlayer style={styleSheet.container} config={config} />;\n }\n case 'application/vimeo':\n return media.videoId ? (\n <View style={styleSheet.container}>\n <Vimeo videoId={media.videoId} />\n </View>\n ) : null;\n case 'application/youtube':\n return (\n <Youtube\n apiKey={brandTheme.youtube?.apiKey || ''}\n style={styleSheet.container}\n videoId={media.videoId}\n play={autoplay}\n />\n );\n default:\n return <Text>{`video mimeType ${media.mimeType} is not handled`}</Text>;\n }\n};\n\nconst Video = ({media, autoplay}: Props) => {\n return media ? <VideoSwitch media={media} autoplay={autoplay} /> : null;\n};\n\nexport default Video;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAMA,MAAMA,UAAU,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EACnCC,SAAS,EAAE;IACTC,IAAI,EAAE,CADG;IAETC,KAAK,EAAE;EAFE;AADwB,CAAlB,CAAnB;;AAOA,MAAMC,WAAW,GAAG,CAAC;EAACC,KAAD;EAAQC;AAAR,CAAD,KAA8B;EAChD,MAAM;IAACC;EAAD,IAAe,IAAAC,mCAAA,GAArB;;EAEA,QAAQH,KAAK,CAACI,QAAd;IACE,KAAK,qBAAL;IACA,KAAK,sBAAL;IACA,KAAK,WAAL;MAAkB;QAChB,IAAI,CAACJ,KAAK,CAACK,UAAN,EAAkBC,MAAvB,EAA+B;UAC7B,OAAO,IAAP;QACD;;QAED,MAAMA,MAAM,gBACPN,KAAK,CAACK,UAAN,CAAiBC,MADV;UAEVC,SAAS,EAAEN;QAFD,EAAZ;;QAKA,oBAAO,6BAAC,iCAAD;UAAU,KAAK,EAAER,UAAU,CAACG,SAA5B;UAAuC,MAAM,EAAEU;QAA/C,EAAP;MACD;;IACD,KAAK,mBAAL;MACE,OAAON,KAAK,CAACQ,OAAN,gBACL,6BAAC,iBAAD;QAAM,KAAK,EAAEf,UAAU,CAACG;MAAxB,gBACE,6BAAC,6BAAD;QAAO,OAAO,EAAEI,KAAK,CAACQ;MAAtB,EADF,CADK,GAIH,IAJJ;;IAKF,KAAK,qBAAL;MACE,oBACE,6BAAC,2BAAD;QACE,MAAM,EAAEN,UAAU,CAACO,OAAX,EAAoBC,MAApB,IAA8B,EADxC;QAEE,KAAK,EAAEjB,UAAU,CAACG,SAFpB;QAGE,OAAO,EAAEI,KAAK,CAACQ,OAHjB;QAIE,IAAI,EAAEP;MAJR,EADF;;IAQF;MACE,oBAAO,6BAAC,iBAAD,QAAQ,kBAAiBD,KAAK,CAACI,QAAS,iBAAxC,CAAP;EA/BJ;AAiCD,CApCD;;AAsCA,MAAMO,KAAK,GAAG,CAAC;EAACX,KAAD;EAAQC;AAAR,CAAD,KAA8B;EAC1C,OAAOD,KAAK,gBAAG,6BAAC,WAAD;IAAa,KAAK,EAAEA,KAApB;IAA2B,QAAQ,EAAEC;EAArC,EAAH,GAAuD,IAAnE;AACD,CAFD;;eAIeU,K"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AA0BA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAoNtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA2DrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":";AA0BA,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AA6NtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,gBA6DrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -13,19 +13,19 @@ var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
13
13
 
14
14
  var _reactNativeAnimation = require("@coorpacademy/react-native-animation");
15
15
 
16
- var _index = _interopRequireDefault(require("../../atom/text/index.native"));
16
+ var _index = _interopRequireDefault(require("../../molecule/answer/index.native"));
17
17
 
18
- var _index2 = _interopRequireDefault(require("../../molecule/answer/index.native"));
19
-
20
- var _index3 = _interopRequireDefault(require("../../molecule/review-correction-popin/index.native"));
18
+ var _index2 = _interopRequireDefault(require("../../molecule/review-correction-popin/index.native"));
21
19
 
22
20
  var _templateContext = require("../../template/app-review/template-context");
23
21
 
24
- var _index4 = _interopRequireDefault(require("../../atom/button/index.native"));
22
+ var _index3 = _interopRequireDefault(require("../../atom/button/index.native"));
25
23
 
26
24
  var _propTypes = require("../../molecule/answer/prop-types");
27
25
 
28
- var _index5 = _interopRequireDefault(require("../../molecule/video-player-mobile/index.native"));
26
+ var _index4 = _interopRequireDefault(require("../../molecule/video-player-mobile/index.native"));
27
+
28
+ var _index5 = _interopRequireDefault(require("../../atom/html/index.native"));
29
29
 
30
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
31
 
@@ -35,12 +35,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
35
35
 
36
36
  const styles = _reactNative.StyleSheet.create({
37
37
  mediaContainer: {
38
- flex: 1,
39
38
  alignItems: 'center',
40
39
  justifyContent: 'center',
41
- marginTop: 20,
42
40
  width: '100%',
43
- minHeight: 150,
41
+ height: 200,
44
42
  borderRadius: 10,
45
43
  overflow: 'hidden'
46
44
  },
@@ -56,14 +54,20 @@ const styles = _reactNative.StyleSheet.create({
56
54
  });
57
55
 
58
56
  const MediaView = ({
59
- media
57
+ media,
58
+ autoplay
60
59
  }) => {
60
+ if (!media) {
61
+ return null;
62
+ }
63
+
61
64
  switch (media.type) {
62
65
  case _propTypes.TYPE_VIDEO:
63
66
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
64
67
  style: styles.mediaContainer
65
- }, /*#__PURE__*/_react.default.createElement(_index5.default, {
66
- media: media
68
+ }, /*#__PURE__*/_react.default.createElement(_index4.default, {
69
+ media: media,
70
+ autoplay: autoplay
67
71
  }));
68
72
 
69
73
  case _propTypes.TYPE_IMAGE:
@@ -121,7 +125,7 @@ const CorrectionPopin = ({
121
125
  const style = animateCorrectionPopin ? [styles.correctionPopinWrapper, translateUp.animatedStyle] : styles.correctionPopinWrapper;
122
126
  return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
123
127
  style: style
124
- }, /*#__PURE__*/_react.default.createElement(_index3.default, _correctionPopinProps));
128
+ }, /*#__PURE__*/_react.default.createElement(_index2.default, _correctionPopinProps));
125
129
  };
126
130
 
127
131
  const createQuestionStyle = theme => _reactNative.StyleSheet.create({
@@ -152,10 +156,11 @@ const createQuestionStyle = theme => _reactNative.StyleSheet.create({
152
156
  textAlign: 'center'
153
157
  },
154
158
  choicesScrollView: {
155
- marginVertical: 20,
159
+ marginTop: 20,
156
160
  width: '100%'
157
161
  },
158
162
  choicesScrollContent: {
163
+ justifyContent: 'space-between',
159
164
  padding: 10
160
165
  }
161
166
  });
@@ -164,7 +169,8 @@ const Question = props => {
164
169
  const {
165
170
  answerUI,
166
171
  questionText,
167
- questionOrigin
172
+ questionOrigin = '',
173
+ autoplayMedia = false
168
174
  } = props;
169
175
  const {
170
176
  theme
@@ -175,23 +181,29 @@ const Question = props => {
175
181
  setStyle(questionStyle);
176
182
  }, [theme]);
177
183
  if (!answerUI || !questionText || !style) return null;
184
+ const hasVideoOrImage = answerUI.media?.type && [_propTypes.TYPE_VIDEO, _propTypes.TYPE_IMAGE].includes(answerUI.media.type);
178
185
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
179
186
  style: style.questionHeading
180
- }, /*#__PURE__*/_react.default.createElement(_index.default, {
187
+ }, /*#__PURE__*/_react.default.createElement(_index5.default, {
181
188
  style: style.questionOrigin
182
- }, questionOrigin), /*#__PURE__*/_react.default.createElement(_index.default, {
189
+ }, questionOrigin), /*#__PURE__*/_react.default.createElement(_index5.default, {
183
190
  style: style.questionText
184
- }, questionText), /*#__PURE__*/_react.default.createElement(_index.default, {
191
+ }, questionText), /*#__PURE__*/_react.default.createElement(_index5.default, {
185
192
  style: style.questionHelp
186
- }, (0, _get.default)('help', answerUI))), answerUI.media ? /*#__PURE__*/_react.default.createElement(MediaView, {
187
- media: answerUI.media
188
- }) : null, /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
193
+ }, (0, _get.default)('help', answerUI))), /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
189
194
  style: style.choicesScrollView,
190
195
  contentContainerStyle: style.choicesScrollContent,
191
196
  centerContent: true,
192
197
  showsHorizontalScrollIndicator: false,
193
198
  showsVerticalScrollIndicator: false
194
- }, /*#__PURE__*/_react.default.createElement(_index2.default, answerUI)));
199
+ }, hasVideoOrImage ? /*#__PURE__*/_react.default.createElement(MediaView, {
200
+ media: answerUI.media,
201
+ autoplay: autoplayMedia
202
+ }) : null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
203
+ style: {
204
+ marginTop: hasVideoOrImage ? 30 : 0
205
+ }
206
+ }, /*#__PURE__*/_react.default.createElement(_index.default, answerUI))));
195
207
  };
196
208
 
197
209
  const createSlideStyle = (num, screenWidth) => {
@@ -253,6 +265,7 @@ const Slide = props => {
253
265
  width
254
266
  } = (0, _reactNative.useWindowDimensions)();
255
267
  const slideStyle = createSlideStyle(num, width);
268
+ const isFirstSlide = num === 1;
256
269
  const {
257
270
  loading,
258
271
  parentContentTitle,
@@ -274,8 +287,9 @@ const Slide = props => {
274
287
  questionOrigin: parentContentTitle,
275
288
  questionText: questionText,
276
289
  answerUI: answerUI,
290
+ autoplayMedia: isFirstSlide,
277
291
  key: "question-container"
278
- }), /*#__PURE__*/_react.default.createElement(_index4.default, {
292
+ }), /*#__PURE__*/_react.default.createElement(_index3.default, {
279
293
  disabled: isValidated || validateButton.disabled,
280
294
  submitValue: validateButton.label,
281
295
  onPress: handleValidatePress,
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","mediaContainer","flex","alignItems","justifyContent","marginTop","width","minHeight","borderRadius","overflow","image","correctionPopinWrapper","position","bottom","MediaView","media","type","TYPE_VIDEO","TYPE_IMAGE","uri","url","split","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","getOr","undefined","information","label","message","next","get","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesScrollView","marginVertical","choicesScrollContent","padding","Question","props","answerUI","useTemplateContext","setStyle","useState","questionStyle","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","height","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","loading","parentContentTitle","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Text from '../../atom/text/index.native';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n flex: 1,\n alignItems: 'center',\n justifyContent: 'center',\n marginTop: 20,\n width: '100%',\n minHeight: 150,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media}: {media: Media}) => {\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginVertical: 20,\n width: '100%'\n },\n choicesScrollContent: {\n padding: 10\n }\n });\n\ntype QuestionProps = {\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin} = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n return (\n <>\n <View style={style.questionHeading}>\n <Text style={style.questionOrigin}>{questionOrigin}</Text>\n <Text style={style.questionText}>{questionText}</Text>\n <Text style={style.questionHelp}>{get('help', answerUI)}</Text>\n </View>\n {answerUI.media ? <MediaView media={answerUI.media} /> : null}\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n centerContent\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n <Answer {...answerUI} />\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n key=\"question-container\"\n />\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","TYPE_IMAGE","uri","url","split","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","getOr","undefined","information","label","message","next","get","onClick","_correctionPopinProps","resultLabel","style","animatedStyle","createQuestionStyle","theme","questionHeading","questionOrigin","fontSize","lineHeight","color","colors","text","primary","marginBottom","spacing","tiny","marginTop","small","textAlign","questionText","fontWeight","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","padding","Question","props","answerUI","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","hasVideoOrImage","includes","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","isFirstSlide","loading","parentContentTitle","disabled"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = getOr(undefined, 'klf', correctionPopinProps);\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOrigin: ViewStyle;\n questionText: TextStyle;\n questionHelp: ViewStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between'\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n justifyContent: 'space-between',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {answerUI, questionText, questionOrigin = '', autoplayMedia = false} = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <Html style={style.questionOrigin}>{questionOrigin}</Html>\n <Html style={style.questionText}>{questionText}</Html>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n centerContent\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n >\n {hasVideoOrImage ? <MediaView media={answerUI.media} autoplay={autoplayMedia} /> : null}\n <View style={{marginTop: hasVideoOrImage ? 30 : 0}}>\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (num: number, screenWidth: number): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: 34 + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = createSlideStyle(num, width);\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} />;\n }\n\n return (\n <Animated.View style={[slideStyle.slide, animatedStyle]}>\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n key=\"question-container\"\n />\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/user-preferences/index.js"],"names":[],"mappings":";AA4CA,0DAeC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/user-preferences/index.js"],"names":[],"mappings":";AAwCA,0DAeC"}
@@ -11,7 +11,7 @@ var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
11
11
 
12
12
  var _map = _interopRequireDefault(require("lodash/fp/map"));
13
13
 
14
- var _provider = _interopRequireWildcard(require("../../atom/provider"));
14
+ var _provider = require("../../atom/provider");
15
15
 
16
16
  var _tooltip = _interopRequireDefault(require("../../atom/tooltip"));
17
17
 
@@ -21,18 +21,14 @@ var _style = _interopRequireDefault(require("./style.css"));
21
21
 
22
22
  const _excluded = ["label", "description", "moreInfoAriaLabel"];
23
23
 
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && 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; }
27
-
28
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
25
 
30
26
  function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
27
 
32
28
  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; }
33
29
 
34
- const Settings = (props, legacyContext) => {
35
- const translate = (0, _provider.GetTranslateFromContext)(legacyContext);
30
+ const Settings = props => {
31
+ const translate = (0, _provider.GetTranslateFromContext)();
36
32
 
37
33
  const {
38
34
  label,
@@ -60,9 +56,6 @@ Settings.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _input
60
56
  label: _propTypes.default.string.isRequired,
61
57
  description: _propTypes.default.string
62
58
  }) : {};
63
- Settings.contextTypes = {
64
- translate: _provider.default.childContextTypes.translate
65
- };
66
59
 
67
60
  const UserPreferences = props => {
68
61
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Settings","props","legacyContext","translate","GetTranslateFromContext","label","description","moreInfoAriaLabel","settings","style","isEmpty","infoIconTooltip","propTypes","InputSwitch","PropTypes","string","isRequired","contextTypes","Provider","childContextTypes","UserPreferences","preferences","groupAriaLabel","map","arrayOf","shape"],"sources":["../../../src/organism/user-preferences/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport Provider, {GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip from '../../atom/tooltip';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst Settings = (props, legacyContext) => {\n const translate = GetTranslateFromContext(legacyContext);\n const {label, description, moreInfoAriaLabel, ...settings} = props;\n return (\n <div className={style.settings}>\n <InputSwitch {...settings} />\n <span className={style.label} tabIndex={0}>\n {label}\n </span>\n {isEmpty(description) ? null : (\n <ToolTip\n TooltipContent={description}\n closeToolTipInformationTextAriaLabel={translate(\n 'Press the escape key to close the information text'\n )}\n data-testid=\"user-preferences-tooltip\"\n aria-label={moreInfoAriaLabel}\n iconContainerClassName={style.infoIconTooltip}\n fontSize={12}\n />\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n ...InputSwitch.propTypes,\n label: PropTypes.string.isRequired,\n description: PropTypes.string\n};\n\nSettings.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nconst UserPreferences = props => {\n const {preferences, moreInfoAriaLabel, groupAriaLabel} = props;\n\n return (\n <form>\n <div className={style.preferences} role=\"group\" aria-label={groupAriaLabel} tabIndex={0}>\n {map(\n settings => (\n <Settings {...settings} key={settings.label} moreInfoAriaLabel={moreInfoAriaLabel} />\n ),\n preferences\n )}\n </div>\n </form>\n );\n};\n\nUserPreferences.propTypes = {\n preferences: PropTypes.arrayOf(PropTypes.shape(Settings.propTypes)),\n moreInfoAriaLabel: PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default UserPreferences;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;EACzC,MAAMC,SAAS,GAAG,IAAAC,iCAAA,EAAwBF,aAAxB,CAAlB;;EACA,MAAM;IAACG,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDN,KAA7D;EAAA,MAAiDO,QAAjD,iCAA6DP,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEQ,cAAA,CAAMD;EAAtB,gBACE,6BAAC,oBAAD,EAAiBA,QAAjB,CADF,eAEE;IAAM,SAAS,EAAEC,cAAA,CAAMJ,KAAvB;IAA8B,QAAQ,EAAE;EAAxC,GACGA,KADH,CAFF,EAKG,IAAAK,gBAAA,EAAQJ,WAAR,IAAuB,IAAvB,gBACC,6BAAC,gBAAD;IACE,cAAc,EAAEA,WADlB;IAEE,oCAAoC,EAAEH,SAAS,CAC7C,oDAD6C,CAFjD;IAKE,eAAY,0BALd;IAME,cAAYI,iBANd;IAOE,sBAAsB,EAAEE,cAAA,CAAME,eAPhC;IAQE,QAAQ,EAAE;EARZ,EANJ,CADF;AAoBD,CAvBD;;AAyBAX,QAAQ,CAACY,SAAT,wDACKC,oBAAA,CAAYD,SADjB;EAEEP,KAAK,EAAES,kBAAA,CAAUC,MAAV,CAAiBC,UAF1B;EAGEV,WAAW,EAAEQ,kBAAA,CAAUC;AAHzB;AAMAf,QAAQ,CAACiB,YAAT,GAAwB;EACtBd,SAAS,EAAEe,iBAAA,CAASC,iBAAT,CAA2BhB;AADhB,CAAxB;;AAIA,MAAMiB,eAAe,GAAGnB,KAAK,IAAI;EAC/B,MAAM;IAACoB,WAAD;IAAcd,iBAAd;IAAiCe;EAAjC,IAAmDrB,KAAzD;EAEA,oBACE,wDACE;IAAK,SAAS,EAAEQ,cAAA,CAAMY,WAAtB;IAAmC,IAAI,EAAC,OAAxC;IAAgD,cAAYC,cAA5D;IAA4E,QAAQ,EAAE;EAAtF,GACG,IAAAC,YAAA,EACCf,QAAQ,iBACN,6BAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFH,EAICc,WAJD,CADH,CADF,CADF;AAYD,CAfD;;AAiBAD,eAAe,CAACR,SAAhB,2CAA4B;EAC1BS,WAAW,EAAEP,kBAAA,CAAUU,OAAV,CAAkBV,kBAAA,CAAUW,KAAV,CAAgBzB,QAAQ,CAACY,SAAzB,CAAlB,CADa;EAE1BL,iBAAiB,EAAEO,kBAAA,CAAUC,MAFH;EAG1BO,cAAc,EAAER,kBAAA,CAAUC;AAHA,CAA5B;eAMeK,e"}
1
+ {"version":3,"file":"index.js","names":["Settings","props","translate","GetTranslateFromContext","label","description","moreInfoAriaLabel","settings","style","isEmpty","infoIconTooltip","propTypes","InputSwitch","PropTypes","string","isRequired","UserPreferences","preferences","groupAriaLabel","map","arrayOf","shape"],"sources":["../../../src/organism/user-preferences/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/fp/isEmpty';\nimport map from 'lodash/fp/map';\nimport {GetTranslateFromContext} from '../../atom/provider';\nimport ToolTip from '../../atom/tooltip';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst Settings = props => {\n const translate = GetTranslateFromContext();\n const {label, description, moreInfoAriaLabel, ...settings} = props;\n return (\n <div className={style.settings}>\n <InputSwitch {...settings} />\n <span className={style.label} tabIndex={0}>\n {label}\n </span>\n {isEmpty(description) ? null : (\n <ToolTip\n TooltipContent={description}\n closeToolTipInformationTextAriaLabel={translate(\n 'Press the escape key to close the information text'\n )}\n data-testid=\"user-preferences-tooltip\"\n aria-label={moreInfoAriaLabel}\n iconContainerClassName={style.infoIconTooltip}\n fontSize={12}\n />\n )}\n </div>\n );\n};\n\nSettings.propTypes = {\n ...InputSwitch.propTypes,\n label: PropTypes.string.isRequired,\n description: PropTypes.string\n};\n\nconst UserPreferences = props => {\n const {preferences, moreInfoAriaLabel, groupAriaLabel} = props;\n\n return (\n <form>\n <div className={style.preferences} role=\"group\" aria-label={groupAriaLabel} tabIndex={0}>\n {map(\n settings => (\n <Settings {...settings} key={settings.label} moreInfoAriaLabel={moreInfoAriaLabel} />\n ),\n preferences\n )}\n </div>\n </form>\n );\n};\n\nUserPreferences.propTypes = {\n preferences: PropTypes.arrayOf(PropTypes.shape(Settings.propTypes)),\n moreInfoAriaLabel: PropTypes.string,\n groupAriaLabel: PropTypes.string\n};\n\nexport default UserPreferences;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAMC,SAAS,GAAG,IAAAC,iCAAA,GAAlB;;EACA,MAAM;IAACC,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDL,KAA7D;EAAA,MAAiDM,QAAjD,iCAA6DN,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEO,cAAA,CAAMD;EAAtB,gBACE,6BAAC,oBAAD,EAAiBA,QAAjB,CADF,eAEE;IAAM,SAAS,EAAEC,cAAA,CAAMJ,KAAvB;IAA8B,QAAQ,EAAE;EAAxC,GACGA,KADH,CAFF,EAKG,IAAAK,gBAAA,EAAQJ,WAAR,IAAuB,IAAvB,gBACC,6BAAC,gBAAD;IACE,cAAc,EAAEA,WADlB;IAEE,oCAAoC,EAAEH,SAAS,CAC7C,oDAD6C,CAFjD;IAKE,eAAY,0BALd;IAME,cAAYI,iBANd;IAOE,sBAAsB,EAAEE,cAAA,CAAME,eAPhC;IAQE,QAAQ,EAAE;EARZ,EANJ,CADF;AAoBD,CAvBD;;AAyBAV,QAAQ,CAACW,SAAT,wDACKC,oBAAA,CAAYD,SADjB;EAEEP,KAAK,EAAES,kBAAA,CAAUC,MAAV,CAAiBC,UAF1B;EAGEV,WAAW,EAAEQ,kBAAA,CAAUC;AAHzB;;AAMA,MAAME,eAAe,GAAGf,KAAK,IAAI;EAC/B,MAAM;IAACgB,WAAD;IAAcX,iBAAd;IAAiCY;EAAjC,IAAmDjB,KAAzD;EAEA,oBACE,wDACE;IAAK,SAAS,EAAEO,cAAA,CAAMS,WAAtB;IAAmC,IAAI,EAAC,OAAxC;IAAgD,cAAYC,cAA5D;IAA4E,QAAQ,EAAE;EAAtF,GACG,IAAAC,YAAA,EACCZ,QAAQ,iBACN,6BAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFH,EAICW,WAJD,CADH,CADF,CADF;AAYD,CAfD;;AAiBAD,eAAe,CAACL,SAAhB,2CAA4B;EAC1BM,WAAW,EAAEJ,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUQ,KAAV,CAAgBrB,QAAQ,CAACW,SAAzB,CAAlB,CADa;EAE1BL,iBAAiB,EAAEO,kBAAA,CAAUC,MAFH;EAG1BI,cAAc,EAAEL,kBAAA,CAAUC;AAHA,CAA5B;eAMeE,e"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coorpacademy/components",
3
- "version": "11.11.3-alpha.6+6f2076e6c",
3
+ "version": "11.11.4-alpha.1+776dbd928",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -56,7 +56,7 @@
56
56
  "Soualmi Djamel <djamel.soualmi@coorpacademy.com>"
57
57
  ],
58
58
  "dependencies": {
59
- "@coorpacademy/nova-icons": "4.1.3",
59
+ "@coorpacademy/nova-icons": "4.1.4-alpha.20+776dbd928",
60
60
  "@coorpacademy/react-native-animation": "1.0.3",
61
61
  "@jwplayer/jwplayer-react": "^1.1.0",
62
62
  "@types/react": "^17.0.50",
@@ -120,7 +120,6 @@
120
120
  "@testing-library/react": "12.1.5",
121
121
  "@testing-library/react-native": "^10.1.1",
122
122
  "@types/react-native": "~0.68.7",
123
- "@types/uuid": "^9.0.0",
124
123
  "@typescript-eslint/eslint-plugin": "^5.39.0",
125
124
  "@typescript-eslint/parser": "^5.39.0",
126
125
  "@wojtekmaj/enzyme-adapter-react-17": "^0.6.7",
@@ -165,5 +164,5 @@
165
164
  "last 2 versions",
166
165
  "IE 11"
167
166
  ],
168
- "gitHead": "6f2076e6c3579269118696defe83f78791776d90"
167
+ "gitHead": "776dbd928dfa8614b1aa00b07cb380925c7e0147"
169
168
  }