@coorpacademy/components 10.22.12 → 10.22.15-alpha.12

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 (73) hide show
  1. package/es/atom/provider/index.js +15 -0
  2. package/es/atom/provider/index.js.map +1 -1
  3. package/es/atom/provider/web-context.js +27 -0
  4. package/es/atom/provider/web-context.js.map +1 -0
  5. package/es/atom/range/handle.js +59 -59
  6. package/es/atom/range/handle.js.map +1 -1
  7. package/es/atom/range/index.js +55 -43
  8. package/es/atom/range/index.js.map +1 -1
  9. package/es/atom/select/index.js +3 -5
  10. package/es/atom/select/index.js.map +1 -1
  11. package/es/atom/text/index.native.js.map +1 -1
  12. package/es/hoc/modal/select/index.native.js.map +1 -1
  13. package/es/molecule/discipline-partners/index.js +1 -1
  14. package/es/molecule/discipline-partners/index.js.map +1 -1
  15. package/es/molecule/questions/free-text/index.js +4 -3
  16. package/es/molecule/questions/free-text/index.js.map +1 -1
  17. package/es/molecule/questions/free-text/index.native.js +3 -3
  18. package/es/molecule/questions/free-text/index.native.js.map +1 -1
  19. package/es/molecule/questions/mobile/{slide → slider}/index.native.js +17 -14
  20. package/es/molecule/questions/mobile/slider/index.native.js.map +1 -0
  21. package/es/molecule/questions/mobile/switch/index.native.js +171 -0
  22. package/es/molecule/questions/mobile/switch/index.native.js.map +1 -0
  23. package/es/molecule/questions/qcm/index.js +3 -5
  24. package/es/molecule/questions/qcm/index.js.map +1 -1
  25. package/es/molecule/questions/qcm-drag/index.js +3 -8
  26. package/es/molecule/questions/qcm-drag/index.js.map +1 -1
  27. package/es/molecule/questions/qcm-graphic/index.js +3 -5
  28. package/es/molecule/questions/qcm-graphic/index.js.map +1 -1
  29. package/es/molecule/questions/question-range/index.js +3 -5
  30. package/es/molecule/questions/question-range/index.js.map +1 -1
  31. package/es/organism/review-slide/index.js +5 -10
  32. package/es/organism/review-slide/index.js.map +1 -1
  33. package/es/template/app-review/template-context.js +3 -7
  34. package/es/template/app-review/template-context.js.map +1 -1
  35. package/es/variables/theme.native.js.map +1 -1
  36. package/lib/atom/provider/index.js +23 -1
  37. package/lib/atom/provider/index.js.map +1 -1
  38. package/lib/atom/provider/web-context.js +40 -0
  39. package/lib/atom/provider/web-context.js.map +1 -0
  40. package/lib/atom/range/handle.js +61 -57
  41. package/lib/atom/range/handle.js.map +1 -1
  42. package/lib/atom/range/index.js +55 -43
  43. package/lib/atom/range/index.js.map +1 -1
  44. package/lib/atom/select/index.js +3 -5
  45. package/lib/atom/select/index.js.map +1 -1
  46. package/lib/atom/text/index.native.js.map +1 -1
  47. package/lib/hoc/modal/select/index.native.js.map +1 -1
  48. package/lib/molecule/discipline-partners/index.js +1 -1
  49. package/lib/molecule/discipline-partners/index.js.map +1 -1
  50. package/lib/molecule/questions/free-text/index.js +4 -3
  51. package/lib/molecule/questions/free-text/index.js.map +1 -1
  52. package/lib/molecule/questions/free-text/index.native.js +3 -3
  53. package/lib/molecule/questions/free-text/index.native.js.map +1 -1
  54. package/lib/molecule/questions/mobile/{slide → slider}/index.native.js +16 -13
  55. package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -0
  56. package/lib/molecule/questions/mobile/switch/index.native.js +193 -0
  57. package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -0
  58. package/lib/molecule/questions/qcm/index.js +3 -5
  59. package/lib/molecule/questions/qcm/index.js.map +1 -1
  60. package/lib/molecule/questions/qcm-drag/index.js +7 -8
  61. package/lib/molecule/questions/qcm-drag/index.js.map +1 -1
  62. package/lib/molecule/questions/qcm-graphic/index.js +7 -5
  63. package/lib/molecule/questions/qcm-graphic/index.js.map +1 -1
  64. package/lib/molecule/questions/question-range/index.js +7 -5
  65. package/lib/molecule/questions/question-range/index.js.map +1 -1
  66. package/lib/organism/review-slide/index.js +6 -11
  67. package/lib/organism/review-slide/index.js.map +1 -1
  68. package/lib/template/app-review/template-context.js +3 -6
  69. package/lib/template/app-review/template-context.js.map +1 -1
  70. package/lib/variables/theme.native.js.map +1 -1
  71. package/package.json +2 -2
  72. package/es/molecule/questions/mobile/slide/index.native.js.map +0 -1
  73. package/lib/molecule/questions/mobile/slide/index.native.js.map +0 -1
@@ -67,12 +67,26 @@ const createStyleSheet = theme => _reactNative.StyleSheet.create({
67
67
  });
68
68
 
