@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.
Files changed (2) hide show
  1. package/es/index.js +52 -53
  2. 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 _ref11 = e.target || {},
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 (_ref12) {
316
- var initial = _ref12.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 (_ref13) {
330
- var _ref13$canScroll = _ref13.canScroll,
331
- canScroll = _ref13$canScroll === void 0 ? false : _ref13$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 _ref14 = resultsStyle || {},
364
- _ref14$barColor = _ref14.barColor,
365
- resultsBarColor = _ref14$barColor === void 0 ? null : _ref14$barColor,
366
- _ref14$textColor = _ref14.textColor,
367
- resultsTextColor = _ref14$textColor === void 0 ? null : _ref14$textColor,
368
- _ref14$percentageText = _ref14.percentageTextStyle,
369
- resultsPercentageTextStyle = _ref14$percentageText === void 0 ? null : _ref14$percentageText;
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 _ref15 = answer || {},
374
- _ref15$result = _ref15.result,
375
- answerResult = _ref15$result === void 0 ? null : _ref15$result;
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 _ref16 = answer || {},
387
- _ref16$label = _ref16.label,
388
- label = _ref16$label === void 0 ? null : _ref16$label,
389
- _ref16$buttonStyle = _ref16.buttonStyle,
390
- answerButtonStyle = _ref16$buttonStyle === void 0 ? null : _ref16$buttonStyle,
391
- _ref16$textStyle = _ref16.textStyle,
392
- answerButtonTextStyle = _ref16$textStyle === void 0 ? null : _ref16$textStyle,
393
- _ref16$resultStyle = _ref16.resultStyle,
394
- answerResultStyle = _ref16$resultStyle === void 0 ? null : _ref16$resultStyle;
395
- var _ref17 = answerResultStyle || {},
396
- _ref17$barColor = _ref17.barColor,
397
- answerResultBarColor = _ref17$barColor === void 0 ? null : _ref17$barColor,
398
- answerResultTextColor = _ref17.textColor,
399
- _ref17$percentageText = _ref17.percentageTextStyle,
400
- answerResultPercentageTextStyle = _ref17$percentageText === void 0 ? null : _ref17$percentageText;
401
- var _ref18 = label || {},
402
- _ref18$body = _ref18.body,
403
- body = _ref18$body === void 0 ? null : _ref18$body;
404
- var _ref19 = body !== null ? quizAnswersComputed[body] || {} : {},
405
- _ref19$percent = _ref19.percent,
406
- percent = _ref19$percent === void 0 ? 0 : _ref19$percent,
407
- _ref19$count = _ref19.count,
408
- count = _ref19$count === void 0 ? 0 : _ref19$count;
409
- var _ref20 = label || {},
410
- _ref20$textStyle = _ref20.textStyle,
411
- textStyle = _ref20$textStyle === void 0 ? null : _ref20$textStyle;
412
- var _ref21 = textStyle || {},
413
- _ref21$color = _ref21.color,
414
- labelColor = _ref21$color === void 0 ? null : _ref21$color;
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 _ref22 = buttonStyles || {},
421
- _ref22$borderRadius = _ref22.borderRadius,
422
- answerResultBorderRadius = _ref22$borderRadius === void 0 ? null : _ref22$borderRadius;
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.682",
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.679",
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": "ff77a57d44913b0e5afa373445ae9f014799e183"
90
+ "gitHead": "662297219d49d234efcc13ad507529d0ebff5427"
90
91
  }