@coorpacademy/components 11.2.7-alpha.3 → 11.2.8-alpha.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 (133) hide show
  1. package/es/atom/html/index.native.d.ts.map +1 -1
  2. package/es/atom/html/index.native.js +3 -3
  3. package/es/atom/html/index.native.js.map +1 -1
  4. package/es/atom/review-presentation/index.d.ts.map +1 -1
  5. package/es/atom/review-presentation/index.js +5 -9
  6. package/es/atom/review-presentation/index.js.map +1 -1
  7. package/es/atom/review-presentation/index.native.js.map +1 -1
  8. package/es/atom/review-presentation/prop-types.d.ts +9 -11
  9. package/es/atom/review-presentation/prop-types.d.ts.map +1 -1
  10. package/es/atom/review-presentation/prop-types.js +1 -2
  11. package/es/atom/review-presentation/prop-types.js.map +1 -1
  12. package/es/atom/select-modal/index.native.d.ts +1 -1
  13. package/es/atom/select-modal/index.native.d.ts.map +1 -1
  14. package/es/atom/select-modal/index.native.js +5 -2
  15. package/es/atom/select-modal/index.native.js.map +1 -1
  16. package/es/molecule/filters/index.d.ts +2 -0
  17. package/es/molecule/filters/index.d.ts.map +1 -1
  18. package/es/molecule/filters/index.js +10 -4
  19. package/es/molecule/filters/index.js.map +1 -1
  20. package/es/molecule/questions/mobile/template/index.native.d.ts.map +1 -1
  21. package/es/molecule/questions/mobile/template/index.native.js +0 -13
  22. package/es/molecule/questions/mobile/template/index.native.js.map +1 -1
  23. package/es/molecule/review-correction-popin/index.native.d.ts.map +1 -1
  24. package/es/molecule/review-correction-popin/index.native.js +4 -3
  25. package/es/molecule/review-correction-popin/index.native.js.map +1 -1
  26. package/es/organism/mooc-footer/index.d.ts +1 -0
  27. package/es/organism/mooc-footer/index.d.ts.map +1 -1
  28. package/es/organism/mooc-footer/index.js +3 -1
  29. package/es/organism/mooc-footer/index.js.map +1 -1
  30. package/es/organism/mooc-header/index.d.ts.map +1 -1
  31. package/es/organism/mooc-header/index.js +4 -3
  32. package/es/organism/mooc-header/index.js.map +1 -1
  33. package/es/organism/review-congrats/index.native.d.ts.map +1 -1
  34. package/es/organism/review-congrats/index.native.js +6 -5
  35. package/es/organism/review-congrats/index.native.js.map +1 -1
  36. package/es/organism/review-slide/index.native.d.ts.map +1 -1
  37. package/es/organism/review-slide/index.native.js +3 -1
  38. package/es/organism/review-slide/index.native.js.map +1 -1
  39. package/es/organism/review-stacked-slides/index.native.d.ts +0 -1
  40. package/es/organism/review-stacked-slides/index.native.d.ts.map +1 -1
  41. package/es/organism/review-stacked-slides/index.native.js +37 -32
  42. package/es/organism/review-stacked-slides/index.native.js.map +1 -1
  43. package/es/organism/user-preferences/index.d.ts +1 -0
  44. package/es/organism/user-preferences/index.d.ts.map +1 -1
  45. package/es/organism/user-preferences/index.js +11 -6
  46. package/es/organism/user-preferences/index.js.map +1 -1
  47. package/es/template/activity/index.d.ts +2 -0
  48. package/es/template/activity/index.d.ts.map +1 -1
  49. package/es/template/activity/index.js +4 -1
  50. package/es/template/activity/index.js.map +1 -1
  51. package/es/template/activity/progression-item.d.ts +1 -0
  52. package/es/template/activity/progression-item.d.ts.map +1 -1
  53. package/es/template/activity/progression-item.js +5 -2
  54. package/es/template/activity/progression-item.js.map +1 -1
  55. package/es/template/activity/stars-summary.css +2 -0
  56. package/es/template/activity/stars-summary.js +2 -2
  57. package/es/template/activity/stars-summary.js.map +1 -1
  58. package/es/template/app-review/index.d.ts +0 -4
  59. package/es/template/app-review/index.d.ts.map +1 -1
  60. package/es/template/app-review/prop-types.d.ts +0 -4
  61. package/es/template/app-review/prop-types.d.ts.map +1 -1
  62. package/es/template/common/search-page/index.d.ts +4 -0
  63. package/es/template/common/search-page/index.d.ts.map +1 -1
  64. package/es/template/common/search-page/index.js +10 -3
  65. package/es/template/common/search-page/index.js.map +1 -1
  66. package/es/template/review-dashboard-skills/index.d.ts +0 -4
  67. package/lib/atom/html/index.native.d.ts.map +1 -1
  68. package/lib/atom/html/index.native.js +2 -2
  69. package/lib/atom/html/index.native.js.map +1 -1
  70. package/lib/atom/review-presentation/index.d.ts.map +1 -1
  71. package/lib/atom/review-presentation/index.js +5 -9
  72. package/lib/atom/review-presentation/index.js.map +1 -1
  73. package/lib/atom/review-presentation/index.native.js.map +1 -1
  74. package/lib/atom/review-presentation/prop-types.d.ts +9 -11
  75. package/lib/atom/review-presentation/prop-types.d.ts.map +1 -1
  76. package/lib/atom/review-presentation/prop-types.js +1 -2
  77. package/lib/atom/review-presentation/prop-types.js.map +1 -1
  78. package/lib/atom/select-modal/index.native.d.ts +1 -1
  79. package/lib/atom/select-modal/index.native.d.ts.map +1 -1
  80. package/lib/atom/select-modal/index.native.js +5 -2
  81. package/lib/atom/select-modal/index.native.js.map +1 -1
  82. package/lib/molecule/filters/index.d.ts +2 -0
  83. package/lib/molecule/filters/index.d.ts.map +1 -1
  84. package/lib/molecule/filters/index.js +10 -4
  85. package/lib/molecule/filters/index.js.map +1 -1
  86. package/lib/molecule/questions/mobile/template/index.native.d.ts.map +1 -1
  87. package/lib/molecule/questions/mobile/template/index.native.js +0 -13
  88. package/lib/molecule/questions/mobile/template/index.native.js.map +1 -1
  89. package/lib/molecule/review-correction-popin/index.native.d.ts.map +1 -1
  90. package/lib/molecule/review-correction-popin/index.native.js +4 -3
  91. package/lib/molecule/review-correction-popin/index.native.js.map +1 -1
  92. package/lib/organism/mooc-footer/index.d.ts +1 -0
  93. package/lib/organism/mooc-footer/index.d.ts.map +1 -1
  94. package/lib/organism/mooc-footer/index.js +3 -1
  95. package/lib/organism/mooc-footer/index.js.map +1 -1
  96. package/lib/organism/mooc-header/index.d.ts.map +1 -1
  97. package/lib/organism/mooc-header/index.js +4 -3
  98. package/lib/organism/mooc-header/index.js.map +1 -1
  99. package/lib/organism/review-congrats/index.native.d.ts.map +1 -1
  100. package/lib/organism/review-congrats/index.native.js +6 -5
  101. package/lib/organism/review-congrats/index.native.js.map +1 -1
  102. package/lib/organism/review-slide/index.native.d.ts.map +1 -1
  103. package/lib/organism/review-slide/index.native.js +3 -1
  104. package/lib/organism/review-slide/index.native.js.map +1 -1
  105. package/lib/organism/review-stacked-slides/index.native.d.ts +0 -1
  106. package/lib/organism/review-stacked-slides/index.native.d.ts.map +1 -1
  107. package/lib/organism/review-stacked-slides/index.native.js +38 -34
  108. package/lib/organism/review-stacked-slides/index.native.js.map +1 -1
  109. package/lib/organism/user-preferences/index.d.ts +1 -0
  110. package/lib/organism/user-preferences/index.d.ts.map +1 -1
  111. package/lib/organism/user-preferences/index.js +11 -6
  112. package/lib/organism/user-preferences/index.js.map +1 -1
  113. package/lib/template/activity/index.d.ts +2 -0
  114. package/lib/template/activity/index.d.ts.map +1 -1
  115. package/lib/template/activity/index.js +4 -1
  116. package/lib/template/activity/index.js.map +1 -1
  117. package/lib/template/activity/progression-item.d.ts +1 -0
  118. package/lib/template/activity/progression-item.d.ts.map +1 -1
  119. package/lib/template/activity/progression-item.js +5 -2
  120. package/lib/template/activity/progression-item.js.map +1 -1
  121. package/lib/template/activity/stars-summary.css +2 -0
  122. package/lib/template/activity/stars-summary.js +2 -2
  123. package/lib/template/activity/stars-summary.js.map +1 -1
  124. package/lib/template/app-review/index.d.ts +0 -4
  125. package/lib/template/app-review/index.d.ts.map +1 -1
  126. package/lib/template/app-review/prop-types.d.ts +0 -4
  127. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  128. package/lib/template/common/search-page/index.d.ts +4 -0
  129. package/lib/template/common/search-page/index.d.ts.map +1 -1
  130. package/lib/template/common/search-page/index.js +10 -3
  131. package/lib/template/common/search-page/index.js.map +1 -1
  132. package/lib/template/review-dashboard-skills/index.d.ts +0 -4
  133. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.default = exports.TOTAL_SLIDES_STACK = void 0;
4
+ exports.default = void 0;
5
5
 
6
6
  var _react = _interopRequireWildcard(require("react"));
7
7
 
@@ -19,9 +19,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
 
20
20
  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; }
21
21
 
22
- const TOTAL_SLIDES_STACK = 5;
23
- exports.TOTAL_SLIDES_STACK = TOTAL_SLIDES_STACK;
24
-
25
22
  const style = _reactNative.StyleSheet.create({
26
23
  slides: {
27
24
  flex: 1,
@@ -29,19 +26,6 @@ const style = _reactNative.StyleSheet.create({
29
26
  width: '100%'
30
27
  }
31
28
  });
32
-
33
- const FakeSlide = ({
34
- position,
35
- validateButton
36
- }) => /*#__PURE__*/_react.default.createElement(_index.default, {
37
- num: position,
38
- slide: {
39
- loading: true,
40
- position
41
- },
42
- slideIndex: `${position}`,
43
- validateButton: validateButton
44
- });
45
29
  /*
46
30
  - slides are ordered to be played from left to right: [0,1,2,3]
47
31
  - slides are piled on the view, so we need to reverse the order:
@@ -60,7 +44,8 @@ const StackedSlides = props => {
60
44
  correctionPopinProps
61
45
  } = props;
62
46
  const [unstacked, setUnstacked] = (0, _react.useState)([]);
63
- const [restacked, setRestacked] = (0, _react.useState)();
47
+ const [restacking, setRestacking] = (0, _react.useState)(null);
48
+ const [restackingDone, setRestackingDone] = (0, _react.useState)(false);
64
49
  const hideSlides = (0, _reactNativeAnimation.useTranslateY)({
65
50
  fromValue: 0,
66
51
  toValue: windowHeight,
@@ -72,6 +57,12 @@ const StackedSlides = props => {
72
57
  duration: 500,
73
58
  easing: _reactNative.Easing.cubic
74
59
  });
60
+ const restackTranslation = (0, _reactNativeAnimation.useTranslateY)({
61
+ toValue: 0,
62
+ fromValue: -windowHeight,
63
+ duration: 1200,
64
+ easing: _reactNative.Easing.out(_reactNative.Easing.cubic)
65
+ });
75
66
  (0, _react.useEffect)(() => {
76
67
  if (endReview) {
77
68
  hideSlides.start();
@@ -81,10 +72,12 @@ const StackedSlides = props => {
81
72
  const unstackingSlide = (0, _keys.default)(slides).find(k => slides[k].animationType === 'unstack');
82
73
  const remainingKeys = (0, _keys.default)(slides).filter(k => slides[k].position >= 0 && !slides[k].animationType);
83
74
  const orderedKeys = remainingKeys.sort((k1, k2) => slides[k2].position > slides[k1].position ? 1 : -1);
84
- const animatedSlide = restackingSlide || unstackingSlide;
75
+ const animatedFrontSlide = unstackingSlide || (restackingSlide && restacking === null ? restackingSlide : undefined);
76
+ const animatedRestackedSlide = restacking !== null;
85
77
  (0, _react.useEffect)(() => {
86
- if (restacked && orderedKeys.includes(restacked)) {
87
- setRestacked(null);
78
+ if (restacking !== null && orderedKeys.includes(restacking)) {
79
+ setRestacking(null);
80
+ setRestackingDone(false);
88
81
  } // this effect is required only when the list orderedKeys changes
89
82
  // eslint-disable-next-line react-hooks/exhaustive-deps
90
83
 
@@ -99,18 +92,24 @@ const StackedSlides = props => {
99
92
  }
100
93
  }, [unstackingSlide, unstacked, setUnstacked, translateDown]);
101
94
  (0, _react.useEffect)(() => {
102
- const restacking = restackingSlide && restacked !== restackingSlide;
95
+ const startRestacking = !restackingDone && restackingSlide && restacking !== restackingSlide;
103
96
 
104
- if (restacking) {
97
+ if (startRestacking) {
105
98
  translateDown.start(() => {
106
- setRestacked(restackingSlide);
99
+ setRestacking(restackingSlide);
100
+ restackTranslation.start(() => {
101
+ setRestackingDone(true);
102
+ });
107
103
  });
108
- }
109
- }, [restackingSlide, restacked, setRestacked, translateDown]);
104
+ } // this effect is required only to trigger the restack animation when a new restackingSlide is set
105
+ // eslint-disable-next-line react-hooks/exhaustive-deps
106
+
107
+ }, [restackingSlide, restacking]);
110
108
  const stackedSlides = orderedKeys.map((slideIndex, index) => {
111
109
  const slide = slides[slideIndex];
110
+ const num = orderedKeys.length - index;
112
111
  return /*#__PURE__*/_react.default.createElement(_index.default, {
113
- num: orderedKeys.length - index,
112
+ num,
114
113
  slideIndex,
115
114
  slide,
116
115
  validateButton,
@@ -119,23 +118,28 @@ const StackedSlides = props => {
119
118
  });
120
119
  });
121
120
 
122
- if (animatedSlide) {
121
+ if (animatedFrontSlide) {
123
122
  stackedSlides.push( /*#__PURE__*/_react.default.createElement(_index.default, {
124
123
  num: 0,
125
- slideIndex: animatedSlide,
126
- slide: slides[animatedSlide],
124
+ slideIndex: animatedFrontSlide,
125
+ slide: slides[animatedFrontSlide],
127
126
  validateButton,
128
127
  correctionPopinProps,
129
128
  animatedStyle: [translateDown.animatedStyle],
130
- key: animatedSlide
129
+ key: animatedFrontSlide
131
130
  }));
132
131
  }
133
132
 
134
133
  return /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
135
134
  style: [style.slides, hideSlides.animatedStyle]
136
- }, restacked ? /*#__PURE__*/_react.default.createElement(FakeSlide, {
137
- position: orderedKeys.length + 1,
138
- validateButton: validateButton
135
+ }, animatedRestackedSlide ? /*#__PURE__*/_react.default.createElement(_index.default, {
136
+ num: orderedKeys.length + 1,
137
+ slideIndex: restacking,
138
+ slide: slides[restacking],
139
+ validateButton,
140
+ correctionPopinProps,
141
+ animatedStyle: [restackTranslation.animatedStyle],
142
+ key: restacking
139
143
  }) : null, stackedSlides);
140
144
  };
