@coorpacademy/components 11.40.22-slider.18 → 11.40.22-slider.19
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.
- package/es/molecule/answer/index.native.d.ts.map +1 -1
- package/es/molecule/answer/index.native.js +14 -0
- package/es/molecule/answer/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/slider/index.native.js +1 -1
- package/es/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/es/molecule/questions/mobile/switch/index.native.d.ts.map +1 -1
- package/es/molecule/questions/mobile/switch/index.native.js +9 -0
- package/es/molecule/questions/mobile/switch/index.native.js.map +1 -1
- package/es/organism/review-slide/index.native.d.ts.map +1 -1
- package/es/organism/review-slide/index.native.js +10 -0
- package/es/organism/review-slide/index.native.js.map +1 -1
- package/lib/molecule/answer/index.native.d.ts.map +1 -1
- package/lib/molecule/answer/index.native.js +14 -0
- package/lib/molecule/answer/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/slider/index.native.js +1 -1
- package/lib/molecule/questions/mobile/slider/index.native.js.map +1 -1
- package/lib/molecule/questions/mobile/switch/index.native.d.ts.map +1 -1
- package/lib/molecule/questions/mobile/switch/index.native.js +9 -0
- package/lib/molecule/questions/mobile/switch/index.native.js.map +1 -1
- package/lib/organism/review-slide/index.native.d.ts.map +1 -1
- package/lib/organism/review-slide/index.native.js +10 -0
- package/lib/organism/review-slide/index.native.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAuCzC,QAAA,MAAM,MAAM,UAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAuCzC,QAAA,MAAM,MAAM,UAAW,WAAW,sBAuCjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -49,6 +49,13 @@ const Answer = props => {
|
|
|
49
49
|
title
|
|
50
50
|
}
|
|
51
51
|
} = props;
|
|
52
|
+
console.log('[Slider debug v19] Answer', {
|
|
53
|
+
type,
|
|
54
|
+
hasOnSliderChange: !!onSliderChange,
|
|
55
|
+
minLabel,
|
|
56
|
+
maxLabel,
|
|
57
|
+
title
|
|
58
|
+
});
|
|
52
59
|
const switchProps = {
|
|
53
60
|
type: convertType(type)
|
|
54
61
|
};
|
|
@@ -67,6 +74,13 @@ const Answer = props => {
|
|
|
67
74
|
switchProps.max = maxLabel ? Number.parseInt(maxLabel.split(' ')[0]) : 1;
|
|
68
75
|
switchProps.value = title ? Number.parseInt(title.split(' ')[0]) : 0;
|
|
69
76
|
switchProps.unit = minLabel ? minLabel.split(' ')[1] : '';
|
|
77
|
+
console.log('[Slider debug v19] Answer → Switch slider props', {
|
|
78
|
+
min: switchProps.min,
|
|
79
|
+
max: switchProps.max,
|
|
80
|
+
value: switchProps.value,
|
|
81
|
+
unit: switchProps.unit,
|
|
82
|
+
step: switchProps.step
|
|
83
|
+
});
|
|
70
84
|
}
|
|
71
85
|
return /*#__PURE__*/React.createElement(Switch, switchProps);
|
|
72
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","Switch","convertType","modelType","convertToChoices","answers","map","answer","index","_id","label","title","value","onPress","onClick","onChange","selected","media","image","type","src","url","undefined","name","items","options","text","Answer","props","model","template","onSliderChange","minLabel","maxLabel","switchProps","onInputValueChange","choices","min","Number","parseInt","split","max","unit","createElement"],"sources":["../../../src/molecule/answer/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {Choice, QuestionType} from '../questions/types';\nimport Switch, {Props as SwitchProps} from '../questions/mobile/switch/index.native';\nimport {AnswerProps} from './prop-types';\n\nconst convertType = (modelType: AnswerProps['model']['type']): QuestionType => {\n switch (modelType) {\n case 'freeText':\n return 'basic';\n case 'dropDown':\n return 'template';\n default:\n return modelType;\n }\n};\n\nconst convertToChoices = (answers: AnswerProps['model']['answers'] = []): Choice[] =>\n answers.map((answer, index) => ({\n _id: `${index}`,\n label: answer.title,\n value: answer.title,\n onPress: answer.onClick || answer.onChange,\n selected: answer.selected,\n media: answer.image\n ? {\n type: 'img',\n src: [{url: answer.image}]\n }\n : undefined,\n // ---- custom properties for template choice\n type: answer.type,\n name: answer.name,\n items:\n answer.options &&\n answer.options.map(({name, selected, value}) => ({\n text: name,\n selected,\n value,\n _id: name\n }))\n }));\n\nconst Answer = (props: AnswerProps) => {\n const {\n model: {answers, onChange, template, type, onSliderChange, minLabel, maxLabel, title}\n } = props;\n\n const switchProps: SwitchProps = {\n type: convertType(type)\n };\n\n if (type === 'freeText') {\n switchProps.onInputValueChange = onChange;\n }\n\n if (type === 'qcm' || type === 'qcmDrag' || type === 'qcmGraphic' || type === 'template') {\n switchProps.choices = convertToChoices(answers);\n }\n\n if (type === 'template') {\n switchProps.template = template;\n }\n\n if (type === 'slider') {\n switchProps.onSliderChange = onSliderChange;\n switchProps.min = minLabel ? Number.parseInt(minLabel.split(' ')[0]) : 0;\n switchProps.max = maxLabel ? Number.parseInt(maxLabel.split(' ')[0]) : 1;\n switchProps.value = title ? Number.parseInt(title.split(' ')[0]) : 0;\n switchProps.unit = minLabel ? minLabel.split(' ')[1] : '';\n }\n\n return <Switch {...switchProps} />;\n};\n\nexport default Answer;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,OAAOC,MAAM,MAA8B,yCAAyC;AAGpF,MAAMC,WAAW,GAAIC,SAAuC,IAAmB;EAC7E,QAAQA,SAAS;IACf,KAAK,UAAU;MACb,OAAO,OAAO;IAChB,KAAK,UAAU;MACb,OAAO,UAAU;IACnB;MACE,OAAOA,SAAS;EACpB;AACF,CAAC;AAED,MAAMC,gBAAgB,GAAGA,CAACC,OAAwC,GAAG,EAAE,KACrEA,OAAO,CAACC,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,MAAM;EAC9BC,GAAG,EAAE,GAAGD,KAAK,EAAE;EACfE,KAAK,EAAEH,MAAM,CAACI,KAAK;EACnBC,KAAK,EAAEL,MAAM,CAACI,KAAK;EACnBE,OAAO,EAAEN,MAAM,CAACO,OAAO,IAAIP,MAAM,CAACQ,QAAQ;EAC1CC,QAAQ,EAAET,MAAM,CAACS,QAAQ;EACzBC,KAAK,EAAEV,MAAM,CAACW,KAAK,GACf;IACEC,IAAI,EAAE,KAAK;IACXC,GAAG,EAAE,CAAC;MAACC,GAAG,EAAEd,MAAM,CAACW;IAAK,CAAC;EAC3B,CAAC,GACDI,SAAS;EACb;EACAH,IAAI,EAAEZ,MAAM,CAACY,IAAI;EACjBI,IAAI,EAAEhB,MAAM,CAACgB,IAAI;EACjBC,KAAK,EACHjB,MAAM,CAACkB,OAAO,IACdlB,MAAM,CAACkB,OAAO,CAACnB,GAAG,CAAC,CAAC;IAACiB,IAAI;IAAEP,QAAQ;IAAEJ;EAAK,CAAC,MAAM;IAC/Cc,IAAI,EAAEH,IAAI;IACVP,QAAQ;IACRJ,KAAK;IACLH,GAAG,EAAEc;EACP,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEL,MAAMI,MAAM,GAAIC,KAAkB,IAAK;EACrC,MAAM;IACJC,KAAK,EAAE;MAACxB,OAAO;MAAEU,QAAQ;MAAEe,QAAQ;MAAEX,IAAI;MAAEY,cAAc;MAAEC,QAAQ;MAAEC,QAAQ;MAAEtB;IAAK;EACtF,CAAC,GAAGiB,KAAK;
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","Switch","convertType","modelType","convertToChoices","answers","map","answer","index","_id","label","title","value","onPress","onClick","onChange","selected","media","image","type","src","url","undefined","name","items","options","text","Answer","props","model","template","onSliderChange","minLabel","maxLabel","console","log","hasOnSliderChange","switchProps","onInputValueChange","choices","min","Number","parseInt","split","max","unit","step","createElement"],"sources":["../../../src/molecule/answer/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {Choice, QuestionType} from '../questions/types';\nimport Switch, {Props as SwitchProps} from '../questions/mobile/switch/index.native';\nimport {AnswerProps} from './prop-types';\n\nconst convertType = (modelType: AnswerProps['model']['type']): QuestionType => {\n switch (modelType) {\n case 'freeText':\n return 'basic';\n case 'dropDown':\n return 'template';\n default:\n return modelType;\n }\n};\n\nconst convertToChoices = (answers: AnswerProps['model']['answers'] = []): Choice[] =>\n answers.map((answer, index) => ({\n _id: `${index}`,\n label: answer.title,\n value: answer.title,\n onPress: answer.onClick || answer.onChange,\n selected: answer.selected,\n media: answer.image\n ? {\n type: 'img',\n src: [{url: answer.image}]\n }\n : undefined,\n // ---- custom properties for template choice\n type: answer.type,\n name: answer.name,\n items:\n answer.options &&\n answer.options.map(({name, selected, value}) => ({\n text: name,\n selected,\n value,\n _id: name\n }))\n }));\n\nconst Answer = (props: AnswerProps) => {\n const {\n model: {answers, onChange, template, type, onSliderChange, minLabel, maxLabel, title}\n } = props;\n\n console.log('[Slider debug v19] Answer', {type, hasOnSliderChange: !!onSliderChange, minLabel, maxLabel, title});\n\n const switchProps: SwitchProps = {\n type: convertType(type)\n };\n\n if (type === 'freeText') {\n switchProps.onInputValueChange = onChange;\n }\n\n if (type === 'qcm' || type === 'qcmDrag' || type === 'qcmGraphic' || type === 'template') {\n switchProps.choices = convertToChoices(answers);\n }\n\n if (type === 'template') {\n switchProps.template = template;\n }\n\n if (type === 'slider') {\n switchProps.onSliderChange = onSliderChange;\n switchProps.min = minLabel ? Number.parseInt(minLabel.split(' ')[0]) : 0;\n switchProps.max = maxLabel ? Number.parseInt(maxLabel.split(' ')[0]) : 1;\n switchProps.value = title ? Number.parseInt(title.split(' ')[0]) : 0;\n switchProps.unit = minLabel ? minLabel.split(' ')[1] : '';\n console.log('[Slider debug v19] Answer → Switch slider props', {\n min: switchProps.min,\n max: switchProps.max,\n value: switchProps.value,\n unit: switchProps.unit,\n step: switchProps.step\n });\n }\n\n return <Switch {...switchProps} />;\n};\n\nexport default Answer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useMemo, useCallback } from 'react';
|
|
2
2
|
import { View, StyleSheet, Platform } from 'react-native';
|
|
3
3
|
import Slider from '@react-native-community/slider';
|
|
4
|
-
const LOG_PREFIX = '[
|
|
4
|
+
const LOG_PREFIX = '[Slider debug v19]';
|
|
5
5
|
import Text from '../../../../atom/text/index.native';
|
|
6
6
|
import { useTemplateContext } from '../../../../template/app-review/template-context';
|
|
7
7
|
const createStyleSheet = (brandTheme, theme) => StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useState","useMemo","useCallback","View","StyleSheet","Platform","Slider","LOG_PREFIX","Text","useTemplateContext","createStyleSheet","brandTheme","theme","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","slider","height","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","console","log","platform","OS","templateContext","setValue","styleSheet","handleValueChange","v","handleSlidingComplete","finalValue","handleSlidingStart","startValue","textStyle","primary","createElement","onValueChange","onSlidingStart","maximumValue","minimumValue","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor"],"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"sourcesContent":["import React, {useState, useMemo, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle, Platform} from 'react-native';\nimport Slider from '@react-native-community/slider';\n\nconst LOG_PREFIX = '[
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useState","useMemo","useCallback","View","StyleSheet","Platform","Slider","LOG_PREFIX","Text","useTemplateContext","createStyleSheet","brandTheme","theme","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","slider","height","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","console","log","platform","OS","templateContext","setValue","styleSheet","handleValueChange","v","handleSlidingComplete","finalValue","handleSlidingStart","startValue","textStyle","primary","createElement","onValueChange","onSlidingStart","maximumValue","minimumValue","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor"],"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"sourcesContent":["import React, {useState, useMemo, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle, Platform} from 'react-native';\nimport Slider from '@react-native-community/slider';\n\nconst LOG_PREFIX = '[Slider debug v19]';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Brand} from '../../../../variables/brand.native';\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: ViewStyle;\n header: TextStyle;\n textValue: TextStyle;\n valuesContainer: ViewStyle;\n leftValue: ViewStyle;\n rightValue: ViewStyle;\n slider: ViewStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\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 slider: {\n height: 40\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\n console.log(LOG_PREFIX, 'render', {min, max, step, storeValue, unit, platform: Platform.OS});\n\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [value, setValue] = useState<number>(storeValue);\n\n const styleSheet = useMemo(\n () => createStyleSheet(brandTheme, theme),\n [brandTheme, theme]\n );\n\n const handleValueChange = useCallback((v: number) => {\n console.log(LOG_PREFIX, 'onValueChange', v);\n setValue(v);\n }, []);\n\n const handleSlidingComplete = useCallback(\n (finalValue: number) => {\n console.log(LOG_PREFIX, 'onSlidingComplete', finalValue);\n setValue(finalValue);\n onSlidingComplete(finalValue);\n },\n [onSlidingComplete]\n );\n\n const handleSlidingStart = useCallback((startValue: number) => {\n console.log(LOG_PREFIX, 'onSlidingStart', startValue);\n }, []);\n\n\n const textStyle: TextStyle = {\n ...styleSheet.header,\n color: brandTheme?.colors?.primary\n };\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={textStyle} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={handleValueChange}\n onSlidingStart={handleSlidingStart}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors?.primary}\n maximumTrackTintColor=\"#b3b3b3\"\n thumbTintColor={brandTheme?.colors?.primary}\n style={styleSheet.slider}\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"],"mappings":"AAAA,OAAOA,KAAK,IAAGC,QAAQ,EAAEC,OAAO,EAAEC,WAAW,QAAO,OAAO;AAC3D,SAAQC,IAAI,EAAEC,UAAU,EAAwBC,QAAQ,QAAO,cAAc;AAC7E,OAAOC,MAAM,MAAM,gCAAgC;AAEnD,MAAMC,UAAU,GAAG,oBAAoB;AAGvC,OAAOC,IAAI,MAAM,oCAAoC;AACrD,SAAQC,kBAAkB,QAAO,kDAAkD;AA0BnF,MAAMC,gBAAgB,GAAGA,CAACC,UAAiB,EAAEC,KAAY,KACvDR,UAAU,CAACS,MAAM,CAAC;EAChBC,SAAS,EAAE;IACTC,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACDC,MAAM,EAAE;IACNC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAET,KAAK,CAACS,UAAU,CAACC,IAAI;IACjCC,SAAS,EAAE;EACb,CAAC;EACDC,SAAS,EAAE;IACTJ,QAAQ,EAAE,EAAE;IACZK,KAAK,EAAEb,KAAK,CAACc,MAAM,CAACC,KAAK;IACzBN,UAAU,EAAET,KAAK,CAACS,UAAU,CAACC,IAAI;IACjCC,SAAS,EAAE;EACb,CAAC;EACDK,eAAe,EAAE;IACfX,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDW,SAAS,EAAE;IACTd,IAAI,EAAE,CAAC;IACPe,UAAU,EAAE;EACd,CAAC;EACDC,UAAU,EAAE;IACVhB,IAAI,EAAE,CAAC;IACPe,UAAU,EAAE;EACd,CAAC;EACDE,MAAM,EAAE;IACNC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEJ,MAAMC,cAAc,GAAIC,KAAY,IAAK;EACvC,MAAM;IACJC,IAAI;IACJC,KAAK;IACLC,GAAG;IACHC,GAAG;IACHC,IAAI,GAAG,EAAE;IACTC,KAAK,EAAEC,UAAU,GAAG,CAAC;IACrBC,iBAAiB;IACjBC;EACF,CAAC,GAAGT,KAAK;EAETU,OAAO,CAACC,GAAG,CAACvC,UAAU,EAAE,QAAQ,EAAE;IAAC+B,GAAG;IAAEC,GAAG;IAAEH,IAAI;IAAEM,UAAU;IAAEF,IAAI;IAAEO,QAAQ,EAAE1C,QAAQ,CAAC2C;EAAE,CAAC,CAAC;EAE5F,MAAMC,eAAe,GAAGxC,kBAAkB,CAAC,CAAC;EAC5C,MAAM;IAACE,UAAU;IAAEC;EAAK,CAAC,GAAGqC,eAAe;EAC3C,MAAM,CAACR,KAAK,EAAES,QAAQ,CAAC,GAAGlD,QAAQ,CAAS0C,UAAU,CAAC;EAEtD,MAAMS,UAAU,GAAGlD,OAAO,CACxB,MAAMS,gBAAgB,CAACC,UAAU,EAAEC,KAAK,CAAC,EACzC,CAACD,UAAU,EAAEC,KAAK,CACpB,CAAC;EAED,MAAMwC,iBAAiB,GAAGlD,WAAW,CAAEmD,CAAS,IAAK;IACnDR,OAAO,CAACC,GAAG,CAACvC,UAAU,EAAE,eAAe,EAAE8C,CAAC,CAAC;IAC3CH,QAAQ,CAACG,CAAC,CAAC;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,qBAAqB,GAAGpD,WAAW,CACtCqD,UAAkB,IAAK;IACtBV,OAAO,CAACC,GAAG,CAACvC,UAAU,EAAE,mBAAmB,EAAEgD,UAAU,CAAC;IACxDL,QAAQ,CAACK,UAAU,CAAC;IACpBZ,iBAAiB,CAACY,UAAU,CAAC;EAC/B,CAAC,EACD,CAACZ,iBAAiB,CACpB,CAAC;EAED,MAAMa,kBAAkB,GAAGtD,WAAW,CAAEuD,UAAkB,IAAK;IAC7DZ,OAAO,CAACC,GAAG,CAACvC,UAAU,EAAE,gBAAgB,EAAEkD,UAAU,CAAC;EACvD,CAAC,EAAE,EAAE,CAAC;EAGN,MAAMC,SAAoB,GAAG;IAC3B,GAAGP,UAAU,CAAChC,MAAM;IACpBM,KAAK,EAAEd,UAAU,EAAEe,MAAM,EAAEiC;EAC7B,CAAC;EAED,oBACE5D,KAAA,CAAA6D,aAAA,CAACzD,IAAI;IAACkC,KAAK,EAAE,CAACc,UAAU,CAACrC,SAAS,EAAEuB,KAAK,CAAE;IAACO,MAAM,EAAEA;EAAO,gBACzD7C,KAAA,CAAA6D,aAAA,CAACpD,IAAI;IAAC6B,KAAK,EAAEqB,SAAU;IAACd,MAAM,EAAC;EAAc,GAC1CH,KACG,CAAC,eACP1C,KAAA,CAAA6D,aAAA,CAACtD,MAAM;IACL8B,IAAI,EAAEA,IAAI,IAAI,CAAE;IAChBK,KAAK,EAAEA,KAAM;IACboB,aAAa,EAAET,iBAAkB;IACjCU,cAAc,EAAEN,kBAAmB;IACnCO,YAAY,EAAExB,GAAI;IAClByB,YAAY,EAAE1B,GAAI;IAClBK,iBAAiB,EAAEW,qBAAsB;IACzCW,qBAAqB,EAAEtD,UAAU,EAAEe,MAAM,EAAEiC,OAAQ;IACnDO,qBAAqB,EAAC,SAAS;IAC/BC,cAAc,EAAExD,UAAU,EAAEe,MAAM,EAAEiC,OAAQ;IAC5CtB,KAAK,EAAEc,UAAU,CAACnB,MAAO;IACzBY,MAAM,EAAC;EAAQ,CAChB,CAAC,eACF7C,KAAA,CAAA6D,aAAA,CAACzD,IAAI;IAACkC,KAAK,EAAEc,UAAU,CAACvB,eAAgB;IAACgB,MAAM,EAAC;EAAyB,gBACvE7C,KAAA,CAAA6D,aAAA,CAACzD,IAAI;IAACkC,KAAK,EAAEc,UAAU,CAACtB;EAAU,gBAChC9B,KAAA,CAAA6D,aAAA,CAACpD,IAAI;IAAC6B,KAAK,EAAEc,UAAU,CAAC3B,SAAU;IAACoB,MAAM,EAAC;EAAkB,GACzD,GAAGN,GAAG,IAAIE,IAAI,EACX,CACF,CAAC,eACPzC,KAAA,CAAA6D,aAAA,CAACzD,IAAI;IAACkC,KAAK,EAAEc,UAAU,CAACpB;EAAW,gBACjChC,KAAA,CAAA6D,aAAA,CAACpD,IAAI;IAAC6B,KAAK,EAAEc,UAAU,CAAC3B,SAAU;IAACoB,MAAM,EAAC;EAAkB,GACzD,GAAGL,GAAG,IAAIC,IAAI,EACX,CACF,CACF,CACF,CAAC;AAEX,CAAC;AAED,eAAeN,cAAc","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAYzC,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAIP,MAAM,aAAa,CAAC;AAErB,oBAAY,KAAK,GAAG;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAqBF,QAAA,MAAM,MAAM,UAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAYzC,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAIP,MAAM,aAAa,CAAC;AAErB,oBAAY,KAAK,GAAG;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAqBF,QAAA,MAAM,MAAM,UAAW,KAAK,sBAsK3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -100,7 +100,16 @@ const Switch = props => {
|
|
|
100
100
|
}, choice.label)));
|
|
101
101
|
case 'slider':
|
|
102
102
|
{
|
|
103
|
+
console.log('[Slider debug v19] Switch slider', {
|
|
104
|
+
min,
|
|
105
|
+
max,
|
|
106
|
+
value,
|
|
107
|
+
step,
|
|
108
|
+
unit,
|
|
109
|
+
hasCallback: !!handleSlidingComplete
|
|
110
|
+
});
|
|
103
111
|
if (min === undefined || max === undefined) {
|
|
112
|
+
console.log('[Slider debug v19] Switch slider → EMPTY (min/max undefined)');
|
|
104
113
|
return /*#__PURE__*/React.createElement(View, null);
|
|
105
114
|
}
|
|
106
115
|
return /*#__PURE__*/React.createElement(QuestionSlider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","View","StyleSheet","Text","QuestionChoice","QuestionDraggable","QuestionTemplate","QuestionSlider","FreeText","useTemplateContext","ANALYTICS_EVENT_TYPE","styleSheet","create","cards","flexDirection","alignItems","card","flex","choice","paddingVertical","Switch","props","templateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","choices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","SLIDE","id","questionType","createElement","testID","map","key","_id","isSelected","selected","style","label","media","undefined","onSlidingComplete","console","warn","onInputChange","fullWidth","onChange"],"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text, ViewStyle} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/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 type {\n QuestionType,\n Choice,\n TemplateListOfChoices,\n TemplateTextChoice,\n SelectableChoice\n} from '../../types';\n\nexport type Props = {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n choices?: Array<Choice>;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onInputValueChange?: (value: string) => void;\n onSliderChange?: (value: number) => void;\n // --- mobile learner only\n onItemInputChange?: (item: Choice, value: string) => void;\n onItemPress?: (item: Choice) => void;\n};\n\ntype StyleSheetType = {\n cards: ViewStyle;\n card: ViewStyle;\n choice: ViewStyle;\n};\n\nconst styleSheet: StyleSheetType = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n },\n choice: {\n paddingVertical: 5\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics, store} = templateContext;\n const {focusedSelectId, handleBlur, handleFocus} = store;\n\n const {\n type,\n template,\n isDisabled,\n choices = [],\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange\n } = props;\n\n const handleChoicePress = useCallback(\n (choice: Choice) => () => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress();\n } else if (onItemPress) {\n // e.g. learner\n onItemPress(choice);\n }\n },\n [onItemPress]\n );\n\n const handleItemInputChange = useCallback(\n (choice: Choice, _value: string) => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress(_value);\n } else if (onItemInputChange) {\n // e.g. learner\n onItemInputChange(choice, _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 {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\">\n {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n media={choice.media}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\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 // eslint-disable-next-line no-console\n console.warn('type template must implement handleFocus etc within Context.store');\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n choices={choices as (TemplateListOfChoices | TemplateTextChoice)[]}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={choices as SelectableChoice[]} onPress={handleChoicePress} />\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 />\n );\n default:\n return (\n <View>\n <Text>Unhandled type: {type}</Text>\n </View>\n );\n }\n};\n\nexport default Switch;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","View","StyleSheet","Text","QuestionChoice","QuestionDraggable","QuestionTemplate","QuestionSlider","FreeText","useTemplateContext","ANALYTICS_EVENT_TYPE","styleSheet","create","cards","flexDirection","alignItems","card","flex","choice","paddingVertical","Switch","props","templateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","choices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","SLIDE","id","questionType","createElement","testID","map","key","_id","isSelected","selected","style","label","media","console","log","hasCallback","undefined","onSlidingComplete","warn","onInputChange","fullWidth","onChange"],"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text, ViewStyle} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/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 type {\n QuestionType,\n Choice,\n TemplateListOfChoices,\n TemplateTextChoice,\n SelectableChoice\n} from '../../types';\n\nexport type Props = {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n choices?: Array<Choice>;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onInputValueChange?: (value: string) => void;\n onSliderChange?: (value: number) => void;\n // --- mobile learner only\n onItemInputChange?: (item: Choice, value: string) => void;\n onItemPress?: (item: Choice) => void;\n};\n\ntype StyleSheetType = {\n cards: ViewStyle;\n card: ViewStyle;\n choice: ViewStyle;\n};\n\nconst styleSheet: StyleSheetType = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n },\n choice: {\n paddingVertical: 5\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics, store} = templateContext;\n const {focusedSelectId, handleBlur, handleFocus} = store;\n\n const {\n type,\n template,\n isDisabled,\n choices = [],\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange\n } = props;\n\n const handleChoicePress = useCallback(\n (choice: Choice) => () => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress();\n } else if (onItemPress) {\n // e.g. learner\n onItemPress(choice);\n }\n },\n [onItemPress]\n );\n\n const handleItemInputChange = useCallback(\n (choice: Choice, _value: string) => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress(_value);\n } else if (onItemInputChange) {\n // e.g. learner\n onItemInputChange(choice, _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 {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\">\n {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n media={choice.media}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'slider': {\n console.log('[Slider debug v19] Switch slider', {min, max, value, step, unit, hasCallback: !!handleSlidingComplete});\n if (min === undefined || max === undefined) {\n console.log('[Slider debug v19] Switch slider → EMPTY (min/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 // eslint-disable-next-line no-console\n console.warn('type template must implement handleFocus etc within Context.store');\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n choices={choices as (TemplateListOfChoices | TemplateTextChoice)[]}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={choices as SelectableChoice[]} onPress={handleChoicePress} />\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 />\n );\n default:\n return (\n <View>\n <Text>Unhandled type: {type}</Text>\n </View>\n );\n }\n};\n\nexport default Switch;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAiRtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,sBAyErC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -165,6 +165,11 @@ const Question = props => {
|
|
|
165
165
|
}, [theme]);
|
|
166
166
|
if (!answerUI || !questionText || !style) return null;
|
|
167
167
|
const isSlider = answerUI.model?.type === 'slider';
|
|
168
|
+
console.log('[Slider debug v19] Question', {
|
|
169
|
+
modelType: answerUI.model?.type,
|
|
170
|
+
isSlider,
|
|
171
|
+
hasModel: !!answerUI.model
|
|
172
|
+
});
|
|
168
173
|
const hasVideoOrImage = answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);
|
|
169
174
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
|
|
170
175
|
style: style.questionHeading
|
|
@@ -261,6 +266,11 @@ const Slide = props => {
|
|
|
261
266
|
} = useWindowDimensions();
|
|
262
267
|
const slideStyle = useMemo(() => createSlideStyle(num, width, isKeyboardVisible), [num, width, isKeyboardVisible]);
|
|
263
268
|
const isFirstSlide = num === 1;
|
|
269
|
+
console.log('[Slider debug v19] Slide', {
|
|
270
|
+
num,
|
|
271
|
+
isFirstSlide,
|
|
272
|
+
slideIndex
|
|
273
|
+
});
|
|
264
274
|
const {
|
|
265
275
|
loading,
|
|
266
276
|
parentContentTitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useMemo","useState","Animated","Easing","Image","Keyboard","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","Html","useMobileKeyboardVisibility","styles","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","createElement","style","uri","url","split","source","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","information","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","setStyle","questionStyle","isSlider","model","hasVideoOrImage","includes","Fragment","isTextCentered","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","nestedScrollEnabled","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","handleValidatePress","dismiss","setTimeout","slideStyle","isFirstSlide","loading","parentContentTitle","pointerEvents","key","disabled","submitValue","onPress","testID"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = correctionPopinProps.klf;\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const isSlider = answerUI.model?.type === 'slider';\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n {isSlider ? (\n <View style={[style.choicesScrollView, style.choicesScrollContent]}>\n <Answer {...answerUI} />\n </View>\n ) : (\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n nestedScrollEnabled\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n )}\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} pointerEvents={isFirstSlide ? 'auto' : 'none'} />;\n }\n\n return (\n <Animated.View\n style={[slideStyle.slide, animatedStyle]}\n pointerEvents={isFirstSlide ? 'auto' : 'none'}\n >\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["React","useCallback","useEffect","useMemo","useState","Animated","Easing","Image","Keyboard","ScrollView","StyleSheet","useWindowDimensions","View","get","getOr","useTranslateY","Answer","ReviewCorrectionPopin","useTemplateContext","Button","TYPE_AUDIO","TYPE_IMAGE","TYPE_VIDEO","Video","Html","useMobileKeyboardVisibility","styles","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","createElement","style","uri","url","split","source","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","fromValue","toValue","duration","easing","bezier","start","klf","information","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","setStyle","questionStyle","isSlider","model","console","log","modelType","hasModel","hasVideoOrImage","includes","Fragment","isTextCentered","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","nestedScrollEnabled","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","handleValidatePress","dismiss","setTimeout","slideStyle","isFirstSlide","loading","parentContentTitle","pointerEvents","key","disabled","submitValue","onPress","testID"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = correctionPopinProps.klf;\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const isSlider = answerUI.model?.type === 'slider';\n console.log('[Slider debug v19] Question', {\n modelType: answerUI.model?.type,\n isSlider,\n hasModel: !!answerUI.model\n });\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n {isSlider ? (\n <View style={[style.choicesScrollView, style.choicesScrollContent]}>\n <Answer {...answerUI} />\n </View>\n ) : (\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n nestedScrollEnabled\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n )}\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n console.log('[Slider debug v19] Slide', {num, isFirstSlide, slideIndex});\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} pointerEvents={isFirstSlide ? 'auto' : 'none'} />;\n }\n\n return (\n <Animated.View\n style={[slideStyle.slide, animatedStyle]}\n pointerEvents={isFirstSlide ? 'auto' : 'none'}\n >\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAuCzC,QAAA,MAAM,MAAM,UAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/molecule/answer/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAuCzC,QAAA,MAAM,MAAM,UAAW,WAAW,sBAuCjC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -54,6 +54,13 @@ const Answer = props => {
|
|
|
54
54
|
title
|
|
55
55
|
}
|
|
56
56
|
} = props;
|
|
57
|
+
console.log('[Slider debug v19] Answer', {
|
|
58
|
+
type,
|
|
59
|
+
hasOnSliderChange: !!onSliderChange,
|
|
60
|
+
minLabel,
|
|
61
|
+
maxLabel,
|
|
62
|
+
title
|
|
63
|
+
});
|
|
57
64
|
const switchProps = {
|
|
58
65
|
type: convertType(type)
|
|
59
66
|
};
|
|
@@ -72,6 +79,13 @@ const Answer = props => {
|
|
|
72
79
|
switchProps.max = maxLabel ? Number.parseInt(maxLabel.split(' ')[0]) : 1;
|
|
73
80
|
switchProps.value = title ? Number.parseInt(title.split(' ')[0]) : 0;
|
|
74
81
|
switchProps.unit = minLabel ? minLabel.split(' ')[1] : '';
|
|
82
|
+
console.log('[Slider debug v19] Answer → Switch slider props', {
|
|
83
|
+
min: switchProps.min,
|
|
84
|
+
max: switchProps.max,
|
|
85
|
+
value: switchProps.value,
|
|
86
|
+
unit: switchProps.unit,
|
|
87
|
+
step: switchProps.step
|
|
88
|
+
});
|
|
75
89
|
}
|
|
76
90
|
return /*#__PURE__*/_react.default.createElement(_index.default, switchProps);
|
|
77
91
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["_react","_interopRequireDefault","require","_index","e","__esModule","default","convertType","modelType","convertToChoices","answers","map","answer","index","_id","label","title","value","onPress","onClick","onChange","selected","media","image","type","src","url","undefined","name","items","options","text","Answer","props","model","template","onSliderChange","minLabel","maxLabel","switchProps","onInputValueChange","choices","min","Number","parseInt","split","max","unit","createElement","_default","exports"],"sources":["../../../src/molecule/answer/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {Choice, QuestionType} from '../questions/types';\nimport Switch, {Props as SwitchProps} from '../questions/mobile/switch/index.native';\nimport {AnswerProps} from './prop-types';\n\nconst convertType = (modelType: AnswerProps['model']['type']): QuestionType => {\n switch (modelType) {\n case 'freeText':\n return 'basic';\n case 'dropDown':\n return 'template';\n default:\n return modelType;\n }\n};\n\nconst convertToChoices = (answers: AnswerProps['model']['answers'] = []): Choice[] =>\n answers.map((answer, index) => ({\n _id: `${index}`,\n label: answer.title,\n value: answer.title,\n onPress: answer.onClick || answer.onChange,\n selected: answer.selected,\n media: answer.image\n ? {\n type: 'img',\n src: [{url: answer.image}]\n }\n : undefined,\n // ---- custom properties for template choice\n type: answer.type,\n name: answer.name,\n items:\n answer.options &&\n answer.options.map(({name, selected, value}) => ({\n text: name,\n selected,\n value,\n _id: name\n }))\n }));\n\nconst Answer = (props: AnswerProps) => {\n const {\n model: {answers, onChange, template, type, onSliderChange, minLabel, maxLabel, title}\n } = props;\n\n const switchProps: SwitchProps = {\n type: convertType(type)\n };\n\n if (type === 'freeText') {\n switchProps.onInputValueChange = onChange;\n }\n\n if (type === 'qcm' || type === 'qcmDrag' || type === 'qcmGraphic' || type === 'template') {\n switchProps.choices = convertToChoices(answers);\n }\n\n if (type === 'template') {\n switchProps.template = template;\n }\n\n if (type === 'slider') {\n switchProps.onSliderChange = onSliderChange;\n switchProps.min = minLabel ? Number.parseInt(minLabel.split(' ')[0]) : 0;\n switchProps.max = maxLabel ? Number.parseInt(maxLabel.split(' ')[0]) : 1;\n switchProps.value = title ? Number.parseInt(title.split(' ')[0]) : 0;\n switchProps.unit = minLabel ? minLabel.split(' ')[1] : '';\n }\n\n return <Switch {...switchProps} />;\n};\n\nexport default Answer;\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAqF,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGrF,MAAMG,WAAW,GAAIC,SAAuC,IAAmB;EAC7E,QAAQA,SAAS;IACf,KAAK,UAAU;MACb,OAAO,OAAO;IAChB,KAAK,UAAU;MACb,OAAO,UAAU;IACnB;MACE,OAAOA,SAAS;EACpB;AACF,CAAC;AAED,MAAMC,gBAAgB,GAAGA,CAACC,OAAwC,GAAG,EAAE,KACrEA,OAAO,CAACC,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,MAAM;EAC9BC,GAAG,EAAE,GAAGD,KAAK,EAAE;EACfE,KAAK,EAAEH,MAAM,CAACI,KAAK;EACnBC,KAAK,EAAEL,MAAM,CAACI,KAAK;EACnBE,OAAO,EAAEN,MAAM,CAACO,OAAO,IAAIP,MAAM,CAACQ,QAAQ;EAC1CC,QAAQ,EAAET,MAAM,CAACS,QAAQ;EACzBC,KAAK,EAAEV,MAAM,CAACW,KAAK,GACf;IACEC,IAAI,EAAE,KAAK;IACXC,GAAG,EAAE,CAAC;MAACC,GAAG,EAAEd,MAAM,CAACW;IAAK,CAAC;EAC3B,CAAC,GACDI,SAAS;EACb;EACAH,IAAI,EAAEZ,MAAM,CAACY,IAAI;EACjBI,IAAI,EAAEhB,MAAM,CAACgB,IAAI;EACjBC,KAAK,EACHjB,MAAM,CAACkB,OAAO,IACdlB,MAAM,CAACkB,OAAO,CAACnB,GAAG,CAAC,CAAC;IAACiB,IAAI;IAAEP,QAAQ;IAAEJ;EAAK,CAAC,MAAM;IAC/Cc,IAAI,EAAEH,IAAI;IACVP,QAAQ;IACRJ,KAAK;IACLH,GAAG,EAAEc;EACP,CAAC,CAAC;AACN,CAAC,CAAC,CAAC;AAEL,MAAMI,MAAM,GAAIC,KAAkB,IAAK;EACrC,MAAM;IACJC,KAAK,EAAE;MAACxB,OAAO;MAAEU,QAAQ;MAAEe,QAAQ;MAAEX,IAAI;MAAEY,cAAc;MAAEC,QAAQ;MAAEC,QAAQ;MAAEtB;IAAK;EACtF,CAAC,GAAGiB,KAAK;
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["_react","_interopRequireDefault","require","_index","e","__esModule","default","convertType","modelType","convertToChoices","answers","map","answer","index","_id","label","title","value","onPress","onClick","onChange","selected","media","image","type","src","url","undefined","name","items","options","text","Answer","props","model","template","onSliderChange","minLabel","maxLabel","console","log","hasOnSliderChange","switchProps","onInputValueChange","choices","min","Number","parseInt","split","max","unit","step","createElement","_default","exports"],"sources":["../../../src/molecule/answer/index.native.tsx"],"sourcesContent":["import React from 'react';\nimport {Choice, QuestionType} from '../questions/types';\nimport Switch, {Props as SwitchProps} from '../questions/mobile/switch/index.native';\nimport {AnswerProps} from './prop-types';\n\nconst convertType = (modelType: AnswerProps['model']['type']): QuestionType => {\n switch (modelType) {\n case 'freeText':\n return 'basic';\n case 'dropDown':\n return 'template';\n default:\n return modelType;\n }\n};\n\nconst convertToChoices = (answers: AnswerProps['model']['answers'] = []): Choice[] =>\n answers.map((answer, index) => ({\n _id: `${index}`,\n label: answer.title,\n value: answer.title,\n onPress: answer.onClick || answer.onChange,\n selected: answer.selected,\n media: answer.image\n ? {\n type: 'img',\n src: [{url: answer.image}]\n }\n : undefined,\n // ---- custom properties for template choice\n type: answer.type,\n name: answer.name,\n items:\n answer.options &&\n answer.options.map(({name, selected, value}) => ({\n text: name,\n selected,\n value,\n _id: name\n }))\n }));\n\nconst Answer = (props: AnswerProps) => {\n const {\n model: {answers, onChange, template, type, onSliderChange, minLabel, maxLabel, title}\n } = props;\n\n console.log('[Slider debug v19] Answer', {type, hasOnSliderChange: !!onSliderChange, minLabel, maxLabel, title});\n\n const switchProps: SwitchProps = {\n type: convertType(type)\n };\n\n if (type === 'freeText') {\n switchProps.onInputValueChange = onChange;\n }\n\n if (type === 'qcm' || type === 'qcmDrag' || type === 'qcmGraphic' || type === 'template') {\n switchProps.choices = convertToChoices(answers);\n }\n\n if (type === 'template') {\n switchProps.template = template;\n }\n\n if (type === 'slider') {\n switchProps.onSliderChange = onSliderChange;\n switchProps.min = minLabel ? Number.parseInt(minLabel.split(' ')[0]) : 0;\n switchProps.max = maxLabel ? Number.parseInt(maxLabel.split(' ')[0]) : 1;\n switchProps.value = title ? Number.parseInt(title.split(' ')[0]) : 0;\n switchProps.unit = minLabel ? minLabel.split(' ')[1] : '';\n console.log('[Slider debug v19] Answer → Switch slider props', {\n min: switchProps.min,\n max: switchProps.max,\n value: switchProps.value,\n unit: switchProps.unit,\n step: switchProps.step\n });\n }\n\n return <Switch {...switchProps} />;\n};\n\nexport default Answer;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ var _templateContext = require("../../../../template/app-review/template-context
|
|
|
10
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
11
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
12
12
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
13
|
-
const LOG_PREFIX = '[
|
|
13
|
+
const LOG_PREFIX = '[Slider debug v19]';
|
|
14
14
|
const createStyleSheet = (brandTheme, theme) => _reactNative.StyleSheet.create({
|
|
15
15
|
container: {
|
|
16
16
|
flex: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_slider","_interopRequireDefault","_index","_templateContext","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","LOG_PREFIX","createStyleSheet","brandTheme","theme","StyleSheet","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","slider","height","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","console","log","platform","Platform","OS","templateContext","useTemplateContext","setValue","useState","styleSheet","useMemo","handleValueChange","useCallback","v","handleSlidingComplete","finalValue","handleSlidingStart","startValue","textStyle","primary","createElement","View","onValueChange","onSlidingStart","maximumValue","minimumValue","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","_default","exports"],"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"sourcesContent":["import React, {useState, useMemo, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle, Platform} from 'react-native';\nimport Slider from '@react-native-community/slider';\n\nconst LOG_PREFIX = '[QuestionSlider v18]';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Brand} from '../../../../variables/brand.native';\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: ViewStyle;\n header: TextStyle;\n textValue: TextStyle;\n valuesContainer: ViewStyle;\n leftValue: ViewStyle;\n rightValue: ViewStyle;\n slider: ViewStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\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 slider: {\n height: 40\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\n console.log(LOG_PREFIX, 'render', {min, max, step, storeValue, unit, platform: Platform.OS});\n\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [value, setValue] = useState<number>(storeValue);\n\n const styleSheet = useMemo(\n () => createStyleSheet(brandTheme, theme),\n [brandTheme, theme]\n );\n\n const handleValueChange = useCallback((v: number) => {\n console.log(LOG_PREFIX, 'onValueChange', v);\n setValue(v);\n }, []);\n\n const handleSlidingComplete = useCallback(\n (finalValue: number) => {\n console.log(LOG_PREFIX, 'onSlidingComplete', finalValue);\n setValue(finalValue);\n onSlidingComplete(finalValue);\n },\n [onSlidingComplete]\n );\n\n const handleSlidingStart = useCallback((startValue: number) => {\n console.log(LOG_PREFIX, 'onSlidingStart', startValue);\n }, []);\n\n\n const textStyle: TextStyle = {\n ...styleSheet.header,\n color: brandTheme?.colors?.primary\n };\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={textStyle} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={handleValueChange}\n onSlidingStart={handleSlidingStart}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors?.primary}\n maximumTrackTintColor=\"#b3b3b3\"\n thumbTintColor={brandTheme?.colors?.primary}\n style={styleSheet.slider}\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"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAC,sBAAA,CAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAAoF,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,yBAAAH,CAAA,6BAAAI,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,CAAAH,CAAA,WAAAA,CAAA,GAAAM,CAAA,GAAAD,CAAA,KAAAL,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAK,CAAA,SAAAA,CAAA,IAAAL,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAE,OAAA,EAAAF,CAAA,QAAAM,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAP,CAAA,UAAAM,CAAA,CAAAE,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,CAAAP,OAAA,GAAAF,CAAA,EAAAM,CAAA,IAAAA,CAAA,CAAAa,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAJpF,MAAMW,UAAU,GAAG,sBAAsB;AA8BzC,MAAMC,gBAAgB,GAAGA,CAACC,UAAiB,EAAEC,KAAY,KACvDC,uBAAU,CAACC,MAAM,CAAC;EAChBC,SAAS,EAAE;IACTC,IAAI,EAAE,CAAC;IACPC,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE,QAAQ;IACvBC,cAAc,EAAE;EAClB,CAAC;EACDC,MAAM,EAAE;IACNC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAEV,KAAK,CAACU,UAAU,CAACC,IAAI;IACjCC,SAAS,EAAE;EACb,CAAC;EACDC,SAAS,EAAE;IACTJ,QAAQ,EAAE,EAAE;IACZK,KAAK,EAAEd,KAAK,CAACe,MAAM,CAACC,KAAK;IACzBN,UAAU,EAAEV,KAAK,CAACU,UAAU,CAACC,IAAI;IACjCC,SAAS,EAAE;EACb,CAAC;EACDK,eAAe,EAAE;IACfX,aAAa,EAAE,KAAK;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDW,SAAS,EAAE;IACTd,IAAI,EAAE,CAAC;IACPe,UAAU,EAAE;EACd,CAAC;EACDC,UAAU,EAAE;IACVhB,IAAI,EAAE,CAAC;IACPe,UAAU,EAAE;EACd,CAAC;EACDE,MAAM,EAAE;IACNC,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEJ,MAAMC,cAAc,GAAIC,KAAY,IAAK;EACvC,MAAM;IACJC,IAAI;IACJC,KAAK;IACLC,GAAG;IACHC,GAAG;IACHC,IAAI,GAAG,EAAE;IACTC,KAAK,EAAEC,UAAU,GAAG,CAAC;IACrBC,iBAAiB;IACjBC;EACF,CAAC,GAAGT,KAAK;EAETU,OAAO,CAACC,GAAG,CAACtC,UAAU,EAAE,QAAQ,EAAE;IAAC8B,GAAG;IAAEC,GAAG;IAAEH,IAAI;IAAEM,UAAU;IAAEF,IAAI;IAAEO,QAAQ,EAAEC,qBAAQ,CAACC;EAAE,CAAC,CAAC;EAE5F,MAAMC,eAAe,GAAG,IAAAC,mCAAkB,EAAC,CAAC;EAC5C,MAAM;IAACzC,UAAU;IAAEC;EAAK,CAAC,GAAGuC,eAAe;EAC3C,MAAM,CAACT,KAAK,EAAEW,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAASX,UAAU,CAAC;EAEtD,MAAMY,UAAU,GAAG,IAAAC,cAAO,EACxB,MAAM9C,gBAAgB,CAACC,UAAU,EAAEC,KAAK,CAAC,EACzC,CAACD,UAAU,EAAEC,KAAK,CACpB,CAAC;EAED,MAAM6C,iBAAiB,GAAG,IAAAC,kBAAW,EAAEC,CAAS,IAAK;IACnDb,OAAO,CAACC,GAAG,CAACtC,UAAU,EAAE,eAAe,EAAEkD,CAAC,CAAC;IAC3CN,QAAQ,CAACM,CAAC,CAAC;EACb,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,qBAAqB,GAAG,IAAAF,kBAAW,EACtCG,UAAkB,IAAK;IACtBf,OAAO,CAACC,GAAG,CAACtC,UAAU,EAAE,mBAAmB,EAAEoD,UAAU,CAAC;IACxDR,QAAQ,CAACQ,UAAU,CAAC;IACpBjB,iBAAiB,CAACiB,UAAU,CAAC;EAC/B,CAAC,EACD,CAACjB,iBAAiB,CACpB,CAAC;EAED,MAAMkB,kBAAkB,GAAG,IAAAJ,kBAAW,EAAEK,UAAkB,IAAK;IAC7DjB,OAAO,CAACC,GAAG,CAACtC,UAAU,EAAE,gBAAgB,EAAEsD,UAAU,CAAC;EACvD,CAAC,EAAE,EAAE,CAAC;EAGN,MAAMC,SAAoB,GAAG;IAC3B,GAAGT,UAAU,CAACnC,MAAM;IACpBM,KAAK,EAAEf,UAAU,EAAEgB,MAAM,EAAEsC;EAC7B,CAAC;EAED,oBACEpF,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAClF,YAAA,CAAAmF,IAAI;IAAC7B,KAAK,EAAE,CAACiB,UAAU,CAACxC,SAAS,EAAEuB,KAAK,CAAE;IAACO,MAAM,EAAEA;EAAO,gBACzDhE,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAC/E,MAAA,CAAAI,OAAI;IAAC+C,KAAK,EAAE0B,SAAU;IAACnB,MAAM,EAAC;EAAc,GAC1CH,KACG,CAAC,eACP7D,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAACjF,OAAA,CAAAM,OAAM;IACL8C,IAAI,EAAEA,IAAI,IAAI,CAAE;IAChBK,KAAK,EAAEA,KAAM;IACb0B,aAAa,EAAEX,iBAAkB;IACjCY,cAAc,EAAEP,kBAAmB;IACnCQ,YAAY,EAAE9B,GAAI;IAClB+B,YAAY,EAAEhC,GAAI;IAClBK,iBAAiB,EAAEgB,qBAAsB;IACzCY,qBAAqB,EAAE7D,UAAU,EAAEgB,MAAM,EAAEsC,OAAQ;IACnDQ,qBAAqB,EAAC,SAAS;IAC/BC,cAAc,EAAE/D,UAAU,EAAEgB,MAAM,EAAEsC,OAAQ;IAC5C3B,KAAK,EAAEiB,UAAU,CAACtB,MAAO;IACzBY,MAAM,EAAC;EAAQ,CAChB,CAAC,eACFhE,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAClF,YAAA,CAAAmF,IAAI;IAAC7B,KAAK,EAAEiB,UAAU,CAAC1B,eAAgB;IAACgB,MAAM,EAAC;EAAyB,gBACvEhE,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAClF,YAAA,CAAAmF,IAAI;IAAC7B,KAAK,EAAEiB,UAAU,CAACzB;EAAU,gBAChCjD,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAC/E,MAAA,CAAAI,OAAI;IAAC+C,KAAK,EAAEiB,UAAU,CAAC9B,SAAU;IAACoB,MAAM,EAAC;EAAkB,GACzD,GAAGN,GAAG,IAAIE,IAAI,EACX,CACF,CAAC,eACP5D,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAClF,YAAA,CAAAmF,IAAI;IAAC7B,KAAK,EAAEiB,UAAU,CAACvB;EAAW,gBACjCnD,MAAA,CAAAU,OAAA,CAAA2E,aAAA,CAAC/E,MAAA,CAAAI,OAAI;IAAC+C,KAAK,EAAEiB,UAAU,CAAC9B,SAAU;IAACoB,MAAM,EAAC;EAAkB,GACzD,GAAGL,GAAG,IAAIC,IAAI,EACX,CACF,CACF,CACF,CAAC;AAEX,CAAC;AAAC,IAAAkC,QAAA,GAAAC,OAAA,CAAArF,OAAA,GAEa4C,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_slider","_interopRequireDefault","_index","_templateContext","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","LOG_PREFIX","createStyleSheet","brandTheme","theme","StyleSheet","create","container","flex","paddingHorizontal","flexDirection","justifyContent","header","fontSize","fontWeight","bold","textAlign","textValue","color","colors","black","valuesContainer","leftValue","alignItems","rightValue","slider","height","QuestionSlider","props","step","style","min","max","unit","value","storeValue","onSlidingComplete","testID","console","log","platform","Platform","OS","templateContext","useTemplateContext","setValue","useState","styleSheet","useMemo","handleValueChange","useCallback","v","handleSlidingComplete","finalValue","handleSlidingStart","startValue","textStyle","primary","createElement","View","onValueChange","onSlidingStart","maximumValue","minimumValue","minimumTrackTintColor","maximumTrackTintColor","thumbTintColor","_default","exports"],"sources":["../../../../../src/molecule/questions/mobile/slider/index.native.tsx"],"sourcesContent":["import React, {useState, useMemo, useCallback} from 'react';\nimport {View, StyleSheet, ViewStyle, TextStyle, Platform} from 'react-native';\nimport Slider from '@react-native-community/slider';\n\nconst LOG_PREFIX = '[Slider debug v19]';\n\nimport {Theme} from '../../../../variables/theme.native';\nimport Text from '../../../../atom/text/index.native';\nimport {useTemplateContext} from '../../../../template/app-review/template-context';\nimport {Brand} from '../../../../variables/brand.native';\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: ViewStyle;\n header: TextStyle;\n textValue: TextStyle;\n valuesContainer: ViewStyle;\n leftValue: ViewStyle;\n rightValue: ViewStyle;\n slider: ViewStyle;\n};\n\nconst createStyleSheet = (brandTheme: Brand, theme: Theme): StyleSheetType =>\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 slider: {\n height: 40\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\n console.log(LOG_PREFIX, 'render', {min, max, step, storeValue, unit, platform: Platform.OS});\n\n const templateContext = useTemplateContext();\n const {brandTheme, theme} = templateContext;\n const [value, setValue] = useState<number>(storeValue);\n\n const styleSheet = useMemo(\n () => createStyleSheet(brandTheme, theme),\n [brandTheme, theme]\n );\n\n const handleValueChange = useCallback((v: number) => {\n console.log(LOG_PREFIX, 'onValueChange', v);\n setValue(v);\n }, []);\n\n const handleSlidingComplete = useCallback(\n (finalValue: number) => {\n console.log(LOG_PREFIX, 'onSlidingComplete', finalValue);\n setValue(finalValue);\n onSlidingComplete(finalValue);\n },\n [onSlidingComplete]\n );\n\n const handleSlidingStart = useCallback((startValue: number) => {\n console.log(LOG_PREFIX, 'onSlidingStart', startValue);\n }, []);\n\n\n const textStyle: TextStyle = {\n ...styleSheet.header,\n color: brandTheme?.colors?.primary\n };\n\n return (\n <View style={[styleSheet.container, style]} testID={testID}>\n <Text style={textStyle} testID=\"slider-value\">\n {value}\n </Text>\n <Slider\n step={step || 1}\n value={value}\n onValueChange={handleValueChange}\n onSlidingStart={handleSlidingStart}\n maximumValue={max}\n minimumValue={min}\n onSlidingComplete={handleSlidingComplete}\n minimumTrackTintColor={brandTheme?.colors?.primary}\n maximumTrackTintColor=\"#b3b3b3\"\n thumbTintColor={brandTheme?.colors?.primary}\n style={styleSheet.slider}\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAYzC,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAIP,MAAM,aAAa,CAAC;AAErB,oBAAY,KAAK,GAAG;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAqBF,QAAA,MAAM,MAAM,UAAW,KAAK,
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAYzC,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EAIP,MAAM,aAAa,CAAC;AAErB,oBAAY,KAAK,GAAG;IAClB,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,CAAC;AAqBF,QAAA,MAAM,MAAM,UAAW,KAAK,sBAsK3B,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -107,7 +107,16 @@ const Switch = props => {
|
|
|
107
107
|
}, choice.label)));
|
|
108
108
|
case 'slider':
|
|
109
109
|
{
|
|
110
|
+
console.log('[Slider debug v19] Switch slider', {
|
|
111
|
+
min,
|
|
112
|
+
max,
|
|
113
|
+
value,
|
|
114
|
+
step,
|
|
115
|
+
unit,
|
|
116
|
+
hasCallback: !!handleSlidingComplete
|
|
117
|
+
});
|
|
110
118
|
if (min === undefined || max === undefined) {
|
|
119
|
+
console.log('[Slider debug v19] Switch slider → EMPTY (min/max undefined)');
|
|
111
120
|
return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
|
|
112
121
|
}
|
|
113
122
|
return /*#__PURE__*/_react.default.createElement(_index4.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_index","_interopRequireDefault","_index2","_index3","_index4","_index5","_templateContext","_analytics","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styleSheet","StyleSheet","create","cards","flexDirection","alignItems","card","flex","choice","paddingVertical","Switch","props","templateContext","useTemplateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","choices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","useCallback","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","ANALYTICS_EVENT_TYPE","SLIDE","id","questionType","createElement","View","testID","map","key","_id","isSelected","selected","style","label","media","undefined","onSlidingComplete","console","warn","onInputChange","fullWidth","onChange","Text","_default","exports"],"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text, ViewStyle} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/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 type {\n QuestionType,\n Choice,\n TemplateListOfChoices,\n TemplateTextChoice,\n SelectableChoice\n} from '../../types';\n\nexport type Props = {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n choices?: Array<Choice>;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onInputValueChange?: (value: string) => void;\n onSliderChange?: (value: number) => void;\n // --- mobile learner only\n onItemInputChange?: (item: Choice, value: string) => void;\n onItemPress?: (item: Choice) => void;\n};\n\ntype StyleSheetType = {\n cards: ViewStyle;\n card: ViewStyle;\n choice: ViewStyle;\n};\n\nconst styleSheet: StyleSheetType = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n },\n choice: {\n paddingVertical: 5\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics, store} = templateContext;\n const {focusedSelectId, handleBlur, handleFocus} = store;\n\n const {\n type,\n template,\n isDisabled,\n choices = [],\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange\n } = props;\n\n const handleChoicePress = useCallback(\n (choice: Choice) => () => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress();\n } else if (onItemPress) {\n // e.g. learner\n onItemPress(choice);\n }\n },\n [onItemPress]\n );\n\n const handleItemInputChange = useCallback(\n (choice: Choice, _value: string) => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress(_value);\n } else if (onItemInputChange) {\n // e.g. learner\n onItemInputChange(choice, _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 {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\">\n {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n media={choice.media}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\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 // eslint-disable-next-line no-console\n console.warn('type template must implement handleFocus etc within Context.store');\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n choices={choices as (TemplateListOfChoices | TemplateTextChoice)[]}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={choices as SelectableChoice[]} onPress={handleChoicePress} />\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 />\n );\n default:\n return (\n <View>\n <Text>Unhandled type: {type}</Text>\n </View>\n );\n }\n};\n\nexport default Switch;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_index","_interopRequireDefault","_index2","_index3","_index4","_index5","_templateContext","_analytics","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styleSheet","StyleSheet","create","cards","flexDirection","alignItems","card","flex","choice","paddingVertical","Switch","props","templateContext","useTemplateContext","analytics","store","focusedSelectId","handleBlur","handleFocus","type","template","isDisabled","choices","min","max","unit","value","step","onSliderChange","onItemPress","onItemInputChange","onInputValueChange","handleChoicePress","useCallback","onPress","handleItemInputChange","_value","handleSlidingComplete","logEvent","ANALYTICS_EVENT_TYPE","SLIDE","id","questionType","createElement","View","testID","map","key","_id","isSelected","selected","style","label","media","console","log","hasCallback","undefined","onSlidingComplete","warn","onInputChange","fullWidth","onChange","Text","_default","exports"],"sources":["../../../../../src/molecule/questions/mobile/switch/index.native.tsx"],"sourcesContent":["import React, {useCallback} from 'react';\nimport {View, StyleSheet, Text, ViewStyle} from 'react-native';\n\nimport QuestionChoice from '../../../../atom/choice/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 type {\n QuestionType,\n Choice,\n TemplateListOfChoices,\n TemplateTextChoice,\n SelectableChoice\n} from '../../types';\n\nexport type Props = {\n type: QuestionType;\n isDisabled?: boolean;\n template?: string;\n choices?: Array<Choice>;\n min?: number;\n max?: number;\n unit?: string;\n step?: number;\n value?: number;\n onInputValueChange?: (value: string) => void;\n onSliderChange?: (value: number) => void;\n // --- mobile learner only\n onItemInputChange?: (item: Choice, value: string) => void;\n onItemPress?: (item: Choice) => void;\n};\n\ntype StyleSheetType = {\n cards: ViewStyle;\n card: ViewStyle;\n choice: ViewStyle;\n};\n\nconst styleSheet: StyleSheetType = StyleSheet.create({\n cards: {\n flexDirection: 'row',\n alignItems: 'stretch'\n },\n card: {\n flex: 1\n },\n choice: {\n paddingVertical: 5\n }\n});\n\nconst Switch = (props: Props) => {\n const templateContext = useTemplateContext();\n const {analytics, store} = templateContext;\n const {focusedSelectId, handleBlur, handleFocus} = store;\n\n const {\n type,\n template,\n isDisabled,\n choices = [],\n min,\n max,\n unit,\n value,\n step,\n onSliderChange,\n onItemPress,\n onItemInputChange,\n onInputValueChange\n } = props;\n\n const handleChoicePress = useCallback(\n (choice: Choice) => () => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress();\n } else if (onItemPress) {\n // e.g. learner\n onItemPress(choice);\n }\n },\n [onItemPress]\n );\n\n const handleItemInputChange = useCallback(\n (choice: Choice, _value: string) => {\n if ((choice as SelectableChoice).onPress) {\n // e.g. app-review\n (choice as SelectableChoice).onPress(_value);\n } else if (onItemInputChange) {\n // e.g. learner\n onItemInputChange(choice, _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 {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'qcmGraphic':\n return (\n <View testID=\"question-choices\">\n {(choices as SelectableChoice[]).map(choice => (\n <QuestionChoice\n key={`question-choice-${choice._id}`}\n onPress={handleChoicePress(choice)}\n media={choice.media}\n isDisabled={isDisabled}\n isSelected={choice.selected}\n testID={`question-choice-${choice._id}`}\n style={styleSheet.choice}\n questionType={type}\n >\n {choice.label}\n </QuestionChoice>\n ))}\n </View>\n );\n case 'slider': {\n console.log('[Slider debug v19] Switch slider', {min, max, value, step, unit, hasCallback: !!handleSlidingComplete});\n if (min === undefined || max === undefined) {\n console.log('[Slider debug v19] Switch slider → EMPTY (min/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 // eslint-disable-next-line no-console\n console.warn('type template must implement handleFocus etc within Context.store');\n return <View />;\n }\n\n return (\n <View testID=\"question-choices\">\n <QuestionTemplate\n isDisabled={isDisabled}\n template={template || ''}\n choices={choices as (TemplateListOfChoices | TemplateTextChoice)[]}\n onInputChange={handleItemInputChange}\n handleBlur={handleBlur}\n handleFocus={handleFocus}\n focusedSelectId={focusedSelectId}\n />\n </View>\n );\n case 'qcmDrag':\n return (\n <View testID=\"question-draggable\">\n <QuestionDraggable choices={choices as SelectableChoice[]} onPress={handleChoicePress} />\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 />\n );\n default:\n return (\n <View>\n <Text>Unhandled type: {type}</Text>\n </View>\n );\n }\n};\n\nexport default Switch;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../src/organism/review-slide/index.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AA2BvE,OAAO,EAAa,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAiRtE,QAAA,MAAM,KAAK,UAAW,gBAAgB,sBAyErC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -172,6 +172,11 @@ const Question = props => {
|
|
|
172
172
|
}, [theme]);
|
|
173
173
|
if (!answerUI || !questionText || !style) return null;
|
|
174
174
|
const isSlider = answerUI.model?.type === 'slider';
|
|
175
|
+
console.log('[Slider debug v19] Question', {
|
|
176
|
+
modelType: answerUI.model?.type,
|
|
177
|
+
isSlider,
|
|
178
|
+
hasModel: !!answerUI.model
|
|
179
|
+
});
|
|
175
180
|
const hasVideoOrImage = answerUI.media?.type && [_propTypes.TYPE_VIDEO, _propTypes.TYPE_IMAGE].includes(answerUI.media.type);
|
|
176
181
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
|
|
177
182
|
style: style.questionHeading
|
|
@@ -268,6 +273,11 @@ const Slide = props => {
|
|
|
268
273
|
} = (0, _reactNative.useWindowDimensions)();
|
|
269
274
|
const slideStyle = (0, _react.useMemo)(() => createSlideStyle(num, width, isKeyboardVisible), [num, width, isKeyboardVisible]);
|
|
270
275
|
const isFirstSlide = num === 1;
|
|
276
|
+
console.log('[Slider debug v19] Slide', {
|
|
277
|
+
num,
|
|
278
|
+
isFirstSlide,
|
|
279
|
+
slideIndex
|
|
280
|
+
});
|
|
271
281
|
const {
|
|
272
282
|
loading,
|
|
273
283
|
parentContentTitle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_get","_interopRequireDefault","_getOr","_reactNativeAnimation","_index","_index2","_templateContext","_index3","_propTypes","_index4","_index5","_useMobileKeyboardVisibility","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","createElement","View","style","TYPE_IMAGE","uri","url","split","Image","source","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","information","getOr","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","Animated","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","isSlider","model","hasVideoOrImage","includes","Fragment","isTextCentered","ScrollView","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","nestedScrollEnabled","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","useMobileKeyboardVisibility","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","useMemo","isFirstSlide","loading","parentContentTitle","pointerEvents","key","disabled","submitValue","onPress","testID","_default","exports"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = correctionPopinProps.klf;\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const isSlider = answerUI.model?.type === 'slider';\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n {isSlider ? (\n <View style={[style.choicesScrollView, style.choicesScrollContent]}>\n <Answer {...answerUI} />\n </View>\n ) : (\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n nestedScrollEnabled\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n )}\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} pointerEvents={isFirstSlide ? 'auto' : 'none'} />;\n }\n\n return (\n <Animated.View\n style={[slideStyle.slide, animatedStyle]}\n pointerEvents={isFirstSlide ? 'auto' : 'none'}\n >\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.native.js","names":["_react","_interopRequireWildcard","require","_reactNative","_get","_interopRequireDefault","_getOr","_reactNativeAnimation","_index","_index2","_templateContext","_index3","_propTypes","_index4","_index5","_useMobileKeyboardVisibility","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","styles","StyleSheet","create","mediaContainer","alignItems","justifyContent","width","height","borderRadius","overflow","image","flex","correctionPopinWrapper","position","bottom","MediaView","media","autoplay","type","TYPE_VIDEO","createElement","View","style","TYPE_IMAGE","uri","url","split","Image","source","TYPE_AUDIO","CorrectionPopin","correctionPopinProps","slideIndex","showCorrectionPopin","animateCorrectionPopin","translateUp","useTranslateY","fromValue","toValue","duration","easing","Easing","bezier","useEffect","start","klf","information","getOr","label","message","next","onClick","_correctionPopinProps","resultLabel","animatedStyle","Animated","createQuestionStyle","theme","questionHeading","questionOriginContainer","marginBottom","spacing","tiny","marginTop","small","questionOrigin","fontSize","lineHeight","color","colors","text","primary","textAlign","questionTextContainer","marginVertical","questionText","fontWeight","questionHelpContainer","questionHelp","gray","medium","choicesScrollView","choicesScrollContent","flexGrow","padding","Question","props","answerUI","isKeyboardVisible","autoplayMedia","useTemplateContext","setStyle","useState","questionStyle","isSlider","model","console","log","modelType","hasModel","hasVideoOrImage","includes","Fragment","isTextCentered","ScrollView","contentContainerStyle","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","nestedScrollEnabled","createSlideStyle","num","screenWidth","slideWidth","hiddenBackgroundToLockActions","left","right","top","backgroundColor","slide","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","Slide","validateButton","isValidated","setValidated","useMobileKeyboardVisibility","handleValidatePress","useCallback","Keyboard","dismiss","setTimeout","useWindowDimensions","slideStyle","useMemo","isFirstSlide","loading","parentContentTitle","pointerEvents","key","disabled","submitValue","onPress","testID","_default","exports"],"sources":["../../../src/organism/review-slide/index.native.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {\n Animated,\n Easing,\n Image,\n Keyboard,\n ScrollView,\n StyleSheet,\n TextStyle,\n useWindowDimensions,\n View,\n ViewStyle\n} from 'react-native';\nimport get from 'lodash/fp/get';\nimport getOr from 'lodash/fp/getOr';\nimport {useTranslateY} from '@coorpacademy/react-native-animation';\nimport Answer from '../../molecule/answer/index.native';\nimport ReviewCorrectionPopin from '../../molecule/review-correction-popin/index.native';\nimport {useTemplateContext} from '../../template/app-review/template-context';\nimport {Theme} from '../../variables/theme.native';\nimport Button from '../../atom/button/index.native';\nimport {TYPE_AUDIO, TYPE_IMAGE, TYPE_VIDEO} from '../../molecule/answer/prop-types';\nimport Video from '../../molecule/video-player-mobile/index.native';\nimport {Media} from '../../molecule/questions/types';\nimport Html from '../../atom/html/index.native';\nimport useMobileKeyboardVisibility from '../../util/use-mobile-keyboard-visibility';\nimport {PopinProps, ReviewSlideProps, SlideProps} from './prop-types';\n\nconst styles = StyleSheet.create({\n mediaContainer: {\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: 200,\n borderRadius: 10,\n overflow: 'hidden'\n },\n image: {\n flex: 1,\n width: '100%'\n },\n correctionPopinWrapper: {\n position: 'absolute',\n bottom: 16,\n width: '105%'\n }\n});\n\nconst MediaView = ({media, autoplay}: {media?: Media; autoplay: boolean}) => {\n if (!media) {\n return null;\n }\n\n switch (media.type) {\n case TYPE_VIDEO:\n return (\n <View style={styles.mediaContainer}>\n <Video media={media} autoplay={autoplay} />\n </View>\n );\n case TYPE_IMAGE: {\n const uri = `https://${media.url?.split('//')[1]}`;\n return <Image style={[styles.mediaContainer, styles.image]} source={{uri}} />;\n }\n case TYPE_AUDIO:\n default:\n return null;\n }\n};\n\nconst CorrectionPopin = ({\n correctionPopinProps,\n slideIndex,\n showCorrectionPopin,\n animateCorrectionPopin\n}: PopinProps) => {\n const translateUp = useTranslateY({\n fromValue: 500,\n toValue: 0,\n duration: 500,\n easing: Easing.bezier(0.34, 1.36, 0.64, 1)\n });\n\n // the translation is required only once on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(() => translateUp.start(), []);\n\n if (!showCorrectionPopin) return null;\n\n const klf = correctionPopinProps.klf;\n const information = getOr({label: '', message: ''}, 'information', correctionPopinProps);\n const next = get('next', correctionPopinProps);\n const onClick = get(['next', 'onClick'], correctionPopinProps);\n\n const _correctionPopinProps = {\n next: {\n onClick,\n label: next && next.label,\n 'data-name': `next-question-button-${slideIndex}`,\n 'aria-label': next && next['aria-label']\n },\n klf,\n information,\n type: correctionPopinProps.type,\n resultLabel: correctionPopinProps.resultLabel\n };\n\n const style = animateCorrectionPopin\n ? [styles.correctionPopinWrapper, translateUp.animatedStyle]\n : styles.correctionPopinWrapper;\n\n return (\n <Animated.View style={style}>\n <ReviewCorrectionPopin {..._correctionPopinProps} />\n </Animated.View>\n );\n};\n\ntype StyleSheetType = {\n questionHeading: ViewStyle;\n questionOriginContainer: ViewStyle;\n questionOrigin: TextStyle;\n questionTextContainer: TextStyle;\n questionText: TextStyle;\n questionHelpContainer: ViewStyle;\n questionHelp: TextStyle;\n choicesScrollView: ViewStyle;\n choicesScrollContent: ViewStyle;\n};\n\nconst createQuestionStyle = (theme: Theme): StyleSheetType =>\n StyleSheet.create({\n questionHeading: {\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n questionOriginContainer: {\n marginBottom: theme.spacing.tiny,\n marginTop: theme.spacing.small\n },\n questionOrigin: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.text.primary,\n textAlign: 'center'\n },\n questionTextContainer: {\n marginVertical: 4,\n textAlign: 'center'\n },\n questionText: {\n fontSize: 16,\n lineHeight: 22,\n fontWeight: '700',\n color: theme.colors.text.primary\n },\n questionHelpContainer: {\n marginVertical: 4\n },\n questionHelp: {\n fontSize: 12,\n lineHeight: 16,\n color: theme.colors.gray.medium,\n marginBottom: 0,\n marginTop: theme.spacing.small,\n textAlign: 'center'\n },\n choicesScrollView: {\n marginTop: 20,\n width: '100%'\n },\n choicesScrollContent: {\n flexGrow: 1,\n justifyContent: 'space-around',\n padding: 10\n }\n });\n\ntype QuestionProps = {\n autoplayMedia: boolean;\n answerUI: SlideProps['answerUI'];\n isKeyboardVisible: boolean;\n questionText: SlideProps['questionText'];\n questionOrigin: SlideProps['parentContentTitle'];\n};\n\nconst Question = (props: QuestionProps) => {\n const {\n answerUI,\n questionText,\n questionOrigin = '',\n isKeyboardVisible,\n autoplayMedia = false\n } = props;\n const {theme} = useTemplateContext();\n const [style, setStyle] = useState<StyleSheetType>();\n\n useEffect(() => {\n const questionStyle = createQuestionStyle(theme);\n setStyle(questionStyle);\n }, [theme]);\n\n if (!answerUI || !questionText || !style) return null;\n\n const isSlider = answerUI.model?.type === 'slider';\n console.log('[Slider debug v19] Question', {\n modelType: answerUI.model?.type,\n isSlider,\n hasModel: !!answerUI.model\n });\n const hasVideoOrImage =\n answerUI.media?.type && [TYPE_VIDEO, TYPE_IMAGE].includes(answerUI.media.type);\n\n return (\n <>\n <View style={style.questionHeading}>\n <View style={style.questionOriginContainer}>\n <Html style={style.questionOrigin} isTextCentered>\n {questionOrigin}\n </Html>\n </View>\n <View style={style.questionTextContainer}>\n <Html style={style.questionText} isTextCentered>\n {questionText}\n </Html>\n </View>\n <View style={style.questionHelpContainer}>\n <Html style={style.questionHelp}>{get('help', answerUI)}</Html>\n </View>\n </View>\n {isSlider ? (\n <View style={[style.choicesScrollView, style.choicesScrollContent]}>\n <Answer {...answerUI} />\n </View>\n ) : (\n <ScrollView\n style={style.choicesScrollView}\n contentContainerStyle={style.choicesScrollContent}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n nestedScrollEnabled\n >\n {!isKeyboardVisible && hasVideoOrImage ? (\n <MediaView media={answerUI.media} autoplay={autoplayMedia} />\n ) : null}\n <View\n style={{\n marginTop: hasVideoOrImage ? 30 : 0\n }}\n >\n <Answer {...answerUI} />\n </View>\n </ScrollView>\n )}\n </>\n );\n};\n\ntype SlideStyle = {\n slide: ViewStyle;\n hiddenBackgroundToLockActions: ViewStyle;\n};\n\nconst createSlideStyle = (\n num: number,\n screenWidth: number,\n isKeyboardVisible: boolean\n): SlideStyle => {\n const slideWidth = screenWidth - 40 - num * 8;\n\n return StyleSheet.create({\n hiddenBackgroundToLockActions: {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n backgroundColor: '#00000000'\n },\n slide: {\n position: 'absolute',\n left: 20 + num * 4,\n bottom: (isKeyboardVisible ? 5 : 34) + num * 5,\n backgroundColor: '#fff', // theme.colors.white\n height: '90%',\n width: slideWidth,\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 25,\n shadowColor: '#000',\n shadowOffset: {width: 0, height: -1},\n shadowOpacity: 0.05,\n shadowRadius: 16,\n elevation: 10 - num * 1,\n borderRadius: 16\n }\n });\n};\n\nconst Slide = (props: ReviewSlideProps) => {\n const {animatedStyle, slide, correctionPopinProps, validateButton, num, slideIndex = '0'} = props;\n const [isValidated, setValidated] = useState<boolean>(false);\n\n const isKeyboardVisible = useMobileKeyboardVisibility();\n\n const handleValidatePress = useCallback(() => {\n Keyboard.dismiss();\n setValidated(true);\n\n // calling the onclick later, after react has rerendered, to display the locking BG as soon as possible\n setTimeout(() => {\n validateButton.onClick();\n }, 20);\n\n // only to create on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const {width} = useWindowDimensions();\n const slideStyle = useMemo(\n () => createSlideStyle(num, width, isKeyboardVisible),\n [num, width, isKeyboardVisible]\n );\n const isFirstSlide = num === 1;\n console.log('[Slider debug v19] Slide', {num, isFirstSlide, slideIndex});\n\n const {\n loading,\n parentContentTitle,\n questionText,\n answerUI,\n showCorrectionPopin,\n animateCorrectionPopin\n } = slide;\n\n if (loading) {\n return <View style={slideStyle.slide} pointerEvents={isFirstSlide ? 'auto' : 'none'} />;\n }\n\n return (\n <Animated.View\n style={[slideStyle.slide, animatedStyle]}\n pointerEvents={isFirstSlide ? 'auto' : 'none'}\n >\n <Question\n questionOrigin={parentContentTitle}\n questionText={questionText}\n answerUI={answerUI}\n autoplayMedia={isFirstSlide}\n isKeyboardVisible={isKeyboardVisible}\n key=\"question-container\"\n />\n {isKeyboardVisible ? null : (\n <Button\n disabled={isValidated || validateButton.disabled}\n submitValue={validateButton.label}\n onPress={handleValidatePress}\n testID={`slide-validate-button-${slideIndex}`}\n />\n )}\n {isValidated ? <View style={slideStyle.hiddenBackgroundToLockActions} /> : null}\n {correctionPopinProps ? (\n <CorrectionPopin\n correctionPopinProps={correctionPopinProps}\n slideIndex={slideIndex}\n showCorrectionPopin={showCorrectionPopin}\n animateCorrectionPopin={animateCorrectionPopin}\n key=\"correction-popin\"\n />\n ) : null}\n </Animated.View>\n );\n};\n\nexport default Slide;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@coorpacademy/components",
|
|
3
|
-
"version": "11.40.22-slider.
|
|
3
|
+
"version": "11.40.22-slider.19+203cb400e",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -171,5 +171,5 @@
|
|
|
171
171
|
"last 2 versions",
|
|
172
172
|
"IE 11"
|
|
173
173
|
],
|
|
174
|
-
"gitHead": "
|
|
174
|
+
"gitHead": "203cb400eeb3e9b82cc4002e6e5df1590a4aad08"
|
|
175
175
|
}
|