@micromag/screen-survey 0.3.682 → 0.3.693
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/index.js +52 -53
- package/package.json +4 -3
package/es/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
6
6
|
import { faRedo } from '@fortawesome/free-solid-svg-icons/faRedo';
|
|
7
7
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
8
8
|
import classNames from 'classnames';
|
|
9
|
+
import DOMPurify from 'dompurify';
|
|
9
10
|
import isNumber from 'lodash/isNumber';
|
|
10
11
|
import PropTypes from 'prop-types';
|
|
11
12
|
import React, { useState, useMemo, useCallback, useEffect } from 'react';
|
|
@@ -229,7 +230,7 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
229
230
|
var onAnswerClick = useCallback(function (answerIndex) {
|
|
230
231
|
if (userAnswerIndex === null) {
|
|
231
232
|
setUserAnswerIndex(answerIndex);
|
|
232
|
-
var answer = answers[answerIndex];
|
|
233
|
+
var answer = answers !== null ? answers[answerIndex] : null;
|
|
233
234
|
submitQuiz({
|
|
234
235
|
choice: answer.label.body || answerIndex,
|
|
235
236
|
value: 1
|
|
@@ -269,9 +270,7 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
269
270
|
setInputFocused(false);
|
|
270
271
|
}, [setInputFocused]);
|
|
271
272
|
var onTextInputChange = useCallback(function (e) {
|
|
272
|
-
var
|
|
273
|
-
_ref11$value = _ref11.value,
|
|
274
|
-
value = _ref11$value === void 0 ? null : _ref11$value;
|
|
273
|
+
var value = DOMPurify.sanitize(e.currentTarget.value || '');
|
|
275
274
|
setTextInput(value !== '' ? value : null);
|
|
276
275
|
}, [setTextInput]);
|
|
277
276
|
var onSubmitSuggestion = useCallback(function (e) {
|
|
@@ -284,7 +283,7 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
284
283
|
});
|
|
285
284
|
setUserAnswerIndex('input');
|
|
286
285
|
setInputFocused(false);
|
|
287
|
-
trackScreenEvent('click_answer', "Answer: ".concat(textInput), {
|
|
286
|
+
trackScreenEvent('click_answer', "Answer input: ".concat(textInput), {
|
|
288
287
|
textInput: textInput,
|
|
289
288
|
answerIndex: null,
|
|
290
289
|
answerType: 'custom'
|
|
@@ -312,8 +311,8 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
312
311
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
313
312
|
scrolledBottom = _useState8[0],
|
|
314
313
|
setScrolledBottom = _useState8[1];
|
|
315
|
-
var onScrolledBottom = useCallback(function (
|
|
316
|
-
var initial =
|
|
314
|
+
var onScrolledBottom = useCallback(function (_ref11) {
|
|
315
|
+
var initial = _ref11.initial;
|
|
317
316
|
if (initial) {
|
|
318
317
|
trackScreenEvent('scroll', 'Screen');
|
|
319
318
|
}
|
|
@@ -326,9 +325,9 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
326
325
|
_useState10 = _slicedToArray(_useState9, 2),
|
|
327
326
|
hasScroll = _useState10[0],
|
|
328
327
|
setHasScroll = _useState10[1];
|
|
329
|
-
var onScrollHeightChange = useCallback(function (
|
|
330
|
-
var
|
|
331
|
-
canScroll =
|
|
328
|
+
var onScrollHeightChange = useCallback(function (_ref12) {
|
|
329
|
+
var _ref12$canScroll = _ref12.canScroll,
|
|
330
|
+
canScroll = _ref12$canScroll === void 0 ? false : _ref12$canScroll;
|
|
332
331
|
setHasScroll(canScroll);
|
|
333
332
|
}, [setHasScroll]);
|
|
334
333
|
|
|
@@ -360,19 +359,19 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
360
359
|
var finalTransitionDuration = useMemo(function () {
|
|
361
360
|
return showInstantAnswer ? 0 : "".concat(resultTransitionDuration, "ms");
|
|
362
361
|
}, [showInstantAnswer, resultTransitionDuration]);
|
|
363
|
-
var
|
|
364
|
-
|
|
365
|
-
resultsBarColor =
|
|
366
|
-
|
|
367
|
-
resultsTextColor =
|
|
368
|
-
|
|
369
|
-
resultsPercentageTextStyle =
|
|
362
|
+
var _ref13 = resultsStyle || {},
|
|
363
|
+
_ref13$barColor = _ref13.barColor,
|
|
364
|
+
resultsBarColor = _ref13$barColor === void 0 ? null : _ref13$barColor,
|
|
365
|
+
_ref13$textColor = _ref13.textColor,
|
|
366
|
+
resultsTextColor = _ref13$textColor === void 0 ? null : _ref13$textColor,
|
|
367
|
+
_ref13$percentageText = _ref13.percentageTextStyle,
|
|
368
|
+
resultsPercentageTextStyle = _ref13$percentageText === void 0 ? null : _ref13$percentageText;
|
|
370
369
|
var finalResult = useMemo(function () {
|
|
371
370
|
var defaultResult = hasDefaultResult ? result : null;
|
|
372
|
-
var answer = userAnswerIndex !== null ? answers[userAnswerIndex] : null;
|
|
373
|
-
var
|
|
374
|
-
|
|
375
|
-
answerResult =
|
|
371
|
+
var answer = answers !== null && userAnswerIndex !== null ? answers[userAnswerIndex] : null;
|
|
372
|
+
var _ref14 = answer || {},
|
|
373
|
+
_ref14$result = _ref14.result,
|
|
374
|
+
answerResult = _ref14$result === void 0 ? null : _ref14$result;
|
|
376
375
|
return answerResult || defaultResult;
|
|
377
376
|
}, [hasDefaultResult, result, answers, userAnswerIndex]);
|
|
378
377
|
var showReset = isEdit && userAnswerIndex !== null;
|
|
@@ -383,43 +382,43 @@ var SurveyScreen = function SurveyScreen(_ref) {
|
|
|
383
382
|
className: styles.items
|
|
384
383
|
}, (isPlaceholder ? _toConsumableArray(new Array(3)) : answers).map(function (answer, answerIndex) {
|
|
385
384
|
var hasAnswer = answer !== null;
|
|
386
|
-
var
|
|
387
|
-
|
|
388
|
-
label =
|
|
389
|
-
|
|
390
|
-
answerButtonStyle =
|
|
391
|
-
|
|
392
|
-
answerButtonTextStyle =
|
|
393
|
-
|
|
394
|
-
answerResultStyle =
|
|
395
|
-
var
|
|
396
|
-
|
|
397
|
-
answerResultBarColor =
|
|
398
|
-
answerResultTextColor =
|
|
399
|
-
|
|
400
|
-
answerResultPercentageTextStyle =
|
|
401
|
-
var
|
|
402
|
-
|
|
403
|
-
body =
|
|
404
|
-
var
|
|
405
|
-
|
|
406
|
-
percent =
|
|
407
|
-
|
|
408
|
-
count =
|
|
409
|
-
var
|
|
410
|
-
|
|
411
|
-
textStyle =
|
|
412
|
-
var
|
|
413
|
-
|
|
414
|
-
labelColor =
|
|
385
|
+
var _ref15 = answer || {},
|
|
386
|
+
_ref15$label = _ref15.label,
|
|
387
|
+
label = _ref15$label === void 0 ? null : _ref15$label,
|
|
388
|
+
_ref15$buttonStyle = _ref15.buttonStyle,
|
|
389
|
+
answerButtonStyle = _ref15$buttonStyle === void 0 ? null : _ref15$buttonStyle,
|
|
390
|
+
_ref15$textStyle = _ref15.textStyle,
|
|
391
|
+
answerButtonTextStyle = _ref15$textStyle === void 0 ? null : _ref15$textStyle,
|
|
392
|
+
_ref15$resultStyle = _ref15.resultStyle,
|
|
393
|
+
answerResultStyle = _ref15$resultStyle === void 0 ? null : _ref15$resultStyle;
|
|
394
|
+
var _ref16 = answerResultStyle || {},
|
|
395
|
+
_ref16$barColor = _ref16.barColor,
|
|
396
|
+
answerResultBarColor = _ref16$barColor === void 0 ? null : _ref16$barColor,
|
|
397
|
+
answerResultTextColor = _ref16.textColor,
|
|
398
|
+
_ref16$percentageText = _ref16.percentageTextStyle,
|
|
399
|
+
answerResultPercentageTextStyle = _ref16$percentageText === void 0 ? null : _ref16$percentageText;
|
|
400
|
+
var _ref17 = label || {},
|
|
401
|
+
_ref17$body = _ref17.body,
|
|
402
|
+
body = _ref17$body === void 0 ? null : _ref17$body;
|
|
403
|
+
var _ref18 = body !== null ? quizAnswersComputed[body] || {} : {},
|
|
404
|
+
_ref18$percent = _ref18.percent,
|
|
405
|
+
percent = _ref18$percent === void 0 ? 0 : _ref18$percent,
|
|
406
|
+
_ref18$count = _ref18.count,
|
|
407
|
+
count = _ref18$count === void 0 ? 0 : _ref18$count;
|
|
408
|
+
var _ref19 = label || {},
|
|
409
|
+
_ref19$textStyle = _ref19.textStyle,
|
|
410
|
+
textStyle = _ref19$textStyle === void 0 ? null : _ref19$textStyle;
|
|
411
|
+
var _ref20 = textStyle || {},
|
|
412
|
+
_ref20$color = _ref20.color,
|
|
413
|
+
labelColor = _ref20$color === void 0 ? null : _ref20$color;
|
|
415
414
|
var hasAnswerLabel = isTextFilled(label);
|
|
416
415
|
var userAnswer = userAnswerIndex === answerIndex;
|
|
417
416
|
var buttonStyles = _objectSpread(_objectSpread(_objectSpread({}, buttonsStyle), answerButtonStyle), answered ? {
|
|
418
417
|
textAlign: 'left'
|
|
419
418
|
} : null);
|
|
420
|
-
var
|
|
421
|
-
|
|
422
|
-
answerResultBorderRadius =
|
|
419
|
+
var _ref21 = buttonStyles || {},
|
|
420
|
+
_ref21$borderRadius = _ref21.borderRadius,
|
|
421
|
+
answerResultBorderRadius = _ref21$borderRadius === void 0 ? null : _ref21$borderRadius;
|
|
423
422
|
var finalBarBorderRadius = answerResultBorderRadius !== null && isNumber(answerResultBorderRadius) && answerResultBorderRadius > 2 ? answerResultBorderRadius - 2 : answerResultBorderRadius;
|
|
424
423
|
return /*#__PURE__*/React.createElement("div", {
|
|
425
424
|
key: "answer-".concat(answerIndex + 1),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/screen-survey",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.693",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -74,9 +74,10 @@
|
|
|
74
74
|
"@micromag/element-layout": "^0.3.679",
|
|
75
75
|
"@micromag/element-scroll": "^0.3.679",
|
|
76
76
|
"@micromag/element-text": "^0.3.679",
|
|
77
|
-
"@micromag/element-text-input": "^0.3.
|
|
77
|
+
"@micromag/element-text-input": "^0.3.683",
|
|
78
78
|
"@micromag/transforms": "^0.3.679",
|
|
79
79
|
"classnames": "^2.2.6",
|
|
80
|
+
"dompurify": "^3.2.6",
|
|
80
81
|
"lodash": "^4.17.21",
|
|
81
82
|
"prop-types": "^15.7.2",
|
|
82
83
|
"react-intl": "^6.6.4",
|
|
@@ -86,5 +87,5 @@
|
|
|
86
87
|
"access": "public",
|
|
87
88
|
"registry": "https://registry.npmjs.org/"
|
|
88
89
|
},
|
|
89
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "662297219d49d234efcc13ad507529d0ebff5427"
|
|
90
91
|
}
|