141
145
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.js","names":["TOTAL_SLIDES_STACK","style","StyleSheet","create","slides","flex","height","width","FakeSlide","position","validateButton","loading","StackedSlides","props","windowHeight","useWindowDimensions","endReview","correctionPopinProps","unstacked","setUnstacked","useState","restacked","setRestacked","hideSlides","useTranslateY","fromValue","toValue","duration","translateDown","easing","Easing","cubic","useEffect","start","restackingSlide","keys","find","k","animationType","unstackingSlide","remainingKeys","filter","orderedKeys","sort","k1","k2","animatedSlide","includes","toString","unstacking","restacking","stackedSlides","map","slideIndex","index","slide","num","length","push","animatedStyle"],"sources":["../../../src/organism/review-stacked-slides/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {Animated, Easing, StyleSheet, useWindowDimensions} from 'react-native';\nimport keys from 'lodash/fp/keys';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Slide from '../review-slide/index.native';\nimport type {ReviewSlideProps} from '../review-slide/prop-types';\nimport type {ReviewStackProps} from './prop-types';\n\nexport const TOTAL_SLIDES_STACK = 5;\n\nconst style = StyleSheet.create({\n slides: {\n flex: 1,\n height: '100%',\n width: '100%'\n }\n});\n\ntype FakeSlideProps = {position: number; validateButton: ReviewSlideProps['validateButton']};\nconst FakeSlide = ({position, validateButton}: FakeSlideProps) => (\n <Slide\n num={position}\n slide={{loading: true, position}}\n slideIndex={`${position}`}\n validateButton={validateButton}\n />\n);\n\n/*\n - slides are ordered to be played from left to right: [0,1,2,3]\n - slides are piled on the view, so we need to reverse the order:\n -> it's like our eye is looking from the right [3,2,1,0] <-- oO\n*/\nconst StackedSlides = (props: ReviewStackProps) => {\n const {height: windowHeight} = useWindowDimensions();\n const {endReview, slides, validateButton, correctionPopinProps} = props;\n const [unstacked, setUnstacked] = useState<string[]>([]);\n const [restacked, setRestacked] = useState<string | null>();\n\n const hideSlides = useTranslateY({\n fromValue: 0,\n toValue: windowHeight,\n duration: 800\n });\n\n const translateDown = useTranslateY({\n fromValue: 0,\n toValue: windowHeight - 100,\n duration: 500,\n easing: Easing.cubic\n });\n\n useEffect(() => {\n if (endReview) {\n hideSlides.start();\n }\n }, [endReview, hideSlides]);\n\n const restackingSlide = keys(slides).find(k => slides[k].animationType === 'restack');\n const unstackingSlide = keys(slides).find(k => slides[k].animationType === 'unstack');\n\n const remainingKeys = keys(slides).filter(\n k => slides[k].position >= 0 && !slides[k].animationType\n );\n\n const orderedKeys = remainingKeys.sort((k1, k2) =>\n slides[k2].position > slides[k1].position ? 1 : -1\n );\n\n const animatedSlide = restackingSlide || unstackingSlide;\n\n useEffect(() => {\n if (restacked && orderedKeys.includes(restacked)) {\n setRestacked(null);\n }\n // this effect is required only when the list orderedKeys changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [orderedKeys.toString()]);\n\n useEffect(() => {\n const unstacking = unstackingSlide && !unstacked.includes(unstackingSlide);\n\n if (unstacking) {\n translateDown.start(() => {\n setUnstacked([...unstacked, unstackingSlide]);\n });\n }\n }, [unstackingSlide, unstacked, setUnstacked, translateDown]);\n\n useEffect(() => {\n const restacking = restackingSlide && restacked !== restackingSlide;\n\n if (restacking) {\n translateDown.start(() => {\n setRestacked(restackingSlide);\n });\n }\n }, [restackingSlide, restacked, setRestacked, translateDown]);\n\n const stackedSlides = orderedKeys.map((slideIndex, index) => {\n const slide = slides[slideIndex];\n\n return (\n <Slide\n {...{\n num: orderedKeys.length - index,\n slideIndex,\n slide,\n validateButton,\n correctionPopinProps\n }}\n key={slideIndex}\n />\n );\n });\n\n if (animatedSlide) {\n stackedSlides.push(\n <Slide\n {...{\n num: 0,\n slideIndex: animatedSlide,\n slide: slides[animatedSlide],\n validateButton,\n correctionPopinProps\n }}\n animatedStyle={[translateDown.animatedStyle]}\n key={animatedSlide}\n />\n );\n }\n\n return (\n <Animated.View style={[style.slides, hideSlides.animatedStyle]}>\n {restacked ? (\n <FakeSlide position={orderedKeys.length + 1} validateButton={validateButton} />\n ) : null}\n {stackedSlides}\n </Animated.View>\n );\n};\n\nexport default StackedSlides;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.native.js","names":["style","StyleSheet","create","slides","flex","height","width","StackedSlides","props","windowHeight","useWindowDimensions","endReview","validateButton","correctionPopinProps","unstacked","setUnstacked","useState","restacking","setRestacking","restackingDone","setRestackingDone","hideSlides","useTranslateY","fromValue","toValue","duration","translateDown","easing","Easing","cubic","restackTranslation","out","useEffect","start","restackingSlide","keys","find","k","animationType","unstackingSlide","remainingKeys","filter","position","orderedKeys","sort","k1","k2","animatedFrontSlide","undefined","animatedRestackedSlide","includes","toString","unstacking","startRestacking","stackedSlides","map","slideIndex","index","slide","num","length","push","animatedStyle"],"sources":["../../../src/organism/review-stacked-slides/index.native.tsx"],"sourcesContent":["import React, {useEffect, useState} from 'react';\nimport {Animated, Easing, StyleSheet, useWindowDimensions} from 'react-native';\nimport keys from 'lodash/fp/keys';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Slide from '../review-slide/index.native';\nimport type {ReviewStackProps} from './prop-types';\n\nconst style = StyleSheet.create({\n slides: {\n flex: 1,\n height: '100%',\n width: '100%'\n }\n});\n\n/*\n - slides are ordered to be played from left to right: [0,1,2,3]\n - slides are piled on the view, so we need to reverse the order:\n -> it's like our eye is looking from the right [3,2,1,0] <-- oO\n*/\nconst StackedSlides = (props: ReviewStackProps) => {\n const {height: windowHeight} = useWindowDimensions();\n const {endReview, slides, validateButton, correctionPopinProps} = props;\n const [unstacked, setUnstacked] = useState<string[]>([]);\n const [restacking, setRestacking] = useState<string | null>(null);\n const [restackingDone, setRestackingDone] = useState<boolean>(false);\n\n const hideSlides = useTranslateY({\n fromValue: 0,\n toValue: windowHeight,\n duration: 800\n });\n\n const translateDown = useTranslateY({\n fromValue: 0,\n toValue: windowHeight - 100,\n duration: 500,\n easing: Easing.cubic\n });\n\n const restackTranslation = useTranslateY({\n toValue: 0,\n fromValue: -windowHeight,\n duration: 1200,\n easing: Easing.out(Easing.cubic)\n });\n\n useEffect(() => {\n if (endReview) {\n hideSlides.start();\n }\n }, [endReview, hideSlides]);\n\n const restackingSlide = keys(slides).find(k => slides[k].animationType === 'restack');\n const unstackingSlide = keys(slides).find(k => slides[k].animationType === 'unstack');\n\n const remainingKeys = keys(slides).filter(\n k => slides[k].position >= 0 && !slides[k].animationType\n );\n\n const orderedKeys = remainingKeys.sort((k1, k2) =>\n slides[k2].position > slides[k1].position ? 1 : -1\n );\n\n const animatedFrontSlide =\n unstackingSlide || (restackingSlide && restacking === null ? restackingSlide : undefined);\n\n const animatedRestackedSlide = restacking !== null;\n\n useEffect(() => {\n if (restacking !== null && orderedKeys.includes(restacking)) {\n setRestacking(null);\n setRestackingDone(false);\n }\n // this effect is required only when the list orderedKeys changes\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [orderedKeys.toString()]);\n\n useEffect(() => {\n const unstacking = unstackingSlide && !unstacked.includes(unstackingSlide);\n\n if (unstacking) {\n translateDown.start(() => {\n setUnstacked([...unstacked, unstackingSlide]);\n });\n }\n }, [unstackingSlide, unstacked, setUnstacked, translateDown]);\n\n useEffect(() => {\n const startRestacking = !restackingDone && restackingSlide && restacking !== restackingSlide;\n\n if (startRestacking) {\n translateDown.start(() => {\n setRestacking(restackingSlide);\n restackTranslation.start(() => {\n setRestackingDone(true);\n });\n });\n }\n // this effect is required only to trigger the restack animation when a new restackingSlide is set\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [restackingSlide, restacking]);\n\n const stackedSlides = orderedKeys.map((slideIndex, index) => {\n const slide = slides[slideIndex];\n const num = orderedKeys.length - index;\n\n return (\n <Slide\n {...{\n num,\n slideIndex,\n slide,\n validateButton,\n correctionPopinProps\n }}\n key={slideIndex}\n />\n );\n });\n\n if (animatedFrontSlide) {\n stackedSlides.push(\n <Slide\n {...{\n num: 0,\n slideIndex: animatedFrontSlide,\n slide: slides[animatedFrontSlide],\n validateButton,\n correctionPopinProps\n }}\n animatedStyle={[translateDown.animatedStyle]}\n key={animatedFrontSlide}\n />\n );\n }\n\n return (\n <Animated.View style={[style.slides, hideSlides.animatedStyle]}>\n {animatedRestackedSlide ? (\n <Slide\n {...{\n num: orderedKeys.length + 1,\n slideIndex: restacking,\n slide: slides[restacking],\n validateButton,\n correctionPopinProps\n }}\n animatedStyle={[restackTranslation.animatedStyle]}\n key={restacking}\n />\n ) : null}\n {stackedSlides}\n </Animated.View>\n );\n};\n\nexport default StackedSlides;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAGA,MAAMA,KAAK,GAAGC,uBAAA,CAAWC,MAAX,CAAkB;EAC9BC,MAAM,EAAE;IACNC,IAAI,EAAE,CADA;IAENC,MAAM,EAAE,MAFF;IAGNC,KAAK,EAAE;EAHD;AADsB,CAAlB,CAAd;AAQA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,aAAa,GAAIC,KAAD,IAA6B;EACjD,MAAM;IAACH,MAAM,EAAEI;EAAT,IAAyB,IAAAC,gCAAA,GAA/B;EACA,MAAM;IAACC,SAAD;IAAYR,MAAZ;IAAoBS,cAApB;IAAoCC;EAApC,IAA4DL,KAAlE;EACA,MAAM,CAACM,SAAD,EAAYC,YAAZ,IAA4B,IAAAC,eAAA,EAAmB,EAAnB,CAAlC;EACA,MAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,IAAAF,eAAA,EAAwB,IAAxB,CAApC;EACA,MAAM,CAACG,cAAD,EAAiBC,iBAAjB,IAAsC,IAAAJ,eAAA,EAAkB,KAAlB,CAA5C;EAEA,MAAMK,UAAU,GAAG,IAAAC,mCAAA,EAAc;IAC/BC,SAAS,EAAE,CADoB;IAE/BC,OAAO,EAAEf,YAFsB;IAG/BgB,QAAQ,EAAE;EAHqB,CAAd,CAAnB;EAMA,MAAMC,aAAa,GAAG,IAAAJ,mCAAA,EAAc;IAClCC,SAAS,EAAE,CADuB;IAElCC,OAAO,EAAEf,YAAY,GAAG,GAFU;IAGlCgB,QAAQ,EAAE,GAHwB;IAIlCE,MAAM,EAAEC,mBAAA,CAAOC;EAJmB,CAAd,CAAtB;EAOA,MAAMC,kBAAkB,GAAG,IAAAR,mCAAA,EAAc;IACvCE,OAAO,EAAE,CAD8B;IAEvCD,SAAS,EAAE,CAACd,YAF2B;IAGvCgB,QAAQ,EAAE,IAH6B;IAIvCE,MAAM,EAAEC,mBAAA,CAAOG,GAAP,CAAWH,mBAAA,CAAOC,KAAlB;EAJ+B,CAAd,CAA3B;EAOA,IAAAG,gBAAA,EAAU,MAAM;IACd,IAAIrB,SAAJ,EAAe;MACbU,UAAU,CAACY,KAAX;IACD;EACF,CAJD,EAIG,CAACtB,SAAD,EAAYU,UAAZ,CAJH;EAMA,MAAMa,eAAe,GAAG,IAAAC,aAAA,EAAKhC,MAAL,EAAaiC,IAAb,CAAkBC,CAAC,IAAIlC,MAAM,CAACkC,CAAD,CAAN,CAAUC,aAAV,KAA4B,SAAnD,CAAxB;EACA,MAAMC,eAAe,GAAG,IAAAJ,aAAA,EAAKhC,MAAL,EAAaiC,IAAb,CAAkBC,CAAC,IAAIlC,MAAM,CAACkC,CAAD,CAAN,CAAUC,aAAV,KAA4B,SAAnD,CAAxB;EAEA,MAAME,aAAa,GAAG,IAAAL,aAAA,EAAKhC,MAAL,EAAasC,MAAb,CACpBJ,CAAC,IAAIlC,MAAM,CAACkC,CAAD,CAAN,CAAUK,QAAV,IAAsB,CAAtB,IAA2B,CAACvC,MAAM,CAACkC,CAAD,CAAN,CAAUC,aADvB,CAAtB;EAIA,MAAMK,WAAW,GAAGH,aAAa,CAACI,IAAd,CAAmB,CAACC,EAAD,EAAKC,EAAL,KACrC3C,MAAM,CAAC2C,EAAD,CAAN,CAAWJ,QAAX,GAAsBvC,MAAM,CAAC0C,EAAD,CAAN,CAAWH,QAAjC,GAA4C,CAA5C,GAAgD,CAAC,CAD/B,CAApB;EAIA,MAAMK,kBAAkB,GACtBR,eAAe,KAAKL,eAAe,IAAIjB,UAAU,KAAK,IAAlC,GAAyCiB,eAAzC,GAA2Dc,SAAhE,CADjB;EAGA,MAAMC,sBAAsB,GAAGhC,UAAU,KAAK,IAA9C;EAEA,IAAAe,gBAAA,EAAU,MAAM;IACd,IAAIf,UAAU,KAAK,IAAf,IAAuB0B,WAAW,CAACO,QAAZ,CAAqBjC,UAArB,CAA3B,EAA6D;MAC3DC,aAAa,CAAC,IAAD,CAAb;MACAE,iBAAiB,CAAC,KAAD,CAAjB;IACD,CAJa,CAKd;IACA;;EACD,CAPD,EAOG,CAACuB,WAAW,CAACQ,QAAZ,EAAD,CAPH;EASA,IAAAnB,gBAAA,EAAU,MAAM;IACd,MAAMoB,UAAU,GAAGb,eAAe,IAAI,CAACzB,SAAS,CAACoC,QAAV,CAAmBX,eAAnB,CAAvC;;IAEA,IAAIa,UAAJ,EAAgB;MACd1B,aAAa,CAACO,KAAd,CAAoB,MAAM;QACxBlB,YAAY,CAAC,CAAC,GAAGD,SAAJ,EAAeyB,eAAf,CAAD,CAAZ;MACD,CAFD;IAGD;EACF,CARD,EAQG,CAACA,eAAD,EAAkBzB,SAAlB,EAA6BC,YAA7B,EAA2CW,aAA3C,CARH;EAUA,IAAAM,gBAAA,EAAU,MAAM;IACd,MAAMqB,eAAe,GAAG,CAAClC,cAAD,IAAmBe,eAAnB,IAAsCjB,UAAU,KAAKiB,eAA7E;;IAEA,IAAImB,eAAJ,EAAqB;MACnB3B,aAAa,CAACO,KAAd,CAAoB,MAAM;QACxBf,aAAa,CAACgB,eAAD,CAAb;QACAJ,kBAAkB,CAACG,KAAnB,CAAyB,MAAM;UAC7Bb,iBAAiB,CAAC,IAAD,CAAjB;QACD,CAFD;MAGD,CALD;IAMD,CAVa,CAWd;IACA;;EACD,CAbD,EAaG,CAACc,eAAD,EAAkBjB,UAAlB,CAbH;EAeA,MAAMqC,aAAa,GAAGX,WAAW,CAACY,GAAZ,CAAgB,CAACC,UAAD,EAAaC,KAAb,KAAuB;IAC3D,MAAMC,KAAK,GAAGvD,MAAM,CAACqD,UAAD,CAApB;IACA,MAAMG,GAAG,GAAGhB,WAAW,CAACiB,MAAZ,GAAqBH,KAAjC;IAEA,oBACE,6BAAC,cAAD;MAEIE,GAFJ;MAGIH,UAHJ;MAIIE,KAJJ;MAKI9C,cALJ;MAMIC,oBANJ;MAQE,GAAG,EAAE2C;IARP,EADF;EAYD,CAhBqB,CAAtB;;EAkBA,IAAIT,kBAAJ,EAAwB;IACtBO,aAAa,CAACO,IAAd,eACE,6BAAC,cAAD;MAEIF,GAAG,EAAE,CAFT;MAGIH,UAAU,EAAET,kBAHhB;MAIIW,KAAK,EAAEvD,MAAM,CAAC4C,kBAAD,CAJjB;MAKInC,cALJ;MAMIC,oBANJ;MAQE,aAAa,EAAE,CAACa,aAAa,CAACoC,aAAf,CARjB;MASE,GAAG,EAAEf;IATP,EADF;EAaD;;EAED,oBACE,6BAAC,qBAAD,CAAU,IAAV;IAAe,KAAK,EAAE,CAAC/C,KAAK,CAACG,MAAP,EAAekB,UAAU,CAACyC,aAA1B;EAAtB,GACGb,sBAAsB,gBACrB,6BAAC,cAAD;IAEIU,GAAG,EAAEhB,WAAW,CAACiB,MAAZ,GAAqB,CAF9B;IAGIJ,UAAU,EAAEvC,UAHhB;IAIIyC,KAAK,EAAEvD,MAAM,CAACc,UAAD,CAJjB;IAKIL,cALJ;IAMIC,oBANJ;IAQE,aAAa,EAAE,CAACiB,kBAAkB,CAACgC,aAApB,CARjB;IASE,GAAG,EAAE7C;EATP,EADqB,GAYnB,IAbN,EAcGqC,aAdH,CADF;AAkBD,CAvID;;eAyIe/C,a"}
@@ -18,6 +18,7 @@ declare namespace UserPreferences {
18
18
  'data-name': PropTypes.Requireable<string>;
19
19
  requiredSelection: PropTypes.Requireable<boolean>;
20
20
  }> | null | undefined)[]>;
21
+ const moreInfoAriaLabel: PropTypes.Requireable<string>;
21
22
  }
22
23
  }
