{"version":3,"file":"js/lib-swidget-ed46bdd43b8242799c1b.js","mappings":"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","sources":["webpack://AYTM/./node_modules/autobind-decorator/lib/esm/index.js","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/styles/oex.module.scss?e440","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/components/oex/UnformattedInput.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/questions/components/oex.jsx","webpack://AYTM/./app/_stock/webpack/app/swidget/export.val-loaded.js","webpack://AYTM/./node_modules/classnames/index.js","webpack://AYTM/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://AYTM/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nexport function boundMethod(target, key, descriptor) {\n  var fn = descriptor.value;\n\n  if (typeof fn !== 'function') {\n    throw new TypeError(\"@boundMethod decorator can only be applied to methods not: \".concat(_typeof(fn)));\n  } // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n  // getter for the property which is being replaced. This causes infinite\n  // recursion and an \"Out of stack space\" error.\n\n\n  var definingProperty = false;\n  return {\n    configurable: true,\n    get: function get() {\n      // eslint-disable-next-line no-prototype-builtins\n      if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {\n        return fn;\n      }\n\n      var boundFn = fn.bind(this);\n      definingProperty = true;\n      Object.defineProperty(this, key, {\n        configurable: true,\n        get: function get() {\n          return boundFn;\n        },\n        set: function set(value) {\n          fn = value;\n          delete this[key];\n        }\n      });\n      definingProperty = false;\n      return boundFn;\n    },\n    set: function set(value) {\n      fn = value;\n    }\n  };\n}\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\n\nexport function boundClass(target) {\n  // (Using reflect to get all keys including symbols)\n  var keys; // Use Reflect if exists\n\n  if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n    keys = Reflect.ownKeys(target.prototype);\n  } else {\n    keys = Object.getOwnPropertyNames(target.prototype); // Use symbols if support is provided\n\n    if (typeof Object.getOwnPropertySymbols === 'function') {\n      keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n    }\n  }\n\n  keys.forEach(function (key) {\n    // Ignore special case target method\n    if (key === 'constructor') {\n      return;\n    }\n\n    var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key); // Only methods need binding\n\n    if (typeof descriptor.value === 'function') {\n      Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n    }\n  });\n  return target;\n}\nexport default function autobind() {\n  if (arguments.length === 1) {\n    return boundClass.apply(void 0, arguments);\n  }\n\n  return boundMethod.apply(void 0, arguments);\n}","// extracted by mini-css-extract-plugin\nexport default {\"component\":\"oex-module__component___1gpig swidget-question-oex\",\"answerTextSpan\":\"oex-module__answerTextSpan___BMtjn oex-answer-text swidget-global-span\",\"naAnswer\":\"oex-module__naAnswer___1neDA\",\"answer\":\"oex-module__answer___jg3wh swidget-question-oex-answer\",\"disabled\":\"oex-module__disabled___2DbPb\",\"answer-focused\":\"oex-module__answer-focused___kE4Dc swidget-question-oex-answer-focused\",\"answer-hidden\":\"oex-module__answer-hidden___2Kuqd\",\"answer-error\":\"oex-module__answer-error___sdM9j\",\"UnformattedInput\":\"oex-module__UnformattedInput___MkU-V swidget-question-oex-unformatted-input\",\"answer-no-labels\":\"oex-module__answer-no-labels___16gVJ\",\"answers\":\"oex-module__answers___1q212\",\"answerText\":\"oex-module__answerText___3PhQq\",\"answerErrorSpan\":\"oex-module__answerErrorSpan___3waDu\",\"answerExampleSpan\":\"oex-module__answerExampleSpan___eWXbm\",\"mobile\":\"oex-module__mobile___13EQx swidget-question-theme-mobile\",\"imageWrapper\":\"oex-module__imageWrapper___1nbom\"};","import React, { useRef, useCallback, useEffect, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport { nextFocusableElement, stopEvent } from '@aytm/lib/common/func'\nimport { setSelectionAtEnd } from '@aytm/lib/common/content-editable'\n\nimport style from '@aytm/app/swidget/questions/styles/oex.module.scss'\n\nconst MAX_SAFE_LENGTH = 16384\n\nUnformattedInput.propTypes = {\n  debounce: PropTypes.number,\n  onChange: PropTypes.func,\n  mask: PropTypes.string,\n  onFocus: PropTypes.func,\n  onBlur: PropTypes.func,\n  readOnly: PropTypes.bool\n}\nexport default function UnformattedInput({ debounce, onChange, mask, onFocus, onBlur, readOnly } = {}) {\n  const inputRef = useRef(null)\n  const mutationObserver = useRef(null)\n  const focused = useRef(false)\n  const lastText = useRef('')\n\n  const connectMutationObserver = useCallback(() => {\n    if (null != inputRef.current && null != mutationObserver.current) {\n      mutationObserver.current.observe(inputRef.current, {\n        characterData: true,\n        childList: true,\n        subtree: true\n      })\n    }\n  }, [])\n\n  const disconnectMutationObserver = useCallback(() => {\n    if (null != mutationObserver.current) {\n      mutationObserver.current.disconnect()\n    }\n  }, [])\n\n  const minLength = useMemo(() => {\n    const maskMatch = (mask || '').match(/_\\[(\\d+)\\+]/)\n    return maskMatch ? parseInt(maskMatch[1], 10) : 1\n  }, [mask])\n\n  const onKeyDown = useCallback(event => {\n    switch (event.key) {\n      case 'Enter': {\n        if (!event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {\n          stopEvent(event)\n          const nextFocusable = nextFocusableElement(inputRef.current)\n          if (null != nextFocusable && nextFocusable.focus) {\n            nextFocusable.focus()\n          } else if (inputRef.current && inputRef.current.blur) {\n            inputRef.current.blur()\n          }\n        } else {\n          stopEvent(event)\n        }\n        break\n      }\n      default: {\n        break\n      }\n    }\n  }, [])\n\n  const onLocalFocus = useCallback(\n    event => {\n      focused.current = true\n      if (inputRef.current) {\n        const initValue = inputRef.current.innerText\n        if (0 === trimValue(initValue).length) {\n          inputRef.current.innerText = ''\n        }\n        setSelectionAtEnd(inputRef.current)\n      }\n      connectMutationObserver()\n      if (onFocus) {\n        onFocus(event)\n      }\n    },\n    [onFocus, connectMutationObserver]\n  )\n\n  const onLocalChangedDebounceTimer = useRef(null)\n\n  const onLocalBlur = useCallback(\n    event => {\n      focused.current = true\n      disconnectMutationObserver()\n      focused.current = false\n      if (inputRef.current) {\n        inputRef.current.innerText = trimValue(inputRef.current.innerText)\n      }\n      if (onLocalChangedDebounceTimer.current) {\n        clearTimeout(onLocalChangedDebounceTimer.current)\n        onLocalChangedDebounceTimer.current = null\n        if (onChange) {\n          const value = trimValue(inputRef.current.innerText)\n          if (value !== lastText.current) {\n            lastText.current = value\n            onChange(value, onChangeValidation(value, minLength))\n          }\n        }\n      }\n      if (onBlur) {\n        onBlur(event)\n      }\n    },\n    [onBlur, onChange, disconnectMutationObserver, minLength]\n  )\n\n  const onLocalChanged = useCallback(\n    value => {\n      if (onChange) {\n        if (onLocalChangedDebounceTimer.current) {\n          clearTimeout(onLocalChangedDebounceTimer.current)\n        }\n        onLocalChangedDebounceTimer.current = setTimeout(() => {\n          if (value !== lastText.current) {\n            lastText.current = value\n            onChange(value, onChangeValidation(value, minLength))\n          }\n          onLocalChangedDebounceTimer.current = null\n        }, debounce || 0)\n      }\n    },\n    [debounce, onChange, minLength]\n  )\n\n  useEffect(() => {\n    if (inputRef.current) {\n      const value = trimValue(inputRef.current.innerText)\n      lastText.current = value\n      onChange(value, onChangeValidation(value, minLength))\n    }\n    disconnectMutationObserver()\n    mutationObserver.current =\n      'undefined' !== typeof MutationObserver\n        ? new MutationObserver(_mutations => {\n            if (inputRef.current) {\n              const text = inputRef.current.innerText\n              const value = trimValue(text)\n              if (0 === text.length) {\n                disconnectMutationObserver()\n                inputRef.current.innerText = ''\n                connectMutationObserver()\n              }\n              onLocalChanged(value)\n            }\n          })\n        : null\n    if (focused.current) {\n      connectMutationObserver()\n    }\n    return () => {\n      disconnectMutationObserver()\n      mutationObserver.current = null\n    }\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, [onLocalChanged])\n\n  return (\n    <div\n      className={style.UnformattedInput}\n      onFocus={onLocalFocus}\n      onBlur={onLocalBlur}\n      onKeyDown={onKeyDown}\n      contentEditable={!readOnly}\n      role=\"textbox\"\n      ref={inputRef}\n      data-testid=\"SW-Unformatted-Input\"\n    />\n  )\n}\n\nfunction onChangeValidation(value = '', minLength = 0) {\n  return { empty: 0 === value.length, valid: value.length >= minLength }\n}\n\nfunction trimValue(value = '') {\n  const trimmed = value.trim().replace(/\\n/g, ' ')\n  return trimmed.length <= MAX_SAFE_LENGTH ? trimmed : trimmed.slice(0, MAX_SAFE_LENGTH)\n}\n","import React, { Component, Fragment } from 'react'\nimport { List, Map, fromJS } from 'immutable'\nimport autobind from 'autobind-decorator'\n\nimport Question from '@aytm/app/swidget/questions/components/_base'\n\nimport locale from '@aytm/app/swidget/questions/locale'\nimport { unescapeHTML } from '@aytm/lib/common/func'\n\nimport {\n  SwidgetImage,\n  SwidgetPinImage,\n  SwidgetImagePlaceholder\n} from '@aytm/app/swidget/questions/components/common/swidget-image'\n\nimport {\n  getImageAssetPath,\n  IMAGE_ASSET_SIZE_SMALL,\n  IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n  IMAGE_ASSET_SIZE_MIDDLE\n} from '@aytm/lib/common/assets'\n\nimport OEX_TEMPLATE from '@aytm/app/swidget/questions/lib/oex-template'\nimport FormattedInput from '@aytm/lib/rfd-ui/components/basic/formatted-input'\nimport Checkbox from '@aytm/lib/rfd-ui/components/basic/check-box'\nimport UnformattedInput from '@aytm/app/swidget/questions/components/oex/UnformattedInput'\n\nimport style from '@aytm/app/swidget/questions/styles/oex.module.scss'\nimport commonStyle from '@aytm/app/swidget/questions/styles/common.module.scss'\nimport { createFormatter } from '@aytm/lib/rfd-ui/lib/masked-input'\nimport PropTypes from 'prop-types'\nimport Notice from '@aytm/app/swidget/questions/components/common/notice'\n\nexport class OEXTheme extends Component {\n  static propTypes = {\n    accentColorRGB: PropTypes.object,\n    accentColor: PropTypes.string,\n    columns: PropTypes.number\n  }\n\n  shouldComponentUpdate(nextProps, _nextState) {\n    return nextProps.accentColor !== this.currentAccentColor || nextProps.columns !== this.columns\n  }\n\n  render() {\n    const accentColor = this.props.accentColor\n\n    this.currentAccentColor = accentColor\n\n    return (\n      <style\n        type=\"text/css\"\n        dangerouslySetInnerHTML={{\n          __html: `\n          .swidget-question-oex .swidget-question-oex-answer-focused:before {\n            border-left-color: ${accentColor} !important;\n          }\n          .swidget-question-oex .swidget-question-oex-answer-focused .rfd-ui-formatted-input,\n          .swidget-question-oex .swidget-question-oex-answer-focused .swidget-question-oex-unformatted-input {\n            border-bottom-color: ${accentColor};\n          }\n          `\n        }}\n      />\n    )\n  }\n}\n\nexport default class OEX extends Question {\n  constructor(props) {\n    super(props)\n    this.locale = locale(props.locale).get('questions')\n\n    const { questionSchema, goNext } = this.props\n\n    this.state = {\n      focused: null,\n      ...this.state\n    }\n\n    this.initAnswer(\n      questionSchema.get('answers').map(el =>\n        Map({\n          uid: el.get('id'),\n          comment: el.get('optional') ? '' : el.get('mask'),\n          valid: !el.getIn(['mask_ast', 'error']) && !el.get('na') && (el.get('fakeHidden') || el.get('optional'))\n        })\n      )\n    )\n\n    if (questionSchema.get('auto_advance'))\n      this.timeout = setTimeout(\n        () => {\n          if ('function' == typeof goNext) {\n            setTimeout(() => goNext(), 1500)\n          }\n        },\n        questionSchema.get('auto_advance') * 1000\n      )\n  }\n\n  componentWillUnmount() {\n    super.componentWillUnmount()\n    clearTimeout(this.timeout)\n  }\n\n  validate(answerModel) {\n    const { questionSchema } = this.props\n    const naAnswerIndex = questionSchema.get('answers').findIndex(answer => answer.get('na'))\n    const naAnswerChecked = naAnswerIndex > 0 && answerModel.getIn([naAnswerIndex, 'valid'])\n\n    if (naAnswerChecked) return Map({ valid: true })\n\n    return Map({\n      valid: questionSchema.get('auto_advance')\n        ? true\n        : answerModel.reduce(\n            (prev, cur, i) =>\n              prev &&\n              (cur?.get('valid') ||\n                i == naAnswerIndex ||\n                questionSchema.getIn(['answers', i, 'fakeHidden']) ||\n                questionSchema.getIn(['answers', i, 'hidden'])),\n            true\n          )\n    })\n  }\n\n  backendResponse(answerModel) {\n    const { questionSchema } = this.props\n    if (!answerModel) return []\n\n    const naAnswerIndex = questionSchema.get('answers').findIndex(answer => answer.get('na'))\n    const naAnswerChecked = naAnswerIndex > 0 && answerModel.getIn([naAnswerIndex, 'valid'])\n    if (naAnswerChecked) {\n      return [{ id: answerModel.getIn([naAnswerIndex, 'uid']) }]\n    }\n\n    return answerModel\n      .filter(\n        (a, i) =>\n          a &&\n          i != naAnswerIndex &&\n          !questionSchema.getIn(['answers', i, 'fakeHidden']) &&\n          !questionSchema.getIn(['answers', i, 'hidden'])\n      )\n      .map(el => {\n        const response = { id: el.get('uid') }\n        if (el.get('comment') && !(questionSchema.get('auto_advance') && !el.get('valid')))\n          response.c = el.get('comment').trim()\n        response.valid = questionSchema.get('auto_advance') && !el.get('valid') ? true : el.get('valid')\n        return response\n      })\n      .toArray()\n  }\n\n  formatters = []\n  @autobind\n  getFormatter(i) {\n    return (\n      this.formatters[i] ||\n      (this.formatters[i] = (() => {\n        const mask = this.props.questionSchema.getIn(['answers', i, 'mask'])\n        return '' === mask || /^_\\[\\d+\\+]$/.test(mask) ? null : createFormatter(unescapeHTML(mask))\n      })())\n    )\n  }\n\n  examples = []\n  @autobind\n  getExample(i) {\n    return (\n      this.examples[i] ||\n      (this.examples[i] = (() => {\n        const { questionSchema } = this.props\n\n        const answerItem = questionSchema.getIn(['answers', i])\n\n        if (!answerItem.get('mask')) {\n          // no examples on empty mask\n          return ''\n        }\n\n        const customHint = OEX_TEMPLATE.find(\n          rule => rule.mask == answerItem.get('mask') && rule.text == answerItem.get('text')\n        )\n\n        if (customHint) {\n          return customHint.hint\n        } else {\n          const formatter = this.getFormatter(i)\n          if (formatter) {\n            return formatter.validInputExample()\n          } else {\n            const pattern = 'Abc'.split('')\n            const mask = questionSchema.getIn(['answers', i, 'mask'])\n            const maskMatch = (mask || '').match(/^_\\[(\\d+)\\+]$/)\n            const minLength = maskMatch ? parseInt(maskMatch[1], 10) : 1\n            return `${Array.from({ length: minLength })\n              .map((_, i) => pattern[i % pattern.length])\n              .join('')}...`\n          }\n        }\n      })())\n    )\n  }\n\n  preLoadQuestionImages(props) {\n    const self = this\n    props.questionSchema.get('answers').forEach(answer => {\n      if (answer.getIn(['picture', 'pin_image'])) self.preLoadImage(answer, 'big_thumbnail_path')\n    })\n  }\n\n  collectSmallImages(props) {\n    this.answers = props.questionSchema.get('answers').reduce(\n      (answers, answer) =>\n        answer.get('image')\n          ? answers.push(\n              answer.set(\n                'picture',\n                answer.get('image').merge(\n                  fromJS({\n                    big_thumbnail_path: getImageAssetPath({\n                      filter: IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n                      width: IMAGE_ASSET_SIZE_MIDDLE,\n                      height: IMAGE_ASSET_SIZE_MIDDLE,\n                      path: answer.get('image').get('original_path'),\n                      backgroundColor: 'white',\n                      animated: true\n                    }),\n                    thumbnail_path: getImageAssetPath({\n                      filter: IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT,\n                      width: IMAGE_ASSET_SIZE_SMALL,\n                      height: IMAGE_ASSET_SIZE_SMALL,\n                      path: answer.get('image').get('original_path'),\n                      backgroundColor: 'white',\n                      animated: true\n                    }),\n                    pin_image: answer.get('image').get('expand')\n                  })\n                )\n              )\n            )\n          : answers.push(answer),\n      List()\n    )\n    return this.answers.reduce(\n      (prev, answer) =>\n        answer.get('picture') && !answer.getIn(['picture', 'pin_image'])\n          ? prev.push(answer.getIn(['picture', 'thumbnail_path']))\n          : prev,\n      List()\n    )\n  }\n\n  @autobind\n  getFocused(i) {\n    return this.getFocused[i]\n      ? this.getFocused[i]\n      : (this.getFocused[i] = () => {\n          this.setState({ focused: i })\n        })\n  }\n\n  @autobind\n  getBlur(i) {\n    return this.getBlur[i]\n      ? this.getBlur[i]\n      : (this.getBlur[i] = () => {\n          if (this.state.focused == i) this.setState({ focused: null })\n        })\n  }\n\n  @autobind\n  onChange(i) {\n    return (\n      this.onChange[i] ||\n      (this.onChange[i] = (text, validation) => {\n        if (this.props.questionSchema.getIn(['answers', i, 'fakeHidden'])) return\n        const isOptional = this.props.questionSchema.getIn(['answers', i, 'optional'])\n        const { empty, valid } = validation\n        const changes = {\n          comment: empty ? '' : text,\n          valid: isOptional ? valid || empty : valid && !empty\n        }\n        this.updateAnswer(this.state.answer.mergeIn([i], changes))\n      })\n    )\n  }\n\n  @autobind\n  renderStatusString(i, answer, focused, showErrors, answerModel) {\n    const { questionSchema } = this.props\n    if (!answer.getIn(['mask_ast', 'error']) && focused != i && showErrors && !answerModel.getIn([i, 'valid'])) {\n      const errorText = this.getExample(i)\n      return errorText && !questionSchema.get('no_hints') ? (\n        <span data-testid=\"SW-OEX-AnswerError\" className={style.answerErrorSpan}>{`e.g. ${unescapeHTML(\n          errorText\n        )}`}</span>\n      ) : (\n        <span className={style.answerErrorSpan}>&nbsp;</span>\n      )\n    } else if (answer.getIn(['mask_ast', 'error'])) {\n      return <span className={style.answerErrorSpan}>UNSUPPORTED MASK</span>\n    } else {\n      const exampleText = this.getExample(i)\n      return exampleText && !questionSchema.get('no_hints') ? (\n        <span data-testid=\"SW-OEX-Answer-Example\" className={style.answerExampleSpan}>{`e.g. ${unescapeHTML(\n          exampleText\n        )}`}</span>\n      ) : (\n        <span data-testid=\"SW-OEX-Answer-Empty-Example\" className={style.answerExampleSpan}>\n          &nbsp;\n        </span>\n      )\n    }\n  }\n\n  @autobind\n  renderContent() {\n    const { questionSchema, accentColor, theme, showErrors, width, imageCallback, inFrame } = this.props\n    const { focused, imagesLoaded, answer: answerModel } = this.state\n    const answers = this.answers.filter(answer => !answer.get('na'))\n    const naAnswer = questionSchema.get('answers').some(answer => answer.get('na'))\n    const naAnswerIndex = questionSchema.get('answers').findIndex(answer => answer.get('na'))\n    const naAnswerChecked = naAnswerIndex > 0 && answerModel.getIn([naAnswerIndex, 'valid'])\n    const noLabels = questionSchema.get('no_labels')\n\n    if (0 === answers.size) {\n      return (\n        <Fragment>\n          <div className={commonStyle['no-answers']}>{this.locale.get('noAnswers')}</div>\n        </Fragment>\n      )\n    }\n    const showImages = answers.reduce(\n      (a, c) => a || (c.getIn(['picture', 'original_url']) && !c.getIn(['picture', 'pin_image'])),\n      false\n    )\n\n    return (\n      <Fragment>\n        <OEXTheme accentColor={accentColor} />\n        <Notice\n          showErrors={showErrors}\n          text={this.locale.getIn(['oex', 'note'])}\n          data-testid=\"SW-OEX-ValidationMessage\"\n        />\n        <div className={style.answers} data-testid=\"SW-OEX-Answers\">\n          {answers.map((answer, i) => {\n            const hiddenItem = true === answer.get('fakeHidden')\n            const originalUrl = answer.getIn(['picture', 'original_url'])\n            const pinImage = answer.getIn(['picture', 'pin_image'])\n            const pinImageWidth = showImages && !pinImage ? 66 : 0\n            const answerTextWidth = width - 58 - pinImageWidth\n            const formatter = this.getFormatter(i)\n            if (answer.get('hidden')) return ''\n\n            return (\n              <div\n                className={`${style.answer} ${hiddenItem ? style['answer-hidden'] : ''} ${\n                  naAnswerChecked ? style.disabled : ''\n                }  ${focused == i ? style['answer-focused'] : ''} ${\n                  (showErrors && !answerModel.getIn([i, 'valid'])) || answer.getIn(['mask_ast', 'error'])\n                    ? style['answer-error']\n                    : ''\n                }\n                 ${noLabels ? style['answer-no-labels'] : ''}`}\n                key={answer.get('id')}\n                data-testid=\"SW-OEX-Answer\"\n              >\n                {showImages && originalUrl && !pinImage && (\n                  <div className={style.imageWrapper}>\n                    <SwidgetImage\n                      picture={answer.get('picture')}\n                      theme={theme}\n                      imageCallback={imageCallback}\n                      inFrame={inFrame}\n                    />\n                  </div>\n                )}\n                {originalUrl && pinImage && (\n                  <SwidgetPinImage\n                    picture={answer.get('picture')}\n                    imageCallback={imageCallback}\n                    text={answer.get('text')}\n                    hasLoaded={imagesLoaded.includes(answer.getIn(['picture', 'big_thumbnail_path']))}\n                  />\n                )}\n                {showImages && !originalUrl && !pinImage && <SwidgetImagePlaceholder theme={theme} />}\n                <div className={style.answerText} style={{ width: answerTextWidth, maxWidth: answerTextWidth }}>\n                  {!noLabels && (\n                    <span\n                      className={style.answerTextSpan}\n                      dangerouslySetInnerHTML={{ __html: answer.get('text') }}\n                      data-testid=\"SW-OEX-Answer-Text\"\n                    />\n                  )}\n                  {this.renderStatusString(i, answer, focused, showErrors, answerModel)}\n                  {formatter ? (\n                    <FormattedInput\n                      debounce={200}\n                      formatter={formatter}\n                      onFocus={this.getFocused(i)}\n                      onBlur={this.getBlur(i)}\n                      onChange={this.onChange(i)}\n                      readOnly={naAnswerChecked || Boolean(answer.getIn(['mask_ast', 'error']))}\n                    />\n                  ) : (\n                    <UnformattedInput\n                      debounce={200}\n                      onFocus={this.getFocused(i)}\n                      onBlur={this.getBlur(i)}\n                      onChange={this.onChange(i)}\n                      mask={questionSchema.getIn(['answers', i, 'mask'])}\n                      readOnly={naAnswerChecked || Boolean(answer.getIn(['mask_ast', 'error']))}\n                    />\n                  )}\n                </div>\n              </div>\n            )\n          })}\n        </div>\n        {naAnswer && this.renderNA()}\n      </Fragment>\n    )\n  }\n\n  @autobind\n  switchNa(value) {\n    const { questionSchema } = this.props\n    const naAnswerIndex = questionSchema.get('answers').findIndex(answer => answer.get('na'))\n    this.updateAnswer(this.state.answer.setIn([naAnswerIndex, 'valid'], value))\n  }\n\n  @autobind\n  renderNA() {\n    const { questionSchema } = this.props\n    const naAnswer = questionSchema.get('answers').find(answer => answer.get('na'))\n    const naAnswerIndex = questionSchema.get('answers').findIndex(answer => answer.get('na'))\n    const naAnswerChecked = naAnswerIndex > 0 && this.state.answer.getIn([naAnswerIndex, 'valid'])\n\n    return (\n      <div className={style.naAnswer} data-testid=\"SW-OEX-NA\">\n        <Checkbox label={naAnswer.get('text')} onChange={this.switchNa} checked={naAnswerChecked} />\n      </div>\n    )\n  }\n\n  @autobind\n  renderDesktop() {\n    return (\n      <fieldset data-testid=\"SW-OEX\" className={`${style.component} ${style.desktop}`}>\n        {this.renderContent()}\n      </fieldset>\n    )\n  }\n\n  @autobind\n  renderMobile() {\n    return (\n      <fieldset data-testid=\"SW-OEX\" className={`${style.component} ${style.mobile}`}>\n        {this.renderContent()}\n      </fieldset>\n    )\n  }\n}\n","\n  export function \n  renderQuestion(type, props, element) {\n    return new Promise( (resolve, reject) => {\n      if (null == type)    { reject('question type not specified'); return; }    \n      if (null == element) { reject('element not specified');       return; }\n      const React    = require('react');\n      const ReactDOM = require('react-dom');\n      const questionClass = (()=>{\n        switch (type) {\n          case 'emd':\n            return require('./questions/components/emd').default;\n        case 'hm':\n            return require('./questions/components/hm').default;\n        case 'ir':\n            return require('./questions/components/ir').default;\n        case 'oex':\n            return require('./questions/components/oex').default;\n        case 'scx':\n            return require('./questions/components/scx').default;\n        case 'sft':\n            return require('./questions/components/sft').default;\n        case 'sh':\n            return require('./questions/components/sh').default;\n          default:\n            return require('./questions/components/_base').default;\n        }\n      })();\n      const reactEl = React.createElement(questionClass, props);\n      ReactDOM.render(reactEl, element);\n      resolve(reactEl);\n    });\n  }\n\n  export function unlinkQuestion(element) {\n    return new Promise( (resolve, reject) => {\n      const ReactDOM = require('react-dom');\n      if (null == element) { reject('element not specified'); return; }\n      resolve( ReactDOM.unmountComponentAtNode(element) );\n    });\n  }\n\n  export function listQuestionTypes() {\n    return new Promise( (resolve, reject) => {\n      resolve([\n        'emd','hm','ir','oex','scx','sft','sh'\n      ])\n    });\n  }\n\n  if (\"undefined\" != typeof window) {\n    window['$SWidget'] || (window['$SWidget'] = {});\n\n    window['$SWidget']['renderQuestion']    = renderQuestion;\n    window['$SWidget']['unlinkQuestion']    = unlinkQuestion;\n    window['$SWidget']['listQuestionTypes'] = listQuestionTypes;\n  }\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default function _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","boundMethod","target","key","descriptor","fn","value","TypeError","concat","definingProperty","configurable","get","this","hasOwnProperty","boundFn","bind","Object","defineProperty","set","boundClass","keys","Reflect","ownKeys","getOwnPropertyNames","getOwnPropertySymbols","forEach","getOwnPropertyDescriptor","autobind","arguments","length","apply","MAX_SAFE_LENGTH","UnformattedInput","_ref","undefined","debounce","onChange","mask","onFocus","onBlur","readOnly","inputRef","useRef","mutationObserver","focused","lastText","connectMutationObserver","useCallback","current","observe","characterData","childList","subtree","disconnectMutationObserver","disconnect","minLength","useMemo","maskMatch","match","parseInt","onKeyDown","event","ctrlKey","shiftKey","altKey","metaKey","stopEvent","nextFocusable","nextFocusableElement","focus","blur","onLocalFocus","trimValue","innerText","setSelectionAtEnd","onLocalChangedDebounceTimer","onLocalBlur","clearTimeout","onChangeValidation","onLocalChanged","setTimeout","useEffect","MutationObserver","_mutations","text","React","className","style","contentEditable","role","ref","empty","valid","trimmed","trim","replace","slice","OEXTheme","_Component","_classCallCheck","_callSuper","_inherits","_createClass","nextProps","_nextState","accentColor","currentAccentColor","columns","props","type","dangerouslySetInnerHTML","__html","Component","OEX","_class","_Question","_this","formatters","examples","locale","_this$props","questionSchema","goNext","state","_objectSpread","initAnswer","map","el","Map","uid","comment","getIn","timeout","_get","_getPrototypeOf","call","answerModel","naAnswerIndex","findIndex","answer","reduce","prev","cur","i","id","filter","a","response","c","toArray","_this2","test","createFormatter","unescapeHTML","_this3","answerItem","customHint","OEX_TEMPLATE","rule","hint","formatter","getFormatter","validInputExample","pattern","split","Array","from","_","join","self","preLoadImage","answers","push","merge","fromJS","big_thumbnail_path","getImageAssetPath","IMAGE_ASSET_PATH_FILTER_RESIZE_TO_LIMIT","width","IMAGE_ASSET_SIZE_MIDDLE","height","path","backgroundColor","animated","thumbnail_path","IMAGE_ASSET_SIZE_SMALL","pin_image","List","_this4","getFocused","setState","_this5","getBlur","_this6","validation","isOptional","changes","updateAnswer","mergeIn","showErrors","exampleText","getExample","errorText","_this7","_this$props2","theme","imageCallback","inFrame","_this$state","imagesLoaded","naAnswer","some","naAnswerChecked","noLabels","size","Fragment","commonStyle","showImages","Notice","hiddenItem","originalUrl","pinImage","answerTextWidth","SwidgetImage","picture","SwidgetPinImage","hasLoaded","includes","SwidgetImagePlaceholder","maxWidth","renderStatusString","FormattedInput","Boolean","renderNA","setIn","find","Checkbox","label","switchNa","checked","renderContent","Question","_applyDecoratedDescriptor","window","element","Promise","resolve","reject","require","ReactDOM","questionClass","reactEl","createElement","render","unmountComponentAtNode","hasOwn","classNames","classes","arg","argType","isArray","inner","toString","module","exports","default","_extends","assign","source","_objectWithoutPropertiesLoose","excluded","sourceKeys","indexOf"],"sourceRoot":""}