69
69
  const QuestionSlider = props => {
70
+ const {
71
+ step,
72
+ style,
73
+ min,
74
+ max,
75
+ unit = '',
76
+ value: storeValue = 0,
77
+ onSlidingComplete,
78
+ testID
79
+ } = props;
70
80
  const templateContext = (0, _templateContext.useTemplateContext)();
71
81
  const {
72
82
  brandTheme,
73
83
  theme
74
84
  } = templateContext;
75
85
  const [styleSheet, setStylesheet] = (0, _react.useState)(null);
86
+ const [value, setValue] = (0, _react.useState)(storeValue);
87
+ const handleSlidingComplete = (0, _react.useCallback)(() => {
88
+ onSlidingComplete(value);
89
+ }, [onSlidingComplete, value]);
76
90
  (0, _react.useEffect)(() => {
77
91
  const _stylesheet = createStyleSheet(theme);
78
92
 
@@ -83,17 +97,6 @@ const QuestionSlider = props => {
83
97
  return null;
84
98
  }
85
99
 
86
- const {
87
- step,
88
- style,
89
- min,
90
- max,
91
- unit = '',
92
- value,
93
- onSlidingComplete,
94
- testID,
95
- onChange
96
- } = props;
97
100
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
98
101
  style: [styleSheet.container, style],
99
102
  testID: testID
@@ -105,10 +108,10 @@ const QuestionSlider = props => {
105
108
  }, value), /*#__PURE__*/_react.default.createElement(_reactNativeSlider.default, {
106
109
  step: step || 1,
107
110
  value: value,
108
- onValueChange: onChange,
111
+ onValueChange: setValue,
109
112
  maximumValue: max,
110
113
  minimumValue: min,
111
- onSlidingComplete: onSlidingComplete,
114
+ onSlidingComplete: handleSlidingComplete,
112
115
  minimumTrackTintColor: brandTheme?.colors.primary,
113
116
  trackStyle: styleSheet.track,
114
117
  thumbStyle: [styleSheet.thumb, {
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"names":["createStyleSheet","theme","StyleSheet","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","track","height","borderRadius","radius","button","thumb","BOX_STYLE","width","backgroundColor","borderWidth","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","templateContext","brandTheme","styleSheet","setStylesheet","setValue","handleSlidingComplete","_stylesheet","primary","borderColor"],"mappings":"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","sourcesContent":["import React, {useState, useEffect, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, FlexAlignType} from 'react-native';\nimport Slider from '@coorpacademy/react-native-slider';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {BOX_STYLE} from '../../../../variables/shadow';\nimport {FlexDirection, JustifyContent, TextAlign, FontWeight} from '../../../../types/styles';\n\nexport type OnSlidingCompleteFunction = (value: number) => void;\n\nexport type Props = {\n min: number;\n max: number;\n value?: number;\n unit?: string;\n onSlidingComplete: OnSlidingCompleteFunction;\n style?: ViewStyle;\n step?: number;\n testID?: string;\n};\n\ntype StyleSheetType = {\n container: {\n flex: number;\n paddingHorizontal: number;\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n header: {\n fontSize: number;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n textValue: {\n fontSize: number;\n color: string;\n fontWeight: FontWeight;\n textAlign: TextAlign;\n };\n valuesContainer: {\n flexDirection: FlexDirection;\n justifyContent: JustifyContent;\n };\n leftValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n rightValue: {\n flex: number;\n alignItems: FlexAlignType | undefined;\n };\n track: {\n height: number;\n borderRadius: number;\n };\n thumb: {\n width: number;\n height: number;\n borderRadius: number;\n backgroundColor: string;\n borderWidth: number;\n };\n};\n\nconst createStyleSheet = (theme: Theme) =>\n StyleSheet.create({\n container: {\n flex: 1,\n paddingHorizontal: 20,\n flexDirection: 'column',\n justifyContent: 'center'\n },\n header: {\n fontSize: 25,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n textValue: {\n fontSize: 15,\n color: theme.colors.black,\n fontWeight: theme.fontWeight.bold,\n textAlign: 'center'\n },\n valuesContainer: {\n flexDirection: 'row',\n justifyContent: 'space-around'\n },\n leftValue: {\n flex: 1,\n alignItems: 'flex-start'\n },\n rightValue: {\n flex: 1,\n alignItems: 'flex-end'\n },\n track: {\n height: 10,\n borderRadius: theme.radius.button\n },\n thumb: {\n ...BOX_STYLE,\n width: 30,\n height: 30,\n borderRadius: 30 / 2,\n backgroundColor: 'white',\n borderWidth: 1\n }\n });\n\nconst QuestionSlider = (props: Props) => {\n const {\n step,\n style,\n min,\n max,\n unit = '',\n value: storeValue = 0,\n onSlidingComplete,\n testID\n } = props;\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [styleSheet, setStylesheet] = useState<StyleSheetType | null>(null);\n const [value, setValue] = useState<number>(storeValue);\n\n const handleSlidingComplete = useCallback(() => {\n onSlidingComplete(value);\n }, [onSlidingComplete, value]);\n\n useEffect(() => {\n const _stylesheet = createStyleSheet(theme);\n setStylesheet(_stylesheet);\n }, [theme]);\n\n if (!styleSheet) {\n return null;\n }\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={[styleSheet.header, {color: brandTheme?.colors.primary}]} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={setValue}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors.primary}\n trackStyle={styleSheet.track}\n thumbStyle={[styleSheet.thumb, {borderColor: brandTheme?.colors.primary}]}\n testID=\"slider\"\n />\n <View style={styleSheet.valuesContainer} testID=\"slider-values-container\">\n <View style={styleSheet.leftValue}>\n <Text style={styleSheet.textValue} testID=\"slider-min-value\">\n {`${min} ${unit}`}\n </Text>\n </View>\n <View style={styleSheet.rightValue}>\n <Text style={styleSheet.textValue} testID=\"slider-max-value\">\n {`${max} ${unit}`}\n </Text>\n </View>\n </View>\n </View>\n );\n};\n\nexport default QuestionSlider;\n"],"file":"index.native.js"}
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _reactNative = require("react-native");
9
+
10
+ var _index = _interopRequireDefault(require("../../../../atom/choice/index.native"));
11
+
12
+ var _index2 = _interopRequireDefault(require("../../../../atom/space/index.native"));
13
+
14
+ var _index3 = _interopRequireDefault(require("../draggable/index.native"));
15
+
16
+ var _index4 = _interopRequireDefault(require("../template/index.native"));
17
+
18
+ var _index5 = _interopRequireDefault(require("../slider/index.native"));
19
+
20
+ var _index6 = _interopRequireDefault(require("../../free-text/index.native"));
21
+
22
+ var _templateContext = require("../../../../template/app-review/template-context");
23
+
24
+ var _analytics = require("../../../../variables/analytics");
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
28
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
29
+
30
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ const styleSheet = _reactNative.StyleSheet.create({
33
+ cards: {
34
+ flexDirection: 'row',
35
+ alignItems: 'stretch'
36
+ },
37
+ card: {
38
+ flex: 1
39
+ }
40
+ });
41
+
42
+ const Switch = props => {
43
+ const templateContext = (0, _templateContext.useTemplateContext)();
44
+ const {
45
+ analytics
46
+ } = templateContext;
47
+ const {
48
+ type,
49
+ template,
50
+ isDisabled,
51
+ items,
52
+ userChoices,
53
+ min,
54
+ max,
55
+ unit,
56
+ value,
57
+ step,
58
+ onSliderChange,
59
+ onItemPress,
60
+ onItemInputChange,
61
+ onInputValueChange,
62
+ focusedSelectId,
63
+ handleFocus,
64
+ handleBlur
65
+ } = props;
66
+
67
+ const isSelected = choice => userChoices && userChoices.includes(choice.label);
68
+
69
+ const handleItemPress = item => () => {
70
+ if (onItemPress) {
71
+ onItemPress(item);
72
+ }
73
+ };
74
+
75
+ const handleItemInputChange = (0, _react.useCallback)((item, _value) => {
76
+ if (onItemInputChange) {
77
+ onItemInputChange(item, _value);
78
+ }
79
+ }, [onItemInputChange]);
80
+ const handleSlidingComplete = (0, _react.useCallback)(_value => {
81
+ analytics && analytics.logEvent(_analytics.ANALYTICS_EVENT_TYPE.SLIDE, {
82
+ id: 'slider',
83
+ questionType: 'slider'
84
+ });
85
+
86
+ if (onSliderChange) {
87
+ onSliderChange(_value);
88
+ }
89
+ }, [analytics, onSliderChange]);
90
+
91
+ switch (type) {
92
+ case 'qcm':
93
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
94
+ testID: "question-choices"
95
+ }, items.map((item, index) => /*#__PURE__*/_react.default.createElement(_reactNative.View, {
96
+ key: `question-choice-${item._id}`
97
+ }, index > 0 ? /*#__PURE__*/_react.default.createElement(_index2.default, null) : null, /*#__PURE__*/_react.default.createElement(_index.default, {
98
+ onPress: handleItemPress(item),
99
+ isDisabled: isDisabled,
100
+ isSelected: isSelected(item),
101
+ testID: `question-choice-${item._id}`,
102
+ questionType: type
103
+ }, item.label))));
104
+
105
+ case 'qcmGraphic':
106
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
107
+ testID: "question-choices"
108
+ }, items.map((item, index) => {
109
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
110
+ key: `question-choice-row-${item._id}`
111
+ }, index > 0 ? /*#__PURE__*/_react.default.createElement(_index2.default, null) : null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
112
+ style: styleSheet.cards
113
+ }, /*#__PURE__*/_react.default.createElement(_index.default, {
114
+ onPress: handleItemPress(item),
115
+ media: item.media,
116
+ isDisabled: isDisabled,
117
+ isSelected: isSelected(item),
118
+ testID: `question-choice-${item._id}`,
119
+ style: styleSheet.card,
120
+ questionType: type
121
+ }, item.label), /*#__PURE__*/_react.default.createElement(_index2.default, null)));
122
+ }));
123
+
124
+ case 'slider':
125
+ {
126
+ if (min === undefined || max === undefined) {
127
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
128
+ }
129
+
130
+ return /*#__PURE__*/_react.default.createElement(_index5.default, {
131
+ min: min,
132
+ max: max,
133
+ unit: unit,
134
+ value: value,
135
+ step: step,
136
+ onSlidingComplete: handleSlidingComplete,
137
+ testID: "question-slider"
138
+ });
139
+ }
140
+
141
+ case 'template':
142
+ if (handleBlur === undefined || handleFocus === undefined || focusedSelectId === undefined) {
143
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
144
+ }
145
+
146
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
147
+ testID: "question-choices"
148
+ }, /*#__PURE__*/_react.default.createElement(_index4.default, {
149
+ isDisabled: isDisabled,
150
+ template: template || '',
151
+ items: items,
152
+ userChoices: userChoices,
153
+ onInputChange: handleItemInputChange,
154
+ handleBlur: handleBlur,
155
+ handleFocus: handleFocus,
156
+ focusedSelectId: focusedSelectId
157
+ }));
158
+
159
+ case 'qcmDrag':
160
+ if (!onItemPress) {
161
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
162
+ }
163
+
164
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
165
+ testID: "question-draggable"
166
+ }, /*#__PURE__*/_react.default.createElement(_index3.default, {
167
+ choices: items,
168
+ userChoices: userChoices,
169
+ onPress: onItemPress
170
+ }));
171
+
172
+ case 'basic':
173
+ if (!onInputValueChange) {
174
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
175
+ }
176
+
177
+ return /*#__PURE__*/_react.default.createElement(_index6.default, {
178
+ fullWidth: true,
179
+ onChange: onInputValueChange,
180
+ testID: "question-input-text",
181
+ questionType: "basic",
182
+ isDisabled: isDisabled,
183
+ value: ""
184
+ });
185
+
186
+ default:
187
+ return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
188
+ }
189
+ };
190
+
191
+ var _default = Switch;
192
+ exports.default = _default;
193
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":["styleSheet","StyleSheet","create","cards","flexDirection","alignItems","card","flex","Switch","props","templateContext","analytics","type","template","isDisabled","items","userChoices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","focusedSelectId","handleFocus","handleBlur","isSelected","choice","includes","label","handleItemPress","item","handleItemInputChange","_value","handleSlidingComplete","logEvent","ANALYTICS_EVENT_TYPE","SLIDE","id","questionType","map","index","_id","media","undefined"],"mappings":"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","sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/index.native';\nimport Space from '../../../../atom/space/index.native';\nimport QuestionDraggable from '../draggable/index.native';\nimport QuestionTemplate from '../template/index.native';\nimport QuestionSlider from '../slider/index.native';\nimport FreeText from '../../free-text/index.native';\n\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {ANALYTICS_EVENT_TYPE} from '../../../../variables/analytics';\n\nimport {FocusedSelectId, HandleBlur, HandleFocus} from '../../../../types/app-review';\nimport type {QuestionType, Choice} from '../../../../types/progression-engine';\n\nexport interface Props {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n items: Array<Choice>;\n userChoices: Array<string>;\n onItemPress?: (item: Choice) => void;\n onSliderChange?: (value: number) => void;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onItemInputChange?: (item: Choice, value: string) => void;\n onInputValueChange?: (value: string) => void;\n focusedSelectId?: FocusedSelectId;\n handleFocus?: HandleFocus;\n handleBlur?: HandleBlur;\n}\n\nconst styleSheet = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics} = templateContext;\n\n const {\n type,\n template,\n isDisabled,\n items,\n userChoices,\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange,\n focusedSelectId,\n handleFocus,\n handleBlur\n } = props;\n\n const isSelected = (choice: Choice): boolean => userChoices && userChoices.includes(choice.label);\n\n const handleItemPress = (item: Choice) => () => {\n if (onItemPress) {\n onItemPress(item);\n }\n };\n\n const handleItemInputChange = useCallback(\n (item: Choice, _value: string) => {\n if (onItemInputChange) {\n onItemInputChange(item, _value);\n }\n },\n [onItemInputChange]\n );\n\n const handleSlidingComplete = useCallback(\n _value => {\n analytics &&\n analytics.logEvent(ANALYTICS_EVENT_TYPE.SLIDE, {\n id: 'slider',\n questionType: 'slider'\n });\n\n if (onSliderChange) {\n onSliderChange(_value);\n }\n },\n [analytics, onSliderChange]\n );\n\n switch (type) {\n case 'qcm':\n return (\n <View testID=\"question-choices\">\n {items.map((item, index) => (\n <View key={`question-choice-${item._id}`}>\n {index > 0 ? <Space /> : null}\n <QuestionChoice\n onPress={handleItemPress(item)}\n isDisabled={isDisabled}\n isSelected={isSelected(item)}\n testID={`question-choice-${item._id}`}\n questionType={type}\n >\n {item.label}\n </QuestionChoice>\n </View>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\">\n {items.map((item, index) => {\n return (\n <View key={`question-choice-row-${item._id}`}>\n {index > 0 ? <Space /> : null}\n <View style={styleSheet.cards}>\n <QuestionChoice\n onPress={handleItemPress(item)}\n media={item.media}\n isDisabled={isDisabled}\n isSelected={isSelected(item)}\n testID={`question-choice-${item._id}`}\n style={styleSheet.card}\n questionType={type}\n >\n {item.label}\n </QuestionChoice>\n <Space />\n </View>\n </View>\n );\n })}\n </View>\n );\n case 'slider': {\n if (min === undefined || max === undefined) {\n return <View />;\n }\n\n return (\n <QuestionSlider\n min={min}\n max={max}\n unit={unit}\n value={value}\n step={step}\n onSlidingComplete={handleSlidingComplete}\n testID=\"question-slider\"\n />\n );\n }\n case 'template':\n if (handleBlur === undefined || handleFocus === undefined || focusedSelectId === undefined) {\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n items={items}\n userChoices={userChoices}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n if (!onItemPress) {\n return <View />;\n }\n\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={items} userChoices={userChoices} onPress={onItemPress} />\n </View>\n );\n case 'basic':\n if (!onInputValueChange) {\n return <View />;\n }\n\n return (\n <FreeText\n fullWidth\n onChange={onInputValueChange}\n testID=\"question-input-text\"\n questionType=\"basic\"\n isDisabled={isDisabled}\n value=\"\"\n />\n );\n default:\n return <View />;\n }\n};\n\nexport default Switch;\n"],"file":"index.native.js"}
@@ -13,7 +13,7 @@ var _getOr = _interopRequireDefault(require("lodash/fp/getOr"));
13
13
 