23
24
  import PropTypes from "prop-types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/user-preferences/index.js"],"names":[],"mappings":";AA+BA,0DAaC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organism/user-preferences/index.js"],"names":[],"mappings":";AAoCA,0DAaC"}
@@ -17,7 +17,7 @@ var _inputSwitch = _interopRequireDefault(require("../../atom/input-switch"));
17
17
 
18
18
  var _style = _interopRequireDefault(require("./style.css"));
19
19
 
20
- const _excluded = ["label", "description"];
20
+ const _excluded = ["label", "description", "moreInfoAriaLabel"];
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
@@ -28,7 +28,8 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
28
28
  const Settings = props => {
29
29
  const {
30
30
  label,
31
- description
31
+ description,
32
+ moreInfoAriaLabel
32
33
  } = props,
33
34
  settings = _objectWithoutPropertiesLoose(props, _excluded);
34
35
 
@@ -41,7 +42,8 @@ const Settings = props => {
41
42
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyInformationIcon, {
42
43
  height: 16,
43
44
  width: 16,
44
- className: _style.default.infoIcon
45
+ className: _style.default.infoIcon,
46
+ "aria-label": moreInfoAriaLabel
45
47
  }), /*#__PURE__*/_react.default.createElement("div", {
46
48
  className: _style.default.showToolTip
47
49
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -56,17 +58,20 @@ Settings.propTypes = process.env.NODE_ENV !== "production" ? _extends({}, _input
56
58
 
57
59
  const UserPreferences = props => {
58
60
  const {
59
- preferences = []
61
+ preferences = [],
62
+ moreInfoAriaLabel
60
63
  } = props;
61
64
  return /*#__PURE__*/_react.default.createElement("div", {
62
65
  className: _style.default.preferences
63
66
  }, (0, _map2.default)(settings => /*#__PURE__*/_react.default.createElement(Settings, _extends({}, settings, {
64
- key: settings.label
67
+ key: settings.label,
68
+ moreInfoAriaLabel: moreInfoAriaLabel
65
69
  })), preferences));
66
70
  };
67
71
 
68
72
  UserPreferences.propTypes = process.env.NODE_ENV !== "production" ? {
69
- preferences: _propTypes.default.arrayOf(_propTypes.default.shape(Settings.propTypes))
73
+ preferences: _propTypes.default.arrayOf(_propTypes.default.shape(Settings.propTypes)),
74
+ moreInfoAriaLabel: _propTypes.default.string
70
75
  } : {};
71
76
  var _default = UserPreferences;
72
77
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Settings","props","label","description","settings","style","infoIconWrapper","infoIcon","showToolTip","descriptionLabel","propTypes","InputSwitch","PropTypes","string","isRequired","UserPreferences","preferences","arrayOf","shape"],"sources":["../../../src/organism/user-preferences/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map, isEmpty} from 'lodash/fp';\nimport {NovaCompositionCoorpacademyInformationIcon as InfoIcon} from '@coorpacademy/nova-icons';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst Settings = props => {\n const {label, description, ...settings} = props;\n return (\n <div className={style.settings}>\n <InputSwitch {...settings} />\n <span className={style.label}>{label}</span>\n {isEmpty(description) ? null : (\n <div className={style.infoIconWrapper}>\n <InfoIcon height={16} width={16} className={style.infoIcon} />\n <div className={style.showToolTip}>\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n </div>\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 = []} = props;\n\n return (\n <div className={style.preferences}>\n {map(\n settings => (\n <Settings {...settings} key={settings.label} />\n ),\n preferences\n )}\n </div>\n );\n};\n\nUserPreferences.propTypes = {\n preferences: PropTypes.arrayOf(PropTypes.shape(Settings.propTypes))\n};\n\nexport default UserPreferences;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAM;IAACC,KAAD;IAAQC;EAAR,IAAoCF,KAA1C;EAAA,MAA8BG,QAA9B,iCAA0CH,KAA1C;;EACA,oBACE;IAAK,SAAS,EAAEI,cAAA,CAAMD;EAAtB,gBACE,6BAAC,oBAAD,EAAiBA,QAAjB,CADF,eAEE;IAAM,SAAS,EAAEC,cAAA,CAAMH;EAAvB,GAA+BA,KAA/B,CAFF,EAGG,uBAAQC,WAAR,IAAuB,IAAvB,gBACC;IAAK,SAAS,EAAEE,cAAA,CAAMC;EAAtB,gBACE,6BAAC,qDAAD;IAAU,MAAM,EAAE,EAAlB;IAAsB,KAAK,EAAE,EAA7B;IAAiC,SAAS,EAAED,cAAA,CAAME;EAAlD,EADF,eAEE;IAAK,SAAS,EAAEF,cAAA,CAAMG;EAAtB,gBACE;IAAK,SAAS,EAAEH,cAAA,CAAMI;EAAtB,GAAyCN,WAAzC,CADF,CAFF,CAJJ,CADF;AAcD,CAhBD;;AAkBAH,QAAQ,CAACU,SAAT,wDACKC,oBAAA,CAAYD,SADjB;EAEER,KAAK,EAAEU,kBAAA,CAAUC,MAAV,CAAiBC,UAF1B;EAGEX,WAAW,EAAES,kBAAA,CAAUC;AAHzB;;AAMA,MAAME,eAAe,GAAGd,KAAK,IAAI;EAC/B,MAAM;IAACe,WAAW,GAAG;EAAf,IAAqBf,KAA3B;EAEA,oBACE;IAAK,SAAS,EAAEI,cAAA,CAAMW;EAAtB,GACG,mBACCZ,QAAQ,iBACN,6BAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACF;EAAtC,GAFH,EAICc,WAJD,CADH,CADF;AAUD,CAbD;;AAeAD,eAAe,CAACL,SAAhB,2CAA4B;EAC1BM,WAAW,EAAEJ,kBAAA,CAAUK,OAAV,CAAkBL,kBAAA,CAAUM,KAAV,CAAgBlB,QAAQ,CAACU,SAAzB,CAAlB;AADa,CAA5B;eAIeK,e"}
1
+ {"version":3,"file":"index.js","names":["Settings","props","label","description","moreInfoAriaLabel","settings","style","infoIconWrapper","infoIcon","showToolTip","descriptionLabel","propTypes","InputSwitch","PropTypes","string","isRequired","UserPreferences","preferences","arrayOf","shape"],"sources":["../../../src/organism/user-preferences/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {map, isEmpty} from 'lodash/fp';\nimport {NovaCompositionCoorpacademyInformationIcon as InfoIcon} from '@coorpacademy/nova-icons';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './style.css';\n\nconst Settings = props => {\n const {label, description, moreInfoAriaLabel, ...settings} = props;\n return (\n <div className={style.settings}>\n <InputSwitch {...settings} />\n <span className={style.label}>{label}</span>\n {isEmpty(description) ? null : (\n <div className={style.infoIconWrapper}>\n <InfoIcon\n height={16}\n width={16}\n className={style.infoIcon}\n aria-label={moreInfoAriaLabel}\n />\n <div className={style.showToolTip}>\n <div className={style.descriptionLabel}>{description}</div>\n </div>\n </div>\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} = props;\n\n return (\n <div className={style.preferences}>\n {map(\n settings => (\n <Settings {...settings} key={settings.label} moreInfoAriaLabel={moreInfoAriaLabel} />\n ),\n preferences\n )}\n </div>\n );\n};\n\nUserPreferences.propTypes = {\n preferences: PropTypes.arrayOf(PropTypes.shape(Settings.propTypes)),\n moreInfoAriaLabel: PropTypes.string\n};\n\nexport default UserPreferences;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAGC,KAAK,IAAI;EACxB,MAAM;IAACC,KAAD;IAAQC,WAAR;IAAqBC;EAArB,IAAuDH,KAA7D;EAAA,MAAiDI,QAAjD,iCAA6DJ,KAA7D;;EACA,oBACE;IAAK,SAAS,EAAEK,cAAA,CAAMD;EAAtB,gBACE,6BAAC,oBAAD,EAAiBA,QAAjB,CADF,eAEE;IAAM,SAAS,EAAEC,cAAA,CAAMJ;EAAvB,GAA+BA,KAA/B,CAFF,EAGG,uBAAQC,WAAR,IAAuB,IAAvB,gBACC;IAAK,SAAS,EAAEG,cAAA,CAAMC;EAAtB,gBACE,6BAAC,qDAAD;IACE,MAAM,EAAE,EADV;IAEE,KAAK,EAAE,EAFT;IAGE,SAAS,EAAED,cAAA,CAAME,QAHnB;IAIE,cAAYJ;EAJd,EADF,eAOE;IAAK,SAAS,EAAEE,cAAA,CAAMG;EAAtB,gBACE;IAAK,SAAS,EAAEH,cAAA,CAAMI;EAAtB,GAAyCP,WAAzC,CADF,CAPF,CAJJ,CADF;AAmBD,CArBD;;AAuBAH,QAAQ,CAACW,SAAT,wDACKC,oBAAA,CAAYD,SADjB;EAEET,KAAK,EAAEW,kBAAA,CAAUC,MAAV,CAAiBC,UAF1B;EAGEZ,WAAW,EAAEU,kBAAA,CAAUC;AAHzB;;AAMA,MAAME,eAAe,GAAGf,KAAK,IAAI;EAC/B,MAAM;IAACgB,WAAW,GAAG,EAAf;IAAmBb;EAAnB,IAAwCH,KAA9C;EAEA,oBACE;IAAK,SAAS,EAAEK,cAAA,CAAMW;EAAtB,GACG,mBACCZ,QAAQ,iBACN,6BAAC,QAAD,eAAcA,QAAd;IAAwB,GAAG,EAAEA,QAAQ,CAACH,KAAtC;IAA6C,iBAAiB,EAAEE;EAAhE,GAFH,EAICa,WAJD,CADH,CADF;AAUD,CAbD;;AAeAD,eAAe,CAACL,SAAhB,2CAA4B;EAC1BM,WAAW,EAAEJ,kBAAA,CAAUK,OAAV,CAAkBL,kBAAA,CAAUM,KAAV,CAAgBnB,QAAQ,CAACW,SAAzB,CAAlB,CADa;EAE1BP,iBAAiB,EAAES,kBAAA,CAAUC;AAFH,CAA5B;eAKeE,e"}
@@ -3,6 +3,7 @@ declare class Progression extends React.Component<any, any, any> {
3
3
  static propTypes: {
4
4
  mainTitle: PropTypes.Validator<string>;
5
5
  mainSubtitle: PropTypes.Validator<string>;
6
+ adaptiveAriaLabel: PropTypes.Requireable<string>;
6
7
  total: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
7
8
  label: PropTypes.Validator<string>;
8
9
  stars: PropTypes.Validator<number>;
@@ -32,6 +33,7 @@ declare class Progression extends React.Component<any, any, any> {
32
33
  label: PropTypes.Validator<string>;
33
34
  level: PropTypes.Validator<string>;
34
35
  state: PropTypes.Validator<string>;
36
+ adaptiveAriaLabel: PropTypes.Requireable<string>;
35
37
  type: PropTypes.Validator<string>;
36
38
  adaptive: PropTypes.Validator<boolean>;
37
39
  onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/activity/index.js"],"names":[],"mappings":";AAaA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuBE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,sCAIC;IAED,8BAME;IAEF,oCAKE;IAEF,sBA+EC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/activity/index.js"],"names":[],"mappings":";AAaA;IACE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwBE;IAEF;;;;;;;;;;;;;;;;;;;;;;MAEE;IAEF,sCAIC;IAED,8BAME;IAEF,oCAKE;IAEF,sBAoFC;CACF"}
@@ -70,6 +70,7 @@ class Progression extends _react.default.Component {
70
70
  mainSubtitle,
71
71
  recommendation = {},
72
72
  progressions = [],
73
+ adaptiveAriaLabel,
73
74
  total,
74
75
  engines = [],
75
76
  themeFilter = {},
@@ -83,7 +84,8 @@ class Progression extends _react.default.Component {
83
84
  className: _style.default.loader
84
85
  }, /*#__PURE__*/_react.default.createElement(_loader.default, null)) : null;
85
86
  const allProgressions = progressions.map(progression => /*#__PURE__*/_react.default.createElement(_progressionItem.default, _extends({}, (0, _omit2.default)(['ref'], progression), {
86
- key: progression.ref
87
+ key: progression.ref,
88
+ adaptiveAriaLabel: adaptiveAriaLabel
87
89
  })));
88
90
 
89
91
  const coreProgression = /*#__PURE__*/_react.default.createElement("div", {
@@ -146,6 +148,7 @@ Progression.contextTypes = {
146
148
  Progression.propTypes = process.env.NODE_ENV !== "production" ? {
147
149
  mainTitle: _propTypes.default.string.isRequired,
148
150
  mainSubtitle: _propTypes.default.string.isRequired,
151
+ adaptiveAriaLabel: _propTypes.default.string,
149
152
  total: _propTypes.default.shape({
150
153
  label: _propTypes.default.string.isRequired,
151
154
  stars: _propTypes.default.number.isRequired
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Progression","React","Component","constructor","props","context","handleClick","e","recommendation","stopPropagation","preventDefault","onClick","handleSelectTheme","themeFilter","onChange","bind","render","mainTitle","mainSubtitle","progressions","total","engines","loading","skin","primary","loader","style","allProgressions","map","progression","ref","coreProgression","core","themeSelect","options","selectBorder","select","recommendationSection","recommendationWrapper","title","subtitle","classnames","course","innerHTML","__html","courseTitle","cta","backgroundColor","default","headerProgression","wrapperCta","wrapperProgression","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","label","stars","number","arrayOf","EngineStars","bool","ProgressionItem","Select","func"],"sources":["../../../src/template/activity/index.js"],"sourcesContent":["import React from 'react';\nimport {get, omit, isEmpty} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Select from '../../atom/select';\nimport Loader from '../../atom/loader';\nimport ProgressionItem from './progression-item';\nimport EngineStars from './engine-stars';\nimport StarsSummary from './stars-summary';\nimport style from './style.css';\n\nclass Progression extends React.Component {\n static propTypes = {\n mainTitle: PropTypes.string.isRequired,\n mainSubtitle: PropTypes.string.isRequired,\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n loading: PropTypes.bool.isRequired,\n progressions: PropTypes.arrayOf(\n PropTypes.shape({...ProgressionItem.propTypes, ref: PropTypes.string.isRequired})\n ),\n themeFilter: PropTypes.shape({\n options: Select.propTypes.options.isRequired,\n onChange: Select.propTypes.onChange\n }),\n recommendation: PropTypes.shape({\n cta: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n courseTitle: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleClick = this.handleClick.bind(this);\n this.handleSelectTheme = this.handleSelectTheme.bind(this);\n }\n\n handleClick = e => {\n const {recommendation} = this.props;\n e.stopPropagation();\n e.preventDefault();\n const {onClick} = recommendation;\n onClick && onClick(e);\n };\n\n handleSelectTheme = e => {\n const {\n themeFilter: {onChange}\n } = this.props;\n onChange && onChange(e);\n };\n\n render() {\n const {\n mainTitle,\n mainSubtitle,\n recommendation = {},\n progressions = [],\n total,\n engines = [],\n themeFilter = {},\n loading\n } = this.props;\n const {skin} = this.context;\n\n const primary = get('common.primary', skin);\n const loader = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : null;\n const allProgressions = progressions.map(progression => (\n <ProgressionItem {...omit(['ref'], progression)} key={progression.ref} />\n ));\n\n const coreProgression = (\n <div data-name=\"activityCore\" className={style.core}>\n {allProgressions}\n </div>\n );\n const themeSelect = !isEmpty(themeFilter.options) ? (\n <Select\n borderClassName={style.selectBorder}\n className={style.select}\n theme=\"thematiques\"\n options={themeFilter.options}\n onChange={this.handleSelectTheme}\n />\n ) : null;\n const recommendationSection = !isEmpty(recommendation) ? (\n <div className={style.recommendationWrapper}>\n <p className={style.recommendationSection}>{recommendation.title} </p>\n <p className={style.recommendationSection}>\n <span>{recommendation.subtitle} </span>\n <span\n className={classnames(style.course, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: recommendation.courseTitle}}\n />\n </p>\n <Button\n type=\"link\"\n onClick={this.handleClick}\n submitValue={recommendation.cta}\n style={{\n backgroundColor: primary\n }}\n className={style.cta}\n />\n </div>\n ) : null;\n return (\n <div className={style.default}>\n <div data-name=\"activity-header\">\n <div className={style.mainTitle}>\n <span>{mainTitle}</span> {mainSubtitle}\n </div>\n <div className={style.headerProgression}>\n <div className={style.wrapperCta}>\n {themeSelect}\n {recommendationSection}\n </div>\n <StarsSummary engines={engines} total={total} />\n </div>\n </div>\n <div className={style.wrapperProgression} data-name=\"activityList\">\n {coreProgression}\n {loader}\n </div>\n </div>\n );\n }\n}\n\nexport default Progression;\n"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,WAAN,SAA0BC,cAAA,CAAMC,SAAhC,CAA0C;EA8BxCC,WAAW,CAACC,KAAD,EAAQC,OAAR,EAAiB;IAC1B,MAAMD,KAAN,EAAaC,OAAb;;IAD0B,KAM5BC,WAN4B,GAMdC,CAAC,IAAI;MACjB,MAAM;QAACC;MAAD,IAAmB,KAAKJ,KAA9B;MACAG,CAAC,CAACE,eAAF;MACAF,CAAC,CAACG,cAAF;MACA,MAAM;QAACC;MAAD,IAAYH,cAAlB;MACAG,OAAO,IAAIA,OAAO,CAACJ,CAAD,CAAlB;IACD,CAZ2B;;IAAA,KAc5BK,iBAd4B,GAcRL,CAAC,IAAI;MACvB,MAAM;QACJM,WAAW,EAAE;UAACC;QAAD;MADT,IAEF,KAAKV,KAFT;MAGAU,QAAQ,IAAIA,QAAQ,CAACP,CAAD,CAApB;IACD,CAnB2B;;IAE1B,KAAKD,WAAL,GAAmB,KAAKA,WAAL,CAAiBS,IAAjB,CAAsB,IAAtB,CAAnB;IACA,KAAKH,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBG,IAAvB,CAA4B,IAA5B,CAAzB;EACD;;EAiBDC,MAAM,GAAG;IACP,MAAM;MACJC,SADI;MAEJC,YAFI;MAGJV,cAAc,GAAG,EAHb;MAIJW,YAAY,GAAG,EAJX;MAKJC,KALI;MAMJC,OAAO,GAAG,EANN;MAOJR,WAAW,GAAG,EAPV;MAQJS;IARI,IASF,KAAKlB,KATT;IAUA,MAAM;MAACmB;IAAD,IAAS,KAAKlB,OAApB;IAEA,MAAMmB,OAAO,GAAG,mBAAI,gBAAJ,EAAsBD,IAAtB,CAAhB;IACA,MAAME,MAAM,GAAGH,OAAO,gBACpB;MAAK,SAAS,EAAEI,cAAA,CAAMD;IAAtB,gBACE,6BAAC,eAAD,OADF,CADoB,GAIlB,IAJJ;IAKA,MAAME,eAAe,GAAGR,YAAY,CAACS,GAAb,CAAiBC,WAAW,iBAClD,6BAAC,wBAAD,eAAqB,oBAAK,CAAC,KAAD,CAAL,EAAcA,WAAd,CAArB;MAAiD,GAAG,EAAEA,WAAW,CAACC;IAAlE,GADsB,CAAxB;;IAIA,MAAMC,eAAe,gBACnB;MAAK,aAAU,cAAf;MAA8B,SAAS,EAAEL,cAAA,CAAMM;IAA/C,GACGL,eADH,CADF;;IAKA,MAAMM,WAAW,GAAG,CAAC,uBAAQpB,WAAW,CAACqB,OAApB,CAAD,gBAClB,6BAAC,eAAD;MACE,eAAe,EAAER,cAAA,CAAMS,YADzB;MAEE,SAAS,EAAET,cAAA,CAAMU,MAFnB;MAGE,KAAK,EAAC,aAHR;MAIE,OAAO,EAAEvB,WAAW,CAACqB,OAJvB;MAKE,QAAQ,EAAE,KAAKtB;IALjB,EADkB,GAQhB,IARJ;IASA,MAAMyB,qBAAqB,GAAG,CAAC,uBAAQ7B,cAAR,CAAD,gBAC5B;MAAK,SAAS,EAAEkB,cAAA,CAAMY;IAAtB,gBACE;MAAG,SAAS,EAAEZ,cAAA,CAAMW;IAApB,GAA4C7B,cAAc,CAAC+B,KAA3D,MADF,eAEE;MAAG,SAAS,EAAEb,cAAA,CAAMW;IAApB,gBACE,2CAAO7B,cAAc,CAACgC,QAAtB,MADF,eAEE;MACE,SAAS,EAAE,IAAAC,mBAAA,EAAWf,cAAA,CAAMgB,MAAjB,EAAyBhB,cAAA,CAAMiB,SAA/B,CADb,CAEE;MAFF;MAGE,uBAAuB,EAAE;QAACC,MAAM,EAAEpC,cAAc,CAACqC;MAAxB;IAH3B,EAFF,CAFF,eAUE,6BAAC,eAAD;MACE,IAAI,EAAC,MADP;MAEE,OAAO,EAAE,KAAKvC,WAFhB;MAGE,WAAW,EAAEE,cAAc,CAACsC,GAH9B;MAIE,KAAK,EAAE;QACLC,eAAe,EAAEvB;MADZ,CAJT;MAOE,SAAS,EAAEE,cAAA,CAAMoB;IAPnB,EAVF,CAD4B,GAqB1B,IArBJ;IAsBA,oBACE;MAAK,SAAS,EAAEpB,cAAA,CAAMsB;IAAtB,gBACE;MAAK,aAAU;IAAf,gBACE;MAAK,SAAS,EAAEtB,cAAA,CAAMT;IAAtB,gBACE,2CAAOA,SAAP,CADF,OAC4BC,YAD5B,CADF,eAIE;MAAK,SAAS,EAAEQ,cAAA,CAAMuB;IAAtB,gBACE;MAAK,SAAS,EAAEvB,cAAA,CAAMwB;IAAtB,GACGjB,WADH,EAEGI,qBAFH,CADF,eAKE,6BAAC,qBAAD;MAAc,OAAO,EAAEhB,OAAvB;MAAgC,KAAK,EAAED;IAAvC,EALF,CAJF,CADF,eAaE;MAAK,SAAS,EAAEM,cAAA,CAAMyB,kBAAtB;MAA0C,aAAU;IAApD,GACGpB,eADH,EAEGN,MAFH,CAbF,CADF;EAoBD;;AAlIuC;;AAApCzB,W,CA0BGoD,Y,GAAe;EACpB7B,IAAI,EAAE8B,iBAAA,CAASC,iBAAT,CAA2B/B;AADb,C;AA1BlBvB,W,CACGuD,S,2CAAY;EACjBtC,SAAS,EAAEuC,kBAAA,CAAUC,MAAV,CAAiBC,UADX;EAEjBxC,YAAY,EAAEsC,kBAAA,CAAUC,MAAV,CAAiBC,UAFd;EAGjBtC,KAAK,EAAEoC,kBAAA,CAAUG,KAAV,CAAgB;IACrBC,KAAK,EAAEJ,kBAAA,CAAUC,MAAV,CAAiBC,UADH;IAErBG,KAAK,EAAEL,kBAAA,CAAUM,MAAV,CAAiBJ;EAFH,CAAhB,EAGJA,UANc;EAOjBrC,OAAO,EAAEmC,kBAAA,CAAUO,OAAV,CAAkBP,kBAAA,CAAUG,KAAV,CAAgBK,oBAAA,CAAYT,SAA5B,CAAlB,CAPQ;EAQjBjC,OAAO,EAAEkC,kBAAA,CAAUS,IAAV,CAAeP,UARP;EASjBvC,YAAY,EAAEqC,kBAAA,CAAUO,OAAV,CACZP,kBAAA,CAAUG,KAAV,cAAoBO,wBAAA,CAAgBX,SAApC;IAA+CzB,GAAG,EAAE0B,kBAAA,CAAUC,MAAV,CAAiBC;EAArE,GADY,CATG;EAYjB7C,WAAW,EAAE2C,kBAAA,CAAUG,KAAV,CAAgB;IAC3BzB,OAAO,EAAEiC,eAAA,CAAOZ,SAAP,CAAiBrB,OAAjB,CAAyBwB,UADP;IAE3B5C,QAAQ,EAAEqD,eAAA,CAAOZ,SAAP,CAAiBzC;EAFA,CAAhB,CAZI;EAgBjBN,cAAc,EAAEgD,kBAAA,CAAUG,KAAV,CAAgB;IAC9Bb,GAAG,EAAEU,kBAAA,CAAUC,MAAV,CAAiBC,UADQ;IAE9BnB,KAAK,EAAEiB,kBAAA,CAAUC,MAAV,CAAiBC,UAFM;IAG9BlB,QAAQ,EAAEgB,kBAAA,CAAUC,MAAV,CAAiBC,UAHG;IAI9Bb,WAAW,EAAEW,kBAAA,CAAUC,MAAV,CAAiBC,UAJA;IAK9B/C,OAAO,EAAE6C,kBAAA,CAAUY;EALW,CAAhB;AAhBC,C;eAoINpE,W"}
1
+ {"version":3,"file":"index.js","names":["Progression","React","Component","constructor","props","context","handleClick","e","recommendation","stopPropagation","preventDefault","onClick","handleSelectTheme","themeFilter","onChange","bind","render","mainTitle","mainSubtitle","progressions","adaptiveAriaLabel","total","engines","loading","skin","primary","loader","style","allProgressions","map","progression","ref","coreProgression","core","themeSelect","options","selectBorder","select","recommendationSection","recommendationWrapper","title","subtitle","classnames","course","innerHTML","__html","courseTitle","cta","backgroundColor","default","headerProgression","wrapperCta","wrapperProgression","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","isRequired","shape","label","stars","number","arrayOf","EngineStars","bool","ProgressionItem","Select","func"],"sources":["../../../src/template/activity/index.js"],"sourcesContent":["import React from 'react';\nimport {get, omit, isEmpty} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../../atom/provider';\nimport Button from '../../atom/button';\nimport Select from '../../atom/select';\nimport Loader from '../../atom/loader';\nimport ProgressionItem from './progression-item';\nimport EngineStars from './engine-stars';\nimport StarsSummary from './stars-summary';\nimport style from './style.css';\n\nclass Progression extends React.Component {\n static propTypes = {\n mainTitle: PropTypes.string.isRequired,\n mainSubtitle: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n loading: PropTypes.bool.isRequired,\n progressions: PropTypes.arrayOf(\n PropTypes.shape({...ProgressionItem.propTypes, ref: PropTypes.string.isRequired})\n ),\n themeFilter: PropTypes.shape({\n options: Select.propTypes.options.isRequired,\n onChange: Select.propTypes.onChange\n }),\n recommendation: PropTypes.shape({\n cta: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n courseTitle: PropTypes.string.isRequired,\n onClick: PropTypes.func\n })\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props, context) {\n super(props, context);\n this.handleClick = this.handleClick.bind(this);\n this.handleSelectTheme = this.handleSelectTheme.bind(this);\n }\n\n handleClick = e => {\n const {recommendation} = this.props;\n e.stopPropagation();\n e.preventDefault();\n const {onClick} = recommendation;\n onClick && onClick(e);\n };\n\n handleSelectTheme = e => {\n const {\n themeFilter: {onChange}\n } = this.props;\n onChange && onChange(e);\n };\n\n render() {\n const {\n mainTitle,\n mainSubtitle,\n recommendation = {},\n progressions = [],\n adaptiveAriaLabel,\n total,\n engines = [],\n themeFilter = {},\n loading\n } = this.props;\n const {skin} = this.context;\n\n const primary = get('common.primary', skin);\n const loader = loading ? (\n <div className={style.loader}>\n <Loader />\n </div>\n ) : null;\n const allProgressions = progressions.map(progression => (\n <ProgressionItem\n {...omit(['ref'], progression)}\n key={progression.ref}\n adaptiveAriaLabel={adaptiveAriaLabel}\n />\n ));\n\n const coreProgression = (\n <div data-name=\"activityCore\" className={style.core}>\n {allProgressions}\n </div>\n );\n const themeSelect = !isEmpty(themeFilter.options) ? (\n <Select\n borderClassName={style.selectBorder}\n className={style.select}\n theme=\"thematiques\"\n options={themeFilter.options}\n onChange={this.handleSelectTheme}\n />\n ) : null;\n const recommendationSection = !isEmpty(recommendation) ? (\n <div className={style.recommendationWrapper}>\n <p className={style.recommendationSection}>{recommendation.title} </p>\n <p className={style.recommendationSection}>\n <span>{recommendation.subtitle} </span>\n <span\n className={classnames(style.course, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: recommendation.courseTitle}}\n />\n </p>\n <Button\n type=\"link\"\n onClick={this.handleClick}\n submitValue={recommendation.cta}\n style={{\n backgroundColor: primary\n }}\n className={style.cta}\n />\n </div>\n ) : null;\n return (\n <div className={style.default}>\n <div data-name=\"activity-header\">\n <div className={style.mainTitle}>\n <span>{mainTitle}</span> {mainSubtitle}\n </div>\n <div className={style.headerProgression}>\n <div className={style.wrapperCta}>\n {themeSelect}\n {recommendationSection}\n </div>\n <StarsSummary engines={engines} total={total} />\n </div>\n </div>\n <div className={style.wrapperProgression} data-name=\"activityList\">\n {coreProgression}\n {loader}\n </div>\n </div>\n );\n }\n}\n\nexport default Progression;\n"],"mappings":"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"}
@@ -10,6 +10,7 @@ declare namespace ProgressionItem {
10
10
  const label: PropTypes.Validator<string>;
11
11
  const level: PropTypes.Validator<string>;
12
12
  const state: PropTypes.Validator<string>;
13
+ const adaptiveAriaLabel: PropTypes.Requireable<string>;
13
14
  const type: PropTypes.Validator<string>;
14
15
  const adaptive: PropTypes.Validator<boolean>;
15
16
  const onClick: PropTypes.Requireable<(...args: any[]) => any>;
@@ -1 +1 @@
1
- {"version":3,"file":"progression-item.d.ts","sourceRoot":"","sources":["../../../src/template/activity/progression-item.js"],"names":[],"mappings":";AAmCA,wEAwFC"}
1
+ {"version":3,"file":"progression-item.d.ts","sourceRoot":"","sources":["../../../src/template/activity/progression-item.js"],"names":[],"mappings":";AAmCA,wEAyFC"}
@@ -56,7 +56,8 @@ const ProgressionItem = (props, context) => {
56
56
  maxStars,
57
57
  state,
58
58
  type,
59
- steps = 0
59
+ steps = 0,
60
+ adaptiveAriaLabel
60
61
  } = props;
61
62
  const dark = (0, _get2.default)('common.dark', skin);
62
63
  const primary = (0, _get2.default)('common.primary', skin);
@@ -69,7 +70,8 @@ const ProgressionItem = (props, context) => {
69
70
  }
70
71
  }, /*#__PURE__*/_react.default.createElement(_novaIcons.NovaCompositionCoorpacademyAdaptive, {
71
72
  color: white,
72
- height: 14
73
+ height: 14,
74
+ "aria-label": adaptiveAriaLabel
73
75
  })) : null;
74
76
  const handleCTAClick = (0, _react.useMemo)(() => e => {
75
77
  e.stopPropagation();
@@ -142,6 +144,7 @@ ProgressionItem.propTypes = process.env.NODE_ENV !== "production" ? {
142
144
  label: _propTypes.default.string.isRequired,
143
145
  level: _propTypes.default.string.isRequired,
144
146
  state: _propTypes.default.string.isRequired,
147
+ adaptiveAriaLabel: _propTypes.default.string,
145
148
  type: _propTypes.default.string.isRequired,
146
149
  adaptive: _propTypes.default.bool.isRequired,
147
150
  onClick: _propTypes.default.func
@@ -1 +1 @@
1
- {"version":3,"file":"progression-item.js","names":["ICONS","chapter","TimerIcon","course","LearnerIcon","battle","BoltIcon","certification","CertificationIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ProgressionItem","props","context","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","dark","primary","white","IconType","adaptiveIcon","style","backgroundColor","handleCTAClick","useMemo","e","stopPropagation","preventDefault","link","color","cta","classnames","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","PropTypes","number","isRequired","bool","string","func","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/progression-item.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRightIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaCompositionCoorpacademyAdaptive as AdaptiveIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport ProgressBar from '../../molecule/progress-bar';\nimport Link from '../../atom/link';\nimport style from './progression-item.css';\n\nconst ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon,\n battle: BoltIcon,\n certification: CertificationIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ProgressionItem = (props, context) => {\n const {skin} = context;\n const {\n disabled = false,\n adaptive,\n completion,\n label,\n level,\n onClick = noop,\n stars,\n maxStars,\n state,\n type,\n steps = 0\n } = props;\n\n const dark = get('common.dark', skin);\n const primary = get('common.primary', skin);\n const white = get('common.white', skin);\n const IconType = ICONS[type];\n\n const adaptiveIcon = adaptive ? (\n <div\n className={style.adaptiveIcon}\n style={{\n backgroundColor: primary\n }}\n >\n <AdaptiveIcon color={white} height={14} />\n </div>\n ) : null;\n\n const handleCTAClick = useMemo(\n () => e => {\n e.stopPropagation();\n e.preventDefault();\n onClick && onClick(e);\n },\n [onClick]\n );\n\n const link = disabled ? null : (\n <Link style={{color: primary}} onClick={handleCTAClick} data-progression-state={state}>\n <span className={style.cta}>\n {state} <ArrowRightIcon color={primary} height={12} width={20} />\n </span>\n </Link>\n );\n\n return (\n <div className={classnames(style.progressionItem, disabled ? style.disabled : '')}>\n <div className={style.wrapperTitle}>\n <IconType className={style.iconType} color={dark} />\n <div data-name=\"activityLabel\" className={style.label} title={label}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: label}}\n />\n {adaptiveIcon}\n </div>\n\n <div\n data-name=\"activityStars\"\n className={style.stars}\n style={{\n color: primary\n }}\n >\n {stars}\n {maxStars ? ' /' : null}\n {maxStars ? <span className={style.smallStars}>{maxStars}</span> : null}{' '}\n <StarIcon className={style.iconStar} color={primary} />\n </div>\n </div>\n <ProgressBar\n className={style.completion}\n value={completion * 100}\n max={100}\n steps={steps}\n style={{backgroundColor: primary, borderRadius: 0}}\n />\n <div className={style.state}>\n {link}\n <span className={style.level}>{level}</span>\n </div>\n </div>\n );\n};\n\nProgressionItem.propTypes = {\n completion: PropTypes.number.isRequired,\n stars: PropTypes.number.isRequired,\n maxStars: PropTypes.number,\n steps: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n adaptive: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n};\n\nProgressionItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ProgressionItem;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAcA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,KAAK,GAAG;EACZC,OAAO,EAAEC,2CADG;EAEZC,MAAM,EAAEC,uCAFI;EAGZC,MAAM,EAAEC,0CAHI;EAIZC,aAAa,EAAEC,8CAJH;EAKZC,OAAO,EAAEC,6CALG;EAMZC,KAAK,EAAEC,2CANK;EAOZC,KAAK,EAAEC,2CAPK;EAQZC,OAAO,EAAEC,gDARG;EASZC,MAAM,EAAEC;AATI,CAAd;;AAYA,MAAMC,eAAe,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC1C,MAAM;IAACC;EAAD,IAASD,OAAf;EACA,MAAM;IACJE,QAAQ,GAAG,KADP;IAEJC,QAFI;IAGJC,UAHI;IAIJC,KAJI;IAKJC,KALI;IAMJC,OAAO,iBANH;IAOJC,KAPI;IAQJC,QARI;IASJC,KATI;IAUJC,IAVI;IAWJC,KAAK,GAAG;EAXJ,IAYFb,KAZJ;EAcA,MAAMc,IAAI,GAAG,mBAAI,aAAJ,EAAmBZ,IAAnB,CAAb;EACA,MAAMa,OAAO,GAAG,mBAAI,gBAAJ,EAAsBb,IAAtB,CAAhB;EACA,MAAMc,KAAK,GAAG,mBAAI,cAAJ,EAAoBd,IAApB,CAAd;EACA,MAAMe,QAAQ,GAAGrC,KAAK,CAACgC,IAAD,CAAtB;EAEA,MAAMM,YAAY,GAAGd,QAAQ,gBAC3B;IACE,SAAS,EAAEe,wBAAA,CAAMD,YADnB;IAEE,KAAK,EAAE;MACLE,eAAe,EAAEL;IADZ;EAFT,gBAME,6BAAC,8CAAD;IAAc,KAAK,EAAEC,KAArB;IAA4B,MAAM,EAAE;EAApC,EANF,CAD2B,GASzB,IATJ;EAWA,MAAMK,cAAc,GAAG,IAAAC,cAAA,EACrB,MAAMC,CAAC,IAAI;IACTA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACAjB,OAAO,IAAIA,OAAO,CAACe,CAAD,CAAlB;EACD,CALoB,EAMrB,CAACf,OAAD,CANqB,CAAvB;EASA,MAAMkB,IAAI,GAAGvB,QAAQ,GAAG,IAAH,gBACnB,6BAAC,aAAD;IAAM,KAAK,EAAE;MAACwB,KAAK,EAAEZ;IAAR,CAAb;IAA+B,OAAO,EAAEM,cAAxC;IAAwD,0BAAwBV;EAAhF,gBACE;IAAM,SAAS,EAAEQ,wBAAA,CAAMS;EAAvB,GACGjB,KADH,oBACU,6BAAC,8CAAD;IAAgB,KAAK,EAAEI,OAAvB;IAAgC,MAAM,EAAE,EAAxC;IAA4C,KAAK,EAAE;EAAnD,EADV,CADF,CADF;EAQA,oBACE;IAAK,SAAS,EAAE,IAAAc,mBAAA,EAAWV,wBAAA,CAAMW,eAAjB,EAAkC3B,QAAQ,GAAGgB,wBAAA,CAAMhB,QAAT,GAAoB,EAA9D;EAAhB,gBACE;IAAK,SAAS,EAAEgB,wBAAA,CAAMY;EAAtB,gBACE,6BAAC,QAAD;IAAU,SAAS,EAAEZ,wBAAA,CAAMa,QAA3B;IAAqC,KAAK,EAAElB;EAA5C,EADF,eAEE;IAAK,aAAU,eAAf;IAA+B,SAAS,EAAEK,wBAAA,CAAMb,KAAhD;IAAuD,KAAK,EAAEA;EAA9D,gBACE;IACE,SAAS,EAAEa,wBAAA,CAAMc,SADnB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAE5B;IAAT;EAH3B,EADF,EAMGY,YANH,CAFF,eAWE;IACE,aAAU,eADZ;IAEE,SAAS,EAAEC,wBAAA,CAAMV,KAFnB;IAGE,KAAK,EAAE;MACLkB,KAAK,EAAEZ;IADF;EAHT,GAOGN,KAPH,EAQGC,QAAQ,GAAG,IAAH,GAAU,IARrB,EASGA,QAAQ,gBAAG;IAAM,SAAS,EAAES,wBAAA,CAAMgB;EAAvB,GAAoCzB,QAApC,CAAH,GAA0D,IATrE,EAS2E,GAT3E,eAUE,6BAAC,0CAAD;IAAU,SAAS,EAAES,wBAAA,CAAMiB,QAA3B;IAAqC,KAAK,EAAErB;EAA5C,EAVF,CAXF,CADF,eAyBE,6BAAC,oBAAD;IACE,SAAS,EAAEI,wBAAA,CAAMd,UADnB;IAEE,KAAK,EAAEA,UAAU,GAAG,GAFtB;IAGE,GAAG,EAAE,GAHP;IAIE,KAAK,EAAEQ,KAJT;IAKE,KAAK,EAAE;MAACO,eAAe,EAAEL,OAAlB;MAA2BsB,YAAY,EAAE;IAAzC;EALT,EAzBF,eAgCE;IAAK,SAAS,EAAElB,wBAAA,CAAMR;EAAtB,GACGe,IADH,eAEE;IAAM,SAAS,EAAEP,wBAAA,CAAMZ;EAAvB,GAA+BA,KAA/B,CAFF,CAhCF,CADF;AAuCD,CAxFD;;AA0FAR,eAAe,CAACuC,SAAhB,2CAA4B;EAC1BjC,UAAU,EAAEkC,kBAAA,CAAUC,MAAV,CAAiBC,UADH;EAE1BhC,KAAK,EAAE8B,kBAAA,CAAUC,MAAV,CAAiBC,UAFE;EAG1B/B,QAAQ,EAAE6B,kBAAA,CAAUC,MAHM;EAI1B3B,KAAK,EAAE0B,kBAAA,CAAUC,MAJS;EAK1BrC,QAAQ,EAAEoC,kBAAA,CAAUG,IALM;EAM1BpC,KAAK,EAAEiC,kBAAA,CAAUI,MAAV,CAAiBF,UANE;EAO1BlC,KAAK,EAAEgC,kBAAA,CAAUI,MAAV,CAAiBF,UAPE;EAQ1B9B,KAAK,EAAE4B,kBAAA,CAAUI,MAAV,CAAiBF,UARE;EAS1B7B,IAAI,EAAE2B,kBAAA,CAAUI,MAAV,CAAiBF,UATG;EAU1BrC,QAAQ,EAAEmC,kBAAA,CAAUG,IAAV,CAAeD,UAVC;EAW1BjC,OAAO,EAAE+B,kBAAA,CAAUK;AAXO,CAA5B;AAcA7C,eAAe,CAAC8C,YAAhB,GAA+B;EAC7B3C,IAAI,EAAE4C,iBAAA,CAASC,iBAAT,CAA2B7C;AADJ,CAA/B;eAIeH,e"}
1
+ {"version":3,"file":"progression-item.js","names":["ICONS","chapter","TimerIcon","course","LearnerIcon","battle","BoltIcon","certification","CertificationIcon","article","ArticleIcon","scorm","ScormIcon","video","VideoIcon","podcast","PodcastIcon","review","RevisionIcon","ProgressionItem","props","context","skin","disabled","adaptive","completion","label","level","onClick","stars","maxStars","state","type","steps","adaptiveAriaLabel","dark","primary","white","IconType","adaptiveIcon","style","backgroundColor","handleCTAClick","useMemo","e","stopPropagation","preventDefault","link","color","cta","classnames","progressionItem","wrapperTitle","iconType","innerHTML","__html","smallStars","iconStar","borderRadius","propTypes","PropTypes","number","isRequired","bool","string","func","contextTypes","Provider","childContextTypes"],"sources":["../../../src/template/activity/progression-item.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport {get, noop} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowRight as ArrowRightIcon,\n NovaCompositionCoorpacademyStar as StarIcon,\n NovaCompositionCoorpacademyTimer as TimerIcon,\n NovaCompositionCoorpacademyBolt as BoltIcon,\n NovaSolidSchoolScienceGraduationHat as CertificationIcon,\n NovaCompositionCoorpacademyAdaptive as AdaptiveIcon,\n NovaSolidContentContentBook1 as LearnerIcon,\n NovaCompositionCoorpacademyScorm as ScormIcon,\n NovaCompositionCoorpacademyArticle as ArticleIcon,\n NovaCompositionCoorpacademyVideo as VideoIcon,\n NovaCompositionCoorpacademyMicrophone as PodcastIcon,\n NovaCompositionCoorpacademyRevision as RevisionIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport ProgressBar from '../../molecule/progress-bar';\nimport Link from '../../atom/link';\nimport style from './progression-item.css';\n\nconst ICONS = {\n chapter: TimerIcon,\n course: LearnerIcon,\n battle: BoltIcon,\n certification: CertificationIcon,\n article: ArticleIcon,\n scorm: ScormIcon,\n video: VideoIcon,\n podcast: PodcastIcon,\n review: RevisionIcon\n};\n\nconst ProgressionItem = (props, context) => {\n const {skin} = context;\n const {\n disabled = false,\n adaptive,\n completion,\n label,\n level,\n onClick = noop,\n stars,\n maxStars,\n state,\n type,\n steps = 0,\n adaptiveAriaLabel\n } = props;\n\n const dark = get('common.dark', skin);\n const primary = get('common.primary', skin);\n const white = get('common.white', skin);\n const IconType = ICONS[type];\n\n const adaptiveIcon = adaptive ? (\n <div\n className={style.adaptiveIcon}\n style={{\n backgroundColor: primary\n }}\n >\n <AdaptiveIcon color={white} height={14} aria-label={adaptiveAriaLabel} />\n </div>\n ) : null;\n\n const handleCTAClick = useMemo(\n () => e => {\n e.stopPropagation();\n e.preventDefault();\n onClick && onClick(e);\n },\n [onClick]\n );\n\n const link = disabled ? null : (\n <Link style={{color: primary}} onClick={handleCTAClick} data-progression-state={state}>\n <span className={style.cta}>\n {state} <ArrowRightIcon color={primary} height={12} width={20} />\n </span>\n </Link>\n );\n\n return (\n <div className={classnames(style.progressionItem, disabled ? style.disabled : '')}>\n <div className={style.wrapperTitle}>\n <IconType className={style.iconType} color={dark} />\n <div data-name=\"activityLabel\" className={style.label} title={label}>\n <div\n className={style.innerHTML}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: label}}\n />\n {adaptiveIcon}\n </div>\n\n <div\n data-name=\"activityStars\"\n className={style.stars}\n style={{\n color: primary\n }}\n >\n {stars}\n {maxStars ? ' /' : null}\n {maxStars ? <span className={style.smallStars}>{maxStars}</span> : null}{' '}\n <StarIcon className={style.iconStar} color={primary} />\n </div>\n </div>\n <ProgressBar\n className={style.completion}\n value={completion * 100}\n max={100}\n steps={steps}\n style={{backgroundColor: primary, borderRadius: 0}}\n />\n <div className={style.state}>\n {link}\n <span className={style.level}>{level}</span>\n </div>\n </div>\n );\n};\n\nProgressionItem.propTypes = {\n completion: PropTypes.number.isRequired,\n stars: PropTypes.number.isRequired,\n maxStars: PropTypes.number,\n steps: PropTypes.number,\n disabled: PropTypes.bool,\n label: PropTypes.string.isRequired,\n level: PropTypes.string.isRequired,\n state: PropTypes.string.isRequired,\n adaptiveAriaLabel: PropTypes.string,\n type: PropTypes.string.isRequired,\n adaptive: PropTypes.bool.isRequired,\n onClick: PropTypes.func\n};\n\nProgressionItem.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default ProgressionItem;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AAcA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,KAAK,GAAG;EACZC,OAAO,EAAEC,2CADG;EAEZC,MAAM,EAAEC,uCAFI;EAGZC,MAAM,EAAEC,0CAHI;EAIZC,aAAa,EAAEC,8CAJH;EAKZC,OAAO,EAAEC,6CALG;EAMZC,KAAK,EAAEC,2CANK;EAOZC,KAAK,EAAEC,2CAPK;EAQZC,OAAO,EAAEC,gDARG;EASZC,MAAM,EAAEC;AATI,CAAd;;AAYA,MAAMC,eAAe,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC1C,MAAM;IAACC;EAAD,IAASD,OAAf;EACA,MAAM;IACJE,QAAQ,GAAG,KADP;IAEJC,QAFI;IAGJC,UAHI;IAIJC,KAJI;IAKJC,KALI;IAMJC,OAAO,iBANH;IAOJC,KAPI;IAQJC,QARI;IASJC,KATI;IAUJC,IAVI;IAWJC,KAAK,GAAG,CAXJ;IAYJC;EAZI,IAaFd,KAbJ;EAeA,MAAMe,IAAI,GAAG,mBAAI,aAAJ,EAAmBb,IAAnB,CAAb;EACA,MAAMc,OAAO,GAAG,mBAAI,gBAAJ,EAAsBd,IAAtB,CAAhB;EACA,MAAMe,KAAK,GAAG,mBAAI,cAAJ,EAAoBf,IAApB,CAAd;EACA,MAAMgB,QAAQ,GAAGtC,KAAK,CAACgC,IAAD,CAAtB;EAEA,MAAMO,YAAY,GAAGf,QAAQ,gBAC3B;IACE,SAAS,EAAEgB,wBAAA,CAAMD,YADnB;IAEE,KAAK,EAAE;MACLE,eAAe,EAAEL;IADZ;EAFT,gBAME,6BAAC,8CAAD;IAAc,KAAK,EAAEC,KAArB;IAA4B,MAAM,EAAE,EAApC;IAAwC,cAAYH;EAApD,EANF,CAD2B,GASzB,IATJ;EAWA,MAAMQ,cAAc,GAAG,IAAAC,cAAA,EACrB,MAAMC,CAAC,IAAI;IACTA,CAAC,CAACC,eAAF;IACAD,CAAC,CAACE,cAAF;IACAlB,OAAO,IAAIA,OAAO,CAACgB,CAAD,CAAlB;EACD,CALoB,EAMrB,CAAChB,OAAD,CANqB,CAAvB;EASA,MAAMmB,IAAI,GAAGxB,QAAQ,GAAG,IAAH,gBACnB,6BAAC,aAAD;IAAM,KAAK,EAAE;MAACyB,KAAK,EAAEZ;IAAR,CAAb;IAA+B,OAAO,EAAEM,cAAxC;IAAwD,0BAAwBX;EAAhF,gBACE;IAAM,SAAS,EAAES,wBAAA,CAAMS;EAAvB,GACGlB,KADH,oBACU,6BAAC,8CAAD;IAAgB,KAAK,EAAEK,OAAvB;IAAgC,MAAM,EAAE,EAAxC;IAA4C,KAAK,EAAE;EAAnD,EADV,CADF,CADF;EAQA,oBACE;IAAK,SAAS,EAAE,IAAAc,mBAAA,EAAWV,wBAAA,CAAMW,eAAjB,EAAkC5B,QAAQ,GAAGiB,wBAAA,CAAMjB,QAAT,GAAoB,EAA9D;EAAhB,gBACE;IAAK,SAAS,EAAEiB,wBAAA,CAAMY;EAAtB,gBACE,6BAAC,QAAD;IAAU,SAAS,EAAEZ,wBAAA,CAAMa,QAA3B;IAAqC,KAAK,EAAElB;EAA5C,EADF,eAEE;IAAK,aAAU,eAAf;IAA+B,SAAS,EAAEK,wBAAA,CAAMd,KAAhD;IAAuD,KAAK,EAAEA;EAA9D,gBACE;IACE,SAAS,EAAEc,wBAAA,CAAMc,SADnB,CAEE;IAFF;IAGE,uBAAuB,EAAE;MAACC,MAAM,EAAE7B;IAAT;EAH3B,EADF,EAMGa,YANH,CAFF,eAWE;IACE,aAAU,eADZ;IAEE,SAAS,EAAEC,wBAAA,CAAMX,KAFnB;IAGE,KAAK,EAAE;MACLmB,KAAK,EAAEZ;IADF;EAHT,GAOGP,KAPH,EAQGC,QAAQ,GAAG,IAAH,GAAU,IARrB,EASGA,QAAQ,gBAAG;IAAM,SAAS,EAAEU,wBAAA,CAAMgB;EAAvB,GAAoC1B,QAApC,CAAH,GAA0D,IATrE,EAS2E,GAT3E,eAUE,6BAAC,0CAAD;IAAU,SAAS,EAAEU,wBAAA,CAAMiB,QAA3B;IAAqC,KAAK,EAAErB;EAA5C,EAVF,CAXF,CADF,eAyBE,6BAAC,oBAAD;IACE,SAAS,EAAEI,wBAAA,CAAMf,UADnB;IAEE,KAAK,EAAEA,UAAU,GAAG,GAFtB;IAGE,GAAG,EAAE,GAHP;IAIE,KAAK,EAAEQ,KAJT;IAKE,KAAK,EAAE;MAACQ,eAAe,EAAEL,OAAlB;MAA2BsB,YAAY,EAAE;IAAzC;EALT,EAzBF,eAgCE;IAAK,SAAS,EAAElB,wBAAA,CAAMT;EAAtB,GACGgB,IADH,eAEE;IAAM,SAAS,EAAEP,wBAAA,CAAMb;EAAvB,GAA+BA,KAA/B,CAFF,CAhCF,CADF;AAuCD,CAzFD;;AA2FAR,eAAe,CAACwC,SAAhB,2CAA4B;EAC1BlC,UAAU,EAAEmC,kBAAA,CAAUC,MAAV,CAAiBC,UADH;EAE1BjC,KAAK,EAAE+B,kBAAA,CAAUC,MAAV,CAAiBC,UAFE;EAG1BhC,QAAQ,EAAE8B,kBAAA,CAAUC,MAHM;EAI1B5B,KAAK,EAAE2B,kBAAA,CAAUC,MAJS;EAK1BtC,QAAQ,EAAEqC,kBAAA,CAAUG,IALM;EAM1BrC,KAAK,EAAEkC,kBAAA,CAAUI,MAAV,CAAiBF,UANE;EAO1BnC,KAAK,EAAEiC,kBAAA,CAAUI,MAAV,CAAiBF,UAPE;EAQ1B/B,KAAK,EAAE6B,kBAAA,CAAUI,MAAV,CAAiBF,UARE;EAS1B5B,iBAAiB,EAAE0B,kBAAA,CAAUI,MATH;EAU1BhC,IAAI,EAAE4B,kBAAA,CAAUI,MAAV,CAAiBF,UAVG;EAW1BtC,QAAQ,EAAEoC,kBAAA,CAAUG,IAAV,CAAeD,UAXC;EAY1BlC,OAAO,EAAEgC,kBAAA,CAAUK;AAZO,CAA5B;AAeA9C,eAAe,CAAC+C,YAAhB,GAA+B;EAC7B5C,IAAI,EAAE6C,iBAAA,CAASC,iBAAT,CAA2B9C;AADJ,CAA/B;eAIeH,e"}
@@ -21,6 +21,8 @@
21
21
  display: flex;
22
22
  flex-direction: row;
23
23
  overflow: hidden;
24
+ margin: auto;
25
+ padding-left: 0;
24
26
  }
25
27
 
26
28
  .myStars {
@@ -40,7 +40,7 @@ const EngineTab = ({
40
40
  type
41
41
  } = engine;
42
42
  const state = engineIndex < firstItem ? 'hidden' : 'active';
43
- return /*#__PURE__*/_react.default.createElement("div", {
43
+ return /*#__PURE__*/_react.default.createElement("li", {
44
44
  className: _starsSummary.default[state],
45
45
  key: type,
46
46
  "data-name": `${type}_total_${state}`
@@ -154,7 +154,7 @@ class StarsSummary extends _react.default.Component {
154
154
  }, /*#__PURE__*/_react.default.createElement("div", {
155
155
  "data-name": "myStars-wrapper",
156
156
  className: _starsSummary.default.myStarsWrapper
157
- }, /*#__PURE__*/_react.default.createElement("div", {
157
+ }, /*#__PURE__*/_react.default.createElement("ul", {
158
158
  className: _starsSummary.default.allStars,
159
159
  "data-name": "engineList"
160
160
  }, /*#__PURE__*/_react.default.createElement(EngineTabs, {
@@ -1 +1 @@
1
- {"version":3,"file":"stars-summary.js","names":["EngineTab","engine","engineIndex","firstItem","type","state","style","hidden","active","propTypes","PropTypes","shape","EngineStars","number","EngineTabs","engines","useMemo","convert","cap","index","arrayOf","StarsSummary","React","Component","constructor","props","totalItems","length","handleOnLeft","bind","handleOnRight","scrollTo","page","setState","render","total","skin","context","dark","primary","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","contextTypes","Provider","childContextTypes","string","isRequired"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItem}) => {\n const {type} = engine;\n const state = engineIndex < firstItem ? 'hidden' : 'active';\n return (\n <div className={style[state]} key={type} data-name={`${type}_total_${state}`}>\n <EngineStars {...engine} className={engineIndex < firstItem ? style.hidden : style.active} />\n </div>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItem: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItem}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItem={firstItem}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItem]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItem: PropTypes.number\n};\n\nclass StarsSummary extends React.Component {\n static propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes))\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n\n const {engines = []} = props;\n this.state = {\n firstItem: 0,\n totalItems: engines.length\n };\n\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n }\n\n handleOnLeft() {\n const {firstItem} = this.state;\n this.scrollTo(firstItem - 1);\n }\n\n handleOnRight() {\n const {firstItem} = this.state;\n this.scrollTo(firstItem + 1);\n }\n\n scrollTo(page) {\n this.setState({\n firstItem: page\n });\n }\n\n render() {\n const {total, engines = []} = this.props;\n const {skin} = this.context;\n const {firstItem, totalItems} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n if (isEmpty(engines)) {\n return null;\n }\n const leftArrowView =\n totalItems > 6 && firstItem > 0 ? (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItem < totalItems - 6 ? (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars}>\n <div data-name=\"myStars-wrapper\" className={style.myStarsWrapper}>\n <div className={style.allStars} data-name=\"engineList\">\n <EngineTabs engines={engines} firstItem={firstItem} />\n </div>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default StarsSummary;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AAKA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,SAAS,GAAG,CAAC;EAACC,MAAD;EAASC,WAAT;EAAsBC;AAAtB,CAAD,KAAsC;EACtD,MAAM;IAACC;EAAD,IAASH,MAAf;EACA,MAAMI,KAAK,GAAGH,WAAW,GAAGC,SAAd,GAA0B,QAA1B,GAAqC,QAAnD;EACA,oBACE;IAAK,SAAS,EAAEG,qBAAA,CAAMD,KAAN,CAAhB;IAA8B,GAAG,EAAED,IAAnC;IAAyC,aAAY,GAAEA,IAAK,UAASC,KAAM;EAA3E,gBACE,6BAAC,oBAAD,eAAiBJ,MAAjB;IAAyB,SAAS,EAAEC,WAAW,GAAGC,SAAd,GAA0BG,qBAAA,CAAMC,MAAhC,GAAyCD,qBAAA,CAAME;EAAnF,GADF,CADF;AAKD,CARD;;AASAR,SAAS,CAACS,SAAV,2CAAsB;EACpBR,MAAM,EAAES,kBAAA,CAAUC,KAAV,CAAgBC,oBAAA,CAAYH,SAA5B,CADY;EAEpBP,WAAW,EAAEQ,kBAAA,CAAUG,MAFH;EAGpBV,SAAS,EAAEO,kBAAA,CAAUG;AAHD,CAAtB;;AAMA,MAAMC,UAAU,GAAG,CAAC;EAACC,OAAD;EAAUZ;AAAV,CAAD,KAA0B;EAC3C,OAAO,IAAAa,cAAA,EACL,MACE,cAAIC,OAAJ,CAAY;IAACC,GAAG,EAAE;EAAN,CAAZ,EACE,CAACjB,MAAD,EAASkB,KAAT,kBACE,6BAAC,SAAD;IACE,MAAM,EAAElB,MADV;IAEE,GAAG,EAAG,aAAYkB,KAAM,EAF1B;IAGE,SAAS,EAAEhB,SAHb;IAIE,WAAW,EAAEgB;EAJf,EAFJ,EASEJ,OATF,CAFG,EAaL,CAACA,OAAD,EAAUZ,SAAV,CAbK,CAAP;AAeD,CAhBD;;AAkBAW,UAAU,CAACL,SAAX,2CAAuB;EACrBM,OAAO,EAAEL,kBAAA,CAAUU,OAAV,CAAkBV,kBAAA,CAAUC,KAAV,CAAgBC,oBAAA,CAAYH,SAA5B,CAAlB,CADY;EAErBN,SAAS,EAAEO,kBAAA,CAAUG;AAFA,CAAvB;;AAKA,MAAMQ,YAAN,SAA2BC,cAAA,CAAMC,SAAjC,CAA2C;EAazCC,WAAW,CAACC,KAAD,EAAQ;IACjB,MAAMA,KAAN;IAEA,MAAM;MAACV,OAAO,GAAG;IAAX,IAAiBU,KAAvB;IACA,KAAKpB,KAAL,GAAa;MACXF,SAAS,EAAE,CADA;MAEXuB,UAAU,EAAEX,OAAO,CAACY;IAFT,CAAb;IAKA,KAAKC,YAAL,GAAoB,KAAKA,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB,CAApB;IACA,KAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBD,IAAnB,CAAwB,IAAxB,CAArB;IACA,KAAKE,QAAL,GAAgB,KAAKA,QAAL,CAAcF,IAAd,CAAmB,IAAnB,CAAhB;EACD;;EAEDD,YAAY,GAAG;IACb,MAAM;MAACzB;IAAD,IAAc,KAAKE,KAAzB;IACA,KAAK0B,QAAL,CAAc5B,SAAS,GAAG,CAA1B;EACD;;EAED2B,aAAa,GAAG;IACd,MAAM;MAAC3B;IAAD,IAAc,KAAKE,KAAzB;IACA,KAAK0B,QAAL,CAAc5B,SAAS,GAAG,CAA1B;EACD;;EAED4B,QAAQ,CAACC,IAAD,EAAO;IACb,KAAKC,QAAL,CAAc;MACZ9B,SAAS,EAAE6B;IADC,CAAd;EAGD;;EAEDE,MAAM,GAAG;IACP,MAAM;MAACC,KAAD;MAAQpB,OAAO,GAAG;IAAlB,IAAwB,KAAKU,KAAnC;IACA,MAAM;MAACW;IAAD,IAAS,KAAKC,OAApB;IACA,MAAM;MAAClC,SAAD;MAAYuB;IAAZ,IAA0B,KAAKrB,KAArC;IACA,MAAMiC,IAAI,GAAG,qBAAM,SAAN,EAAiB,aAAjB,EAAgCF,IAAhC,CAAb;IACA,MAAMG,OAAO,GAAG,mBAAI,gBAAJ,EAAsBH,IAAtB,CAAhB;;IAEA,IAAI,uBAAQrB,OAAR,CAAJ,EAAsB;MACpB,OAAO,IAAP;IACD;;IACD,MAAMyB,aAAa,GACjBd,UAAU,GAAG,CAAb,IAAkBvB,SAAS,GAAG,CAA9B,gBACE;MAAK,SAAS,EAAEG,qBAAA,CAAMmC,MAAtB;MAA8B,OAAO,EAAE,KAAKb,YAA5C;MAA0D,aAAU;IAApE,gBACE,6BAAC,6CAAD;MAAW,KAAK,EAAEU,IAAlB;MAAwB,SAAS,EAAEhC,qBAAA,CAAMoC,IAAzC;MAA+C,KAAK,EAAE,EAAtD;MAA0D,MAAM,EAAE;IAAlE,EADF,CADF,GAII,IALN;IAOA,MAAMC,cAAc,GAClBjB,UAAU,GAAG,CAAb,IAAkBvB,SAAS,GAAGuB,UAAU,GAAG,CAA3C,gBACE;MAAK,SAAS,EAAEpB,qBAAA,CAAMmC,MAAtB;MAA8B,OAAO,EAAE,KAAKX,aAA5C;MAA2D,aAAU;IAArE,gBACE,6BAAC,8CAAD;MAAY,KAAK,EAAEQ,IAAnB;MAAyB,SAAS,EAAEhC,qBAAA,CAAMsC,KAA1C;MAAiD,KAAK,EAAE,EAAxD;MAA4D,MAAM,EAAE;IAApE,EADF,CADF,GAII,IALN;IAOA,oBACE;MAAK,aAAU,SAAf;MAAyB,SAAS,EAAEtC,qBAAA,CAAMuC;IAA1C,gBACE;MAAK,aAAU,iBAAf;MAAiC,SAAS,EAAEvC,qBAAA,CAAMwC;IAAlD,gBACE;MAAK,SAAS,EAAExC,qBAAA,CAAMyC,QAAtB;MAAgC,aAAU;IAA1C,gBACE,6BAAC,UAAD;MAAY,OAAO,EAAEhC,OAArB;MAA8B,SAAS,EAAEZ;IAAzC,EADF,CADF,eAIE;MACE,SAAS,EAAEG,qBAAA,CAAM0C,kBADnB;MAEE,KAAK,EAAE;QACLC,eAAe,EAAEV;MADZ;IAFT,gBAME;MAAK,SAAS,EAAEjC,qBAAA,CAAM4C;IAAtB,gBACE,2CAAOf,KAAK,CAACgB,KAAb,CADF,eAEE;MAAG,aAAU;IAAb,GAA6BhB,KAAK,CAACiB,KAAnC,CAFF,eAGE;MAAK,SAAS,EAAE9C,qBAAA,CAAM+C;IAAtB,gBACE,6BAAC,0CAAD;MAAU,SAAS,EAAE/C,qBAAA,CAAMgD,UAA3B;MAAuC,KAAK,EAAEf;IAA9C,EADF,CAHF,CANF,eAaE;MAAK,SAAS,EAAEjC,qBAAA,CAAMiD;IAAtB,GAAuCf,aAAvC,CAbF,eAcE;MAAK,SAAS,EAAElC,qBAAA,CAAMkD;IAAtB,GAAwCb,cAAxC,CAdF,CAJF,CADF,CADF;EAyBD;;AA5FwC;;AAArCtB,Y,CASGoC,Y,GAAe;EACpBrB,IAAI,EAAEsB,iBAAA,CAASC,iBAAT,CAA2BvB;AADb,C;AATlBf,Y,CACGZ,S,2CAAY;EACjB0B,KAAK,EAAEzB,kBAAA,CAAUC,KAAV,CAAgB;IACrBwC,KAAK,EAAEzC,kBAAA,CAAUkD,MAAV,CAAiBC,UADH;IAErBT,KAAK,EAAE1C,kBAAA,CAAUG,MAAV,CAAiBgD;EAFH,CAAhB,EAGJA,UAJc;EAKjB9C,OAAO,EAAEL,kBAAA,CAAUU,OAAV,CAAkBV,kBAAA,CAAUC,KAAV,CAAgBC,oBAAA,CAAYH,SAA5B,CAAlB;AALQ,C;eA8FNY,Y"}
1
+ {"version":3,"file":"stars-summary.js","names":["EngineTab","engine","engineIndex","firstItem","type","state","style","hidden","active","propTypes","PropTypes","shape","EngineStars","number","EngineTabs","engines","useMemo","convert","cap","index","arrayOf","StarsSummary","React","Component","constructor","props","totalItems","length","handleOnLeft","bind","handleOnRight","scrollTo","page","setState","render","total","skin","context","dark","primary","leftArrowView","circle","left","rightArrowView","right","myStars","myStarsWrapper","allStars","footerSummaryStars","backgroundColor","totalStars","label","stars","iconBubble","iconHeader","navigationLeft","navigationRight","contextTypes","Provider","childContextTypes","string","isRequired"],"sources":["../../../src/template/activity/stars-summary.js"],"sourcesContent":["import React, {useMemo} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, getOr, isEmpty, map} from 'lodash/fp';\nimport {\n NovaCompositionNavigationArrowLeft as ArrowLeft,\n NovaCompositionNavigationArrowRight as ArrowRight,\n NovaCompositionCoorpacademyStar as StarIcon\n} from '@coorpacademy/nova-icons';\nimport Provider from '../../atom/provider';\nimport EngineStars from './engine-stars';\nimport style from './stars-summary.css';\n\nconst EngineTab = ({engine, engineIndex, firstItem}) => {\n const {type} = engine;\n const state = engineIndex < firstItem ? 'hidden' : 'active';\n return (\n <li className={style[state]} key={type} data-name={`${type}_total_${state}`}>\n <EngineStars {...engine} className={engineIndex < firstItem ? style.hidden : style.active} />\n </li>\n );\n};\nEngineTab.propTypes = {\n engine: PropTypes.shape(EngineStars.propTypes),\n engineIndex: PropTypes.number,\n firstItem: PropTypes.number\n};\n\nconst EngineTabs = ({engines, firstItem}) => {\n return useMemo(\n () =>\n map.convert({cap: false})(\n (engine, index) => (\n <EngineTab\n engine={engine}\n key={`engineTab_${index}`}\n firstItem={firstItem}\n engineIndex={index}\n />\n ),\n engines\n ),\n [engines, firstItem]\n );\n};\n\nEngineTabs.propTypes = {\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes)),\n firstItem: PropTypes.number\n};\n\nclass StarsSummary extends React.Component {\n static propTypes = {\n total: PropTypes.shape({\n label: PropTypes.string.isRequired,\n stars: PropTypes.number.isRequired\n }).isRequired,\n engines: PropTypes.arrayOf(PropTypes.shape(EngineStars.propTypes))\n };\n\n static contextTypes = {\n skin: Provider.childContextTypes.skin\n };\n\n constructor(props) {\n super(props);\n\n const {engines = []} = props;\n this.state = {\n firstItem: 0,\n totalItems: engines.length\n };\n\n this.handleOnLeft = this.handleOnLeft.bind(this);\n this.handleOnRight = this.handleOnRight.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n }\n\n handleOnLeft() {\n const {firstItem} = this.state;\n this.scrollTo(firstItem - 1);\n }\n\n handleOnRight() {\n const {firstItem} = this.state;\n this.scrollTo(firstItem + 1);\n }\n\n scrollTo(page) {\n this.setState({\n firstItem: page\n });\n }\n\n render() {\n const {total, engines = []} = this.props;\n const {skin} = this.context;\n const {firstItem, totalItems} = this.state;\n const dark = getOr('#90A4AE', 'common.dark', skin);\n const primary = get('common.primary', skin);\n\n if (isEmpty(engines)) {\n return null;\n }\n const leftArrowView =\n totalItems > 6 && firstItem > 0 ? (\n <div className={style.circle} onClick={this.handleOnLeft} data-name=\"left-arrow\">\n <ArrowLeft color={dark} className={style.left} width={10} height={10} />\n </div>\n ) : null;\n\n const rightArrowView =\n totalItems > 6 && firstItem < totalItems - 6 ? (\n <div className={style.circle} onClick={this.handleOnRight} data-name=\"right-arrow\">\n <ArrowRight color={dark} className={style.right} width={10} height={10} />\n </div>\n ) : null;\n\n return (\n <div data-name=\"myStars\" className={style.myStars}>\n <div data-name=\"myStars-wrapper\" className={style.myStarsWrapper}>\n <ul className={style.allStars} data-name=\"engineList\">\n <EngineTabs engines={engines} firstItem={firstItem} />\n </ul>\n <div\n className={style.footerSummaryStars}\n style={{\n backgroundColor: primary\n }}\n >\n <div className={style.totalStars}>\n <span>{total.label}</span>\n <p data-name=\"star-counter\">{total.stars}</p>\n <div className={style.iconBubble}>\n <StarIcon className={style.iconHeader} color={primary} />\n </div>\n </div>\n <div className={style.navigationLeft}>{leftArrowView}</div>\n <div className={style.navigationRight}>{rightArrowView}</div>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default StarsSummary;\n"],"mappings":"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"}
@@ -12,22 +12,18 @@ declare const AppReview: {
12
12
  skills: import("prop-types").Requireable<import("prop-types").InferProps<{
13
13
  text: import("prop-types").Requireable<string>;
14
14
  tooltipText: import("prop-types").Requireable<string>;
15
- moreDetailsAreaLabel: import("prop-types").Requireable<string>;
16
15
  }>>;
17
16
  questions: import("prop-types").Requireable<import("prop-types").InferProps<{
18
17
  text: import("prop-types").Requireable<string>;
19
18
  tooltipText: import("prop-types").Requireable<string>;
20
- moreDetailsAreaLabel: import("prop-types").Requireable<string>;
21
19
  }>>;
22
20
  lifes: import("prop-types").Requireable<import("prop-types").InferProps<{
23
21
  text: import("prop-types").Requireable<string>;
24
22
  tooltipText: import("prop-types").Requireable<string>;
25
- moreDetailsAreaLabel: import("prop-types").Requireable<string>;
26
23
  }>>;
27
24
  allright: import("prop-types").Requireable<import("prop-types").InferProps<{
28
25
  text: import("prop-types").Requireable<string>;
29
26
  tooltipText: import("prop-types").Requireable<string>;
30
- moreDetailsAreaLabel: import("prop-types").Requireable<string>;
31
27
  }>>;
32
28
  }>>;
33
29
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAEvD,QAAA,MAAM,SAAS;+CAA4C,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWxE,CAAC;AAIF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/app-review/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAEvD,QAAA,MAAM,SAAS;+CAA4C,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAWxE,CAAC;AAIF,eAAe,SAAS,CAAC"}