14
14
  var _maxBy = _interopRequireDefault(require("lodash/fp/maxBy"));
15
15
 
16
- var _provider = _interopRequireDefault(require("../../../atom/provider"));
16
+ var _provider = _interopRequireWildcard(require("../../../atom/provider"));
17
17
 
18
18
  var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
19
19
 
@@ -27,16 +27,14 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
27
27
 
28
28
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
29
 
30
- const QCM = (props, context) => {
30
+ const QCM = (props, legacyContext) => {
31
31
  const {
32
32
  answers
33
33
  } = props;
34
34
  const longestAnswer = (0, _maxBy.default)(({
35
35
  title
36
36
  }) => title.length, answers);
37
- const {
38
- skin
39
- } = context;
37
+ const skin = (0, _provider.GetSkinFromContext)(legacyContext);
40
38
  const primarySkinColor = (0, _getOr.default)('#00B0FF', 'common.primary', skin);
41
39
  const answersViews = (0, _react.useMemo)(() => answers.map((answer, key) => {
42
40
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.js"],"names":["QCM","props","context","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AAC9B,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAMG,aAAa,GAAG,oBAAM,CAAC;AAACC,IAAAA;AAAD,GAAD,KAAaA,KAAK,CAACC,MAAzB,EAAiCH,OAAjC,CAAtB;AACA,QAAM;AAACI,IAAAA;AAAD,MAASL,OAAf;AACA,QAAMM,gBAAgB,GAAG,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAG,oBACnB,MACEN,OAAO,CAACO,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC3B,UAAM;AAACC,MAAAA,OAAD;AAAUR,MAAAA,KAAV;AAAiBS,MAAAA,QAAjB;AAA2B,oBAAcC;AAAzC,QAAsDJ,MAA5D;AACA,UAAMK,eAAe,GAAGZ,aAAa,CAACC,KAAd,KAAwBA,KAAxB,GAAgCY,eAAMb,aAAtC,GAAsDa,eAAMN,MAApF;AACA,UAAMO,mBAAmB,GAAGJ,QAAQ,GAAGG,eAAME,cAAT,GAA0BF,eAAMG,gBAApE;AAEA,wBACE;AACE,mBAAU,QADZ;AAEE,oBAAYL,SAAS,IAAIV,KAF3B;AAGE,MAAA,SAAS,EAAE,yBAAWW,eAAX,EAA4BC,eAAMI,SAAlC,EAA6CH,mBAA7C,CAHb;AAIE,MAAA,OAAO,EAAEL,OAJX;AAKE,MAAA,KAAK,eACCC,QAAQ,IAAI;AACdQ,QAAAA,SAAS,EAAG,cAAa,gEAA6Bd,gBAA7B,CAA+C;AAD1D,OADb,CALP;AAUE,uBAAeM,QAVjB;AAWE,MAAA,GAAG,EAAEF;AAXP,oBAaE;AACE,mBAAU,mBADZ;AAEE,MAAA,KAAK,EAAE;AAACW,QAAAA,eAAe,EAAET,QAAQ,GAAGN,gBAAH,GAAsB;AAAU;;AAA1D,OAFT;AAGE,MAAA,SAAS,EAAES,eAAMO;AAHnB,MAbF,eAkBE;AACE,mBAAU,cADZ;AAEE,MAAA,SAAS,EAAEP,eAAMQ,UAFnB,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAErB;AAAT;AAJ3B,MAlBF,CADF;AA2BD,GAhCD,CAFiB,EAmCnB,CAACF,OAAD,EAAUC,aAAV,EAAyBI,gBAAzB,CAnCmB,CAArB;AAsCA,sBACE;AAAK,iBAAU,KAAf;AAAqB,IAAA,SAAS,EAAES,eAAMU;AAAtC,KACGlB,YADH,CADF;AAKD,CAjDD;;AAmDAT,GAAG,CAAC4B,YAAJ,GAAmB;AACjBrB,EAAAA,IAAI,EAAEsB,kBAASC,iBAAT,CAA2BvB;AADhB,CAAnB;AAIAP,GAAG,CAAC+B,SAAJ,2CAAgB;AACd5B,EAAAA,OAAO,EAAE6B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACd7B,IAAAA,KAAK,EAAE2B,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdvB,IAAAA,OAAO,EAAEmB,mBAAUK,IAHL;AAId,kBAAcL,mBAAUG;AAJV,GAAhB,CADO;AADK,CAAhB;eAWenC,G","sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, context) => {\n const {answers} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n )\n};\n\nexport default QCM;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm/index.js"],"names":["QCM","props","legacyContext","answers","longestAnswer","title","length","skin","primarySkinColor","answersViews","map","answer","key","onClick","selected","ariaLabel","longAnswerClass","style","selectedAnswerClass","selectedAnswer","unselectedAnswer","innerHTML","boxShadow","backgroundColor","background","answerText","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,GAAG,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;AACpC,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAMG,aAAa,GAAG,oBAAM,CAAC;AAACC,IAAAA;AAAD,GAAD,KAAaA,KAAK,CAACC,MAAzB,EAAiCH,OAAjC,CAAtB;AACA,QAAMI,IAAI,GAAG,kCAAmBL,aAAnB,CAAb;AACA,QAAMM,gBAAgB,GAAG,oBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAG,oBACnB,MACEN,OAAO,CAACO,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAC3B,UAAM;AAACC,MAAAA,OAAD;AAAUR,MAAAA,KAAV;AAAiBS,MAAAA,QAAjB;AAA2B,oBAAcC;AAAzC,QAAsDJ,MAA5D;AACA,UAAMK,eAAe,GAAGZ,aAAa,CAACC,KAAd,KAAwBA,KAAxB,GAAgCY,eAAMb,aAAtC,GAAsDa,eAAMN,MAApF;AACA,UAAMO,mBAAmB,GAAGJ,QAAQ,GAAGG,eAAME,cAAT,GAA0BF,eAAMG,gBAApE;AAEA,wBACE;AACE,mBAAU,QADZ;AAEE,oBAAYL,SAAS,IAAIV,KAF3B;AAGE,MAAA,SAAS,EAAE,yBAAWW,eAAX,EAA4BC,eAAMI,SAAlC,EAA6CH,mBAA7C,CAHb;AAIE,MAAA,OAAO,EAAEL,OAJX;AAKE,MAAA,KAAK,eACCC,QAAQ,IAAI;AACdQ,QAAAA,SAAS,EAAG,cAAa,gEAA6Bd,gBAA7B,CAA+C;AAD1D,OADb,CALP;AAUE,uBAAeM,QAVjB;AAWE,MAAA,GAAG,EAAEF;AAXP,oBAaE;AACE,mBAAU,mBADZ;AAEE,MAAA,KAAK,EAAE;AAACW,QAAAA,eAAe,EAAET,QAAQ,GAAGN,gBAAH,GAAsB;AAAU;;AAA1D,OAFT;AAGE,MAAA,SAAS,EAAES,eAAMO;AAHnB,MAbF,eAkBE;AACE,mBAAU,cADZ;AAEE,MAAA,SAAS,EAAEP,eAAMQ,UAFnB,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAErB;AAAT;AAJ3B,MAlBF,CADF;AA2BD,GAhCD,CAFiB,EAmCnB,CAACF,OAAD,EAAUC,aAAV,EAAyBI,gBAAzB,CAnCmB,CAArB;AAsCA,sBACE;AAAK,iBAAU,KAAf;AAAqB,IAAA,SAAS,EAAES,eAAMU;AAAtC,KACGlB,YADH,CADF;AAKD,CAjDD;;AAmDAT,GAAG,CAAC4B,YAAJ,GAAmB;AACjBrB,EAAAA,IAAI,EAAEsB,kBAASC,iBAAT,CAA2BvB;AADhB,CAAnB;AAIAP,GAAG,CAAC+B,SAAJ,2CAAgB;AACd5B,EAAAA,OAAO,EAAE6B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACd7B,IAAAA,KAAK,EAAE2B,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdvB,IAAAA,OAAO,EAAEmB,mBAAUK,IAHL;AAId,kBAAcL,mBAAUG;AAJV,GAAhB,CADO;AADK,CAAhB;eAWenC,G","sourcesContent":["import React, {useMemo} from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport getOr from 'lodash/fp/getOr';\nimport maxBy from 'lodash/fp/maxBy';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCM = (props, legacyContext) => {\n const {answers} = props;\n const longestAnswer = maxBy(({title}) => title.length, answers);\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = useMemo(\n () =>\n answers.map((answer, key) => {\n const {onClick, title, selected, 'aria-label': ariaLabel} = answer;\n const longAnswerClass = longestAnswer.title === title ? style.longestAnswer : style.answer;\n const selectedAnswerClass = selected ? style.selectedAnswer : style.unselectedAnswer;\n\n return (\n <div\n data-name=\"answer\"\n aria-label={ariaLabel || title}\n className={classnames(longAnswerClass, style.innerHTML, selectedAnswerClass)}\n onClick={onClick}\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n data-selected={selected}\n key={key}\n >\n <div\n data-name=\"answer-background\"\n style={{backgroundColor: selected ? primarySkinColor : '#F4F4F5' /* cm_grey_75 */}}\n className={style.background}\n />\n <span\n data-name=\"answer-label\"\n className={style.answerText}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n );\n }),\n [answers, longestAnswer, primarySkinColor]\n );\n\n return (\n <div data-name=\"qcm\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCM.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCM.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n 'aria-label': PropTypes.string\n })\n )\n};\n\nexport default QCM;\n"],"file":"index.js"}
@@ -17,12 +17,16 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
17
17
 
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
- var _provider = _interopRequireDefault(require("../../../atom/provider"));
20
+ var _provider = _interopRequireWildcard(require("../../../atom/provider"));
21
21
 
22
22
  var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
23
23
 
24
24
  var _style = _interopRequireDefault(require("./style.css"));
25
25
 
26
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
27
+
28
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
+
26
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
31
 
28
32
  const AnswersPropTypes = process.env.NODE_ENV !== "production" ? _propTypes.default.arrayOf(_propTypes.default.shape({
@@ -39,9 +43,6 @@ const EmptyView = ({
39
43
  className: _style.default.emptySpan
40
44
  }, help);
41
45
 
42
- EmptyView.contextTypes = {
43
- translate: _provider.default.childContextTypes.translate
44
- };
45
46
  EmptyView.propTypes = process.env.NODE_ENV !== "production" ? {
46
47
  help: _propTypes.default.string
47
48
  } : {};
@@ -136,10 +137,8 @@ SelectedAnswerSections.propTypes = process.env.NODE_ENV !== "production" ? {
136
137
  const QcmDrag = ({
137
138
  answers,
138
139
  help
139
- }, context) => {
140
- const {
141
- skin
142
- } = context;
140
+ }, legacyContext) => {
141
+ const skin = (0, _provider.GetSkinFromContext)(legacyContext);
143
142
  const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
144
143
  return /*#__PURE__*/_react.default.createElement("div", {
145
144
  className: _style.default.wrapper
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","contextTypes","translate","Provider","childContextTypes","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","unselected","innerHTML","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","context","skin","primarySkinColor","wrapper"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;AAEA,MAAMA,gBAAN,2CAAyBC,mBAAUC,OAAV,CACvBD,mBAAUE,KAAV,CAAgB;AACdC,EAAAA,OAAO,EAAEH,mBAAUI,IADL;AAEdC,EAAAA,KAAK,EAAEL,mBAAUM,MAFH;AAGdC,EAAAA,QAAQ,EAAEP,mBAAUQ,IAHN;AAIdC,EAAAA,KAAK,EAAET,mBAAUU,MAJH;AAKdC,EAAAA,IAAI,EAAEX,mBAAUU;AALF,CAAhB,CADuB,CAAzB;;AAUA,MAAME,SAAS,GAAG,CAAC;AAACD,EAAAA;AAAD,CAAD,kBAAY;AAAM,EAAA,SAAS,EAAEE,eAAMC;AAAvB,GAAmCH,IAAnC,CAA9B;;AAEAC,SAAS,CAACG,YAAV,GAAyB;AACvBC,EAAAA,SAAS,EAAEC,kBAASC,iBAAT,CAA2BF;AADf,CAAzB;AAIAJ,SAAS,CAACO,SAAV,2CAAsB;AACpBR,EAAAA,IAAI,EAAEX,mBAAUU;AADI,CAAtB;;AAIA,MAAMU,OAAO,GAAG,CAAC;AAACC,EAAAA;AAAD,CAAD,KAAe;AAC7B,QAAMC,YAAY,GAAGD,OAAO,CAACE,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACtB,MAAAA,OAAD;AAAUM,MAAAA,KAAV;AAAiBF,MAAAA;AAAjB,QAA6BiB,MAAnC;AACA,wBACE;AACE,MAAA,SAAS,EAAE,yBAAWjB,QAAQ,GAAGM,eAAMa,eAAT,GAA2Bb,eAAMc,UAApD,EAAgEd,eAAMe,SAAtE,CADb;AAEE,mBAAU,QAFZ;AAGE,MAAA,OAAO,EAAEzB,OAHX;AAIE,MAAA,GAAG,EAAEsB,GAJP,CAKE;AALF;AAME,MAAA,uBAAuB,EAAE;AAACI,QAAAA,MAAM,EAAEpB;AAAT;AAN3B,MADF;AAUD,GAZoB,CAArB;AAcA,sBAAO;AAAK,IAAA,SAAS,EAAEI,eAAMiB;AAAtB,KAAgCR,YAAhC,CAAP;AACD,CAhBD;;AAkBAF,OAAO,CAACD,SAAR,2CAAoB;AAClBE,EAAAA,OAAO,EAAEtB;AADS,CAApB;;AAIA,MAAMgC,sBAAsB,GAAG,CAAC;AAACV,EAAAA,OAAD;AAAUV,EAAAA,IAAV;AAAgBqB,EAAAA;AAAhB,CAAD,KAAsC;AACnE,QAAMC,eAAe,GAAG,oBAAK,sBAAO,UAAP,CAAL,EAAyB,uBAAQ,OAAR,EAAiB,KAAjB,CAAzB,EAAkDZ,OAAlD,CAAxB;AACA,QAAMa,oBAAoB,GAAGD,eAAe,CAACV,GAAhB,CAAoB,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChE,UAAM;AAACtB,MAAAA,OAAD;AAAUM,MAAAA;AAAV,QAAmBe,MAAzB;AACA,wBACE;AACE,uBAAc,MADhB;AAEE,MAAA,OAAO,EAAErB,OAFX;AAGE,MAAA,GAAG,EAAEsB,GAHP;AAIE,mBAAU,gBAJZ;AAKE,MAAA,SAAS,EAAEZ,eAAMN,QALnB;AAME,MAAA,KAAK,EAAE;AACL4B,QAAAA,SAAS,EAAG,gBAAe,gEAA6BH,eAA7B,CAA8C;AADpE;AANT,oBAUE;AACE,mBAAU,kBADZ;AAEE,MAAA,KAAK,EAAE;AACLA,QAAAA;AADK,OAFT;AAKE,MAAA,SAAS,EAAEnB,eAAMuB;AALnB,MAVF,eAiBE;AAAK,MAAA,SAAS,EAAEvB,eAAMwB;AAAtB,oBACE;AACE,mBAAU,eADZ;AAEE,MAAA,SAAS,EAAE,yBAAWxB,eAAMyB,kBAAjB,EAAqCzB,eAAMe,SAA3C,CAFb;AAGE,MAAA,KAAK,EAAEnB,KAHT,CAIE;AAJF;AAKE,MAAA,uBAAuB,EAAE;AAACoB,QAAAA,MAAM,EAAEpB;AAAT;AAL3B,MADF,CAjBF,CADF;AA6BD,GA/B4B,CAA7B;;AAiCA,MAAIyB,oBAAoB,CAACK,MAArB,GAA8B,CAAlC,EAAqC;AACnC,wBAAO;AAAK,MAAA,SAAS,EAAE1B,eAAMoB;AAAtB,OAAwCC,oBAAxC,CAAP;AACD,GAFD,MAEO;AACL,wBACE;AAAK,MAAA,SAAS,EAAErB,eAAM2B;AAAtB,oBACE,6BAAC,SAAD;AAAW,MAAA,IAAI,EAAE7B;AAAjB,MADF,CADF;AAKD;AACF,CA5CD;;AA8CAoB,sBAAsB,CAACZ,SAAvB,2CAAmC;AACjCE,EAAAA,OAAO,EAAEtB,gBADwB;AAEjCY,EAAAA,IAAI,EAAEC,SAAS,CAACO,SAAV,CAAoBR,IAFO;AAGjCqB,EAAAA,eAAe,EAAEhC,mBAAUU;AAHM,CAAnC;;AAMA,MAAM+B,OAAO,GAAG,CAAC;AAACpB,EAAAA,OAAD;AAAUV,EAAAA;AAAV,CAAD,EAAkB+B,OAAlB,KAA8B;AAC5C,QAAM;AAACC,IAAAA;AAAD,MAASD,OAAf;AACA,QAAME,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,sBACE;AAAK,IAAA,SAAS,EAAE9B,eAAMgC;AAAtB,kBACE,6BAAC,sBAAD;AAAwB,IAAA,OAAO,EAAExB,OAAjC;AAA0C,IAAA,IAAI,EAAEV,IAAhD;AAAsD,IAAA,eAAe,EAAEiC;AAAvE,IADF,eAEE;AAAK,iBAAU,kBAAf;AAAkC,IAAA,SAAS,EAAE/B,eAAMQ;AAAnD,kBACE,6BAAC,OAAD;AAAS,IAAA,OAAO,EAAEA;AAAlB,IADF,CAFF,CADF;AAQD,CAZD;;AAcAoB,OAAO,CAACtB,SAAR,2CAAoB;AAClBE,EAAAA,OAAO,EAAEtB,gBADS;AAElBY,EAAAA,IAAI,EAAEoB,sBAAsB,CAACZ,SAAvB,CAAiCR;AAFrB,CAApB;AAKA8B,OAAO,CAAC1B,YAAR,GAAuB;AACrB4B,EAAAA,IAAI,EAAE1B,kBAASC,iBAAT,CAA2ByB;AADZ,CAAvB;eAIeF,O","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help}, context) => {\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm-drag/index.js"],"names":["AnswersPropTypes","PropTypes","arrayOf","shape","onClick","func","order","number","selected","bool","title","string","help","EmptyView","style","emptySpan","propTypes","Choices","answers","answersViews","map","answer","key","invisibleAnswer","unselected","innerHTML","__html","choices","SelectedAnswerSections","backgroundColor","selectedAnswers","selectedAnswersViews","boxShadow","background","content","selectedAnswerText","length","emptyAnswers","QcmDrag","legacyContext","skin","primarySkinColor","wrapper","contextTypes","Provider","childContextTypes"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {pipe, filter, orderBy, getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst AnswersPropTypes = PropTypes.arrayOf(\n PropTypes.shape({\n onClick: PropTypes.func,\n order: PropTypes.number,\n selected: PropTypes.bool,\n title: PropTypes.string,\n help: PropTypes.string\n })\n);\n\nconst EmptyView = ({help}) => <span className={style.emptySpan}>{help}</span>;\n\nEmptyView.propTypes = {\n help: PropTypes.string\n};\n\nconst Choices = ({answers}) => {\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected} = answer;\n return (\n <div\n className={classnames(selected ? style.invisibleAnswer : style.unselected, style.innerHTML)}\n data-name=\"answer\"\n onClick={onClick}\n key={key}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n );\n });\n\n return <div className={style.choices}>{answersViews}</div>;\n};\n\nChoices.propTypes = {\n answers: AnswersPropTypes\n};\n\nconst SelectedAnswerSections = ({answers, help, backgroundColor}) => {\n const selectedAnswers = pipe(filter('selected'), orderBy('order', 'asc'))(answers);\n const selectedAnswersViews = selectedAnswers.map((answer, key) => {\n const {onClick, title} = answer;\n return (\n <div\n data-selected=\"true\"\n onClick={onClick}\n key={key}\n data-name=\"selectedAnswer\"\n className={style.selected}\n style={{\n boxShadow: `0px 4px 16px ${getShadowBoxColorFromPrimary(backgroundColor)}`\n }}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor\n }}\n className={style.background}\n />\n <div className={style.content}>\n <span\n data-name=\"answerContent\"\n className={classnames(style.selectedAnswerText, style.innerHTML)}\n title={title}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n );\n });\n\n if (selectedAnswersViews.length > 0) {\n return <div className={style.selectedAnswers}>{selectedAnswersViews}</div>;\n } else {\n return (\n <div className={style.emptyAnswers}>\n <EmptyView help={help} />\n </div>\n );\n }\n};\n\nSelectedAnswerSections.propTypes = {\n answers: AnswersPropTypes,\n help: EmptyView.propTypes.help,\n backgroundColor: PropTypes.string\n};\n\nconst QcmDrag = ({answers, help}, legacyContext) => {\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n return (\n <div className={style.wrapper}>\n <SelectedAnswerSections answers={answers} help={help} backgroundColor={primarySkinColor} />\n <div data-name=\"qcm-drag-answers\" className={style.answers}>\n <Choices answers={answers} />\n </div>\n </div>\n );\n};\n\nQcmDrag.propTypes = {\n answers: AnswersPropTypes,\n help: SelectedAnswerSections.propTypes.help\n};\n\nQcmDrag.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nexport default QcmDrag;\n"],"file":"index.js"}
@@ -11,23 +11,25 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
- var _provider = _interopRequireDefault(require("../../../atom/provider"));
14
+ var _provider = _interopRequireWildcard(require("../../../atom/provider"));
15
15
 
16
16
  var _getShadowBoxColorFromPrimary = require("../../../util/get-shadow-box-color-from-primary");
17
17
 
18
18
  var _style = _interopRequireDefault(require("./style.css"));
19
19
 
20
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
+
22
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
25
 
22
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
27
 
24
- const QCMImage = (props, context) => {
28
+ const QCMImage = (props, legacyContext) => {
25
29
  const {
26
30
  answers
27
31
  } = props;
28
- const {
29
- skin
30
- } = context;
32
+ const skin = (0, _provider.GetSkinFromContext)(legacyContext);
31
33
  const primarySkinColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
32
34
  const answersViews = answers.map((answer, key) => {
33
35
  const {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":["QCMImage","props","context","answers","skin","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACnC,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAM;AAACG,IAAAA;AAAD,MAASF,OAAf;AACA,QAAMG,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACC,MAAAA,OAAD;AAAUC,MAAAA,KAAV;AAAiBC,MAAAA,QAAjB;AAA2BC,MAAAA,KAA3B;AAAkCC,MAAAA;AAAlC,QAA+CN,MAArD;AAEA,wBACE;AACE,MAAA,OAAO,EAAEE,OADX;AAEE,uBAAeE,QAFjB;AAGE,mBAAU,eAHZ;AAIE,MAAA,KAAK,eACCA,QAAQ,IAAI;AACdG,QAAAA,SAAS,EAAG,cAAa,gEAA6BV,gBAA7B,CAA+C;AAD1D,OADb,CAJP;AASE,MAAA,SAAS,EAAEO,QAAQ,GAAGI,eAAMJ,QAAT,GAAoBI,eAAMR,MAT/C;AAUE,MAAA,GAAG,EAAEC;AAVP,oBAYE;AACE,mBAAU,kBADZ;AAEE,MAAA,KAAK,EAAE;AACLQ,QAAAA,eAAe,EAAEL,QAAQ,GAAGP,gBAAH,GAAsB;AAD1C,OAFT;AAKE,MAAA,SAAS,EAAEW,eAAME;AALnB,MAZF,eAmBE;AAAK,mBAAU,eAAf;AAA+B,MAAA,SAAS,EAAEF,eAAMG;AAAhD,oBACE;AACE,MAAA,SAAS,EAAEH,eAAMI,YADnB;AAEE,mBAAU,aAFZ;AAGE,oBAAYN,SAAS,IAAIH,KAH3B;AAIE,MAAA,KAAK,EAAE;AACLU,QAAAA,eAAe,EAAG,OAAMR,KAAM;AADzB;AAJT,MADF,eASE;AAAK,mBAAU,YAAf;AAA4B,MAAA,SAAS,EAAEG,eAAMM;AAA7C,oBACE;AACE,MAAA,KAAK,EAAEX,KADT;AAEE,MAAA,SAAS,EAAE,yBAAWK,eAAML,KAAjB,EAAwBK,eAAMO,SAA9B,CAFb,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEb;AAAT;AAJ3B,MADF,CATF,CAnBF,CADF;AAwCD,GA3CoB,CAArB;AA6CA,sBACE;AAAK,iBAAU,qBAAf;AAAqC,IAAA,SAAS,EAAEK,eAAMS;AAAtD,KACGnB,YADH,CADF;AAKD,CAvDD;;AAyDAN,QAAQ,CAAC0B,YAAT,GAAwB;AACtBtB,EAAAA,IAAI,EAAEuB,kBAASC,iBAAT,CAA2BxB;AADX,CAAxB;AAIAJ,QAAQ,CAAC6B,SAAT,2CAAqB;AACnB1B,EAAAA,OAAO,EAAE2B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACdrB,IAAAA,KAAK,EAAEmB,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdxB,IAAAA,OAAO,EAAEoB,mBAAUK,IAHL;AAIdtB,IAAAA,KAAK,EAAEiB,mBAAUG,MAJH;AAKdnB,IAAAA,SAAS,EAAEgB,mBAAUG;AALP,GAAhB,CADO;AADU,CAArB;eAYejC,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, context) => {\n const {answers} = props;\n const {skin} = context;\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div data-name=\"qcm-graphic-wrapper\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n};\n\nexport default QCMImage;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/qcm-graphic/index.js"],"names":["QCMImage","props","legacyContext","answers","skin","primarySkinColor","answersViews","map","answer","key","onClick","title","selected","image","ariaLabel","boxShadow","style","backgroundColor","background","content","imageWrapper","backgroundImage","titleWrapper","innerHTML","__html","wrapper","contextTypes","Provider","childContextTypes","propTypes","PropTypes","arrayOf","shape","string","bool","func"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,MAAMA,QAAQ,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;AACzC,QAAM;AAACC,IAAAA;AAAD,MAAYF,KAAlB;AACA,QAAMG,IAAI,GAAG,kCAAmBF,aAAnB,CAAb;AACA,QAAMG,gBAAgB,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAAzB;AAEA,QAAME,YAAY,GAAGH,OAAO,CAACI,GAAR,CAAY,CAACC,MAAD,EAASC,GAAT,KAAiB;AAChD,UAAM;AAACC,MAAAA,OAAD;AAAUC,MAAAA,KAAV;AAAiBC,MAAAA,QAAjB;AAA2BC,MAAAA,KAA3B;AAAkCC,MAAAA;AAAlC,QAA+CN,MAArD;AAEA,wBACE;AACE,MAAA,OAAO,EAAEE,OADX;AAEE,uBAAeE,QAFjB;AAGE,mBAAU,eAHZ;AAIE,MAAA,KAAK,eACCA,QAAQ,IAAI;AACdG,QAAAA,SAAS,EAAG,cAAa,gEAA6BV,gBAA7B,CAA+C;AAD1D,OADb,CAJP;AASE,MAAA,SAAS,EAAEO,QAAQ,GAAGI,eAAMJ,QAAT,GAAoBI,eAAMR,MAT/C;AAUE,MAAA,GAAG,EAAEC;AAVP,oBAYE;AACE,mBAAU,kBADZ;AAEE,MAAA,KAAK,EAAE;AACLQ,QAAAA,eAAe,EAAEL,QAAQ,GAAGP,gBAAH,GAAsB;AAD1C,OAFT;AAKE,MAAA,SAAS,EAAEW,eAAME;AALnB,MAZF,eAmBE;AAAK,mBAAU,eAAf;AAA+B,MAAA,SAAS,EAAEF,eAAMG;AAAhD,oBACE;AACE,MAAA,SAAS,EAAEH,eAAMI,YADnB;AAEE,mBAAU,aAFZ;AAGE,oBAAYN,SAAS,IAAIH,KAH3B;AAIE,MAAA,KAAK,EAAE;AACLU,QAAAA,eAAe,EAAG,OAAMR,KAAM;AADzB;AAJT,MADF,eASE;AAAK,mBAAU,YAAf;AAA4B,MAAA,SAAS,EAAEG,eAAMM;AAA7C,oBACE;AACE,MAAA,KAAK,EAAEX,KADT;AAEE,MAAA,SAAS,EAAE,yBAAWK,eAAML,KAAjB,EAAwBK,eAAMO,SAA9B,CAFb,CAGE;AAHF;AAIE,MAAA,uBAAuB,EAAE;AAACC,QAAAA,MAAM,EAAEb;AAAT;AAJ3B,MADF,CATF,CAnBF,CADF;AAwCD,GA3CoB,CAArB;AA6CA,sBACE;AAAK,iBAAU,qBAAf;AAAqC,IAAA,SAAS,EAAEK,eAAMS;AAAtD,KACGnB,YADH,CADF;AAKD,CAvDD;;AAyDAN,QAAQ,CAAC0B,YAAT,GAAwB;AACtBtB,EAAAA,IAAI,EAAEuB,kBAASC,iBAAT,CAA2BxB;AADX,CAAxB;AAIAJ,QAAQ,CAAC6B,SAAT,2CAAqB;AACnB1B,EAAAA,OAAO,EAAE2B,mBAAUC,OAAV,CACPD,mBAAUE,KAAV,CAAgB;AACdrB,IAAAA,KAAK,EAAEmB,mBAAUG,MADH;AAEdrB,IAAAA,QAAQ,EAAEkB,mBAAUI,IAFN;AAGdxB,IAAAA,OAAO,EAAEoB,mBAAUK,IAHL;AAIdtB,IAAAA,KAAK,EAAEiB,mBAAUG,MAJH;AAKdnB,IAAAA,SAAS,EAAEgB,mBAAUG;AALP,GAAhB,CADO;AADU,CAArB;eAYejC,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {getOr} from 'lodash/fp';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport {getShadowBoxColorFromPrimary} from '../../../util/get-shadow-box-color-from-primary';\nimport style from './style.css';\n\nconst QCMImage = (props, legacyContext) => {\n const {answers} = props;\n const skin = GetSkinFromContext(legacyContext);\n const primarySkinColor = getOr('#00B0FF', 'common.primary', skin);\n\n const answersViews = answers.map((answer, key) => {\n const {onClick, title, selected, image, ariaLabel} = answer;\n\n return (\n <div\n onClick={onClick}\n data-selected={selected}\n data-name=\"answerGraphic\"\n style={{\n ...(selected && {\n boxShadow: `0 4px 16px ${getShadowBoxColorFromPrimary(primarySkinColor)}`\n })\n }}\n className={selected ? style.selected : style.answer}\n key={key}\n >\n <div\n data-name=\"answerBackground\"\n style={{\n backgroundColor: selected ? primarySkinColor : '#F4F4F5'\n }}\n className={style.background}\n />\n <div data-name=\"answerContent\" className={style.content}>\n <div\n className={style.imageWrapper}\n data-name=\"answerImage\"\n aria-label={ariaLabel || title}\n style={{\n backgroundImage: `url(${image})`\n }}\n />\n <div data-name=\"answerText\" className={style.titleWrapper}>\n <div\n title={title}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n </div>\n </div>\n </div>\n );\n });\n\n return (\n <div data-name=\"qcm-graphic-wrapper\" className={style.wrapper}>\n {answersViews}\n </div>\n );\n};\n\nQCMImage.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQCMImage.propTypes = {\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n selected: PropTypes.bool,\n onClick: PropTypes.func,\n image: PropTypes.string,\n ariaLabel: PropTypes.string\n })\n )\n};\n\nexport default QCMImage;\n"],"file":"index.js"}
@@ -11,19 +11,23 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
- var _provider = _interopRequireDefault(require("../../../atom/provider"));
14
+ var _provider = _interopRequireWildcard(require("../../../atom/provider"));
15
15
 
16
16
  var _range = _interopRequireDefault(require("../../../atom/range"));
17
17
 
18
18
  var _style = _interopRequireDefault(require("./style.css"));
19
19
 
20
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
21
+
22
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
20
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
25
 
22
26
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
27
 
24
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; }
25
29
 
26
- const QuestionRange = (props, context) => {
30
+ const QuestionRange = (props, legacyContext) => {
27
31
  const {
28
32
  title,
29
33
  minLabel,
@@ -31,9 +35,7 @@ const QuestionRange = (props, context) => {
31
35
  } = props,
32
36
  rangeProps = _objectWithoutPropertiesLoose(props, ["title", "minLabel", "maxLabel"]);
33
37
 
34
- const {
35
- skin
36
- } = context;
38
+ const skin = (0, _provider.GetSkinFromContext)(legacyContext);
37
39
  const defaultColor = (0, _getOr2.default)('#00B0FF', 'common.primary', skin);
38
40
  const titleStyle = {
39
41
  color: defaultColor
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecule/questions/question-range/index.js"],"names":["QuestionRange","props","context","title","minLabel","maxLabel","rangeProps","skin","defaultColor","titleStyle","color","style","wrapper","innerHTML","__html","labelWrapper","label","contextTypes","Provider","childContextTypes","propTypes","Range","PropTypes","string"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;AACxC,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,MAA6CJ,KAAnD;AAAA,QAAqCK,UAArC,iCAAmDL,KAAnD;;AAEA,QAAM;AAACM,IAAAA;AAAD,MAASL,OAAf;AACA,QAAMM,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAArB;AAEA,QAAME,UAAU,GAAG;AACjBC,IAAAA,KAAK,EAAEF;AADU,GAAnB;AAIA,sBACE;AAAK,IAAA,SAAS,EAAEG,eAAMC;AAAtB,kBACE;AACE,IAAA,KAAK,EAAEH,UADT;AAEE,IAAA,SAAS,EAAE,yBAAWE,eAAMR,KAAjB,EAAwBQ,eAAME,SAA9B,CAFb,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEX;AAAT;AAJ3B,IADF,eAOE,6BAAC,cAAD,EAAWG,UAAX,CAPF,eAQE;AAAK,IAAA,SAAS,EAAEK,eAAMI;AAAtB,kBACE;AACE,IAAA,SAAS,EAAE,yBAAWJ,eAAMK,KAAjB,EAAwBL,eAAME,SAA9B,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEV;AAAT;AAH3B,IADF,eAME;AACE,IAAA,SAAS,EAAE,yBAAWO,eAAMK,KAAjB,EAAwBL,eAAME,SAA9B,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAET;AAAT;AAH3B,IANF,CARF,CADF;AAuBD,CAjCD;;AAmCAL,aAAa,CAACiB,YAAd,GAA6B;AAC3BV,EAAAA,IAAI,EAAEW,kBAASC,iBAAT,CAA2BZ;AADN,CAA7B;AAIAP,aAAa,CAACoB,SAAd,iEACKC,eAAMD,SADX;AAEEjB,EAAAA,KAAK,EAAEmB,mBAAUC,MAFnB;AAGEnB,EAAAA,QAAQ,EAAEkB,mBAAUC,MAHtB;AAIElB,EAAAA,QAAQ,EAAEiB,mBAAUC;AAJtB;eAOevB,a","sourcesContent":["import React from 'react';\nimport {getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider from '../../../atom/provider';\nimport Range from '../../../atom/range';\nimport style from './style.css';\n\nconst QuestionRange = (props, context) => {\n const {title, minLabel, maxLabel, ...rangeProps} = props;\n\n const {skin} = context;\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const titleStyle = {\n color: defaultColor\n };\n\n return (\n <div className={style.wrapper}>\n <span\n style={titleStyle}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <Range {...rangeProps} />\n <div className={style.labelWrapper}>\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: minLabel}}\n />\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: maxLabel}}\n />\n </div>\n </div>\n );\n};\n\nQuestionRange.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQuestionRange.propTypes = {\n ...Range.propTypes,\n title: PropTypes.string,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string\n};\n\nexport default QuestionRange;\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/molecule/questions/question-range/index.js"],"names":["QuestionRange","props","legacyContext","title","minLabel","maxLabel","rangeProps","skin","defaultColor","titleStyle","color","style","wrapper","innerHTML","__html","labelWrapper","label","contextTypes","Provider","childContextTypes","propTypes","Range","PropTypes","string"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,MAAMA,aAAa,GAAG,CAACC,KAAD,EAAQC,aAAR,KAA0B;AAC9C,QAAM;AAACC,IAAAA,KAAD;AAAQC,IAAAA,QAAR;AAAkBC,IAAAA;AAAlB,MAA6CJ,KAAnD;AAAA,QAAqCK,UAArC,iCAAmDL,KAAnD;;AAEA,QAAMM,IAAI,GAAG,kCAAmBL,aAAnB,CAAb;AACA,QAAMM,YAAY,GAAG,qBAAM,SAAN,EAAiB,gBAAjB,EAAmCD,IAAnC,CAArB;AAEA,QAAME,UAAU,GAAG;AACjBC,IAAAA,KAAK,EAAEF;AADU,GAAnB;AAIA,sBACE;AAAK,IAAA,SAAS,EAAEG,eAAMC;AAAtB,kBACE;AACE,IAAA,KAAK,EAAEH,UADT;AAEE,IAAA,SAAS,EAAE,yBAAWE,eAAMR,KAAjB,EAAwBQ,eAAME,SAA9B,CAFb,CAGE;AAHF;AAIE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEX;AAAT;AAJ3B,IADF,eAOE,6BAAC,cAAD,EAAWG,UAAX,CAPF,eAQE;AAAK,IAAA,SAAS,EAAEK,eAAMI;AAAtB,kBACE;AACE,IAAA,SAAS,EAAE,yBAAWJ,eAAMK,KAAjB,EAAwBL,eAAME,SAA9B,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAEV;AAAT;AAH3B,IADF,eAME;AACE,IAAA,SAAS,EAAE,yBAAWO,eAAMK,KAAjB,EAAwBL,eAAME,SAA9B,CADb,CAEE;AAFF;AAGE,IAAA,uBAAuB,EAAE;AAACC,MAAAA,MAAM,EAAET;AAAT;AAH3B,IANF,CARF,CADF;AAuBD,CAjCD;;AAmCAL,aAAa,CAACiB,YAAd,GAA6B;AAC3BV,EAAAA,IAAI,EAAEW,kBAASC,iBAAT,CAA2BZ;AADN,CAA7B;AAIAP,aAAa,CAACoB,SAAd,iEACKC,eAAMD,SADX;AAEEjB,EAAAA,KAAK,EAAEmB,mBAAUC,MAFnB;AAGEnB,EAAAA,QAAQ,EAAEkB,mBAAUC,MAHtB;AAIElB,EAAAA,QAAQ,EAAEiB,mBAAUC;AAJtB;eAOevB,a","sourcesContent":["import React from 'react';\nimport {getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Provider, {GetSkinFromContext} from '../../../atom/provider';\nimport Range from '../../../atom/range';\nimport style from './style.css';\n\nconst QuestionRange = (props, legacyContext) => {\n const {title, minLabel, maxLabel, ...rangeProps} = props;\n\n const skin = GetSkinFromContext(legacyContext);\n const defaultColor = getOr('#00B0FF', 'common.primary', skin);\n\n const titleStyle = {\n color: defaultColor\n };\n\n return (\n <div className={style.wrapper}>\n <span\n style={titleStyle}\n className={classnames(style.title, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: title}}\n />\n <Range {...rangeProps} />\n <div className={style.labelWrapper}>\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: minLabel}}\n />\n <span\n className={classnames(style.label, style.innerHTML)}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={{__html: maxLabel}}\n />\n </div>\n </div>\n );\n};\n\nQuestionRange.contextTypes = {\n skin: Provider.childContextTypes.skin\n};\n\nQuestionRange.propTypes = {\n ...Range.propTypes,\n title: PropTypes.string,\n minLabel: PropTypes.string,\n maxLabel: PropTypes.string\n};\n\nexport default QuestionRange;\n"],"file":"index.js"}
@@ -19,10 +19,10 @@ var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
19
19
 
20
20
  var _loader = _interopRequireDefault(require("../../atom/loader"));
21
21
 
22
- var _provider = _interopRequireDefault(require("../../atom/provider"));
23
-
24
22
  var _reviewCorrectionPopin = _interopRequireDefault(require("../../molecule/review-correction-popin"));
25
23
 
24
+ var _provider = require("../../atom/provider");
25
+
26
26
  var _propTypes2 = _interopRequireDefault(require("./prop-types"));
27
27
 
28
28
  var _style = _interopRequireDefault(require("./style.css"));
@@ -162,16 +162,14 @@ QuestionContainer.propTypes = process.env.NODE_ENV !== "production" ? {
162
162
  questionOrigin: _propTypes.default.string
163
163
  } : {};
164
164
 
165
- const Slide = (props, context) => {
165
+ const ReviewSlide = props => {
166
166
  const {
167
167
  slide,
168
168
  validateButton,
169
169
  correctionPopinProps,
170
170
  slideIndex = '0'
171
171
  } = props;
172
- const {
173
- skin
174
- } = context;
172
+ const skin = (0, _provider.GetSkinFromContext)();
175
173
  const primarySkinColor = (0, _react.useMemo)(() => (0, _getOr.default)('#00B0FF', 'common.primary', skin), [skin]);
176
174
  const {
177
175
  loading,
@@ -208,10 +206,7 @@ const Slide = (props, context) => {
208
206
  })]);
209
207
  };
210
208
 
211
- Slide.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {};
212
- Slide.contextTypes = {
213
- skin: _provider.default.childContextTypes.skin
214
- };
215
- var _default = Slide;
209
+ ReviewSlide.propTypes = process.env.NODE_ENV !== "production" ? _propTypes2.default : {};
210
+ var _default = ReviewSlide;
216
211
  exports.default = _default;
217
212
  //# sourceMappingURL=index.js.map