{"version":3,"file":"respweb/mntv-vend-sm.11adeff7.js","mappings":"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BA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACrBA,EAAiB,GAAI,KACr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","sources":["/app/apps/respweb/node_modules/@sm/apollo-clients/dist/browser.js","/app/apps/respweb/node_modules/@sm/intl/dist/formats.js","/app/apps/respweb/node_modules/@sm/intl/dist/index.js","/app/apps/respweb/node_modules/@sm/locale/dist/dataCenters.js","/app/apps/respweb/node_modules/@sm/locale/dist/index.js","/app/apps/respweb/node_modules/@sm/locale/dist/languages.js","/app/apps/respweb/node_modules/@sm/locale/dist/localeSets.js","/app/apps/respweb/node_modules/@sm/metrics/dist/MetricsTracker.js","/app/apps/respweb/node_modules/@sm/metrics/dist/helpers.js","/app/apps/respweb/node_modules/@sm/metrics/dist/index.js","/app/apps/respweb/node_modules/@sm/metrics/dist/providers/ComponentMetricsProvider.js","/app/apps/respweb/node_modules/@sm/metrics/dist/providers/PageMetricsProvider.js","/app/apps/respweb/node_modules/@sm/metrics/dist/providers/SPARouteMetricsProvider.js","/app/apps/respweb/node_modules/@sm/metrics/dist/subscribers/DataAnalyticsMetricsSubscriber.js","/app/apps/respweb/node_modules/@sm/metrics/dist/subscribers/FacebookPixelSubscriber.js","/app/apps/respweb/node_modules/@sm/metrics/dist/subscribers/GTMMeticsSubscriber.js","/app/apps/respweb/node_modules/@sm/metrics/dist/subscribers/LoggingMetricsSubscriber.js","/app/apps/respweb/node_modules/@sm/metrics/dist/subscribers/MixPanelSubscriber.js","/app/apps/respweb/node_modules/@sm/metrics/dist/types/enums.js","/app/apps/respweb/node_modules/@sm/metrics/dist/utils.js","/app/apps/respweb/node_modules/@sm/question-ui/node_modules/@wds/utils/dist/index.es.js","/app/apps/respweb/node_modules/@sm/utils/dist/S3Uploader/S3Uploader.js","/app/apps/respweb/node_modules/@sm/utils/dist/environment/index.js","/app/apps/respweb/node_modules/@sm/utils/dist/index.js","/app/apps/respweb/node_modules/@sm/utils/dist/object/deepFreeze.js","/app/apps/respweb/node_modules/@sm/utils/dist/string/isValidEmail.js","/app/apps/respweb/node_modules/@sm/utils/dist/string/sanitizeString.js","/app/apps/respweb/node_modules/@sm/utils/dist/url/createURL.js","/app/apps/respweb/node_modules/@sm/question-definitions/esm/index.js","/app/apps/respweb/node_modules/@sm/question-ui/theme-respondent.js","/app/apps/respweb/node_modules/@sm/question-widgets/utils-fc914b8b.js","/app/apps/respweb/node_modules/@sm/question-ui/vendor-1a792cb6.js","/app/apps/respweb/node_modules/@sm/question-ui/respondent-quiz-results.js","/app/apps/respweb/node_modules/@sm/question-widgets/controllers-65d23969.js","/app/apps/respweb/node_modules/@sm/question-widgets/respondent-quiz-results.js","/app/apps/respweb/node_modules/@sm/question-widgets/utils-d888dac0.js","/app/apps/respweb/node_modules/@sm/question-ui/vendor-5c6709b4.js","/app/apps/respweb/node_modules/@sm/question-ui/respondent-survey.js","/app/apps/respweb/node_modules/@sm/question-widgets/controllers-02c66072.js","/app/apps/respweb/node_modules/@sm/question-widgets/respondent-survey.js","/app/apps/respweb/node_modules/@sm/question-widgets/vendor-4368c290.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createBrowserApolloClient;\n\nvar _apolloClient = _interopRequireDefault(require(\"apollo-client\"));\n\nvar _apolloLinkBatchHttp = require(\"apollo-link-batch-http\");\n\nvar _apolloCacheInmemory = require(\"apollo-cache-inmemory\");\n\nvar _apolloLink = require(\"apollo-link\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}\n\nvar DEFAULT_TARGET_PATH = 'default';\nvar DEFAULT_LINK_OPTIONS = {\n credentials: 'include',\n batchInterval: 30\n};\n\nfunction createBrowserApolloClient(_ref) {\n var fragmentMatcherFn = _ref.fragmentMatcherFn,\n metadata = _ref.metadata,\n pageRequestId = _ref.pageRequestId,\n _ref$cacheHydration = _ref.cacheHydration,\n cacheHydration = _ref$cacheHydration === void 0 ? {} : _ref$cacheHydration,\n _ref$uri = _ref.uri,\n uri = _ref$uri === void 0 ? '/graphql' : _ref$uri,\n _ref$linkOptions = _ref.linkOptions,\n linkOptions = _ref$linkOptions === void 0 ? {} : _ref$linkOptions,\n _ref$devToolsEnabled = _ref.devToolsEnabled,\n devToolsEnabled = _ref$devToolsEnabled === void 0 ? true : _ref$devToolsEnabled,\n _ref$availableLoggedO = _ref.availableLoggedOutPaths,\n availableLoggedOutPaths = _ref$availableLoggedO === void 0 ? [] : _ref$availableLoggedO,\n authLink = _ref.authLink;\n var appName = metadata.appName,\n appVersion = metadata.appVersion;\n var cache = new _apolloCacheInmemory.InMemoryCache({\n fragmentMatcher: fragmentMatcherFn && fragmentMatcherFn()\n }).restore(cacheHydration);\n\n var _linkOptions$headers = linkOptions.headers,\n headers = _linkOptions$headers === void 0 ? {} : _linkOptions$headers,\n otherLinkOptions = _objectWithoutProperties(linkOptions, [\"headers\"]);\n\n if (pageRequestId) {\n headers['sm-page-request-id'] = pageRequestId;\n }\n\n var apolloLinkMemoizeCache = {};\n\n function apolloLinkFactory() {\n var targetPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_TARGET_PATH;\n\n if (apolloLinkMemoizeCache[targetPath]) {\n return apolloLinkMemoizeCache[targetPath];\n }\n\n var link = new _apolloLinkBatchHttp.BatchHttpLink(_objectSpread({}, DEFAULT_LINK_OPTIONS, {}, otherLinkOptions, {\n uri: targetPath,\n headers: headers\n }));\n\n if (authLink && targetPath === '/graphql') {\n link = authLink.concat(link);\n }\n\n apolloLinkMemoizeCache[targetPath] = link;\n return link;\n } // custom apollo-link that determines the actual link to use based on the passed\n // `targetPath` context.\n\n\n var link = new _apolloLink.ApolloLink(function (operation) {\n var _operation$getContext, _operation$getContext2; // if the targetPath is not the default, use an alternate graphql endpoint.\n\n\n var targetPath = operation === null || operation === void 0 ? void 0 : (_operation$getContext = operation.getContext) === null || _operation$getContext === void 0 ? void 0 : (_operation$getContext2 = _operation$getContext.call(operation)) === null || _operation$getContext2 === void 0 ? void 0 : _operation$getContext2.targetPath;\n var graphQLPath = uri;\n\n if (availableLoggedOutPaths.includes(targetPath)) {\n // whitelist for security\n graphQLPath = targetPath;\n }\n\n return apolloLinkFactory(graphQLPath).request(operation) || _apolloLink.Observable.of();\n });\n return new _apolloClient[\"default\"]({\n connectToDevTools: devToolsEnabled,\n cache: cache,\n link: link,\n name: appName,\n version: appVersion\n });\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _utils = require(\"@sm/utils\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser;\n\nvar currency = ['AFN', 'EUR', 'ALL', 'DZD', 'USD', 'AOA', 'XCD', 'ARS', 'AMD', 'AWG', 'AUD', 'AZN', 'BSD', 'BHD', 'BDT', 'BBD', 'BYN', 'BZD', 'XOF', 'BMD', 'INR', 'BTN', 'BOB', 'BOV', 'BAM', 'BWP', 'NOK', 'BRL', 'BND', 'BGN', 'BIF', 'CVE', 'KHR', 'XAF', 'CAD', 'KYD', 'CLP', 'CLF', 'CNY', 'COP', 'COU', 'KMF', 'CDF', 'NZD', 'CRC', 'HRK', 'CUP', 'CUC', 'ANG', 'CZK', 'DKK', 'DJF', 'DOP', 'EGP', 'SVC', 'ERN', 'ETB', 'FKP', 'FJD', 'XPF', 'GMD', 'GEL', 'GHS', 'GIP', 'GTQ', 'GBP', 'GNF', 'GYD', 'HTG', 'HNL', 'HKD', 'HUF', 'ISK', 'IDR', 'XDR', 'IRR', 'IQD', 'ILS', 'JMD', 'JPY', 'JOD', 'KZT', 'KES', 'KPW', 'KRW', 'KWD', 'KGS', 'LAK', 'LBP', 'LSL', 'ZAR', 'LRD', 'LYD', 'CHF', 'MOP', 'MKD', 'MGA', 'MWK', 'MYR', 'MVR', 'MRO', 'MUR', 'XUA', 'MXN', 'MXV', 'MDL', 'MNT', 'MAD', 'MZN', 'MMK', 'NAD', 'NPR', 'NIO', 'NGN', 'OMR', 'PKR', 'PAB', 'PGK', 'PYG', 'PEN', 'PHP', 'PLN', 'QAR', 'RON', 'RUB', 'RWF', 'SHP', 'WST', 'STD', 'SAR', 'RSD', 'SCR', 'SLL', 'SGD', 'XSU', 'SBD', 'SOS', 'SSP', 'LKR', 'SDG', 'SRD', 'SZL', 'SEK', 'CHE', 'CHW', 'SYP', 'TWD', 'TJS', 'TZS', 'THB', 'TOP', 'TTD', 'TND', 'TRY', 'TMT', 'UGX', 'UAH', 'AED', 'USN', 'UYU', 'UYI', 'UZS', 'VUV', 'VEF', 'VND', 'YER', 'ZMW', 'ZWL', 'XBA', 'XBB', 'XBC', 'XBD', 'XTS', 'XXX', 'XAU', 'XPD', 'XPT', 'XAG'];\n/** List of supported currencies */\n\nvar numberFormat = currency.reduce(function (acc, key) {\n return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, {\n style: 'currency',\n currency: key\n }));\n}, {});\nvar dateTimeFormat;\n\nif (isBrowser) {\n var browserTimezone = 'UTC';\n\n try {\n browserTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n dateTimeFormat = {\n timeZone: browserTimezone\n };\n } catch (err) {\n // We're throwing in a settimeout because we don't want to break the current tick.\n window.setTimeout(function () {\n throw err;\n }, 1);\n }\n}\n\nvar _default = {\n number: numberFormat,\n dateTime: dateTimeFormat,\n relativeTime: undefined\n};\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _typeof = require(\"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.clearOptionsObject = clearOptionsObject;\nexports.substitute = substitute;\nexports.defineMessages = defineMessages;\nexports.t = t;\nexports.T = T;\nexports.initIntl = initIntl;\nexports.resetMessageStore = resetMessageStore;\nexports.getMessageStore = getMessageStore;\nexports.FormattedDateTime = FormattedDateTime;\nexports.FormattedNumber = FormattedNumber;\nexports.FormattedRelativeTime = FormattedRelativeTime;\nexports.L10nProvider = exports.L10NContext = void 0;\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _intlMessageformat = _interopRequireDefault(require(\"intl-messageformat\"));\n\nvar _escapeHtml = _interopRequireDefault(require(\"escape-html\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _lodash = _interopRequireDefault(require(\"lodash.merge\"));\n\nvar _utils = require(\"@sm/utils\");\n\nvar _locale = require(\"@sm/locale\");\n\nvar _intlRelativeformat = _interopRequireDefault(require(\"intl-relativeformat\"));\n\nvar _formats = _interopRequireDefault(require(\"./formats\"));\n\nvar _excluded = [\"value\"],\n _excluded2 = [\"value\"];\nvar _jsxFileName = \"/repo/packages/intl/src/index.tsx\";\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser;\n\nvar INTL_OPT_KEY = 'SM_intlUniqueOptionsObjectKey';\nvar INTL_MSG_STORE_KEY = 'SM_intlUniqueMessageStoreObjectKey';\n/** Intl Options */\n\nfunction getDefaultOptions() {\n return {\n currentLocale: null,\n // Current locale such as 'en-US' - `null` is not allowed for IntlMessageFormat and needs to be set\n warningHandler: console.warn.bind(console),\n // eslint-disable-line\n escapeHtml: true // disable escape html in variable mode\n\n };\n}\n\nfunction getStore() {\n var glob = isBrowser ? window : global;\n\n if (!glob[INTL_MSG_STORE_KEY]) {\n glob[INTL_MSG_STORE_KEY] = {};\n }\n\n return glob[INTL_MSG_STORE_KEY];\n}\n\nfunction getOptionsObject() {\n var glob = isBrowser ? window : global;\n\n if (!glob[INTL_OPT_KEY]) {\n glob[INTL_OPT_KEY] = getDefaultOptions();\n }\n\n return glob[INTL_OPT_KEY];\n}\n\nfunction clearOptionsObject() {\n if (isBrowser) {\n delete window[INTL_OPT_KEY];\n } else {\n delete global[INTL_OPT_KEY];\n }\n}\n\nvar intlRelativeFormat;\n/**\n * @param {string} input\n * @returns {string} hash\n * @private\n */\n\nfunction hashInput(input) {\n var hash = 0;\n var i;\n var chr;\n if (input.length === 0) return hash;\n\n for (i = 0; i < input.length; i += 1) {\n chr = input.charCodeAt(i);\n hash = (hash << 5) - hash + chr; // eslint-disable-line no-bitwise\n // Convert to 32bit integer\n\n hash |= 0; // eslint-disable-line no-bitwise\n }\n\n return hash;\n}\n\nvar randomStr = function randomStr(N) {\n return _toConsumableArray(Array(N)).map(function () {\n return (~~(Math.random() * 36)).toString(36);\n }).join('');\n}; // eslint-disable-line no-bitwise\n\n\nvar keysOf = Object.keys;\n\nvar maybePseudo = function maybePseudo(msg) {\n if (process.env.NODE_ENV !== \"production\" && isBrowser) {\n var pseudoFactor = window.location.href.toString().match(/[&?]intl-pseudo(=([0-9]*\\.[0-9]+|[0-9]+))?/);\n\n if (pseudoFactor) {\n return msg.replace(/\\S+/g, function (match) {\n return randomStr(parseInt(\"\".concat(match.length * parseFloat(\"\".concat(pseudoFactor[2] || 1))), 10) || 1);\n });\n }\n }\n\n return msg;\n};\n\nvar replacer = function replacer(elements) {\n return function (part) {\n var element = elements[part];\n return element || maybePseudo(part);\n };\n};\n/** `string` type-guard including check for `instanceof` */\n// work-around as TS does not infer type string for instanceof\n\n\nvar isString = function isString(s) {\n return typeof s === 'string' || s instanceof String;\n};\n/**\n *\n * @param {string} message\n * @param {Object} variables (Optional)\n * @returns {Object} The substitution\n */\n\n\nfunction substitute(message, variables) {\n var vars = _objectSpread({}, variables);\n\n var msg = message;\n var options = getOptionsObject();\n var uid = Math.abs(hashInput(JSON.stringify({\n msg: msg,\n keys: keysOf(vars)\n }))).toString(16);\n var tokenDelimiter = \"@__\".concat(uid, \"__@\");\n var tokenizedValues = {};\n var elements = {};\n\n var generateToken = function () {\n var counter = 0;\n return function () {\n counter += 1;\n return \"ELEMENT-\".concat(uid, \"-\").concat(counter);\n };\n }();\n\n keysOf(vars).forEach(function (name) {\n var value = vars[name];\n\n if ( /*#__PURE__*/_react[\"default\"].isValidElement(value)) {\n var token = generateToken();\n tokenizedValues[name] = tokenDelimiter + token + tokenDelimiter;\n elements[token] = value;\n } else if (options.escapeHtml === true && isString(value) && value.indexOf('<') >= 0 && value.indexOf('>') >= 0) {\n tokenizedValues[name] = (0, _escapeHtml[\"default\"])(value);\n } else {\n // `React.isValidElement` matches `React.ReactElement` so its type can be omitted\n tokenizedValues[name] = value;\n }\n });\n\n try {\n var msgFormatter = new _intlMessageformat[\"default\"](msg, options.currentLocale, options.formats);\n msg = msgFormatter.format(tokenizedValues);\n } catch (err) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'message_formatting_error',\n err: err,\n msg: msg,\n tokenizedValues: tokenizedValues,\n vars: vars,\n currentLocale: options.currentLocale\n });\n return msg;\n }\n\n try {\n var stack = [];\n var exhausted = false;\n var runningIndex = 0;\n\n while (!exhausted) {\n // The runningIndex is the pointer in the string at which we want to look right (->).\n var match = msg.substr(runningIndex).match(/]+)\">|<\\/span>/);\n\n if (match) {\n // eslint-disable-next-line prefer-const\n var _ref = match,\n _ref2 = _slicedToArray(_ref, 2),\n matched = _ref2[0],\n tag = _ref2[1]; // we need to adjust for the running index because match.index is relative to the substring we used\n\n\n var matchIndex = (match.index || 0) + runningIndex;\n var isOpening = !!tag;\n\n if (isOpening) {\n // If it's an opening tag, just push it on the stack and move on.\n stack.push({\n tag: tag,\n index: matchIndex\n });\n runningIndex = matchIndex + matched.length;\n } else {\n // We reached an ending tag.\n var popped = stack.pop();\n\n if (!popped) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'unbalanced_delimiters_extra_closing',\n message: message,\n tokenizedValues: tokenizedValues,\n vars: vars\n });\n return message;\n }\n\n runningIndex = popped.index; // Find the content between the opening tag and the current one\n\n var content = msg.substring(runningIndex, matchIndex).replace(/]+)\">/, '').replace(/<\\span>/, '');\n var children = void 0; // If there are other functional elements saved already, try to split\n // the content and replace them with the right elements.\n\n if (elements && keysOf(elements).length > 0) {\n children = content.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(replacer(elements));\n } else {\n children = content;\n } // Build an element by cloning the passed element or calling the\n // passed function.\n\n\n var element = vars[popped.tag]({\n children: children\n });\n\n if ( /*#__PURE__*/_react[\"default\"].isValidElement(element)) {\n element = /*#__PURE__*/_react[\"default\"].cloneElement(element, {\n key: \"\".concat(popped.tag, \"_\").concat(randomStr(8))\n });\n } // Build the new string and adjust the running index based on that token.\n\n\n var token = generateToken();\n var tokenReplacement = \"\".concat(tokenDelimiter).concat(token).concat(tokenDelimiter);\n msg = \"\".concat(msg.substring(0, popped.index)).concat(tokenReplacement).concat(msg.substring(matchIndex + matched.length, msg.length));\n elements[token] = element;\n }\n } else {\n exhausted = true;\n }\n }\n\n if (stack.length) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'unbalanced_delimiters_extra_opening',\n message: message,\n tokenizedValues: tokenizedValues,\n vars: vars\n });\n return message;\n } // Do a final replace once we're done with matching\n\n\n if (elements && keysOf(elements).length > 0) {\n msg = msg.split(tokenDelimiter).filter(function (part) {\n return !!part;\n }).map(replacer(elements));\n } else {\n msg = maybePseudo(msg);\n }\n\n return msg;\n } catch (err) {\n options.warningHandler({\n context: 'sm/intl',\n error: 'unexpected_tokenization_error',\n message: message,\n err: err\n });\n return message;\n }\n}\n/**\n * Retrieves and format a particular message by key. Uses defaultMessage if key is not found in message list.\n * @param {string} key Unique identifier for this string\n * @param {Object} variables (Optional) - Key/values for string substitution\n * @param {string} defaultMessage (Optional) Default message if string isn't found for key\n * @private\n */\n\n\nfunction get(key, variables, defaultMessage) {\n var vars = variables;\n !key ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'key is required') : invariant(false) : void 0;\n\n var _getOptionsObject = getOptionsObject(),\n currentLocale = _getOptionsObject.currentLocale,\n warningHandler = _getOptionsObject.warningHandler;\n\n var messages = getStore()[currentLocale];\n var msg;\n\n if (!messages) {\n warningHandler({\n context: 'sm/intl',\n error: 'locale_not_found_in_message_store',\n currentLocale: currentLocale\n });\n msg = defaultMessage || '';\n }\n\n msg = msg || messages[key];\n\n if (!msg && defaultMessage) {\n if (currentLocale !== 'en-US') {\n warningHandler({\n context: 'sm/intl',\n error: 'message_not_found_default_fallback',\n currentLocale: currentLocale,\n key: key\n });\n }\n\n msg = defaultMessage;\n }\n\n if (!msg) {\n warningHandler({\n context: 'sm/intl',\n error: 'message_not_found_no_default',\n currentLocale: currentLocale,\n key: key,\n defaultMessage: defaultMessage\n });\n return '';\n }\n\n return substitute(msg, vars);\n}\n/**\n * @param {string} key\n * @param {Object} variables\n * @param {string} defaultMessage\n * @returns {string} html\n * @private\n */\n\n\nfunction getHTML(key, variables, defaultMessage) {\n var msg = get(key, variables, defaultMessage);\n\n if (msg) {\n var el = /*#__PURE__*/_react[\"default\"].createElement('span', {\n dangerouslySetInnerHTML: {\n __html: msg\n }\n }); // when key exists, it should still return element if there's defaultMessage() after getHTML()\n\n\n var defaultMsg = function defaultMsg() {\n return el;\n };\n\n return _objectSpread({\n defaultMessage: defaultMsg,\n d: defaultMsg\n }, el);\n }\n\n return '';\n}\n/**\n *\n * @param {string} currentLocale\n * @param {string} currentLanguage\n * @private\n */\n\n\nfunction defineIntlRelativeFormat(currentLocale, currentLanguage) {\n if (window.ReactIntlLocaleData && window.ReactIntlLocaleData[currentLanguage] && Object.keys(window.ReactIntlLocaleData[currentLanguage]).length > 0) {\n window.ReactIntlLocaleData[currentLanguage].forEach(function (localeData) {\n _intlRelativeformat[\"default\"].__addLocaleData(localeData);\n });\n }\n\n intlRelativeFormat = new _intlRelativeformat[\"default\"](currentLocale, _objectSpread({}, _formats[\"default\"].relativeTime || {}));\n} // =================== Public API\n\n/**\n * Definition function used by our babel-plugin to extract messages during development.\n * For the description, Type must have one of the following values `Button | Link | Label | Header | Paragraph`. Vis, for visibility, must be one of `low | med | high`.\n *\n * More in the {@link https://code.corp.surveymonkey.com/pages/webplatform/smweb/#/pages/webs/localization?id=definemessages|WebPlatform docs}\n *\n * @param {Object} v Key/Descriptor objects where Descriptor.id, Descriptor.defaultMessage and Descriptor.description are present.\n * @returns {Object} message definition\n *\n */\n\n\nfunction defineMessages(v) {\n return v;\n}\n/**\n * Translates a message matching a specific Descriptor object.\n * Ref: https://code.corp.surveymonkey.com/pages/webplatform/smweb/#/pages/webs/localization\n *\n * @param {Desc} desc Descriptor object for the current message to translate. ({id: String!, defaultMessage: String!, description: String})\n * @param {Object} values (Optional) - key/values for substitution based on the ICU message format.\n * @param {Object} opts (Optional)\n * @param {Object} opts.html (Optional/Defaults to `false`) - Whether or not to allow for HTML nodes in the message before substitution.\n * @returns {string|React.ReactElement} HTML string or key value\n */\n\n\nfunction t(desc, values) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var id = desc.id,\n defaultMessage = desc.defaultMessage;\n var html = opts.html;\n return (html ? getHTML : get)(id, values, defaultMessage); // force return type\n}\n/** Props for `T` React component */\n\n/**\n * (React Component) Translates a message matching a specific Descriptor object.\n * Ref: https://code.corp.surveymonkey.com/pages/webplatform/smweb/#/pages/webs/localization\n */\n\n\nfunction T(props) {\n var desc = props.desc,\n values = props.values,\n id = props.id,\n defaultMessage = props.defaultMessage,\n html = props.html;\n return (html ? getHTML : get)(desc ? desc.id : id, values, desc ? desc.defaultMessage : defaultMessage);\n}\n\nT.propTypes = {\n desc: _propTypes[\"default\"].shape({\n id: _propTypes[\"default\"].string.isRequired,\n defaultMessage: _propTypes[\"default\"].string.isRequired,\n description: _propTypes[\"default\"].string\n }),\n id: _propTypes[\"default\"].string,\n values: _propTypes[\"default\"].objectOf(_propTypes[\"default\"].any),\n defaultMessage: _propTypes[\"default\"].string,\n html: _propTypes[\"default\"].bool\n};\nT.defaultProps = {\n desc: undefined,\n id: undefined,\n values: undefined,\n defaultMessage: undefined,\n html: false\n};\n/**\n * Initialize the localization framework with the passed messages and set of currentLocale/currentLanguage. Can be called more than once.\n * @param {Object} messages Key/Values where keys are string IDs and values are the translated message for such ID.\n * @param {Options} [opts={}] Options for Intl\n * @returns {void}\n */\n\nfunction initIntl(\n/** Key/Values where keys are string IDs and values are the translated message for such ID */\nmessages) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n !opts.currentLocale ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'opts.currentLocale is required') : invariant(false) : void 0;\n !opts.currentLanguage ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'opts.currentLanguage is required') : invariant(false) : void 0;\n !messages ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'messages is required') : invariant(false) : void 0;\n var options = getOptionsObject();\n options.currentLocale = opts.currentLocale;\n options.currentLanguage = opts.currentLanguage;\n options.warningHandler = opts.warningHandler || options.warningHandler;\n var messageStore = getStore();\n var langInited = !!messageStore[options.currentLocale];\n (0, _lodash[\"default\"])(messageStore, _defineProperty({}, options.currentLocale, messages));\n options.formats = _objectSpread(_objectSpread(_objectSpread({}, options.formats), opts.formats), _formats[\"default\"]);\n\n if (langInited) {\n return;\n }\n\n if (isBrowser) {\n defineIntlRelativeFormat(options.currentLocale, options.currentLanguage);\n } else {\n // For Node.js, common locales are added in the application\n intlRelativeFormat = new _intlRelativeformat[\"default\"](options.currentLocale, _objectSpread({}, _formats[\"default\"].relativeTime || {}));\n }\n}\n/**\n * Clears the object where we store messages. Useful for testing\n * @returns {undefined}\n */\n\n\nfunction resetMessageStore() {\n var messageStore = getStore();\n Object.keys(messageStore).forEach(function (member) {\n return delete messageStore[member];\n });\n}\n/**\n * Retrieves a copy of the stored messages.\n * @returns {JSON} JSON Message Store\n */\n\n\nfunction getMessageStore() {\n return JSON.parse(JSON.stringify(getStore()));\n}\n/**\n * The FormattedDateTime component uses the Intl.DateTimeFormat API and as such, here are the supported props.\n * All optionals.\n *\n * type DateTimeFormatOptions = {\n * localeMatcher: 'best fit' | 'lookup' = 'best fit',\n * formatMatcher: 'basic' | 'best fit' = 'best fit',\n *\n * timeZone: string,\n * hour12 : boolean,\n *\n * weekday : 'narrow' | 'short' | 'long',\n * era : 'narrow' | 'short' | 'long',\n * year : 'numeric' | '2-digit',\n * month : 'numeric' | '2-digit' | 'narrow' | 'short' | 'long',\n * day : 'numeric' | '2-digit',\n * hour : 'numeric' | '2-digit',\n * minute : 'numeric' | '2-digit',\n * second : 'numeric' | '2-digit',\n * timeZoneName: 'short' | 'long',\n * };\n *\n * @param {Date} props Actual date to format.\n * @returns {string} formatted date\n */\n\n\nfunction FormattedDateTime(props) {\n var _options$currentLocal;\n\n var value = props.value,\n restProps = _objectWithoutProperties(props, _excluded);\n\n var options = getOptionsObject();\n return new Intl.DateTimeFormat((_options$currentLocal = options.currentLocale) !== null && _options$currentLocal !== void 0 ? _options$currentLocal : undefined, _objectSpread(_objectSpread({}, _formats[\"default\"].dateTime || {}), restProps)).format(value);\n}\n/**\n * The FormattedNumber component uses the Intl.NumberFormat API and as such, here are the supported props.\n * All optionals.\n *\n * type NumberFormatOptions = {\n * localeMatcher: 'best fit' | 'lookup' = 'best fit',\n *\n * style: 'decimal' | 'currency' | 'percent' = 'decimal',\n *\n * currency : string,\n * currencyDisplay: 'symbol' | 'code' | 'name' = 'symbol',\n *\n * useGrouping: boolean = true,\n *\n * minimumIntegerDigits : number = 1,\n * minimumFractionDigits : number,\n * maximumFractionDigits : number,\n * minimumSignificantDigits: number = 1,\n * maximumSignificantDigits: number,\n * };\n *\n * @param {number} props Actual number to format.\n * @returns {string} Formatted number\n */\n\n\nfunction FormattedNumber(props) {\n var _options$currentLocal2;\n\n var value = props.value,\n restProps = _objectWithoutProperties(props, _excluded2);\n\n var options = getOptionsObject();\n restProps.style = restProps.formatStyle;\n return new Intl.NumberFormat((_options$currentLocal2 = options.currentLocale) !== null && _options$currentLocal2 !== void 0 ? _options$currentLocal2 : undefined, _objectSpread(_objectSpread({}, _formats[\"default\"].number || {}), restProps)).format(value);\n}\n/**\n * The FormattedRelativeTime component uses the IntlRelativeTime API and as such, here are the supported props.\n * All optionals.\n *\n * type RelativeTimeFormatOptions = {\n * units: 'second' | 'second-short' | 'minute' | 'minute-short' | 'hour' | 'hour-short' | 'day' | 'day-short' | 'month' | 'month-short' | 'year' | 'year-short'\n * style: 'best fit' | 'numeric'\n * };\n *\n * @param {Object} props\n * @param {Date} props.value Actual date to format.\n * @param {Date} props.now (Optional) Fix the value of \"now\" to a certain date.\n * @returns {string} Formatted date\n */\n\n\nfunction FormattedRelativeTime(props) {\n var value = props.value,\n now = props.now;\n return intlRelativeFormat.format(value, {\n now: now\n });\n}\n/** Context is currently only used to prevent isRTL prop drilling */\n\n\nvar L10NContext = /*#__PURE__*/(0, _react.createContext)({\n isRTL: false\n});\nexports.L10NContext = L10NContext;\n\nvar RTLLanguageCodes = _locale.LANGUAGES.filter(function (l) {\n return l.isRTL;\n}).map(function (l) {\n return l.code;\n});\n/**\n * Configures the global localization context for the whole page.\n * @class\n */\n\n\nvar L10nProvider = /*#__PURE__*/function (_React$Component) {\n _inherits(L10nProvider, _React$Component);\n\n var _super = _createSuper(L10nProvider);\n\n function L10nProvider(props) {\n var _this;\n\n _classCallCheck(this, L10nProvider);\n\n _this = _super.call(this, props);\n _this.state = {\n messages: null,\n isRTL: false\n };\n var currentLocale = props.localeCode;\n var currentLanguage = props.languageCode; // If the locale is english, we are not expecting any messages; hence, default to {}\n\n _this.state.messages = currentLocale === 'en-US' ? {} : props.localeMessages || {};\n /**\n * `SSR/isNode` - Initialize Intl on the server with the provided messages (if any).\n * `messages ` - We already have the messages (SSR/CSR/en-US), initIntl right away.\n *\n * The above takes care of three scenarios -\n * 1. SSR - Everything is provided on the server; hence, no need to fetch messages.\n * 2. CSR + messages - Messages were fetched before this component; hence, no need to fetch messages.\n * 3. In the case of `en-US`, we really don't need messages.\n */\n\n var _getClientEnvironment2 = (0, _utils.getClientEnvironmentDetails)(),\n isNode = _getClientEnvironment2.isNode;\n\n if (isNode || _this.state.messages) {\n initIntl(_this.state.messages, {\n currentLocale: currentLocale,\n currentLanguage: currentLanguage\n });\n }\n\n if (RTLLanguageCodes.indexOf(currentLanguage) !== -1) {\n _this.state.isRTL = true;\n }\n\n return _this;\n }\n\n _createClass(L10nProvider, [{\n key: \"render\",\n value: function render() {\n if (!this.state.messages) {\n return null;\n }\n\n return /*#__PURE__*/_react[\"default\"].createElement(L10NContext.Provider, {\n value: {\n isRTL: this.state.isRTL\n },\n __self: this,\n __source: {\n fileName: _jsxFileName,\n lineNumber: 849,\n columnNumber: 7\n }\n }, this.props.children);\n }\n }]);\n\n return L10nProvider;\n}(_react[\"default\"].Component);\n\nexports.L10nProvider = L10nProvider;\nL10nProvider.propTypes = {\n children: _propTypes[\"default\"].node.isRequired,\n localeMessages: _propTypes[\"default\"].object,\n // eslint-disable-line\n localeCode: _propTypes[\"default\"].string,\n languageCode: _propTypes[\"default\"].string\n};\nL10nProvider.defaultProps = {\n localeCode: 'en-US',\n languageCode: 'en'\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataCenterById = getDataCenterById;\nexports.getDataCenterIdFromCurrentUrl = getDataCenterIdFromCurrentUrl;\nexports.getDefaultSubdomainForDataCenter = getDefaultSubdomainForDataCenter;\nexports.DC_SPECIFIC_SUBDOMAINS = exports.DataCenterIds = void 0;\n\nvar _parseDomain = require(\"parse-domain\");\n\nvar _dataCenters = _interopRequireDefault(require(\"./data/dataCenters.json\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar DataCenterIds;\nexports.DataCenterIds = DataCenterIds;\n\n(function (DataCenterIds) {\n DataCenterIds[\"US\"] = \"0\";\n DataCenterIds[\"CA\"] = \"1\";\n DataCenterIds[\"EU\"] = \"2\";\n})(DataCenterIds || (exports.DataCenterIds = DataCenterIds = {}));\n\nvar DC_SPECIFIC_SUBDOMAINS;\n/**\n * Returns the data center by id\n * @param {string} dataCenterId\n * @returns {Object} data center details\n * @memberof module:@sm/locale\n */\n\nexports.DC_SPECIFIC_SUBDOMAINS = DC_SPECIFIC_SUBDOMAINS;\n\n(function (DC_SPECIFIC_SUBDOMAINS) {\n DC_SPECIFIC_SUBDOMAINS[DC_SPECIFIC_SUBDOMAINS[\"eu\"] = DataCenterIds.EU] = \"eu\";\n})(DC_SPECIFIC_SUBDOMAINS || (exports.DC_SPECIFIC_SUBDOMAINS = DC_SPECIFIC_SUBDOMAINS = {}));\n\nfunction getDataCenterById(dataCenterId) {\n return _dataCenters[\"default\"].dataCenters[dataCenterId];\n}\n/**\n * Returns the data center id from the url\n * @param {string} url\n * @param {string} dataCenterAffinityCookie\n * @returns {string} data center id\n * @memberof module:@sm/locale\n */\n\n\nfunction getDataCenterIdFromCurrentUrl(url, dataCenterAffinityCookie) {\n var parseResult = (0, _parseDomain.parseDomain)((0, _parseDomain.fromUrl)(url)) || {};\n var subdomain;\n var dataCenterId = DataCenterIds.US;\n\n if (parseResult.type === _parseDomain.ParseResultType.Listed) {\n subdomain = parseResult.subDomains.join('.');\n\n if (subdomain) {\n var dcSub = Object.keys(_dataCenters[\"default\"].dataCenterSpecificSubdomains).find(function (subSpecific) {\n return subSpecific === subdomain || subdomain.endsWith(\".\".concat(subSpecific));\n });\n\n if (dcSub) {\n dataCenterId = _dataCenters[\"default\"].dataCenterSpecificSubdomains[dcSub];\n }\n }\n }\n\n if (dataCenterId === DataCenterIds.US && \"\".concat(dataCenterAffinityCookie) === DataCenterIds.CA) {\n dataCenterId = DataCenterIds.CA;\n }\n\n return dataCenterId;\n} // This is currently being used in UserWeb here https://code.corp.surveymonkey.com/devmonkeys/userweb/blob/e7646369dfae9fef0c8d1fa3c23f1bde61a9c906/userweb/lib/language.py#L31\n// So I'm leaving this function for when we port the corresponding code in UserWeb.\n\n/**\n * Returns the default subdomain for a data center\n * @param {string} dataCenterId\n * @returns {string} subdomain\n * @memberof module:@sm/locale\n */\n\n\nfunction getDefaultSubdomainForDataCenter(dataCenterId) {\n var dc = getDataCenterById(dataCenterId);\n return dc && dc.defaultSubdomain || 'www';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeCountryCode = sanitizeCountryCode;\nexports.isGDPRCountry = isGDPRCountry;\nexports.isDACHCountry = isDACHCountry;\nexports.isGBCountry = isGBCountry;\nexports.isUSTerritory = isUSTerritory;\nexports.isEUCountry = isEUCountry;\nexports.isEUDC = isEUDC;\nexports.isEUSubdomain = isEUSubdomain;\nexports.getEUCountries = getEUCountries;\nexports.getCookieTransportTLDs = getCookieTransportTLDs;\nexports.getAudienceSupportedCountries = getAudienceSupportedCountries;\nexports.getBenchmarksSupportedCountries = getBenchmarksSupportedCountries;\nexports.getSMSupportedCountries = getSMSupportedCountries;\nexports.getSiteSupportedLanguages = getSiteSupportedLanguages;\nexports.getLanguageCodeFromCountryCode = getLanguageCodeFromCountryCode;\nexports.getLanguageCodeFromSubdomain = getLanguageCodeFromSubdomain;\nexports.getSubdomainFromLanguageCodeAndDataCenter = getSubdomainFromLanguageCodeAndDataCenter;\nexports.getSiteSupportedLanguageCodes = getSiteSupportedLanguageCodes;\nexports.getTldLanguageInfo = getTldLanguageInfo;\nObject.defineProperty(exports, \"LANGUAGES_BY_CODE\", {\n enumerable: true,\n get: function get() {\n return _languages.LANGUAGES_BY_CODE;\n }\n});\nObject.defineProperty(exports, \"LANGUAGES_BY_ID\", {\n enumerable: true,\n get: function get() {\n return _languages.LANGUAGES_BY_ID;\n }\n});\nObject.defineProperty(exports, \"LANGUAGES\", {\n enumerable: true,\n get: function get() {\n return _languages.LANGUAGES;\n }\n});\nObject.defineProperty(exports, \"getDataCenterById\", {\n enumerable: true,\n get: function get() {\n return _dataCenters.getDataCenterById;\n }\n});\nObject.defineProperty(exports, \"getDataCenterIdFromCurrentUrl\", {\n enumerable: true,\n get: function get() {\n return _dataCenters.getDataCenterIdFromCurrentUrl;\n }\n});\nObject.defineProperty(exports, \"getDefaultSubdomainForDataCenter\", {\n enumerable: true,\n get: function get() {\n return _dataCenters.getDefaultSubdomainForDataCenter;\n }\n});\nexports.localeSets = void 0;\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar _tlds = _interopRequireDefault(require(\"./data/tlds.json\"));\n\nvar _localeSets = require(\"./localeSets\");\n\nvar _languages = require(\"./languages\");\n\nvar _dataCenters = require(\"./dataCenters\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n} // This is for backward compatibility. Remove for 2.0\n\n\nvar localeSets = {\n GDPR_COUNTRIES: _localeSets.GDPRCountryCodes,\n SM_SUPPORTED_COUNTRIES: _localeSets.SMSupportedCountryCodes,\n EU_COUNTRIES: _localeSets.EUCountryCodes,\n US_TERRITORIES: _localeSets.USTerritoryCountryCodes,\n GB_COUNTRIES: _localeSets.GBCountryCodes,\n DASH_COUNTRIES: _localeSets.DASHCountryCodes\n};\nexports.localeSets = localeSets;\n/**\n * @param {string} country - code\n * @param {string} fallBackCountry - default country code\n * @returns {string} two letter country code, default to US if a fallback is not provided\n */\n\nfunction sanitizeCountryCode(country) {\n var fallBackCountry = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _localeSets.CountryCodes.US;\n var isString = typeof country === 'string';\n\n if (!isString) {\n // TODO log this\n !false ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'Country code is not a string.') : invariant(false) : void 0;\n return fallBackCountry;\n }\n\n var isTwoLetterCode = country.length === 2;\n\n if (!isTwoLetterCode) {\n // TODO log this\n !false ? process.env.NODE_ENV !== \"production\" ? (0, _invariant[\"default\"])(false, 'Country code is not a 2 letter code') : invariant(false) : void 0;\n return fallBackCountry;\n }\n\n return _localeSets.SMSupportedCountryCodes.find(function (c) {\n return c === country.toUpperCase();\n }) || fallBackCountry.toUpperCase();\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if that country has GDPR laws\n */\n\n\nfunction isGDPRCountry(country) {\n // if we cannot determine the country, assume GDPR country ie GB\n return _localeSets.GDPRCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is in DASH country set\n */\n\n\nfunction isDACHCountry(country) {\n // if we cannot determine the country, assume non Dash ie. US\n return _localeSets.DASHCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.US));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is in the United Kingdoms\n * @public\n */\n\n\nfunction isGBCountry(country) {\n // if we cannot determine the country, assume GB country\n return _localeSets.GBCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is a US Territory\n * @public\n */\n\n\nfunction isUSTerritory(country) {\n // if we cannot determine the country, assume Non US\n return _localeSets.USTerritoryCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {bool} if country is in European Union\n * @public\n */\n\n\nfunction isEUCountry(country) {\n // if we cannot determine the country, assume EU. (joelm: WHY?!?!?!)\n return _localeSets.EUCountryCodes.includes(sanitizeCountryCode(country, _localeSets.CountryCodes.GB));\n}\n/**\n * @param {string} hostname\n * @returns {bool} if host is a EUDC\n * @public\n */\n\n\nfunction isEUDC(hostname) {\n return (0, _dataCenters.getDataCenterIdFromCurrentUrl)(hostname) === _dataCenters.DataCenterIds.EU;\n}\n/**\n * @param {string} subdomain\n * @returns {bool} if EU Subdomain\n * @public\n */\n\n\nfunction isEUSubdomain(subdomain) {\n return !!(subdomain && subdomain.indexOf('eu') !== -1);\n}\n/**\n * @returns {Array} list of European Union Countries\n * @public\n */\n\n\nfunction getEUCountries() {\n return _toConsumableArray(_localeSets.EUCountryCodes);\n}\n/**\n * @returns {Array} List of SM supported TLDs\n * @public\n */\n\n\nfunction getCookieTransportTLDs() {\n return _tlds[\"default\"].filter(function (tld) {\n return tld.enabled;\n }).map(function (tld) {\n return tld.tld;\n });\n}\n/**\n * @returns {Array} Countries that SM Audience supports\n * @public\n */\n\n\nfunction getAudienceSupportedCountries() {\n // TODO change this to just return list of country codes\n return {\n US: 'United States',\n AU: 'Australia',\n CA: 'Canada',\n NZ: 'New Zealand',\n SG: 'Singapore',\n GB: 'United Kingdom',\n IE: 'Ireland'\n };\n}\n/**\n * @returns {Array} Countries that SM Benchmarks supports\n * @public\n */\n\n\nfunction getBenchmarksSupportedCountries() {\n // TODO change this to jst return a list of country codes\n return {\n US: 'United States'\n };\n}\n/**\n * @returns {Array} Countries that SM supports\n * @public\n */\n\n\nfunction getSMSupportedCountries() {\n return _toConsumableArray(_localeSets.SMSupportedCountryCodes);\n}\n/**\n * @returns {Object} Language Object that SM Supports\n * @public\n */\n\n\nfunction getSiteSupportedLanguages() {\n return _languages.LANGUAGES.filter(function (language) {\n return language.supportLevel === _languages.SupportLevels.SITE_WIDE;\n });\n}\n/**\n * @param {string} country - Two-letter country code\n * @returns {string} language code\n */\n\n\nfunction getLanguageCodeFromCountryCode(country) {\n var language = _languages.LANGUAGES.find(function (lang) {\n return lang.countries.includes(sanitizeCountryCode(country));\n });\n\n return language ? language.code : 'en';\n}\n/**\n * Returns the language code from the subdomain\n * @param {string} subdomain\n * @returns {string} language code\n */\n\n\nfunction getLanguageCodeFromSubdomain(subdomain) {\n if (subdomain === 'eu' || subdomain === 'www') {\n return 'en';\n }\n\n var language = _languages.LANGUAGES_WITH_SUBDOMAINS.find(function (lang) {\n return lang.subdomain === subdomain || \"\".concat(lang.subdomain, \".eu\") === subdomain;\n });\n\n if (language) {\n return language.code;\n }\n\n return 'en';\n}\n/**\n * Returns the subdomain from the language code and data center combination\n * @param {string} languageCode\n * @param {string} dataCenterId\n * @returns {string} subdomain\n */\n\n\nfunction getSubdomainFromLanguageCodeAndDataCenter(languageCode, dataCenterId) {\n var language = _languages.LANGUAGES_BY_CODE[languageCode];\n var result = language.subdomain;\n\n if (dataCenterId === _dataCenters.DataCenterIds.EU) {\n result = \"\".concat(language.subdomain, \".eu\");\n } else if (language.tld === language.subdomain) {\n // override for langs like de and ru which have a cctld\n // only affects www.sm.de || www.sm.ru\n result = 'www';\n }\n\n return result === 'www.eu' ? 'eu' : result;\n}\n/**\n * @returns {Array} Language codes that SM Supports\n * @public\n */\n\n\nfunction getSiteSupportedLanguageCodes() {\n return getSiteSupportedLanguages().map(function (language) {\n return language.code;\n });\n}\n/**\n * Returns the tld language info\n * @param {string} tld\n * @returns {string} language info\n */\n\n\nfunction getTldLanguageInfo(tld) {\n var data = _tlds[\"default\"].find(function (i) {\n return i.tld === tld;\n });\n\n if (!data) {\n return _tlds[\"default\"].find(function (i) {\n return i.tld === 'com';\n });\n }\n\n return data;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LANGUAGES_WITH_SUBDOMAINS = exports.LANGUAGES_BY_CODE = exports.LANGUAGES_BY_ID = exports.LANGUAGES = exports.SupportLevels = void 0;\n/*\nSM has the language data recorded in a number of places. There is DB table sm_Localization_D_Languages present in multiple schemas.\nHere are some examples of the sources that support createweb languages. There are many more references to the top 17 languages supported SM-wide.\nhttps://code.corp.surveymonkey.com/devmonkeys/smlib.locale/blob/master/smlib/locale/locale.yml#L330\nhttps://code.corp.surveymonkey.com/devmonkeys/createweb/blob/develop/createweb/lib/translations.py\nhttps://code.corp.surveymonkey.com/devmonkeys/smsdk.surveysvc/blob/master/smsdk/surveysvc/lib/languages.yml\nhttps://code.corp.surveymonkey.com/devmonkeys/AnWeb/blob/develop/anweb/lib/languages.py\n*/\n\n/**\n * @constant\n * @default\n * @memberof module:@sm/locale\n */\n\nvar SupportLevels;\nexports.SupportLevels = SupportLevels;\n\n(function (SupportLevels) {\n SupportLevels[SupportLevels[\"SITE_WIDE\"] = 1] = \"SITE_WIDE\";\n SupportLevels[SupportLevels[\"SURVEY_CREATION\"] = 2] = \"SURVEY_CREATION\";\n SupportLevels[SupportLevels[\"MULTILINGUAL_SURVEYS\"] = 3] = \"MULTILINGUAL_SURVEYS\";\n})(SupportLevels || (exports.SupportLevels = SupportLevels = {}));\n/**\n * An array of available languages.\n *\n * The language codes in the database do not follow IETF language tag standard https://en.wikipedia.org/wiki/IETF_language_tag\n * or confuse regional locale with language dialect. That causes issues when working with internationalization libraries like ICU.\n * The field code is the \"code\" as in the SM database and python packages. The \"codeIETF\" is the correct code. This API accepts both.\n * For the output choose \"code\" unless you are sure that the consumer supports IETF codes (e.g, uses this library).\n * @type {Array}\n * @memberof module:@sm/locale\n */\n\n\nvar LANGUAGES = [{\n code: 'sq',\n name: 'Albanian',\n id: 24,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ar',\n name: 'Arabic',\n id: 25,\n countries: [],\n isRTL: true,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hy',\n name: 'Armenian',\n id: 26,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'eu',\n name: 'Basque',\n id: 27,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'bn',\n name: 'Bengali',\n id: 28,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'bs',\n name: 'Bosnian',\n id: 29,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'bg',\n name: 'Bulgarian',\n id: 30,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ca',\n name: 'Catalan',\n id: 31,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'zh-cn',\n codeIETF: 'zh-Hans',\n name: 'Chinese (Simplified)',\n id: 2,\n countries: [],\n isRTL: false,\n subdomain: 'www',\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'zh-tw',\n codeIETF: 'zh-Hant',\n name: 'Chinese (Traditional)',\n displayName: '中文(繁體)',\n id: 3,\n helplink: 'zh_TW',\n tld: 'com',\n subdomain: 'zh',\n countries: ['TW'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 14\n}, {\n code: 'pt-br',\n name: 'Portuguese (Brazilian)',\n id: 17,\n displayName: 'Português',\n helplink: 'pt_BR',\n tld: 'com',\n subdomain: 'pt',\n countries: ['BR', 'PT', 'AO', 'CV'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 2\n}, {\n code: 'pt',\n name: 'Portuguese (Iberian)',\n id: 16,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hr',\n name: 'Croatian',\n id: 32,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'cs',\n name: 'Czech',\n id: 33,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'da',\n name: 'Danish',\n displayName: 'Dansk',\n tld: 'com',\n helplink: 'en_US',\n subdomain: 'da',\n id: 4,\n countries: ['DK', 'GL'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 10\n}, {\n code: 'nl',\n name: 'Dutch',\n id: 5,\n displayName: 'Nederlands',\n helplink: 'nl_NL',\n subdomain: 'nl',\n tld: 'com',\n countries: ['NL', 'BE'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 4\n}, {\n code: 'en',\n name: 'English',\n id: 1,\n tld: 'com',\n subdomain: 'www',\n displayName: 'English',\n helplink: 'en_US',\n countries: ['US', 'AU', 'GB', 'IE', 'CA', 'GG', 'NZ'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 5\n}, {\n code: 'et',\n name: 'Estonian',\n id: 34,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'tl',\n codeIETF: 'fil',\n name: 'Filipino',\n id: 35,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'fi',\n name: 'Finnish',\n id: 6,\n displayName: 'Suomi',\n helplink: 'en_US',\n tld: 'com',\n subdomain: 'fi',\n countries: ['FI'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 17\n}, {\n code: 'fr',\n name: 'French',\n id: 7,\n displayName: 'Français',\n helplink: 'fr',\n tld: 'com',\n subdomain: 'fr',\n countries: ['FR', 'MA', 'DZ', 'TN', 'RE', 'CI', 'SN', 'TG', 'MQ', 'GP', 'PF', 'CG', 'CM', 'BJ', 'CD'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 7\n}, {\n code: 'ka',\n name: 'Georgian',\n id: 36,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'de',\n name: 'German',\n id: 8,\n displayName: 'Deutsch',\n helplink: 'de',\n tld: 'de',\n subdomain: 'de',\n countries: ['DE', 'AT', 'CH', 'LI'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 3\n}, {\n code: 'el',\n name: 'Greek',\n id: 9,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'he',\n name: 'Hebrew',\n id: 37,\n countries: [],\n isRTL: true,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hi',\n name: 'Hindi',\n id: 38,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'hu',\n name: 'Hungarian',\n id: 39,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'is',\n name: 'Icelandic',\n id: 40,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'id',\n name: 'Indonesian',\n id: 41,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ga',\n name: 'Irish',\n id: 42,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'it',\n name: 'Italian',\n id: 10,\n displayName: 'Italiano',\n helplink: 'it',\n tld: 'com',\n subdomain: 'it',\n countries: ['IT'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 9\n}, {\n code: 'ja',\n name: 'Japanese',\n id: 11,\n displayName: '日本語',\n helplink: 'ja',\n tld: 'com',\n subdomain: 'jp',\n countries: ['JP'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 12\n}, {\n code: 'ko',\n name: 'Korean',\n id: 12,\n displayName: '한국어',\n helplink: 'ko',\n tld: 'com',\n subdomain: 'ko',\n countries: ['KP', 'KR'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 13\n}, {\n code: 'ku',\n name: 'Kurdish',\n id: 43,\n countries: [],\n\n /** Kurdish can be written in two scripts - it may or may not be RTL */\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'lv',\n name: 'Latvian',\n id: 44,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'lt',\n name: 'Lithuanian',\n id: 45,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'mk',\n name: 'Macedonian',\n id: 46,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ms',\n name: 'Malay',\n id: 13,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ml',\n name: 'Malayalam',\n id: 47,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'no',\n codeIETF: 'nb',\n name: 'Norwegian',\n id: 14,\n displayName: 'Norsk',\n helplink: 'en_US',\n tld: 'com',\n subdomain: 'no',\n countries: ['NO', 'SJ'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 16\n}, {\n code: 'fa',\n name: 'Persian',\n id: 48,\n countries: [],\n isRTL: true,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'pl',\n name: 'Polish',\n id: 15,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'pa',\n name: 'Punjabi',\n id: 49,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ro',\n name: 'Romanian',\n id: 50,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'ru',\n name: 'Russian',\n id: 18,\n displayName: 'Русский',\n helplink: 'ru',\n tld: 'ru',\n subdomain: 'ru',\n countries: ['RU', 'BY', 'UA', 'KZ', 'UZ', 'TJ', 'AZ', 'TM', 'AM', 'MD', 'KG'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 8\n}, {\n code: 'sr',\n name: 'Serbian',\n id: 51,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'sk',\n name: 'Slovak',\n id: 52,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'sl',\n name: 'Slovenian',\n id: 53,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'es',\n name: 'Spanish',\n id: 19,\n displayName: 'Español',\n helplink: 'es',\n tld: 'com',\n subdomain: 'es',\n countries: ['MX', 'ES', 'AR', 'GT', 'HN', 'SV', 'NI', 'CR', 'PA', 'GQ', 'CU', 'DO', 'PR', 'VE', 'CO', 'EC', 'PE', 'BO', 'PY', 'CL', 'UY'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 1\n}, {\n code: 'sw',\n name: 'Swahili',\n id: 54,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'sv',\n name: 'Swedish',\n id: 20,\n displayName: 'Svenska',\n helplink: 'en_US',\n tld: 'com',\n subdomain: 'sv',\n countries: ['SE'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 11\n}, {\n code: 'ta',\n name: 'Tamil',\n id: 55,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'te',\n name: 'Telugu',\n id: 56,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'th',\n name: 'Thai',\n id: 57,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'tr',\n name: 'Turkish',\n id: 21,\n displayName: 'Türkçe',\n helplink: 'tr',\n tld: 'com',\n subdomain: 'tr',\n countries: ['TR'],\n isRTL: false,\n supportLevel: SupportLevels.SITE_WIDE,\n displayOrder: 15\n}, {\n code: 'uk',\n name: 'Ukrainian',\n id: 22,\n countries: ['UA'],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'vi',\n name: 'Vietnamese',\n id: 58,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}, {\n code: 'cy',\n name: 'Welsh',\n id: 59,\n countries: [],\n isRTL: false,\n supportLevel: SupportLevels.SURVEY_CREATION\n}];\n/**\n * Languages by ID\n * @memberof module:@sm/locale\n */\n\nexports.LANGUAGES = LANGUAGES;\nvar LANGUAGES_BY_ID_REC = {};\n/**\n * Languages by code\n * @memberof module:@sm/locale\n */\n\nvar LANGUAGES_BY_CODE_REC = {};\n/**\n * Languages with sub-domains\n * @memberof module:@sm/locale\n */\n\nvar LANGUAGES_WITH_SUBDOMAINS_REC = [];\nLANGUAGES.forEach(function (language) {\n LANGUAGES_BY_ID_REC[language.id] = language;\n LANGUAGES_BY_CODE_REC[language.code] = language;\n\n if (language.codeIETF) {\n LANGUAGES_BY_CODE_REC[language.codeIETF] = language;\n }\n\n if (language.subdomain) {\n LANGUAGES_WITH_SUBDOMAINS_REC.push(language);\n }\n});\nvar LANGUAGES_BY_ID = Object.freeze(LANGUAGES_BY_ID_REC);\nexports.LANGUAGES_BY_ID = LANGUAGES_BY_ID;\nvar LANGUAGES_BY_CODE = Object.freeze(LANGUAGES_BY_CODE_REC);\nexports.LANGUAGES_BY_CODE = LANGUAGES_BY_CODE;\nvar LANGUAGES_WITH_SUBDOMAINS = Object.freeze(LANGUAGES_WITH_SUBDOMAINS_REC);\nexports.LANGUAGES_WITH_SUBDOMAINS = LANGUAGES_WITH_SUBDOMAINS;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SMSupportedCountryCodes = exports.EUCountryCodes = exports.USTerritoryCountryCodes = exports.GBCountryCodes = exports.DASHCountryCodes = exports.GDPRCountryCodes = exports.CountryCodes = void 0;\nvar CountryCodes;\nexports.CountryCodes = CountryCodes;\n\n(function (CountryCodes) {\n CountryCodes[\"AE\"] = \"AE\";\n CountryCodes[\"AR\"] = \"AR\";\n CountryCodes[\"AU\"] = \"AU\";\n CountryCodes[\"BR\"] = \"BR\";\n CountryCodes[\"CA\"] = \"CA\";\n CountryCodes[\"CH\"] = \"CH\";\n CountryCodes[\"LI\"] = \"LI\";\n CountryCodes[\"DK\"] = \"DK\";\n CountryCodes[\"FO\"] = \"FO\";\n CountryCodes[\"GL\"] = \"GL\";\n CountryCodes[\"AD\"] = \"AD\";\n CountryCodes[\"AL\"] = \"AL\";\n CountryCodes[\"AT\"] = \"AT\";\n CountryCodes[\"AX\"] = \"AX\";\n CountryCodes[\"BA\"] = \"BA\";\n CountryCodes[\"BE\"] = \"BE\";\n CountryCodes[\"BG\"] = \"BG\";\n CountryCodes[\"BY\"] = \"BY\";\n CountryCodes[\"CY\"] = \"CY\";\n CountryCodes[\"CZ\"] = \"CZ\";\n CountryCodes[\"DE\"] = \"DE\";\n CountryCodes[\"EE\"] = \"EE\";\n CountryCodes[\"ES\"] = \"ES\";\n CountryCodes[\"FI\"] = \"FI\";\n CountryCodes[\"FR\"] = \"FR\";\n CountryCodes[\"GF\"] = \"GF\";\n CountryCodes[\"GP\"] = \"GP\";\n CountryCodes[\"GR\"] = \"GR\";\n CountryCodes[\"HR\"] = \"HR\";\n CountryCodes[\"HU\"] = \"HU\";\n CountryCodes[\"IE\"] = \"IE\";\n CountryCodes[\"IS\"] = \"IS\";\n CountryCodes[\"IT\"] = \"IT\";\n CountryCodes[\"LT\"] = \"LT\";\n CountryCodes[\"LU\"] = \"LU\";\n CountryCodes[\"LV\"] = \"LV\";\n CountryCodes[\"MC\"] = \"MC\";\n CountryCodes[\"MD\"] = \"MD\";\n CountryCodes[\"ME\"] = \"ME\";\n CountryCodes[\"MF\"] = \"MF\";\n CountryCodes[\"MK\"] = \"MK\";\n CountryCodes[\"MQ\"] = \"MQ\";\n CountryCodes[\"MT\"] = \"MT\";\n CountryCodes[\"NL\"] = \"NL\";\n CountryCodes[\"PL\"] = \"PL\";\n CountryCodes[\"PM\"] = \"PM\";\n CountryCodes[\"PT\"] = \"PT\";\n CountryCodes[\"RE\"] = \"RE\";\n CountryCodes[\"RO\"] = \"RO\";\n CountryCodes[\"RS\"] = \"RS\";\n CountryCodes[\"RU\"] = \"RU\";\n CountryCodes[\"SI\"] = \"SI\";\n CountryCodes[\"SK\"] = \"SK\";\n CountryCodes[\"SM\"] = \"SM\";\n CountryCodes[\"TF\"] = \"TF\";\n CountryCodes[\"TR\"] = \"TR\";\n CountryCodes[\"UA\"] = \"UA\";\n CountryCodes[\"VA\"] = \"VA\";\n CountryCodes[\"YT\"] = \"YT\";\n CountryCodes[\"GB\"] = \"GB\";\n CountryCodes[\"GG\"] = \"GG\";\n CountryCodes[\"GI\"] = \"GI\";\n CountryCodes[\"GS\"] = \"GS\";\n CountryCodes[\"IM\"] = \"IM\";\n CountryCodes[\"JE\"] = \"JE\";\n CountryCodes[\"HK\"] = \"HK\";\n CountryCodes[\"IN\"] = \"IN\";\n CountryCodes[\"JP\"] = \"JP\";\n CountryCodes[\"KR\"] = \"KR\";\n CountryCodes[\"MX\"] = \"MX\";\n CountryCodes[\"NO\"] = \"NO\";\n CountryCodes[\"NZ\"] = \"NZ\";\n CountryCodes[\"SE\"] = \"SE\";\n CountryCodes[\"SG\"] = \"SG\";\n CountryCodes[\"TW\"] = \"TW\";\n CountryCodes[\"AF\"] = \"AF\";\n CountryCodes[\"AG\"] = \"AG\";\n CountryCodes[\"AI\"] = \"AI\";\n CountryCodes[\"AM\"] = \"AM\";\n CountryCodes[\"AN\"] = \"AN\";\n CountryCodes[\"AO\"] = \"AO\";\n CountryCodes[\"AQ\"] = \"AQ\";\n CountryCodes[\"AS\"] = \"AS\";\n CountryCodes[\"AW\"] = \"AW\";\n CountryCodes[\"AZ\"] = \"AZ\";\n CountryCodes[\"BB\"] = \"BB\";\n CountryCodes[\"BD\"] = \"BD\";\n CountryCodes[\"BF\"] = \"BF\";\n CountryCodes[\"BH\"] = \"BH\";\n CountryCodes[\"BI\"] = \"BI\";\n CountryCodes[\"BJ\"] = \"BJ\";\n CountryCodes[\"BL\"] = \"BL\";\n CountryCodes[\"BM\"] = \"BM\";\n CountryCodes[\"BN\"] = \"BN\";\n CountryCodes[\"BO\"] = \"BO\";\n CountryCodes[\"BS\"] = \"BS\";\n CountryCodes[\"BT\"] = \"BT\";\n CountryCodes[\"BV\"] = \"BV\";\n CountryCodes[\"BW\"] = \"BW\";\n CountryCodes[\"BZ\"] = \"BZ\";\n CountryCodes[\"CC\"] = \"CC\";\n CountryCodes[\"CD\"] = \"CD\";\n CountryCodes[\"CF\"] = \"CF\";\n CountryCodes[\"CG\"] = \"CG\";\n CountryCodes[\"CI\"] = \"CI\";\n CountryCodes[\"CK\"] = \"CK\";\n CountryCodes[\"CL\"] = \"CL\";\n CountryCodes[\"CM\"] = \"CM\";\n CountryCodes[\"CN\"] = \"CN\";\n CountryCodes[\"CO\"] = \"CO\";\n CountryCodes[\"CR\"] = \"CR\";\n CountryCodes[\"CV\"] = \"CV\";\n CountryCodes[\"CX\"] = \"CX\";\n CountryCodes[\"DJ\"] = \"DJ\";\n CountryCodes[\"DM\"] = \"DM\";\n CountryCodes[\"DO\"] = \"DO\";\n CountryCodes[\"DZ\"] = \"DZ\";\n CountryCodes[\"EC\"] = \"EC\";\n CountryCodes[\"EG\"] = \"EG\";\n CountryCodes[\"EH\"] = \"EH\";\n CountryCodes[\"ER\"] = \"ER\";\n CountryCodes[\"ET\"] = \"ET\";\n CountryCodes[\"FJ\"] = \"FJ\";\n CountryCodes[\"FK\"] = \"FK\";\n CountryCodes[\"FM\"] = \"FM\";\n CountryCodes[\"GA\"] = \"GA\";\n CountryCodes[\"GD\"] = \"GD\";\n CountryCodes[\"GE\"] = \"GE\";\n CountryCodes[\"GH\"] = \"GH\";\n CountryCodes[\"GM\"] = \"GM\";\n CountryCodes[\"GN\"] = \"GN\";\n CountryCodes[\"GQ\"] = \"GQ\";\n CountryCodes[\"GT\"] = \"GT\";\n CountryCodes[\"GU\"] = \"GU\";\n CountryCodes[\"GW\"] = \"GW\";\n CountryCodes[\"GY\"] = \"GY\";\n CountryCodes[\"HM\"] = \"HM\";\n CountryCodes[\"HN\"] = \"HN\";\n CountryCodes[\"HT\"] = \"HT\";\n CountryCodes[\"ID\"] = \"ID\";\n CountryCodes[\"IL\"] = \"IL\";\n CountryCodes[\"IO\"] = \"IO\";\n CountryCodes[\"IQ\"] = \"IQ\";\n CountryCodes[\"JM\"] = \"JM\";\n CountryCodes[\"JO\"] = \"JO\";\n CountryCodes[\"KE\"] = \"KE\";\n CountryCodes[\"KG\"] = \"KG\";\n CountryCodes[\"KH\"] = \"KH\";\n CountryCodes[\"KI\"] = \"KI\";\n CountryCodes[\"KM\"] = \"KM\";\n CountryCodes[\"KN\"] = \"KN\";\n CountryCodes[\"KP\"] = \"KP\";\n CountryCodes[\"KW\"] = \"KW\";\n CountryCodes[\"KY\"] = \"KY\";\n CountryCodes[\"KZ\"] = \"KZ\";\n CountryCodes[\"LA\"] = \"LA\";\n CountryCodes[\"LB\"] = \"LB\";\n CountryCodes[\"LC\"] = \"LC\";\n CountryCodes[\"LK\"] = \"LK\";\n CountryCodes[\"LR\"] = \"LR\";\n CountryCodes[\"LS\"] = \"LS\";\n CountryCodes[\"LY\"] = \"LY\";\n CountryCodes[\"MA\"] = \"MA\";\n CountryCodes[\"MG\"] = \"MG\";\n CountryCodes[\"MH\"] = \"MH\";\n CountryCodes[\"ML\"] = \"ML\";\n CountryCodes[\"MM\"] = \"MM\";\n CountryCodes[\"MN\"] = \"MN\";\n CountryCodes[\"MO\"] = \"MO\";\n CountryCodes[\"MP\"] = \"MP\";\n CountryCodes[\"MR\"] = \"MR\";\n CountryCodes[\"MS\"] = \"MS\";\n CountryCodes[\"MU\"] = \"MU\";\n CountryCodes[\"MV\"] = \"MV\";\n CountryCodes[\"MW\"] = \"MW\";\n CountryCodes[\"MY\"] = \"MY\";\n CountryCodes[\"MZ\"] = \"MZ\";\n CountryCodes[\"NA\"] = \"NA\";\n CountryCodes[\"NC\"] = \"NC\";\n CountryCodes[\"NE\"] = \"NE\";\n CountryCodes[\"NF\"] = \"NF\";\n CountryCodes[\"NG\"] = \"NG\";\n CountryCodes[\"NI\"] = \"NI\";\n CountryCodes[\"NP\"] = \"NP\";\n CountryCodes[\"NR\"] = \"NR\";\n CountryCodes[\"NU\"] = \"NU\";\n CountryCodes[\"OM\"] = \"OM\";\n CountryCodes[\"PA\"] = \"PA\";\n CountryCodes[\"PE\"] = \"PE\";\n CountryCodes[\"PF\"] = \"PF\";\n CountryCodes[\"PG\"] = \"PG\";\n CountryCodes[\"PH\"] = \"PH\";\n CountryCodes[\"PK\"] = \"PK\";\n CountryCodes[\"PN\"] = \"PN\";\n CountryCodes[\"PR\"] = \"PR\";\n CountryCodes[\"PS\"] = \"PS\";\n CountryCodes[\"PW\"] = \"PW\";\n CountryCodes[\"PY\"] = \"PY\";\n CountryCodes[\"QA\"] = \"QA\";\n CountryCodes[\"RW\"] = \"RW\";\n CountryCodes[\"SA\"] = \"SA\";\n CountryCodes[\"SB\"] = \"SB\";\n CountryCodes[\"SC\"] = \"SC\";\n CountryCodes[\"SH\"] = \"SH\";\n CountryCodes[\"SJ\"] = \"SJ\";\n CountryCodes[\"SL\"] = \"SL\";\n CountryCodes[\"SN\"] = \"SN\";\n CountryCodes[\"SO\"] = \"SO\";\n CountryCodes[\"SR\"] = \"SR\";\n CountryCodes[\"ST\"] = \"ST\";\n CountryCodes[\"SV\"] = \"SV\";\n CountryCodes[\"SY\"] = \"SY\";\n CountryCodes[\"SZ\"] = \"SZ\";\n CountryCodes[\"TC\"] = \"TC\";\n CountryCodes[\"TD\"] = \"TD\";\n CountryCodes[\"TG\"] = \"TG\";\n CountryCodes[\"TH\"] = \"TH\";\n CountryCodes[\"TJ\"] = \"TJ\";\n CountryCodes[\"TK\"] = \"TK\";\n CountryCodes[\"TL\"] = \"TL\";\n CountryCodes[\"TM\"] = \"TM\";\n CountryCodes[\"TN\"] = \"TN\";\n CountryCodes[\"TO\"] = \"TO\";\n CountryCodes[\"TT\"] = \"TT\";\n CountryCodes[\"TV\"] = \"TV\";\n CountryCodes[\"TZ\"] = \"TZ\";\n CountryCodes[\"UG\"] = \"UG\";\n CountryCodes[\"UM\"] = \"UM\";\n CountryCodes[\"US\"] = \"US\";\n CountryCodes[\"UY\"] = \"UY\";\n CountryCodes[\"UZ\"] = \"UZ\";\n CountryCodes[\"VC\"] = \"VC\";\n CountryCodes[\"VE\"] = \"VE\";\n CountryCodes[\"VG\"] = \"VG\";\n CountryCodes[\"VI\"] = \"VI\";\n CountryCodes[\"VN\"] = \"VN\";\n CountryCodes[\"VU\"] = \"VU\";\n CountryCodes[\"WF\"] = \"WF\";\n CountryCodes[\"WS\"] = \"WS\";\n CountryCodes[\"YE\"] = \"YE\";\n CountryCodes[\"ZM\"] = \"ZM\";\n CountryCodes[\"ZW\"] = \"ZW\";\n CountryCodes[\"ZA\"] = \"ZA\";\n})(CountryCodes || (exports.CountryCodes = CountryCodes = {}));\n\nvar GDPRCountryCodes = [CountryCodes.AT, CountryCodes.BE, CountryCodes.BG, CountryCodes.CH, CountryCodes.CY, CountryCodes.CZ, CountryCodes.DE, CountryCodes.DK, CountryCodes.EE, CountryCodes.ES, CountryCodes.FI, CountryCodes.FR, CountryCodes.GB, CountryCodes.GR, CountryCodes.HR, CountryCodes.HU, CountryCodes.IE, CountryCodes.IM, CountryCodes.IT, CountryCodes.LT, CountryCodes.LU, CountryCodes.LV, CountryCodes.MC, CountryCodes.MT, CountryCodes.NL, CountryCodes.PL, CountryCodes.PT, CountryCodes.RO, CountryCodes.SE, CountryCodes.SI, CountryCodes.SK, CountryCodes.IS, CountryCodes.LI, CountryCodes.NO];\nexports.GDPRCountryCodes = GDPRCountryCodes;\nvar DASHCountryCodes = [CountryCodes.DE, CountryCodes.AT, CountryCodes.CH];\nexports.DASHCountryCodes = DASHCountryCodes;\nvar GBCountryCodes = [CountryCodes.GB, CountryCodes.GG, CountryCodes.GI, CountryCodes.GS, CountryCodes.IM, CountryCodes.JE];\nexports.GBCountryCodes = GBCountryCodes;\nvar USTerritoryCountryCodes = [CountryCodes.GU, CountryCodes.PR, CountryCodes.UM, CountryCodes.US, CountryCodes.VI];\nexports.USTerritoryCountryCodes = USTerritoryCountryCodes;\nvar EUCountryCodes = [CountryCodes.AT, CountryCodes.BE, CountryCodes.BG, CountryCodes.CY, CountryCodes.CZ, CountryCodes.DE, CountryCodes.DK, CountryCodes.EE, CountryCodes.ES, CountryCodes.FI, CountryCodes.FR, CountryCodes.GB, CountryCodes.GR, CountryCodes.HR, CountryCodes.HU, CountryCodes.IE, CountryCodes.IM, CountryCodes.IT, CountryCodes.LT, CountryCodes.LU, CountryCodes.LV, CountryCodes.MC, CountryCodes.MT, CountryCodes.NL, CountryCodes.PL, CountryCodes.PT, CountryCodes.RO, CountryCodes.SE, CountryCodes.SI, CountryCodes.SK];\nexports.EUCountryCodes = EUCountryCodes;\nvar SMSupportedCountryCodes = [CountryCodes.AE, CountryCodes.AR, CountryCodes.AU, CountryCodes.BR, CountryCodes.CA, CountryCodes.CH, CountryCodes.LI, CountryCodes.DK, CountryCodes.FO, CountryCodes.GL, CountryCodes.AD, CountryCodes.AL, CountryCodes.AT, CountryCodes.AX, CountryCodes.BA, CountryCodes.BE, CountryCodes.BG, CountryCodes.BY, CountryCodes.CY, CountryCodes.CZ, CountryCodes.DE, CountryCodes.EE, CountryCodes.ES, CountryCodes.FI, CountryCodes.FR, CountryCodes.GF, CountryCodes.GP, CountryCodes.GR, CountryCodes.HR, CountryCodes.HU, CountryCodes.IE, CountryCodes.IS, CountryCodes.IT, CountryCodes.LT, CountryCodes.LU, CountryCodes.LV, CountryCodes.MC, CountryCodes.MD, CountryCodes.ME, CountryCodes.MF, CountryCodes.MK, CountryCodes.MQ, CountryCodes.MT, CountryCodes.NL, CountryCodes.PL, CountryCodes.PM, CountryCodes.PT, CountryCodes.RE, CountryCodes.RO, CountryCodes.RS, CountryCodes.RU, CountryCodes.SI, CountryCodes.SK, CountryCodes.SM, CountryCodes.TF, CountryCodes.TR, CountryCodes.UA, CountryCodes.VA, CountryCodes.YT, CountryCodes.GB, CountryCodes.GG, CountryCodes.GI, CountryCodes.GS, CountryCodes.IM, CountryCodes.JE, CountryCodes.HK, CountryCodes.IN, CountryCodes.JP, CountryCodes.KR, CountryCodes.MX, CountryCodes.NO, CountryCodes.NZ, CountryCodes.SE, CountryCodes.SG, CountryCodes.TW, CountryCodes.AF, CountryCodes.AG, CountryCodes.AI, CountryCodes.AM, CountryCodes.AN, CountryCodes.AO, CountryCodes.AQ, CountryCodes.AS, CountryCodes.AW, CountryCodes.AZ, CountryCodes.BB, CountryCodes.BD, CountryCodes.BF, CountryCodes.BH, CountryCodes.BI, CountryCodes.BJ, CountryCodes.BL, CountryCodes.BM, CountryCodes.BN, CountryCodes.BO, CountryCodes.BS, CountryCodes.BT, CountryCodes.BV, CountryCodes.BW, CountryCodes.BZ, CountryCodes.CC, CountryCodes.CD, CountryCodes.CF, CountryCodes.CG, CountryCodes.CI, CountryCodes.CK, CountryCodes.CL, CountryCodes.CM, CountryCodes.CN, CountryCodes.CO, CountryCodes.CR, CountryCodes.CV, CountryCodes.CX, CountryCodes.DJ, CountryCodes.DM, CountryCodes.DO, CountryCodes.DZ, CountryCodes.EC, CountryCodes.EG, CountryCodes.EH, CountryCodes.ER, CountryCodes.ET, CountryCodes.FJ, CountryCodes.FK, CountryCodes.FM, CountryCodes.GA, CountryCodes.GD, CountryCodes.GE, CountryCodes.GH, CountryCodes.GM, CountryCodes.GN, CountryCodes.GQ, CountryCodes.GT, CountryCodes.GU, CountryCodes.GW, CountryCodes.GY, CountryCodes.HM, CountryCodes.HN, CountryCodes.HT, CountryCodes.ID, CountryCodes.IL, CountryCodes.IO, CountryCodes.IQ, CountryCodes.JM, CountryCodes.JO, CountryCodes.KE, CountryCodes.KG, CountryCodes.KH, CountryCodes.KI, CountryCodes.KM, CountryCodes.KN, CountryCodes.KP, CountryCodes.KW, CountryCodes.KY, CountryCodes.KZ, CountryCodes.LA, CountryCodes.LB, CountryCodes.LC, CountryCodes.LK, CountryCodes.LR, CountryCodes.LS, CountryCodes.LY, CountryCodes.MA, CountryCodes.MG, CountryCodes.MH, CountryCodes.ML, CountryCodes.MM, CountryCodes.MN, CountryCodes.MO, CountryCodes.MP, CountryCodes.MR, CountryCodes.MS, CountryCodes.MU, CountryCodes.MV, CountryCodes.MW, CountryCodes.MY, CountryCodes.MZ, CountryCodes.NA, CountryCodes.NC, CountryCodes.NE, CountryCodes.NF, CountryCodes.NG, CountryCodes.NI, CountryCodes.NP, CountryCodes.NR, CountryCodes.NU, CountryCodes.OM, CountryCodes.PA, CountryCodes.PE, CountryCodes.PF, CountryCodes.PG, CountryCodes.PH, CountryCodes.PK, CountryCodes.PN, CountryCodes.PR, CountryCodes.PS, CountryCodes.PW, CountryCodes.PY, CountryCodes.QA, CountryCodes.RW, CountryCodes.SA, CountryCodes.SB, CountryCodes.SC, CountryCodes.SH, CountryCodes.SJ, CountryCodes.SL, CountryCodes.SN, CountryCodes.SO, CountryCodes.SR, CountryCodes.ST, CountryCodes.SV, CountryCodes.SY, CountryCodes.SZ, CountryCodes.TC, CountryCodes.TD, CountryCodes.TG, CountryCodes.TH, CountryCodes.TJ, CountryCodes.TK, CountryCodes.TL, CountryCodes.TM, CountryCodes.TN, CountryCodes.TO, CountryCodes.TT, CountryCodes.TV, CountryCodes.TZ, CountryCodes.UG, CountryCodes.UM, CountryCodes.US, CountryCodes.UY, CountryCodes.UZ, CountryCodes.VC, CountryCodes.VE, CountryCodes.VG, CountryCodes.VI, CountryCodes.VN, CountryCodes.VU, CountryCodes.WF, CountryCodes.WS, CountryCodes.YE, CountryCodes.ZM, CountryCodes.ZW, CountryCodes.ZA];\nexports.SMSupportedCountryCodes = SMSupportedCountryCodes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.generateMetricsAttribute = generateMetricsAttribute;\nexports.MetricsTracker = void 0;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nvar _utils2 = _interopRequireDefault(require(\"./utils\"));\n\nvar _helpers = require(\"./helpers\");\n\nvar _DataAnalyticsMetricsSubscriber = _interopRequireDefault(require(\"./subscribers/DataAnalyticsMetricsSubscriber\"));\n\nvar _LoggingMetricsSubscriber = _interopRequireDefault(require(\"./subscribers/LoggingMetricsSubscriber\"));\n\nvar _GTMMeticsSubscriber = _interopRequireDefault(require(\"./subscribers/GTMMeticsSubscriber\"));\n\nvar _FacebookPixelSubscriber = _interopRequireDefault(require(\"./subscribers/FacebookPixelSubscriber\"));\n\nvar _MixPanelSubscriber = _interopRequireDefault(require(\"./subscribers/MixPanelSubscriber\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser; // Import/require only in the browser\n\n\nvar delegatedEvents = isBrowser ? require('delegated-events') : null;\n\nfunction getCleanDigitalData() {\n var userId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '1';\n return {\n page: {\n pageInfo: {\n pageId: '',\n attributes: {},\n pathname: ''\n }\n },\n events: [],\n components: [],\n user: {\n ep201: (0, _utils2[\"default\"])('ep201'),\n ep202: (0, _utils2[\"default\"])('ep202'),\n id: userId\n }\n };\n}\n\nfunction generateMetricsAttribute(eventData) {\n return JSON.stringify({\n name: eventData.name || _enums[\"default\"].ELEMENT_INTERACTION,\n data: eventData.data\n });\n}\n\nvar GLOBAL_KEY = 'sm_metrics_tracker_do_not_touch_this';\nvar glob = isBrowser ? window : global;\n\nfunction setupRoot() {\n if (!glob[GLOBAL_KEY]) {\n var root = {\n subscribers: [],\n automaticSubscribers: [],\n config: {\n user: {\n id: '',\n isAuthenticated: false\n },\n dataAnalyticsAPIPath: null,\n loggingAPIPath: null,\n country: 'GB',\n legacyWeb: '',\n gtmId: ''\n },\n digitalData: getCleanDigitalData()\n };\n glob[GLOBAL_KEY] = root;\n }\n\n return glob[GLOBAL_KEY];\n}\n\nfunction getRoot() {\n if (!glob[GLOBAL_KEY]) {\n throw new Error('Please initialize MetricsTracker with a userId before tracking events.');\n }\n\n return glob[GLOBAL_KEY];\n}\n\nvar MetricsTracker = {\n initialize: function initialize(config) {\n var root = setupRoot();\n root.config = config;\n root.digitalData = getCleanDigitalData(config.user.id);\n setupEvents();\n return root;\n },\n reset: function reset() {\n var root = getRoot();\n root.digitalData = getCleanDigitalData(root.config.user.id);\n root.subscribers = [];\n root.automaticSubscribers = []; // Add the mandatory dataAnalytics subscriber\n\n this.addSubscriber(_DataAnalyticsMetricsSubscriber[\"default\"]); // Add the mandatory logging subscriber\n\n this.addSubscriber(_LoggingMetricsSubscriber[\"default\"]); // Add Google Tag Manager dataLayer subscriber\n\n MetricsTracker.addSubscriber(_GTMMeticsSubscriber[\"default\"]); // Add Facebook Pixel subscriber\n\n MetricsTracker.addSubscriber(_FacebookPixelSubscriber[\"default\"]); // Add MixPanel Subscriber\n\n MetricsTracker.addSubscriber(_MixPanelSubscriber[\"default\"]); // Add MixPanel Automatic Subscriber\n\n MetricsTracker.addAutomaticSubscriber(_MixPanelSubscriber[\"default\"]);\n return root;\n },\n update: function update(config) {\n // for some data points within an SPA, the configuration must be\n // updated post initialization\n var root = getRoot();\n root.config = _objectSpread(_objectSpread({}, root.config), config);\n return root;\n },\n getSubscribers: function getSubscribers() {\n var _getRoot = getRoot(),\n subscribers = _getRoot.subscribers;\n\n return subscribers;\n },\n getAutomaticSubscribers: function getAutomaticSubscribers() {\n var _getRoot2 = getRoot(),\n automaticSubscribers = _getRoot2.automaticSubscribers;\n\n return automaticSubscribers;\n },\n track: function track(event) {\n var _event$data, _event$data2, _event$data2$data;\n\n var root = getRoot();\n\n if (root.config.user.id === '') {\n throw new Error('Please initialize MetricsTracker with a userId before tracking events.');\n }\n\n var maskedEvent = event; // mask email addresses\n\n if (event !== null && event !== void 0 && (_event$data = event.data) !== null && _event$data !== void 0 && _event$data.email) {\n maskedEvent.data.email = (0, _helpers.maskEmail)(event.data.email);\n }\n\n if (event !== null && event !== void 0 && (_event$data2 = event.data) !== null && _event$data2 !== void 0 && (_event$data2$data = _event$data2.data) !== null && _event$data2$data !== void 0 && _event$data2$data.email) {\n maskedEvent.data.data.email = (0, _helpers.maskEmail)(event.data.data.email);\n }\n\n if (_enums[\"default\"][event.name]) {\n root.digitalData.events.push(event);\n\n if (_enums[\"default\"].COMPONENT_ADD === event.name) {\n root.digitalData.components.push(event.data);\n }\n\n if (event.name === _enums[\"default\"].PAGE_VIEW || event.name === _enums[\"default\"].VIRTUAL_PAGE_VIEW) {\n root.digitalData = (0, _helpers.pageViewMutation)(event, root.digitalData);\n }\n\n root.subscribers.forEach(function (subscriber) {\n subscriber(event, root.config);\n });\n }\n },\n automaticTrack: function automaticTrack(event) {\n var root = getRoot();\n root.automaticSubscribers.forEach(function (subscriber) {\n subscriber(event, root.config);\n });\n },\n addSubscriber: function addSubscriber(subscriber) {\n /**\n * We always want to allow the subscribers to subscribe. If the user\n * did not accept GDPR, we don't fire events; hence, we never violate GDPR.\n * If, however, the user does allow tracking, we don't want to subscribers\n * to re-subscribe.\n */\n var root = getRoot();\n root.subscribers.push(subscriber);\n },\n addAutomaticSubscriber: function addAutomaticSubscriber(subscriber) {\n var root = getRoot();\n root.automaticSubscribers.push(subscriber);\n },\n getConfig: function getConfig() {\n return getRoot().config;\n },\n getDigitalData: function getDigitalData() {\n return getRoot().digitalData;\n }\n};\nexports.MetricsTracker = MetricsTracker;\n\nfunction setupEvents() {\n if (!isBrowser) {\n return;\n }\n\n if (window && window.SM && window.SM.MetricsTracker) {\n // only create one event listener on the document\n // this makes it safe for consumer apps to call initialize multiple times\n return;\n }\n /**\n * Add on click event listener\n * Note - this is done in the getInstance method; hence, until this\n * method is called, the event handler would never be bound.\n */\n\n\n delegatedEvents.on('click', '[data-sm-metrics]', function gce(event) {\n if (event && event.currentTarget) {\n var metricsData = event.currentTarget.getAttribute('data-sm-metrics');\n\n if (metricsData) {\n var metricsDataJSON = JSON.parse(metricsData);\n var eventData = metricsDataJSON.data;\n MetricsTracker.track({\n name: metricsDataJSON.name || _enums[\"default\"].ELEMENT_INTERACTION,\n data: eventData\n });\n }\n }\n }); // Add the mandatory dataAnalytics subscriber\n\n MetricsTracker.addSubscriber(_DataAnalyticsMetricsSubscriber[\"default\"]); // Add the mandatory logging subscriber\n\n MetricsTracker.addSubscriber(_LoggingMetricsSubscriber[\"default\"]); // Add Google Tag Manager dataLayer subscriber\n\n MetricsTracker.addSubscriber(_GTMMeticsSubscriber[\"default\"]); // Add Facebook Pixel subscriber\n\n MetricsTracker.addSubscriber(_FacebookPixelSubscriber[\"default\"]); // Add MixPanel Subscriber\n\n MetricsTracker.addSubscriber(_MixPanelSubscriber[\"default\"]);\n setupAutomaticEvents();\n window.SM = window.SM || {};\n window.SM.MetricsTracker = MetricsTracker;\n}\n\nfunction setupAutomaticEvents() {\n var clickableLinks = ['.wds-button', '.wds-link', 'a', 'wds-switch__native', 'wds-checkbox__native', 'wds-radio__native', 'wds-list__item', 'wds-close', 'wds-popout__trigger', 'wds-has-menu', 'wds-slider__handle', 'wds-tab__tab-btn'];\n delegatedEvents.on('click', clickableLinks.join(','), function gce(event) {\n if (!event.target) {\n return;\n }\n\n var name = event.type;\n var target = event.target;\n var inputTarget = target;\n MetricsTracker.automaticTrack({\n name: _enums[\"default\"].ELEMENT_INTERACTION,\n data: {\n actionType: name,\n actionFlow: 'automatic',\n \"class\": target.className,\n text: target.innerText,\n checked: inputTarget.checked || undefined,\n value: inputTarget.value || undefined\n }\n });\n }); // Add MixPanel Subscriber\n\n MetricsTracker.addAutomaticSubscriber(_MixPanelSubscriber[\"default\"]);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.cloneDigitalData = cloneDigitalData;\nexports.pageViewMutation = pageViewMutation;\nexports.maskString = maskString;\nexports.maskEmail = maskEmail;\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction cloneDigitalData(digitalData) {\n return JSON.parse(JSON.stringify(digitalData));\n}\n\nfunction pageViewMutation(event, digitalData) {\n if (event.name !== _enums[\"default\"].PAGE_VIEW && event.name !== _enums[\"default\"].VIRTUAL_PAGE_VIEW) {\n return digitalData;\n }\n\n var newDigitalData = cloneDigitalData(digitalData);\n var _event$data = event.data,\n pageId = _event$data.pageId,\n pathname = _event$data.pathname,\n attributes = _event$data.attributes;\n newDigitalData.page.pageInfo = {\n pageId: pageId,\n pathname: pathname,\n attributes: attributes\n };\n return newDigitalData;\n}\n\nfunction maskString(str) {\n if (!str) return '';\n if (str.length === 1) return '*';\n if (str.length === 2) return '**';\n return str.replace(/^(.)(.*)(.)$/, function (_, a, b, c) {\n return a + b.replace(/./g, '*') + c;\n });\n}\n\nfunction maskEmail(email) {\n if (!email) return '';\n return email.replace(/^(.*)(@.*)$/, function (_, a, b) {\n return a.replace(/./g, '*') + b;\n });\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"MetricsTracker\", {\n enumerable: true,\n get: function get() {\n return _MetricsTracker.MetricsTracker;\n }\n});\nObject.defineProperty(exports, \"generateMetricsAttribute\", {\n enumerable: true,\n get: function get() {\n return _MetricsTracker.generateMetricsAttribute;\n }\n});\nObject.defineProperty(exports, \"PageMetricsProvider\", {\n enumerable: true,\n get: function get() {\n return _PageMetricsProvider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"ComponentMetricsProvider\", {\n enumerable: true,\n get: function get() {\n return _ComponentMetricsProvider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SPARouteMetricsProvider\", {\n enumerable: true,\n get: function get() {\n return _SPARouteMetricsProvider[\"default\"];\n }\n});\nObject.defineProperty(exports, \"USER_EVENTS\", {\n enumerable: true,\n get: function get() {\n return _enums[\"default\"];\n }\n});\n\nvar _MetricsTracker = require(\"./MetricsTracker\");\n\nvar _PageMetricsProvider = _interopRequireDefault(require(\"./providers/PageMetricsProvider\"));\n\nvar _ComponentMetricsProvider = _interopRequireDefault(require(\"./providers/ComponentMetricsProvider\"));\n\nvar _SPARouteMetricsProvider = _interopRequireDefault(require(\"./providers/SPARouteMetricsProvider\"));\n\nvar _enums = _interopRequireDefault(require(\"./types/enums\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _ = require(\"..\");\n\nvar ComponentMetricsProvider = function ComponentMetricsProvider(_ref) {\n var name = _ref.name,\n _ref$attributes = _ref.attributes,\n attributes = _ref$attributes === void 0 ? null : _ref$attributes,\n _ref$disableDA = _ref.disableDA,\n disableDA = _ref$disableDA === void 0 ? false : _ref$disableDA,\n actionFlow = _ref.actionFlow,\n actionType = _ref.actionType,\n children = _ref.children;\n var envDetails = (0, _utils.getClientEnvironmentDetails)();\n\n if (envDetails.isBrowser) {\n _.MetricsTracker.track({\n name: _.USER_EVENTS.COMPONENT_ADD,\n data: {\n componentName: name,\n attributes: attributes,\n disableDA: disableDA,\n actionType: actionType,\n actionFlow: actionFlow\n }\n });\n }\n\n return children;\n};\n\nvar _default = ComponentMetricsProvider;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _ = require(\"..\");\n\nvar PageMetricsProvider = function PageMetricsProvider(_ref) {\n var pageId = _ref.pageId,\n pathname = _ref.pathname,\n attributes = _ref.attributes,\n GDPR = _ref.GDPR,\n user = _ref.user,\n country = _ref.country,\n children = _ref.children;\n var _GDPR$hasGDPRConsent = GDPR.hasGDPRConsent,\n hasGDPRConsent = _GDPR$hasGDPRConsent === void 0 ? false : _GDPR$hasGDPRConsent;\n var _user$id = user.id,\n userId = _user$id === void 0 ? '1' : _user$id,\n _user$package = user[\"package\"],\n packageId = _user$package === void 0 ? '1' : _user$package,\n _user$email = user.email,\n email = _user$email === void 0 ? '' : _user$email;\n (0, _react.useEffect)(function () {\n _.MetricsTracker.track({\n name: _.USER_EVENTS.PAGE_VIEW,\n data: {\n actionType: _.USER_EVENTS.PAGE_VIEW,\n actionFlow: pageId,\n pathname: pathname,\n pageId: pageId,\n attributes: attributes,\n data: {\n hasGDPRConsent: hasGDPRConsent,\n userId: userId,\n packageId: packageId,\n email: email,\n country: country\n }\n }\n });\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n /**\n * Adding an empty array ensures that this is always and only called\n * on first page renders/reloads. SPA will never call this.\n */\n ]);\n return children;\n};\n\nvar _default = PageMetricsProvider;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _react = require(\"react\");\n\nvar _ = require(\"..\");\n\nvar SPARouteMetricsProvider = function SPARouteMetricsProvider(_ref) {\n var pageId = _ref.pageId,\n pathname = _ref.pathname,\n legacyWeb = _ref.legacyWeb,\n attributes = _ref.attributes,\n GDPR = _ref.GDPR,\n user = _ref.user,\n country = _ref.country,\n children = _ref.children;\n var _GDPR$hasGDPRConsent = GDPR.hasGDPRConsent,\n hasGDPRConsent = _GDPR$hasGDPRConsent === void 0 ? false : _GDPR$hasGDPRConsent;\n var _user$id = user.id,\n userId = _user$id === void 0 ? '1' : _user$id,\n _user$package = user[\"package\"],\n packageId = _user$package === void 0 ? '1' : _user$package,\n _user$email = user.email,\n email = _user$email === void 0 ? '' : _user$email;\n (0, _react.useEffect)(function () {\n // update the global config\n _.MetricsTracker.update({\n pageId: pageId,\n legacyWeb: legacyWeb\n });\n /*\n // TODO: This shouldn't fire on intital render, but it needs to right now\n // to ensure all page metrics for SPA are accurately recorded. For example\n // in the SPA, PAGE_VIEW only knows about the SPA container, not the page within\n // the container. So the VIRTUAL_PAGE_VIEW is needed to track the actual page content\n */\n\n\n _.MetricsTracker.track({\n name: _.USER_EVENTS.VIRTUAL_PAGE_VIEW,\n data: {\n actionType: _.USER_EVENTS.VIRTUAL_PAGE_VIEW,\n actionFlow: pageId,\n pageId: pageId,\n attributes: attributes,\n pathname: pathname,\n data: {\n hasGDPRConsent: hasGDPRConsent,\n userId: userId,\n packageId: packageId,\n email: email,\n countryCode: country\n }\n }\n }); // eslint-disable-next-line react-hooks/exhaustive-deps\n\n }, [pageId, legacyWeb, pathname]);\n return children;\n};\n\nvar _default = SPARouteMetricsProvider;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = dataAnalyticsMetricsSubscriber;\n\nfunction dataAnalyticsMetricsSubscriber(digitalDataEvent, metricsTrackerConfig) {\n var eventData = JSON.parse(JSON.stringify(digitalDataEvent.data)); // If the user doesn't want the event to be consumed for analytics, just return.\n\n if (eventData.disableDA === true) {\n return;\n }\n\n var dataAnalyticsAPIPath = metricsTrackerConfig.dataAnalyticsAPIPath,\n legacyWeb = metricsTrackerConfig.legacyWeb;\n var eventMeta = {\n ui_event: '',\n ui_goal: '',\n url: '',\n origin: '',\n legacy_web: legacyWeb\n }; // Validate required parameters for data analytics.\n\n if (!eventData.actionType || !eventData.actionFlow) {\n throw new Error('Incomplete data analytics tracking parameters - actionType and actionFlow are required parameters');\n }\n\n eventMeta.ui_event = eventData.actionType;\n eventMeta.ui_goal = eventData.actionFlow;\n eventMeta.url = window.location.href;\n eventMeta.origin = eventData.origin || 'user';\n delete eventData.actionType;\n delete eventData.actionFlow;\n delete eventData.origin; // FUTURE: The listener should implement experiments metrics.\n // Send the event to the data analytics api\n\n if (dataAnalyticsAPIPath) {\n fetch(dataAnalyticsAPIPath, {\n method: 'POST',\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n },\n body: JSON.stringify({\n data: eventData,\n meta: eventMeta\n })\n });\n }\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = facebookPixelSubscriber;\n\nvar _enums = _interopRequireDefault(require(\"../types/enums\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nvar whiteListedURLs = [/\\/collect\\/audience\\/.*\\/status/];\n\nvar isValidURL = function isValidURL(url) {\n return whiteListedURLs.some(function (pattern) {\n return url.match(pattern) !== null;\n });\n};\n\nfunction facebookPixelSubscriber(digitalDataEvent) {\n // eslint-disable-next-line global-require\n var ReactPixel = require('react-facebook-pixel');\n\n var _JSON$parse = JSON.parse(JSON.stringify(digitalDataEvent.data)),\n name = _JSON$parse.name,\n data = _JSON$parse.data,\n key = _JSON$parse.key;\n\n var actionType = digitalDataEvent.name;\n\n if (isValidURL(window.location.href) && key) {\n ReactPixel.init(key);\n\n if (actionType === _enums[\"default\"].USER_METADATA && name && data) {\n ReactPixel.track(name, data);\n }\n\n if (actionType === _enums[\"default\"].PAGE_VIEW) ReactPixel.pageView();\n }\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = gtmMetricsSubscriber;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _helpers = require(\"../helpers\");\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction gtmMetricsSubscriber(digitalDataEvent) {\n var data = digitalDataEvent.data,\n name = digitalDataEvent.name;\n var actionType = data.actionType,\n actionFlow = data.actionFlow; // flatten the data object\n\n var gtmDataLayer = _objectSpread(_objectSpread({}, data), data.data);\n\n delete gtmDataLayer.data;\n var envDetails = (0, _utils.getClientEnvironmentDetails)();\n\n if (envDetails.isBrowser) {\n var pagePath = window.location.pathname;\n window.dataLayer = window.dataLayer || [];\n\n var eventObj = function eventObj(_ref) {\n var hasGDPRConsent = _ref.hasGDPRConsent,\n userId = _ref.userId,\n packageId = _ref.packageId,\n email = _ref.email,\n countryCode = _ref.countryCode;\n return {\n PAGE_VIEW: {\n event: 'pageView',\n loadMarketingContainer: hasGDPRConsent,\n user_id: userId,\n package_id: packageId,\n email: (0, _helpers.maskEmail)(email),\n country_code: countryCode\n },\n VIRTUAL_PAGE_VIEW: {\n event: 'virtualPageView',\n virtualPageUrl: pagePath,\n virtualPageTitle: actionFlow\n },\n GDPR_ACTION: {\n event: actionFlow,\n loadMarketingContainer: actionFlow !== 'denyConsent'\n }\n };\n };\n\n var gtm = eventObj(gtmDataLayer)[actionType] || _objectSpread({\n event: name\n }, gtmDataLayer);\n\n if (Object.keys(gtm).length) {\n window.dataLayer.push(gtm);\n }\n }\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = loggingMetricsSubscriber;\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction loggingMetricsSubscriber(digitalDataEvent, metricsTrackerConfig) {\n var eventData = JSON.parse(JSON.stringify(digitalDataEvent.data));\n var logEventData = eventData ? eventData.log : null;\n var loggingAPIPath = metricsTrackerConfig.loggingAPIPath;\n\n if (typeof loggingAPIPath !== 'undefined' && typeof logEventData !== 'undefined' && logEventData !== null && loggingAPIPath) {\n delete eventData.log;\n\n var bodyRequestObject = _objectSpread({\n data: eventData\n }, logEventData);\n\n fetch(loggingAPIPath, {\n method: 'POST',\n cache: 'no-cache',\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json; charset=utf-8'\n },\n body: JSON.stringify(bodyRequestObject)\n });\n }\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = mixPanelSubscriber;\n\nvar _mixpanelBrowser = _interopRequireDefault(require(\"mixpanel-browser\"));\n\nvar _helpers = require(\"../helpers\");\n\nvar _excluded = [\"actionType\", \"actionFlow\"];\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}\n\nfunction mixPanelSubscriber(digitalDataEvent, config) {\n var mixpanelToken = config.mixpanelToken,\n user = config.user;\n var name = digitalDataEvent.name,\n digitalData = digitalDataEvent.data;\n\n var actionType = digitalData.actionType,\n actionFlow = digitalData.actionFlow,\n data = _objectWithoutProperties(digitalData, _excluded);\n\n if (!mixpanelToken) {\n return;\n }\n\n if (!actionType || !actionFlow) {\n return;\n }\n\n var userId = user.id,\n isAuthenticated = user.isAuthenticated,\n username = user.username,\n languageId = user.languageId,\n _package = user[\"package\"],\n email = user.email;\n\n _mixpanelBrowser[\"default\"].init(mixpanelToken);\n\n if (isAuthenticated) {\n _mixpanelBrowser[\"default\"].identify(userId);\n\n _mixpanelBrowser[\"default\"].people.set({\n $name: (0, _helpers.maskString)(username),\n $email: (0, _helpers.maskEmail)(email),\n languageId: languageId,\n \"package\": _package\n });\n }\n\n _mixpanelBrowser[\"default\"].track(name, _objectSpread({\n actionType: actionType,\n actionFlow: actionFlow\n }, data));\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\nvar USER_EVENTS;\n\n(function (USER_EVENTS) {\n USER_EVENTS[\"PAGE_VIEW\"] = \"PAGE_VIEW\";\n USER_EVENTS[\"VIRTUAL_PAGE_VIEW\"] = \"VIRTUAL_PAGE_VIEW\";\n USER_EVENTS[\"COMPONENT_ADD\"] = \"COMPONENT_ADD\";\n USER_EVENTS[\"COMPONENT_ERROR\"] = \"COMPONENT_ERROR\";\n USER_EVENTS[\"DATA_FETCH_ERROR\"] = \"DATA_FETCH_ERROR\";\n USER_EVENTS[\"ELEMENT_INTERACTION\"] = \"ELEMENT_INTERACTION\";\n USER_EVENTS[\"GDPR_ACTION\"] = \"GDPR_ACTION\";\n USER_EVENTS[\"NAVIGATION\"] = \"NAVIGATION\";\n USER_EVENTS[\"USER_METADATA\"] = \"USER_METADATA\";\n})(USER_EVENTS || (USER_EVENTS = {}));\n\nvar _default = USER_EVENTS;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getCookieValue;\n\nvar _utils = require(\"@sm/utils\");\n\nvar _getClientEnvironment = (0, _utils.getClientEnvironmentDetails)(),\n isBrowser = _getClientEnvironment.isBrowser;\n\nfunction getCookieValue(cname, defaultValue) {\n if (!isBrowser) return '';\n var name = \"\".concat(cname, \"=\");\n var decodedCookie = decodeURIComponent(document.cookie);\n var ca = decodedCookie.split(';');\n\n for (var i = 0; i < ca.length; i += 1) {\n var c = ca[i];\n\n while (c.charAt(0) === ' ') {\n c = c.substring(1);\n }\n\n if (c.indexOf(name) === 0) {\n return c.substring(name.length, c.length);\n }\n }\n\n return defaultValue || '';\n}\n\nmodule.exports = exports[\"default\"];","import _typeof from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUseStyles, useTheme } from 'react-jss';\n\nfunction toVal(mix) {\n var k,\n y,\n str = '';\n\n if (typeof mix === 'string' || typeof mix === 'number') {\n str += mix;\n } else if (_typeof(mix) === 'object') {\n if (Array.isArray(mix)) {\n for (k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if (y = toVal(mix[k])) {\n str && (str += ' ');\n str += y;\n }\n }\n }\n } else {\n for (k in mix) {\n if (mix[k]) {\n str && (str += ' ');\n str += k;\n }\n }\n }\n }\n\n return str;\n}\n\nfunction clsx() {\n var i = 0,\n tmp,\n x,\n str = '';\n\n while (i < arguments.length) {\n if (tmp = arguments[i++]) {\n if (x = toVal(tmp)) {\n str && (str += ' ');\n str += x;\n }\n }\n }\n\n return str;\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n} // based on https://github.com/styled-components/styled-components/blob/fcf6f3804c57a14dd7984dfab7bc06ee2edca044/src/utils/error.js\n\n/**\n * Parse errors.md and turn it into a simple hash of code: message\n * @private\n */\n\n\nvar ERRORS = {\n \"1\": \"Passed invalid arguments to hsl, please pass multiple numbers e.g. hsl(360, 0.75, 0.4) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75 }).\\n\\n\",\n \"2\": \"Passed invalid arguments to hsla, please pass multiple numbers e.g. hsla(360, 0.75, 0.4, 0.7) or an object e.g. rgb({ hue: 255, saturation: 0.4, lightness: 0.75, alpha: 0.7 }).\\n\\n\",\n \"3\": \"Passed an incorrect argument to a color function, please pass a string representation of a color.\\n\\n\",\n \"4\": \"Couldn't generate valid rgb string from %s, it returned %s.\\n\\n\",\n \"5\": \"Couldn't parse the color string. Please provide the color as a string in hex, rgb, rgba, hsl or hsla notation.\\n\\n\",\n \"6\": \"Passed invalid arguments to rgb, please pass multiple numbers e.g. rgb(255, 205, 100) or an object e.g. rgb({ red: 255, green: 205, blue: 100 }).\\n\\n\",\n \"7\": \"Passed invalid arguments to rgba, please pass multiple numbers e.g. rgb(255, 205, 100, 0.75) or an object e.g. rgb({ red: 255, green: 205, blue: 100, alpha: 0.75 }).\\n\\n\",\n \"8\": \"Passed invalid argument to toColorString, please pass a RgbColor, RgbaColor, HslColor or HslaColor object.\\n\\n\",\n \"9\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"10\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"11\": \"Invalid value passed as base to modularScale, expected number or em string but got \\\"%s\\\"\\n\\n\",\n \"12\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"13\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got \\\"%s\\\" instead.\\n\\n\",\n \"14\": \"Passed invalid pixel value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"15\": \"Passed invalid base value (\\\"%s\\\") to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"16\": \"You must provide a template to this method.\\n\\n\",\n \"17\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"18\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"19\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"20\": \"expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"21\": \"expects the objects in the first argument array to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"22\": \"expects the first argument object to have the properties `prop`, `fromSize`, and `toSize`.\\n\\n\",\n \"23\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"24\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"25\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"26\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"27\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"28\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"29\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"30\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"31\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"32\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s')\\n\\n\",\n \"33\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation\\n\\n\",\n \"34\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"35\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"36\": \"Property must be a string value.\\n\\n\",\n \"37\": \"Syntax Error at %s.\\n\\n\",\n \"38\": \"Formula contains a function that needs parentheses at %s.\\n\\n\",\n \"39\": \"Formula is missing closing parenthesis at %s.\\n\\n\",\n \"40\": \"Formula has too many closing parentheses at %s.\\n\\n\",\n \"41\": \"All values in a formula must have the same unit or be unitless.\\n\\n\",\n \"42\": \"Please provide a number of steps to the modularScale helper.\\n\\n\",\n \"43\": \"Please pass a number or one of the predefined scales to the modularScale helper as the ratio.\\n\\n\",\n \"44\": \"Invalid value passed as base to modularScale, expected number or em/rem string but got %s.\\n\\n\",\n \"45\": \"Passed invalid argument to hslToColorString, please pass a HslColor or HslaColor object.\\n\\n\",\n \"46\": \"Passed invalid argument to rgbToColorString, please pass a RgbColor or RgbaColor object.\\n\\n\",\n \"47\": \"minScreen and maxScreen must be provided as stringified numbers with the same units.\\n\\n\",\n \"48\": \"fromSize and toSize must be provided as stringified numbers with the same units.\\n\\n\",\n \"49\": \"Expects either an array of objects or a single object with the properties prop, fromSize, and toSize.\\n\\n\",\n \"50\": \"Expects the objects in the first argument array to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"51\": \"Expects the first argument object to have the properties prop, fromSize, and toSize.\\n\\n\",\n \"52\": \"fontFace expects either the path to the font file(s) or a name of a local copy.\\n\\n\",\n \"53\": \"fontFace expects localFonts to be an array.\\n\\n\",\n \"54\": \"fontFace expects fileFormats to be an array.\\n\\n\",\n \"55\": \"fontFace expects a name of a font-family.\\n\\n\",\n \"56\": \"linearGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"57\": \"radialGradient requries at least 2 color-stops to properly render.\\n\\n\",\n \"58\": \"Please supply a filename to retinaImage() as the first argument.\\n\\n\",\n \"59\": \"Passed invalid argument to triangle, please pass correct pointingDirection e.g. 'right'.\\n\\n\",\n \"60\": \"Passed an invalid value to `height` or `width`. Please provide a pixel based unit.\\n\\n\",\n \"61\": \"Property must be a string value.\\n\\n\",\n \"62\": \"borderRadius expects a radius value as a string or number as the second argument.\\n\\n\",\n \"63\": \"borderRadius expects one of \\\"top\\\", \\\"bottom\\\", \\\"left\\\" or \\\"right\\\" as the first argument.\\n\\n\",\n \"64\": \"The animation shorthand only takes 8 arguments. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"65\": \"To pass multiple animations please supply them in arrays, e.g. animation(['rotate', '2s'], ['move', '1s'])\\\\nTo pass a single animation please supply them in simple values, e.g. animation('rotate', '2s').\\n\\n\",\n \"66\": \"The animation shorthand arrays can only have 8 elements. See the specification for more information: http://mdn.io/animation.\\n\\n\",\n \"67\": \"You must provide a template to this method.\\n\\n\",\n \"68\": \"You passed an unsupported selector state to this method.\\n\\n\",\n \"69\": \"Expected a string ending in \\\"px\\\" or a number passed as the first argument to %s(), got %s instead.\\n\\n\",\n \"70\": \"Expected a string ending in \\\"px\\\" or a number passed as the second argument to %s(), got %s instead.\\n\\n\",\n \"71\": \"Passed invalid pixel value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"72\": \"Passed invalid base value %s to %s(), please pass a value like \\\"12px\\\" or 12.\\n\\n\",\n \"73\": \"Please provide a valid CSS variable.\\n\\n\",\n \"74\": \"CSS variable not found and no default was provided.\\n\\n\",\n \"75\": \"important requires a valid style object, got a %s instead.\\n\\n\",\n \"76\": \"fromSize and toSize must be provided as stringified numbers with the same units as minScreen and maxScreen.\\n\\n\",\n \"77\": \"remToPx expects a value in \\\"rem\\\" but you provided it in \\\"%s\\\".\\n\\n\",\n \"78\": \"base must be set in \\\"px\\\" or \\\"%\\\" but you set it in \\\"%s\\\".\\n\"\n};\n/**\n * super basic version of sprintf\n * @private\n */\n\nfunction format() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var a = args[0];\n var b = [];\n var c;\n\n for (c = 1; c < args.length; c += 1) {\n b.push(args[c]);\n }\n\n b.forEach(function (d) {\n a = a.replace(/%[a-z]/, d);\n });\n return a;\n}\n/**\n * Create an error file out of errors.md for development and a simple web link to the full errors\n * in production mode.\n * @private\n */\n\n\nvar PolishedError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(PolishedError, _Error);\n\n function PolishedError(code) {\n var _this;\n\n if (process.env.NODE_ENV === 'production') {\n _this = _Error.call(this, \"An error occurred. See https://github.com/styled-components/polished/blob/main/src/internalHelpers/errors.md#\" + code + \" for more information.\") || this;\n } else {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this = _Error.call(this, format.apply(void 0, [ERRORS[code]].concat(args))) || this;\n }\n\n return _assertThisInitialized(_this);\n }\n\n return PolishedError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction colorToInt(color) {\n return Math.round(color * 255);\n}\n\nfunction convertToInt(red, green, blue) {\n return colorToInt(red) + \",\" + colorToInt(green) + \",\" + colorToInt(blue);\n}\n\nfunction hslToRgb(hue, saturation, lightness, convert) {\n if (convert === void 0) {\n convert = convertToInt;\n }\n\n if (saturation === 0) {\n // achromatic\n return convert(lightness, lightness, lightness);\n } // formulae from https://en.wikipedia.org/wiki/HSL_and_HSV\n\n\n var huePrime = (hue % 360 + 360) % 360 / 60;\n var chroma = (1 - Math.abs(2 * lightness - 1)) * saturation;\n var secondComponent = chroma * (1 - Math.abs(huePrime % 2 - 1));\n var red = 0;\n var green = 0;\n var blue = 0;\n\n if (huePrime >= 0 && huePrime < 1) {\n red = chroma;\n green = secondComponent;\n } else if (huePrime >= 1 && huePrime < 2) {\n red = secondComponent;\n green = chroma;\n } else if (huePrime >= 2 && huePrime < 3) {\n green = chroma;\n blue = secondComponent;\n } else if (huePrime >= 3 && huePrime < 4) {\n green = secondComponent;\n blue = chroma;\n } else if (huePrime >= 4 && huePrime < 5) {\n red = secondComponent;\n blue = chroma;\n } else if (huePrime >= 5 && huePrime < 6) {\n red = chroma;\n blue = secondComponent;\n }\n\n var lightnessModification = lightness - chroma / 2;\n var finalRed = red + lightnessModification;\n var finalGreen = green + lightnessModification;\n var finalBlue = blue + lightnessModification;\n return convert(finalRed, finalGreen, finalBlue);\n}\n\nvar namedColorMap = {\n aliceblue: 'f0f8ff',\n antiquewhite: 'faebd7',\n aqua: '00ffff',\n aquamarine: '7fffd4',\n azure: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '000',\n blanchedalmond: 'ffebcd',\n blue: '0000ff',\n blueviolet: '8a2be2',\n brown: 'a52a2a',\n burlywood: 'deb887',\n cadetblue: '5f9ea0',\n chartreuse: '7fff00',\n chocolate: 'd2691e',\n coral: 'ff7f50',\n cornflowerblue: '6495ed',\n cornsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: '00ffff',\n darkblue: '00008b',\n darkcyan: '008b8b',\n darkgoldenrod: 'b8860b',\n darkgray: 'a9a9a9',\n darkgreen: '006400',\n darkgrey: 'a9a9a9',\n darkkhaki: 'bdb76b',\n darkmagenta: '8b008b',\n darkolivegreen: '556b2f',\n darkorange: 'ff8c00',\n darkorchid: '9932cc',\n darkred: '8b0000',\n darksalmon: 'e9967a',\n darkseagreen: '8fbc8f',\n darkslateblue: '483d8b',\n darkslategray: '2f4f4f',\n darkslategrey: '2f4f4f',\n darkturquoise: '00ced1',\n darkviolet: '9400d3',\n deeppink: 'ff1493',\n deepskyblue: '00bfff',\n dimgray: '696969',\n dimgrey: '696969',\n dodgerblue: '1e90ff',\n firebrick: 'b22222',\n floralwhite: 'fffaf0',\n forestgreen: '228b22',\n fuchsia: 'ff00ff',\n gainsboro: 'dcdcdc',\n ghostwhite: 'f8f8ff',\n gold: 'ffd700',\n goldenrod: 'daa520',\n gray: '808080',\n green: '008000',\n greenyellow: 'adff2f',\n grey: '808080',\n honeydew: 'f0fff0',\n hotpink: 'ff69b4',\n indianred: 'cd5c5c',\n indigo: '4b0082',\n ivory: 'fffff0',\n khaki: 'f0e68c',\n lavender: 'e6e6fa',\n lavenderblush: 'fff0f5',\n lawngreen: '7cfc00',\n lemonchiffon: 'fffacd',\n lightblue: 'add8e6',\n lightcoral: 'f08080',\n lightcyan: 'e0ffff',\n lightgoldenrodyellow: 'fafad2',\n lightgray: 'd3d3d3',\n lightgreen: '90ee90',\n lightgrey: 'd3d3d3',\n lightpink: 'ffb6c1',\n lightsalmon: 'ffa07a',\n lightseagreen: '20b2aa',\n lightskyblue: '87cefa',\n lightslategray: '789',\n lightslategrey: '789',\n lightsteelblue: 'b0c4de',\n lightyellow: 'ffffe0',\n lime: '0f0',\n limegreen: '32cd32',\n linen: 'faf0e6',\n magenta: 'f0f',\n maroon: '800000',\n mediumaquamarine: '66cdaa',\n mediumblue: '0000cd',\n mediumorchid: 'ba55d3',\n mediumpurple: '9370db',\n mediumseagreen: '3cb371',\n mediumslateblue: '7b68ee',\n mediumspringgreen: '00fa9a',\n mediumturquoise: '48d1cc',\n mediumvioletred: 'c71585',\n midnightblue: '191970',\n mintcream: 'f5fffa',\n mistyrose: 'ffe4e1',\n moccasin: 'ffe4b5',\n navajowhite: 'ffdead',\n navy: '000080',\n oldlace: 'fdf5e6',\n olive: '808000',\n olivedrab: '6b8e23',\n orange: 'ffa500',\n orangered: 'ff4500',\n orchid: 'da70d6',\n palegoldenrod: 'eee8aa',\n palegreen: '98fb98',\n paleturquoise: 'afeeee',\n palevioletred: 'db7093',\n papayawhip: 'ffefd5',\n peachpuff: 'ffdab9',\n peru: 'cd853f',\n pink: 'ffc0cb',\n plum: 'dda0dd',\n powderblue: 'b0e0e6',\n purple: '800080',\n rebeccapurple: '639',\n red: 'f00',\n rosybrown: 'bc8f8f',\n royalblue: '4169e1',\n saddlebrown: '8b4513',\n salmon: 'fa8072',\n sandybrown: 'f4a460',\n seagreen: '2e8b57',\n seashell: 'fff5ee',\n sienna: 'a0522d',\n silver: 'c0c0c0',\n skyblue: '87ceeb',\n slateblue: '6a5acd',\n slategray: '708090',\n slategrey: '708090',\n snow: 'fffafa',\n springgreen: '00ff7f',\n steelblue: '4682b4',\n tan: 'd2b48c',\n teal: '008080',\n thistle: 'd8bfd8',\n tomato: 'ff6347',\n turquoise: '40e0d0',\n violet: 'ee82ee',\n wheat: 'f5deb3',\n white: 'fff',\n whitesmoke: 'f5f5f5',\n yellow: 'ff0',\n yellowgreen: '9acd32'\n};\n/**\n * Checks if a string is a CSS named color and returns its equivalent hex value, otherwise returns the original color.\n * @private\n */\n\nfunction nameToHex(color) {\n if (typeof color !== 'string') return color;\n var normalizedColorName = color.toLowerCase();\n return namedColorMap[normalizedColorName] ? \"#\" + namedColorMap[normalizedColorName] : color;\n}\n\nvar hexRegex = /^#[a-fA-F0-9]{6}$/;\nvar hexRgbaRegex = /^#[a-fA-F0-9]{8}$/;\nvar reducedHexRegex = /^#[a-fA-F0-9]{3}$/;\nvar reducedRgbaHexRegex = /^#[a-fA-F0-9]{4}$/;\nvar rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*\\)$/i;\nvar rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\nvar hslRegex = /^hsl\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*\\)$/i;\nvar hslaRegex = /^hsla\\(\\s*(\\d{0,3}[.]?[0-9]+)\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*(\\d{1,3}[.]?[0-9]?)%\\s*,\\s*([-+]?[0-9]*[.]?[0-9]+)\\s*\\)$/i;\n/**\n * Returns an RgbColor or RgbaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a RgbColor or RgbaColor object back to a string.\n *\n * @example\n * // Assigns `{ red: 255, green: 0, blue: 0 }` to color1\n * const color1 = parseToRgb('rgb(255, 0, 0)');\n * // Assigns `{ red: 92, green: 102, blue: 112, alpha: 0.75 }` to color2\n * const color2 = parseToRgb('hsla(210, 10%, 40%, 0.75)');\n */\n\nfunction parseToRgb(color) {\n if (typeof color !== 'string') {\n throw new PolishedError(3);\n }\n\n var normalizedColor = nameToHex(color);\n\n if (normalizedColor.match(hexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16)\n };\n }\n\n if (normalizedColor.match(hexRgbaRegex)) {\n var alpha = parseFloat((parseInt(\"\" + normalizedColor[7] + normalizedColor[8], 16) / 255).toFixed(2));\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[2], 16),\n green: parseInt(\"\" + normalizedColor[3] + normalizedColor[4], 16),\n blue: parseInt(\"\" + normalizedColor[5] + normalizedColor[6], 16),\n alpha: alpha\n };\n }\n\n if (normalizedColor.match(reducedHexRegex)) {\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16)\n };\n }\n\n if (normalizedColor.match(reducedRgbaHexRegex)) {\n var _alpha = parseFloat((parseInt(\"\" + normalizedColor[4] + normalizedColor[4], 16) / 255).toFixed(2));\n\n return {\n red: parseInt(\"\" + normalizedColor[1] + normalizedColor[1], 16),\n green: parseInt(\"\" + normalizedColor[2] + normalizedColor[2], 16),\n blue: parseInt(\"\" + normalizedColor[3] + normalizedColor[3], 16),\n alpha: _alpha\n };\n }\n\n var rgbMatched = rgbRegex.exec(normalizedColor);\n\n if (rgbMatched) {\n return {\n red: parseInt(\"\" + rgbMatched[1], 10),\n green: parseInt(\"\" + rgbMatched[2], 10),\n blue: parseInt(\"\" + rgbMatched[3], 10)\n };\n }\n\n var rgbaMatched = rgbaRegex.exec(normalizedColor.substring(0, 50));\n\n if (rgbaMatched) {\n return {\n red: parseInt(\"\" + rgbaMatched[1], 10),\n green: parseInt(\"\" + rgbaMatched[2], 10),\n blue: parseInt(\"\" + rgbaMatched[3], 10),\n alpha: parseFloat(\"\" + rgbaMatched[4])\n };\n }\n\n var hslMatched = hslRegex.exec(normalizedColor);\n\n if (hslMatched) {\n var hue = parseInt(\"\" + hslMatched[1], 10);\n var saturation = parseInt(\"\" + hslMatched[2], 10) / 100;\n var lightness = parseInt(\"\" + hslMatched[3], 10) / 100;\n var rgbColorString = \"rgb(\" + hslToRgb(hue, saturation, lightness) + \")\";\n var hslRgbMatched = rgbRegex.exec(rgbColorString);\n\n if (!hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + hslRgbMatched[1], 10),\n green: parseInt(\"\" + hslRgbMatched[2], 10),\n blue: parseInt(\"\" + hslRgbMatched[3], 10)\n };\n }\n\n var hslaMatched = hslaRegex.exec(normalizedColor.substring(0, 50));\n\n if (hslaMatched) {\n var _hue = parseInt(\"\" + hslaMatched[1], 10);\n\n var _saturation = parseInt(\"\" + hslaMatched[2], 10) / 100;\n\n var _lightness = parseInt(\"\" + hslaMatched[3], 10) / 100;\n\n var _rgbColorString = \"rgb(\" + hslToRgb(_hue, _saturation, _lightness) + \")\";\n\n var _hslRgbMatched = rgbRegex.exec(_rgbColorString);\n\n if (!_hslRgbMatched) {\n throw new PolishedError(4, normalizedColor, _rgbColorString);\n }\n\n return {\n red: parseInt(\"\" + _hslRgbMatched[1], 10),\n green: parseInt(\"\" + _hslRgbMatched[2], 10),\n blue: parseInt(\"\" + _hslRgbMatched[3], 10),\n alpha: parseFloat(\"\" + hslaMatched[4])\n };\n }\n\n throw new PolishedError(5);\n}\n\nfunction rgbToHsl(color) {\n // make sure rgb are contained in a set of [0, 255]\n var red = color.red / 255;\n var green = color.green / 255;\n var blue = color.blue / 255;\n var max = Math.max(red, green, blue);\n var min = Math.min(red, green, blue);\n var lightness = (max + min) / 2;\n\n if (max === min) {\n // achromatic\n if (color.alpha !== undefined) {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness,\n alpha: color.alpha\n };\n } else {\n return {\n hue: 0,\n saturation: 0,\n lightness: lightness\n };\n }\n }\n\n var hue;\n var delta = max - min;\n var saturation = lightness > 0.5 ? delta / (2 - max - min) : delta / (max + min);\n\n switch (max) {\n case red:\n hue = (green - blue) / delta + (green < blue ? 6 : 0);\n break;\n\n case green:\n hue = (blue - red) / delta + 2;\n break;\n\n default:\n // blue case\n hue = (red - green) / delta + 4;\n break;\n }\n\n hue *= 60;\n\n if (color.alpha !== undefined) {\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness,\n alpha: color.alpha\n };\n }\n\n return {\n hue: hue,\n saturation: saturation,\n lightness: lightness\n };\n}\n/**\n * Returns an HslColor or HslaColor object. This utility function is only useful\n * if want to extract a color component. With the color util `toColorString` you\n * can convert a HslColor or HslaColor object back to a string.\n *\n * @example\n * // Assigns `{ hue: 0, saturation: 1, lightness: 0.5 }` to color1\n * const color1 = parseToHsl('rgb(255, 0, 0)');\n * // Assigns `{ hue: 128, saturation: 1, lightness: 0.5, alpha: 0.75 }` to color2\n * const color2 = parseToHsl('hsla(128, 100%, 50%, 0.75)');\n */\n\n\nfunction parseToHsl(color) {\n // Note: At a later stage we can optimize this function as right now a hsl\n // color would be parsed converted to rgb values and converted back to hsl.\n return rgbToHsl(parseToRgb(color));\n}\n/**\n * Reduces hex values if possible e.g. #ff8866 to #f86\n * @private\n */\n\n\nvar reduceHexValue = function reduceHexValue(value) {\n if (value.length === 7 && value[1] === value[2] && value[3] === value[4] && value[5] === value[6]) {\n return \"#\" + value[1] + value[3] + value[5];\n }\n\n return value;\n};\n\nfunction numberToHex(value) {\n var hex = value.toString(16);\n return hex.length === 1 ? \"0\" + hex : hex;\n}\n\nfunction colorToHex(color) {\n return numberToHex(Math.round(color * 255));\n}\n\nfunction convertToHex(red, green, blue) {\n return reduceHexValue(\"#\" + colorToHex(red) + colorToHex(green) + colorToHex(blue));\n}\n\nfunction hslToHex(hue, saturation, lightness) {\n return hslToRgb(hue, saturation, lightness, convertToHex);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsl(359, 0.75, 0.4),\n * background: hsl({ hue: 360, saturation: 0.75, lightness: 0.4 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsl(359, 0.75, 0.4)};\n * background: ${hsl({ hue: 360, saturation: 0.75, lightness: 0.4 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#b3191c\";\n * background: \"#b3191c\";\n * }\n */\n\n\nfunction hsl(value, saturation, lightness) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number') {\n return hslToHex(value, saturation, lightness);\n } else if (_typeof(value) === 'object' && saturation === undefined && lightness === undefined) {\n return hslToHex(value.hue, value.saturation, value.lightness);\n }\n\n throw new PolishedError(1);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: hsla(359, 0.75, 0.4, 0.7),\n * background: hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 }),\n * background: hsla(359, 0.75, 0.4, 1),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${hsla(359, 0.75, 0.4, 0.7)};\n * background: ${hsla({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0,7 })};\n * background: ${hsla(359, 0.75, 0.4, 1)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"rgba(179,25,28,0.7)\";\n * background: \"#b3191c\";\n * }\n */\n\n\nfunction hsla(value, saturation, lightness, alpha) {\n if (typeof value === 'number' && typeof saturation === 'number' && typeof lightness === 'number' && typeof alpha === 'number') {\n return alpha >= 1 ? hslToHex(value, saturation, lightness) : \"rgba(\" + hslToRgb(value, saturation, lightness) + \",\" + alpha + \")\";\n } else if (_typeof(value) === 'object' && saturation === undefined && lightness === undefined && alpha === undefined) {\n return value.alpha >= 1 ? hslToHex(value.hue, value.saturation, value.lightness) : \"rgba(\" + hslToRgb(value.hue, value.saturation, value.lightness) + \",\" + value.alpha + \")\";\n }\n\n throw new PolishedError(2);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible hex notation.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgb(255, 205, 100),\n * background: rgb({ red: 255, green: 205, blue: 100 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgb(255, 205, 100)};\n * background: ${rgb({ red: 255, green: 205, blue: 100 })};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffcd64\";\n * background: \"#ffcd64\";\n * }\n */\n\n\nfunction rgb(value, green, blue) {\n if (typeof value === 'number' && typeof green === 'number' && typeof blue === 'number') {\n return reduceHexValue(\"#\" + numberToHex(value) + numberToHex(green) + numberToHex(blue));\n } else if (_typeof(value) === 'object' && green === undefined && blue === undefined) {\n return reduceHexValue(\"#\" + numberToHex(value.red) + numberToHex(value.green) + numberToHex(value.blue));\n }\n\n throw new PolishedError(6);\n}\n/**\n * Returns a string value for the color. The returned result is the smallest possible rgba or hex notation.\n *\n * Can also be used to fade a color by passing a hex value or named CSS color along with an alpha value.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: rgba(255, 205, 100, 0.7),\n * background: rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 }),\n * background: rgba(255, 205, 100, 1),\n * background: rgba('#ffffff', 0.4),\n * background: rgba('black', 0.7),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${rgba(255, 205, 100, 0.7)};\n * background: ${rgba({ red: 255, green: 205, blue: 100, alpha: 0.7 })};\n * background: ${rgba(255, 205, 100, 1)};\n * background: ${rgba('#ffffff', 0.4)};\n * background: ${rgba('black', 0.7)};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"rgba(255,205,100,0.7)\";\n * background: \"#ffcd64\";\n * background: \"rgba(255,255,255,0.4)\";\n * background: \"rgba(0,0,0,0.7)\";\n * }\n */\n\n\nfunction rgba(firstValue, secondValue, thirdValue, fourthValue) {\n if (typeof firstValue === 'string' && typeof secondValue === 'number') {\n var rgbValue = parseToRgb(firstValue);\n return \"rgba(\" + rgbValue.red + \",\" + rgbValue.green + \",\" + rgbValue.blue + \",\" + secondValue + \")\";\n } else if (typeof firstValue === 'number' && typeof secondValue === 'number' && typeof thirdValue === 'number' && typeof fourthValue === 'number') {\n return fourthValue >= 1 ? rgb(firstValue, secondValue, thirdValue) : \"rgba(\" + firstValue + \",\" + secondValue + \",\" + thirdValue + \",\" + fourthValue + \")\";\n } else if (_typeof(firstValue) === 'object' && secondValue === undefined && thirdValue === undefined && fourthValue === undefined) {\n return firstValue.alpha >= 1 ? rgb(firstValue.red, firstValue.green, firstValue.blue) : \"rgba(\" + firstValue.red + \",\" + firstValue.green + \",\" + firstValue.blue + \",\" + firstValue.alpha + \")\";\n }\n\n throw new PolishedError(7);\n}\n\nvar isRgb = function isRgb(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isRgba = function isRgba(color) {\n return typeof color.red === 'number' && typeof color.green === 'number' && typeof color.blue === 'number' && typeof color.alpha === 'number';\n};\n\nvar isHsl = function isHsl(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && (typeof color.alpha !== 'number' || typeof color.alpha === 'undefined');\n};\n\nvar isHsla = function isHsla(color) {\n return typeof color.hue === 'number' && typeof color.saturation === 'number' && typeof color.lightness === 'number' && typeof color.alpha === 'number';\n};\n/**\n * Converts a RgbColor, RgbaColor, HslColor or HslaColor object to a color string.\n * This util is useful in case you only know on runtime which color object is\n * used. Otherwise we recommend to rely on `rgb`, `rgba`, `hsl` or `hsla`.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: toColorString({ red: 255, green: 205, blue: 100 }),\n * background: toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 }),\n * background: toColorString({ hue: 240, saturation: 1, lightness: 0.5 }),\n * background: toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 }),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${toColorString({ red: 255, green: 205, blue: 100 })};\n * background: ${toColorString({ red: 255, green: 205, blue: 100, alpha: 0.72 })};\n * background: ${toColorString({ hue: 240, saturation: 1, lightness: 0.5 })};\n * background: ${toColorString({ hue: 360, saturation: 0.75, lightness: 0.4, alpha: 0.72 })};\n * `\n *\n * // CSS in JS Output\n * element {\n * background: \"#ffcd64\";\n * background: \"rgba(255,205,100,0.72)\";\n * background: \"#00f\";\n * background: \"rgba(179,25,25,0.72)\";\n * }\n */\n\n\nfunction toColorString(color) {\n if (_typeof(color) !== 'object') throw new PolishedError(8);\n if (isRgba(color)) return rgba(color);\n if (isRgb(color)) return rgb(color);\n if (isHsla(color)) return hsla(color);\n if (isHsl(color)) return hsl(color);\n throw new PolishedError(8);\n} // Type definitions taken from https://github.com/gcanti/flow-static-land/blob/master/src/Fun.js\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-unused-vars\n// eslint-disable-next-line no-redeclare\n\n\nfunction curried(f, length, acc) {\n return function fn() {\n // eslint-disable-next-line prefer-rest-params\n var combined = acc.concat(Array.prototype.slice.call(arguments));\n return combined.length >= length ? f.apply(this, combined) : curried(f, length, combined);\n };\n} // eslint-disable-next-line no-redeclare\n\n\nfunction curry(f) {\n // eslint-disable-line no-redeclare\n return curried(f, f.length, []);\n}\n\nfunction guard(lowerBoundary, upperBoundary, value) {\n return Math.max(lowerBoundary, Math.min(upperBoundary, value));\n}\n/**\n * Returns a string value for the darkened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: darken(0.2, '#FFCD64'),\n * background: darken('0.2', 'rgba(255,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${darken(0.2, '#FFCD64')};\n * background: ${darken('0.2', 'rgba(255,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#ffbd31\";\n * background: \"rgba(255,189,49,0.7)\";\n * }\n */\n\n\nfunction darken(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness - parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedDarken = /*#__PURE__*/curry\n/* :: */\n(darken);\n/**\n * Returns a string value for the lightened color.\n *\n * @example\n * // Styles as object usage\n * const styles = {\n * background: lighten(0.2, '#CCCD64'),\n * background: lighten('0.2', 'rgba(204,205,100,0.7)'),\n * }\n *\n * // styled-components usage\n * const div = styled.div`\n * background: ${lighten(0.2, '#FFCD64')};\n * background: ${lighten('0.2', 'rgba(204,205,100,0.7)')};\n * `\n *\n * // CSS in JS Output\n *\n * element {\n * background: \"#e5e6b1\";\n * background: \"rgba(229,230,177,0.7)\";\n * }\n */\n\nfunction lighten(amount, color) {\n if (color === 'transparent') return color;\n var hslColor = parseToHsl(color);\n return toColorString(_extends({}, hslColor, {\n lightness: guard(0, 1, hslColor.lightness + parseFloat(amount))\n }));\n} // prettier-ignore\n\n\nvar curriedLighten = /*#__PURE__*/curry\n/* :: */\n(lighten);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n} // Taken from lodash: https://github.com/lodash/lodash/blob/master/uniqueId.js\n\n\nvar getState = function getState(state, newState) {\n return _objectSpread(_objectSpread({}, state), newState);\n};\n\nvar isBrowser = typeof window !== 'undefined';\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\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\n return target;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nvar _excluded$1 = [\"style\", \"className\"];\n\nvar safeRest = function safeRest(_ref) {\n _ref.style;\n _ref.className;\n\n var props = _objectWithoutProperties(_ref, _excluded$1);\n\n return props;\n}; // Taken from lodash: https://github.com/lodash/lodash/blob/master/uniqueId.js\n\n\nvar idCounter = 0;\n\nvar uniqueId = function uniqueId(prefix) {\n var id = ++idCounter; // eslint-disable-line no-plusplus\n\n if (prefix == null) {\n throw new Error('The value is missing in uniqueId() parameter');\n }\n\n return \"\".concat(prefix).concat(id);\n}; // https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n\n\nvar visuallyHidden = {\n border: '0px',\n clip: 'rect(1px, 1px, 1px, 1px)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n // https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n};\nvar clearfix = {\n '&:after': {\n content: '',\n display: 'block',\n clear: 'both'\n }\n};\nvar _excluded = [\"m\", \"mx\", \"my\", \"mt\", \"mb\", \"ml\", \"mr\", \"p\", \"px\", \"py\", \"pt\", \"pb\", \"pl\", \"pr\"];\nvar spacingOptions = Object.freeze([1, 2, 3, 4, 5, 6, 7, 8, 9]); // this pattern is described in React's documentation: https://reactjs.org/docs/higher-order-components.html#convention-wrap-the-display-name-for-easy-debugging\n\nfunction getDisplayName(Component) {\n return Component.displayName || Component.name || 'Component';\n}\n\nfunction withSpacing(Component) {\n /**\n * JSS injects css styles in the order of `createUseStyles` usage.\n * Hence, useStyles needs to be instantiated every single time while\n * using this HOC because it should be the last `createUseStyles` usage\n * for a component. With this mechanism, `withSpacing` overwrites the component\n * spacing. Not ideal for a design system, but we are waiting on the\n * below ticket.\n *\n * Note: https://jira.surveymonkey.com/browse/WRENCH-1107\n *\n * If the decision is have `withStyles` NOT overwrite the component spacing,\n * just move this declaration outside of this component. `withSpacing` will then\n * add to the styles and not overwrite them.\n */\n var useStyles = createUseStyles(function (theme) {\n return {\n wrenchSpacing: function wrenchSpacing(_ref) {\n var margin = _ref.margin,\n padding = _ref.padding;\n return {\n marginTop: theme.spacing[margin.t],\n marginRight: theme.spacing[margin.r],\n marginBottom: theme.spacing[margin.b],\n marginLeft: theme.spacing[margin.l],\n paddingTop: theme.spacing[padding.t],\n paddingRight: theme.spacing[padding.r],\n paddingBottom: theme.spacing[padding.b],\n paddingLeft: theme.spacing[padding.l]\n };\n }\n };\n });\n\n function WithSpacing(_ref2) {\n var m = _ref2.m,\n mx = _ref2.mx,\n my = _ref2.my,\n mt = _ref2.mt,\n mb = _ref2.mb,\n ml = _ref2.ml,\n mr = _ref2.mr,\n p = _ref2.p,\n px = _ref2.px,\n py = _ref2.py,\n pt = _ref2.pt,\n pb = _ref2.pb,\n pl = _ref2.pl,\n pr = _ref2.pr,\n rest = _objectWithoutProperties(_ref2, _excluded);\n\n var margin = {\n t: m || my || mt,\n b: m || my || mb,\n l: m || mx || ml,\n r: m || mx || mr\n };\n var padding = {\n t: p || py || pt,\n b: p || py || pb,\n l: p || px || pl,\n r: p || px || pr\n };\n var theme = useTheme();\n var classes = useStyles({\n margin: margin,\n padding: padding,\n theme: theme\n });\n return /*#__PURE__*/React.createElement(Component, Object.assign({\n className: classes.wrenchSpacing\n }, safeRest(rest)));\n }\n\n WithSpacing.defaultProps = {\n m: undefined,\n mx: undefined,\n my: undefined,\n mt: undefined,\n mb: undefined,\n ml: undefined,\n mr: undefined,\n p: undefined,\n px: undefined,\n py: undefined,\n pt: undefined,\n pb: undefined,\n pl: undefined,\n pr: undefined\n };\n WithSpacing.propTypes = {\n m: PropTypes.oneOf(spacingOptions),\n mx: PropTypes.oneOf(spacingOptions),\n my: PropTypes.oneOf(spacingOptions),\n mt: PropTypes.oneOf(spacingOptions),\n mb: PropTypes.oneOf(spacingOptions),\n ml: PropTypes.oneOf(spacingOptions),\n mr: PropTypes.oneOf(spacingOptions),\n p: PropTypes.oneOf(spacingOptions),\n px: PropTypes.oneOf(spacingOptions),\n py: PropTypes.oneOf(spacingOptions),\n pt: PropTypes.oneOf(spacingOptions),\n pb: PropTypes.oneOf(spacingOptions),\n pl: PropTypes.oneOf(spacingOptions),\n pr: PropTypes.oneOf(spacingOptions)\n };\n WithSpacing.displayName = \"WithSpacing(\".concat(getDisplayName(Component), \")\");\n\n WithSpacing.getOriginalComponent = function () {\n return Component;\n };\n\n return WithSpacing;\n} // https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n\n\nvar defaultFonts = function defaultFonts(_ref) {\n var fontFamily = _ref.fontFamily,\n fontSize = _ref.fontSize;\n return {\n fontFamily: fontFamily.base,\n fontSize: fontSize.body,\n '-webkit-font-smoothing': 'antialiased'\n };\n}; // https://snook.ca/archives/html_and_css/hiding-content-for-accessibility\n\n\nvar defaultBaseline = {\n boxSizing: 'border-box',\n padding: 0,\n margin: 0,\n listStyle: 'none'\n};\n/**\n * @param value\n * @return {boolean}\n */\n\nvar isControlled = function isControlled(value) {\n return value !== undefined && value !== null;\n}; // eslint-disable-next-line import/prefer-default-export\n\n\nexport { clearfix, clsx, curriedDarken as darken, defaultBaseline, defaultFonts, getState, isBrowser, isControlled, curriedLighten as lighten, safeRest, uniqueId, visuallyHidden, withSpacing };","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _s3upload = _interopRequireDefault(require(\"react-s3-uploader/s3upload\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nvar DEFAULT_OPTIONS = {\n preprocess: function preprocess(file, next) {\n next(file);\n },\n onSignedUrl: function onSignedUrl() {},\n onProgress: function onProgress() {},\n onFinish: function onFinish() {},\n onError: function onError() {},\n signingUrl: '/core/api/s3/sign',\n scrubFilename: function scrubFilename(filename) {\n return \".\".concat(filename.split('.').pop());\n },\n s3path: '',\n autoUpload: true\n};\n/**\n * Creates a new S3Uploader.\n * @class\n */\n\nvar S3Uploader = /*#__PURE__*/function () {\n /**\n * @constructs S3Uploader\n * @param {Object} options S3Uploader options\n * @param {string} options.server S3Uploader server\n * @param {string} options.signingUrl S3Uploader singingUrl\n * @param {string} options.server S3Uploader server\n * @param {Array} options.successResponses {code, code} Success responses\n * @param {string} [options.signingUrlMethod=\"GET\"] S3Uploader singingUrlMethod\n * @param {string} [options.s3path=\"\"] S3Uploader s3path\n * @param {boolean} [options.autoUpload=true] S3Uploader autoupload\n * @param {Object} options.files S3Uploader files\n * @param {Object} options.fileElement S3Uploader fileElement\n * @param {Function} options.onFinishS3Put S3Uploader onFinishS3Put function\n * @param {Function} options.onFinish OnFinish uploading function\n * @param {Function} options.preprocess preprocess function\n * @param {Function} options.onProgress onProgress uploading function\n * @param {Function} options.onError on upload error function\n * @param {Function} options.onSignedUrl signed url function\n * @param {Function} options.fileElement fileElement\n * @param {Function} options.inputRef inputRef\n * @param {Function} options.contentDisposition\n * @param {Object} options.uploadRequestHeaders\n * @param {boolean} options.getSignedUrl\n */\n function S3Uploader(options) {\n _classCallCheck(this, S3Uploader);\n\n this.options = void 0;\n this.myUploader = void 0;\n this.options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n }\n /**\n * Upload the file\n */\n\n\n _createClass(S3Uploader, [{\n key: \"uploadFile\",\n value: function uploadFile() {\n this.myUploader = new _s3upload[\"default\"](_objectSpread(_objectSpread({}, DEFAULT_OPTIONS), this.options));\n }\n /**\n * Abort the upload\n */\n\n }, {\n key: \"abort\",\n value: function abort() {\n if (this.myUploader) {\n this.myUploader.abortUpload();\n }\n }\n }]);\n\n return S3Uploader;\n}();\n\nexports[\"default\"] = S3Uploader;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _typeof = require(\"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getClientEnvironmentDetails = getClientEnvironmentDetails;\nexports.isBrowserSupported = isBrowserSupported;\nexports.SupportedBrowserVendors = exports.environmentDetails = void 0;\n\nvar _bowser = _interopRequireDefault(require(\"bowser\"));\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n/**\n * Environment Details\n * @typedef {Object}\n * @property {boolean} isNode\n * @property {boolean} isBrowser\n * @property {boolean} isDesktop\n * @property {boolean} isHeadlessChrome\n * @property {boolean} isMobile\n * @property {boolean} isTablet\n * @property {boolean} isIOS\n * @property {boolean} isAndroid\n * @property {Object} clientWindowSize\n * @property {string} clientWindowSize.width\n * @property {string} clientWindowSize.height\n * @memberof module:@sm/utils\n */\n\n\nvar environmentDetails = {\n isNode: false,\n isBrowser: false,\n isDesktop: false,\n isHeadlessChrome: false,\n isMobile: false,\n isTablet: false,\n isIOS: false,\n isAndroid: false,\n clientWindowSize: {\n width: undefined,\n height: undefined\n }\n};\nexports.environmentDetails = environmentDetails;\nvar userAgentTracker = '';\n/**\n * inspectAgent\n * @param {string} userAgent The string for the user agent\n */\n\nfunction inspectAgent(userAgent) {\n if (!userAgent) {\n return;\n }\n\n if (userAgent.match(/iPhone|iPod|iPad/i) !== null) {\n environmentDetails.isIOS = true;\n\n if (userAgent.match(/iPad/i) !== null) {\n environmentDetails.isTablet = true;\n } else {\n environmentDetails.isMobile = true;\n }\n } else if (userAgent.match(/Android/i) !== null) {\n environmentDetails.isMobile = true;\n environmentDetails.isAndroid = true;\n } else if (userAgent.match(/HeadlessChrome/i) !== null) {\n environmentDetails.isHeadlessChrome = true;\n } else {\n environmentDetails.isDesktop = true;\n }\n}\n/**\n * Initialize\n * @param {string} userAgent The string for the user agent\n * @private\n */\n\n\nfunction _initialize(userAgent) {\n var ua = userAgent;\n\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === 'object') {\n environmentDetails.isBrowser = true;\n window.SM = window.SM || {};\n var _window = window,\n SM = _window.SM;\n SM.__LOAD_PAYLOAD_CACHE__ = SM.__LOAD_PAYLOAD_CACHE__ || {}; // Detect banner type (iOS or Android)\n\n environmentDetails.clientWindowSize = {\n width: document.body.clientWidth,\n height: document.body.clientHeight\n };\n ua = navigator.userAgent;\n } else {\n environmentDetails.isNode = true;\n }\n\n inspectAgent(ua);\n}\n/**\n * Returns the environment details\n * @param {string} userAgent The string for the user agent\n * @returns {environmentDetails} env details\n * @memberof module:@sm/utils\n */\n\n\nfunction getClientEnvironmentDetails() {\n var userAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n if (environmentDetails.isBrowser === false && environmentDetails.isNode === false || userAgentTracker !== userAgent) {\n userAgentTracker = userAgent;\n\n _initialize(userAgentTracker);\n }\n\n return environmentDetails;\n}\n\nvar SupportedBrowserVendors;\nexports.SupportedBrowserVendors = SupportedBrowserVendors;\n\n(function (SupportedBrowserVendors) {\n SupportedBrowserVendors[\"Chrome\"] = \"chrome\";\n SupportedBrowserVendors[\"Firefox\"] = \"firefox\";\n SupportedBrowserVendors[\"Safari\"] = \"safari\";\n SupportedBrowserVendors[\"IE\"] = \"ie\";\n SupportedBrowserVendors[\"Edge\"] = \"edge\";\n})(SupportedBrowserVendors || (exports.SupportedBrowserVendors = SupportedBrowserVendors = {}));\n\nvar defaultSupportedBrowsers = [{\n vendor: SupportedBrowserVendors.Chrome,\n operator: '>=',\n version: '18'\n}, {\n vendor: SupportedBrowserVendors.Firefox,\n operator: '>=',\n version: '24'\n}, {\n vendor: SupportedBrowserVendors.Safari,\n operator: '>=',\n version: '7'\n}, {\n vendor: SupportedBrowserVendors.Edge,\n operator: '>=',\n version: '12'\n}, {\n vendor: SupportedBrowserVendors.IE,\n operator: '>=',\n version: '11'\n}];\n\nfunction isBrowserSupported(userAgent, supportedBrowsers) {\n var browser = _bowser[\"default\"].getParser(userAgent);\n\n var browsers = supportedBrowsers || defaultSupportedBrowsers;\n browsers.forEach(function (_ref) {\n var version = _ref.version;\n\n if (!version.match(/^\\d+(\\.\\d+)?(\\.\\d+)?$/)) {\n throw new Error(\"Unsupported version number: \".concat(version));\n }\n });\n var config = browsers.reduce(function (cfg, _ref2) {\n var vendor = _ref2.vendor,\n operator = _ref2.operator,\n version = _ref2.version;\n cfg[vendor] = \"\".concat(operator).concat(version);\n return cfg;\n }, {});\n return browser.satisfies(config) || false;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"sanitizeString\", {\n enumerable: true,\n get: function get() {\n return _sanitizeString[\"default\"];\n }\n});\nObject.defineProperty(exports, \"isValidEmail\", {\n enumerable: true,\n get: function get() {\n return _isValidEmail[\"default\"];\n }\n});\nObject.defineProperty(exports, \"createURL\", {\n enumerable: true,\n get: function get() {\n return _createURL[\"default\"];\n }\n});\nObject.defineProperty(exports, \"deepFreeze\", {\n enumerable: true,\n get: function get() {\n return _deepFreeze[\"default\"];\n }\n});\nObject.defineProperty(exports, \"S3Uploader\", {\n enumerable: true,\n get: function get() {\n return _S3Uploader[\"default\"];\n }\n});\nObject.defineProperty(exports, \"getClientEnvironmentDetails\", {\n enumerable: true,\n get: function get() {\n return _environment.getClientEnvironmentDetails;\n }\n});\nObject.defineProperty(exports, \"isBrowserSupported\", {\n enumerable: true,\n get: function get() {\n return _environment.isBrowserSupported;\n }\n});\nObject.defineProperty(exports, \"SupportedBrowserVendors\", {\n enumerable: true,\n get: function get() {\n return _environment.SupportedBrowserVendors;\n }\n});\nObject.defineProperty(exports, \"SupportedBrowsers\", {\n enumerable: true,\n get: function get() {\n return _environment.SupportedBrowsers;\n }\n});\nObject.defineProperty(exports, \"VersionOperators\", {\n enumerable: true,\n get: function get() {\n return _environment.VersionOperators;\n }\n});\n\nvar _sanitizeString = _interopRequireDefault(require(\"./string/sanitizeString\"));\n\nvar _isValidEmail = _interopRequireDefault(require(\"./string/isValidEmail\"));\n\nvar _createURL = _interopRequireDefault(require(\"./url/createURL\"));\n\nvar _deepFreeze = _interopRequireDefault(require(\"./object/deepFreeze\"));\n\nvar _S3Uploader = _interopRequireDefault(require(\"./S3Uploader/S3Uploader\"));\n\nvar _environment = require(\"./environment\");\n\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}","\"use strict\";\n\nvar _typeof = require(\"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = deepFreeze;\n/**\n * Freezes the object\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\nfunction deepFreeze(o) {\n Object.freeze(o);\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (Object.hasOwnProperty.call(o, prop) && o[prop] !== null && (_typeof(o[prop]) === 'object' || typeof o[prop] === 'function') && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n return o;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isValidEmail;\n/**\n * Validates if the input is an email or not\n * @param {string} email\n * @returns {boolean} Is email valid\n * @memberof module:@sm/utils\n */\n\nfunction isValidEmail(email) {\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return re.test(String(email).toLowerCase());\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _typeof = require(\"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _dompurify = _interopRequireWildcard(require(\"dompurify\"));\n\nvar _environment = require(\"../environment\");\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\n\nfunction _interopRequireWildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") {\n return {\n \"default\": obj\n };\n }\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n\n newObj[\"default\"] = obj;\n\n if (cache) {\n cache.set(obj, newObj);\n }\n\n return newObj;\n}\n\nvar stringSanitize = _dompurify.sanitize;\n\nif ((0, _environment.getClientEnvironmentDetails)().isNode) {\n var _require = require('jsdom'),\n JSDOM = _require.JSDOM; // eslint-disable-line\n\n\n var _JSDOM = new JSDOM(''),\n window = _JSDOM.window;\n\n var DOMPurify = (0, _dompurify[\"default\"])(window);\n stringSanitize = DOMPurify.sanitize;\n}\n\nvar _default = stringSanitize;\nexports[\"default\"] = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _typeof = require(\"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = createURL;\n/**\n * Creates a url from base and params\n * @param {string} url\n * @param {Object} [params] Query string params\n * @returns {string} url\n * @memberof module:@sm/utils\n */\n\nfunction createURL(url, params) {\n if (!params || _typeof(params) !== 'object' || Object.keys(params).length === 0) return url;\n var queryString = Object.keys(params).map(function (key) {\n return \"\".concat(encodeURIComponent(key), \"=\").concat(encodeURIComponent(params[key]));\n }).join('&');\n var queryURL = \"\".concat(url, \"?\").concat(queryString);\n return queryURL;\n}\n\nmodule.exports = exports[\"default\"];","import _toConsumableArray from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/toConsumableArray\";\nimport _objectWithoutProperties from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray2 from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/slicedToArray\";\nvar _excluded = [\"typeId\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/*\n * Tools for creating TypeGuards.\n */\nvar isNull = function isNull(u) {\n return u === null;\n};\n\nvar isString = function isString(u) {\n return typeof u === 'string';\n};\n\nvar isNumber = function isNumber(u) {\n return typeof u === 'number';\n};\n\nvar isBoolean = function isBoolean(u) {\n return typeof u === 'boolean';\n};\n\nvar isOptional = function isOptional(guard) {\n return function (u) {\n return u === undefined || guard(u);\n };\n};\n\nvar isArrayOf = function isArrayOf(guard) {\n return function (u) {\n return Array.isArray(u) && u.every(guard);\n };\n}; /// TypeGuard for discriminated unions of strings\n\n\nvar isOneOf = function isOneOf(list) {\n return function (u) {\n return !!list.find(function (i) {\n return i === u;\n });\n };\n}; /// TypeGuard for fixed values\n\n\nvar isFixed = function isFixed(value) {\n return function (u) {\n return u === value;\n };\n}; // type guard operators\n/// TypeGuard for discriminated unions of objects\n\n\nvar isEither = function isEither(list) {\n return function (u) {\n return !!list.find(function (g) {\n return g(u);\n });\n };\n};\n\nvar isNullable = function isNullable(guard) {\n return function (u) {\n if (u === null) {\n return true;\n }\n\n var res = guard(u);\n return typeof res === 'boolean' && res;\n };\n};\n/** *\n * TypeGuard for an object. Needs to have one Guard for every attribute\n * */\n\n\nvar typeGuard = function typeGuard(guards) {\n return function (u) {\n return Object.entries(guards).every(function (_ref) {\n var _ref2 = _slicedToArray2(_ref, 2),\n key = _ref2[0],\n guard = _ref2[1];\n\n if (!u) {\n return false;\n }\n\n var value = u[key];\n\n if (!guard(value)) {\n return false;\n }\n\n return true;\n });\n };\n};\n/** *\n * TypeAssertion for an object. Needs to have one Guard or TypeAssertion for every attribute.\n * Will throw an error if the property is of the wrong type.\n * */\n// TODO: refactor the typeGuard function to work as a typeAssertion when called by a typeAssertion\n\n\nfunction typeAssertion(guards) {\n return function assertGuard(u) {\n // for function Guards like `isEither`\n if (typeof guards === 'function') {\n var res = guards(u);\n\n if (typeof res === 'boolean' && !res) {\n throw new Error('failed-typeguard');\n }\n\n return;\n } // default with a Guard object\n\n\n Object.entries(guards).forEach(function (_ref3) {\n var _ref4 = _slicedToArray2(_ref3, 2),\n key = _ref4[0],\n guard = _ref4[1];\n\n if (!u) {\n throw new Error(\"Can't read property '\".concat(key, \"' of '\").concat(u, \"'\"));\n }\n\n var value = u[key];\n\n try {\n var _res = guard(value);\n\n if (typeof _res === 'boolean' && !_res) {\n throw new Error('failed-typeguard');\n }\n } catch (e) {\n // TODO: write or install a nested error object\n throw new Error(\"Value '\".concat(value, \"' has the wrong type for property '\").concat(key, \"':\", '\\n').concat(e && e.message));\n }\n });\n };\n} /// Base Types\n/// Question Guard Helpers\n\n\nvar isQuestionError = isEither([typeGuard({\n type: isFixed('local-error'),\n id: isString,\n field: isString,\n message: isString\n}), typeGuard({\n type: isFixed('upstream-error'),\n context: isString,\n id: isString,\n message: isString\n})]);\n\nvar baseQuestionGuards = function baseQuestionGuards(typeId, family, variant) {\n return {\n typeId: isFixed(typeId),\n variant: isFixed(variant),\n family: isFixed(family),\n id: isString,\n errors: isOptional(isArrayOf(isQuestionError))\n };\n};\n/** isQuestionType\n * --------------------------\n * a very basic typeguard for the common fields for a Question Type.\n * should receive parameters for the actual ID, FAMILY and SUBTYPE of the\n * Question Type to avoid Typescript errors. Question types can use this function\n * to help build their own typeGuards\n */\n\n\nvar isQuestionType = function isQuestionType(typeId, family, variant) {\n return typeGuard(baseQuestionGuards(typeId, family, variant));\n};\n\nvar questionTypeFamilies = ['PRESENTATION', 'MULTIPLE_CHOICE', 'OPEN_ENDED', 'RATING_SCALE', 'MATRIX', 'RANKING', 'SLIDER', 'DATETIME', 'CONTACT_INFO', 'CLICK_MAP', 'FILE_UPLOAD'];\nvar questionTypeRequiredPredicateTypes = ['ALL', 'AT_LEAST', 'AT_MOST', 'EXACTLY', 'RANGE', 'REQUIRED_ANSWERS_LIST'];\nvar questionTypeVariants = ['TEXT', 'IMAGE', 'SINGLE_LINE', 'ESSAY', 'MANY_FIELDS', 'SINGLE_ANSWER_RADIO', 'SINGLE_ANSWER_SYMBOL', 'SINGLE_ANSWER_MENU', 'MANY_ANSWERS_CHECKBOX', 'MENU', 'SINGLE_SLIDER', 'DATE', 'TIME', 'DATETIME', 'MANY_FIELDS', 'SINGLE_CLICK', null];\nvar questionTypeLayoutPlacements = ['NEW_ROW', 'RIGHT_ALIGNED'];\nvar questionTypeHeaderColumnWidths = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];\nvar questionTypeValidationTypes = ['SUM', 'TEXT_LENGTH', 'EMAIL', 'INTEGER', 'DECIMAL', 'DATE_US', 'DATE_INTL', 'FILE_FORMAT'];\nvar questionTypeFileFormats = ['PDF', 'DOC', 'DOCX', 'PNG', 'JPG', 'JPEG', 'GIF'];\nvar questionTypeIds = ['single_textbox', 'comment_box'];\nvar questionTypeSortingKinds = ['FLIP', 'RANDOM', 'TEXT_ASC', 'TEXT_DESC'];\nvar questionTypeSkipLogicTypes = ['QUESTION_CONDITIONAL_COL', 'QUESTION_CONDITIONAL_ROW'];\nvar questionTypeSkipLogicDestinationTypes = ['DISQUALIFY_RESPONDENT', 'END_SURVEY', 'SKIP_TO_PAGE'];\nvar questionTypeMultipleChoiceLayouts = ['VERTICAL', 'THREE_COLUMNS', 'TWO_COLUMNS', 'HORIZONTAL'];\nvar SENTIMENTS = ['positive', 'negative', 'neutral', 'unknown'];\n/** Possible icons for Star-Rating */\n\nvar ratingScaleSymbols = ['THUMB', 'STAR', 'HEART', 'SMILEY'];\n/** Possible values for relative width (in percentage) */\n\nvar relativeWidthOptions = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];\n/** Possible values for fixed width (in pixel) */\n\nvar fixedWidthOptions = [100, 200, 300, 400, 500, 600, 700, 800];\nvar isTextLengthValidation = typeGuard({\n errorMessage: isString,\n type: isFixed('TEXT_LENGTH'),\n minLength: isNumber,\n maxLength: isNumber\n});\nvar isIntegerValidation = typeGuard({\n errorMessage: isString,\n type: isFixed('INTEGER'),\n minValue: isNumber,\n maxValue: isNumber\n});\nvar isDecimalValidation = typeGuard({\n errorMessage: isString,\n type: isFixed('DECIMAL'),\n minValue: isNumber,\n maxValue: isNumber\n});\nvar isDateValidation = typeGuard({\n errorMessage: isString,\n type: isOneOf(['DATE_US', 'DATE_INTL']),\n minDate: isString,\n maxDate: isString\n});\nvar isEmailValidation = typeGuard({\n errorMessage: isString,\n type: isFixed('EMAIL')\n});\nvar isSumValidation = typeGuard({\n errorMessage: isString,\n type: isFixed('SUM'),\n sum: isNumber\n});\nvar isFieldValidation = isEither([isTextLengthValidation, isIntegerValidation, isDecimalValidation, isDateValidation, isEmailValidation]);\nvar headingGuards = typeGuard({\n \"default\": typeGuard({\n text: isString\n }),\n assignments: isOptional(isArrayOf(typeGuard({\n id: isString,\n heading: typeGuard({\n text: isString\n }),\n variable: typeGuard({\n id: isString,\n name: isNullable(isString),\n percent: isNumber,\n position: isNumber\n })\n })))\n});\nvar positionGuard = {\n position: typeGuard({\n inPage: isNumber,\n inSurvey: isNumber,\n label: isString\n })\n};\nvar baseGuards$a = {\n id: isString\n};\n/** Guard for basic fields shared by all QuestionTypes' in the Response-Survey capabilities */\n\nvar surveyQuestionGuards = _objectSpread(_objectSpread(_objectSpread({}, baseGuards$a), positionGuard), {}, {\n // TODO: remove this\n family: isOneOf(questionTypeFamilies),\n variant: isOneOf(questionTypeVariants),\n heading: headingGuards,\n hasPiping: isBoolean,\n createdAt: isString,\n modifiedAt: isString\n});\n\nvar externalQuizResultsGuards = {\n id: isString,\n feedback: typeGuard({\n correct: isString,\n partial: isString,\n incorrect: isString\n }),\n answers: isArrayOf(typeGuard({\n answer: isEither([typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean\n }), typeGuard({\n id: isString\n })]),\n points: isNumber,\n responded: isBoolean\n })),\n\n /** custom field - not in this spot in the GraphQL Schema (data from `OtherResponse`)) */\n answerOther: isOptional(typeGuard({\n textAnswer: isOptional(isString)\n })),\n totalPoints: isNumber\n};\nvar isSurveyQuestion = typeGuard(surveyQuestionGuards);\nvar isQuestionLayoutPlacement = isOneOf(questionTypeLayoutPlacements);\nvar isQuestionLayoutSpacing = typeGuard({\n left: isNumber,\n right: isNumber,\n top: isNumber,\n bottom: isNumber\n});\nvar isQuestionLayoutWidth = isEither([typeGuard({\n format: isFixed('PERCENT'),\n width: isOneOf(relativeWidthOptions)\n}), typeGuard({\n format: isFixed('FIXED'),\n width: isOneOf(fixedWidthOptions)\n})]);\nvar isQuestionLayoutHeaderColumnWidth = isOneOf(questionTypeHeaderColumnWidths);\n/** Internal non-nullable version */\n\nvar isAnswer = typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean\n});\n/** Internal non-nullable version */\n\nvar isAnswerOtherCommentNonNullable = typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean,\n type: isFixed('COMMENT'),\n layout: typeGuard({\n linesCount: isNumber,\n charsCount: isNumber\n })\n});\n/** Internal non-nullable version */\n\nvar isAnswerOtherChoiceNonNullable = typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean,\n type: isFixed('ANSWER'),\n requiredErrorText: isString,\n layout: typeGuard({\n linesCount: isNumber,\n charsCount: isNumber\n })\n});\nvar isAnswerOther = isNullable(isEither([isAnswerOtherChoiceNonNullable, isAnswerOtherCommentNonNullable]));\nvar isAnswerOtherComment = isNullable(isAnswerOtherCommentNonNullable);\nvar isAnswerNoneOfTheAbove = isNullable(typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean\n}));\nvar isFieldSet = typeGuard({\n id: isString,\n visible: isBoolean\n});\nvar isAllAnswerRequired = typeGuard({\n errorMessage: isString,\n type: isFixed('ALL')\n});\n/** Internal non-nullable version */\n\nvar isWeightedAnswer = typeGuard({\n id: isString,\n label: isString,\n weight: isNumber,\n visible: isBoolean\n});\nvar isWeightedAnswers = isArrayOf(isWeightedAnswer);\nvar isQuestionSorting = isNullable(typeGuard({\n ignoreLast: isBoolean,\n type: isOneOf(questionTypeSortingKinds)\n}));\nvar isQuestionSkipLogicRules = isArrayOf(typeGuard({\n id: isString,\n skipType: isOneOf(questionTypeSkipLogicTypes),\n sourceAnswer: isEither([isAnswer, isAnswerOtherChoiceNonNullable, isWeightedAnswer]),\n destination: isEither([typeGuard({\n type: isOneOf(['DISQUALIFY_RESPONDENT', 'END_SURVEY'])\n }), // ensure `SKIP_TO_PAGE` also has a question prop\n typeGuard({\n type: isFixed('SKIP_TO_PAGE'),\n question: isSurveyQuestion\n })])\n}));\nvar isExternalQuestionWithTypeId = typeGuard({\n typeId: isString\n});\nvar isAnswerRangeRequired = typeGuard({\n type: isFixed('RANGE'),\n min: isNumber,\n max: isNumber,\n errorMessage: isString\n});\nvar isAnswerCountPredicateRequired = typeGuard({\n errorMessage: isString,\n type: isOneOf(['AT_LEAST', 'AT_MOST', 'EXACTLY']),\n amount: isNumber\n});\n\nfunction assertExternalQuestionWithIds(u) {\n return typeAssertion({\n typeId: isString,\n id: isString\n })(u);\n}\n/** Only used for Respondent Survey */\n\n\nvar basicExternalAllMultipleChoiceGuards = {\n fieldSet: isFieldSet,\n sorting: isQuestionSorting,\n required: isNullable(isAllAnswerRequired)\n};\nvar basicExternalMultipleChoiceAnswersGuard = {\n answers: isArrayOf(typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean\n }))\n};\nvar basicExternalMultipleChoiceValidationGuard = {\n validation: isNullable(isEither([isTextLengthValidation, isIntegerValidation, isDecimalValidation, isDateValidation, isEmailValidation]))\n};\nvar basicExternalMultipleChoiceLayoutGuard = {\n layout: typeGuard({\n answerLayout: isOneOf(questionTypeMultipleChoiceLayouts),\n placement: isQuestionLayoutPlacement,\n width: isQuestionLayoutWidth,\n spacing: isQuestionLayoutSpacing\n })\n};\nvar basicExternalMultipleChoiceAnswerOtherGuard = {\n answerOther: isAnswerOther\n};\nvar basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard = {\n answerNoneOfTheAbove: isNullable(typeGuard({\n id: isString,\n label: isString,\n visible: isBoolean\n }))\n};\n/** Shared ExternalQuestion Guards for Respondent-Survey capability */\n\nvar externalRespondentSurveyGuards = _objectSpread(_objectSpread({}, positionGuard), {}, {\n heading: headingGuards,\n hasPiping: isBoolean,\n\n /** Not part of GraphQL Schema */\n errors: isArrayOf(isQuestionError),\n\n /** Not part of GraphQL Schema and only used for _One Question At A Time_ mode */\n active: isOptional(isBoolean)\n});\n\nvar isAggregateResponseHeaderItem$1 = typeGuard({\n id: isString,\n label: isString,\n weight: isNullable(isNumber)\n});\nvar isAggregateResponseHeader$1 = typeGuard({\n id: isString,\n items: isArrayOf(isAggregateResponseHeaderItem$1)\n});\n/** Shared ExternalQuestion Guards for Respondent-Quiz-Results capability */\n\nvar externalRespondentQuizResultsGuards = _objectSpread(_objectSpread({}, positionGuard), {}, {\n heading: headingGuards,\n quizResults: isNullable(typeGuard(externalQuizResultsGuards))\n});\n/** Shared ExternalQuestion Guards for AggregateResponse-Dashboard capability */\n\n\nvar externalAggregateResponseDashboardGuards = {\n dashboardType: isOptional(isEither([isFixed('slide'), isFixed('list'), isFixed('sentiment-chart')])),\n filterCount: isOptional(isNumber),\n selectedCount: isOptional(isNumber),\n skippedCount: isOptional(isNumber),\n responseData: isOptional(isNullable(isArrayOf(typeGuard({\n content: isString,\n id: isString,\n sentiment: isEither([isFixed('positive'), isFixed('negative'), isFixed('neutral'), isFixed('unknown')])\n })))),\n aggregateResponse: isOptional(typeGuard({\n columnHeader: isNullable(isAggregateResponseHeader$1),\n rowHeader: isAggregateResponseHeader$1,\n groupHeader: isNullable(isAggregateResponseHeader$1),\n data: isArrayOf(typeGuard({\n columnItem: isNullable(isAggregateResponseHeaderItem$1),\n rowItem: isNullable(isAggregateResponseHeaderItem$1),\n groupItem: isNullable(isAggregateResponseHeaderItem$1),\n percentage: isNumber,\n total: isNumber\n })),\n id: isString,\n stats: isArrayOf(typeGuard({\n across: isNullable(isEither([isFixed('COLUMNS'), isFixed('GROUPS'), isFixed('ROWS')])),\n row: isNullable(isAggregateResponseHeaderItem$1),\n column: isNullable(isAggregateResponseHeaderItem$1),\n group: isNullable(isAggregateResponseHeaderItem$1)\n })),\n type: isEither([isFixed('ONE_D'), isFixed('TWO_D'), isFixed('THREE_D')])\n })),\n heading: headingGuards\n};\n/** List of all smQuestion supported capabilities (others might get defined via custom providers/views) */\n\nvar CAPABILITIES = ['respondent-survey', 'respondent-quiz-results', 'aggregate-response-dashboard'];\n\nfunction assertExternalQuestionByCapability(externalQuestion, guards) {\n return typeAssertion(guards)(externalQuestion);\n}\n\nfunction respondentSurveyMapping(externalQuestion) {\n assertExternalQuestionByCapability(externalQuestion, externalRespondentSurveyGuards);\n var heading = externalQuestion.heading,\n position = externalQuestion.position,\n errors = externalQuestion.errors,\n active = externalQuestion.active;\n return {\n errors: errors,\n active: active,\n questionNumber: position.label,\n title: heading[\"default\"].text,\n disabled: false,\n answer: {\n touched: false,\n value: ''\n }\n };\n}\n\nfunction respondentQuizResultsMapping(externalQuestion) {\n assertExternalQuestionByCapability(externalQuestion, externalRespondentQuizResultsGuards);\n return {\n quizResults: externalQuestion.quizResults || undefined,\n questionNumber: externalQuestion.position.label,\n title: externalQuestion.heading[\"default\"].text\n };\n}\n\nfunction aggregateResponseDashboardMapping(externalQuestion) {\n assertExternalQuestionByCapability(externalQuestion, externalAggregateResponseDashboardGuards);\n var dashboardType = externalQuestion.dashboardType,\n filterCount = externalQuestion.filterCount,\n selectedCount = externalQuestion.selectedCount,\n skippedCount = externalQuestion.skippedCount,\n responseData = externalQuestion.responseData,\n aggregateResponse = externalQuestion.aggregateResponse,\n title = externalQuestion.heading[\"default\"].text;\n return {\n dashboardType: dashboardType,\n filterCount: filterCount,\n selectedCount: selectedCount,\n skippedCount: skippedCount,\n responseData: responseData,\n aggregateResponse: aggregateResponse,\n title: title\n };\n}\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n\nfunction assertBasicFields(externalQuestion) {\n return typeAssertion(baseGuards$a)(externalQuestion);\n}\n\nfunction basicFieldsMapping(externalQuestion) {\n assertBasicFields(externalQuestion);\n var id = externalQuestion.id;\n return {\n id: id\n };\n}\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n\nvar basicExternalImageChoiceGuards = {\n family: isFixed('MULTIPLE_CHOICE'),\n variant: isEither([isFixed('MANY_ANSWERS_IMAGE'), isFixed('SINGLE_ANSWER_IMAGE')])\n};\n\nfunction assertExternalImageChoice(externalQuestion) {\n return typeAssertion(basicExternalImageChoiceGuards)(externalQuestion);\n}\n/** Map fields shared by all capabilities */\n\n\nvar mapExternalToInternalImageChoice = function mapExternalToInternalImageChoice(externalQuestion) {\n assertExternalImageChoice(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n typeId: 'image_choice',\n variant: variant,\n family: family,\n disabled: false\n };\n};\n\nvar answersImageGuards = {\n answersImage: isArrayOf(typeGuard({\n id: isString,\n image: typeGuard({\n altText: isString,\n url: isString\n }),\n label: isString,\n visible: isBoolean\n }))\n};\n/** Assertion for Respondent-Survey */\n\nfunction assertRespondentSurvey$a(u) {\n return typeAssertion(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicExternalAllMultipleChoiceGuards), basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard), answersImageGuards), {}, {\n skipLogicRules: isQuestionSkipLogicRules\n }))(u);\n}\n\nvar mapRespondentSurveyExternalImageChoice = function mapRespondentSurveyExternalImageChoice(externalQuestion) {\n assertRespondentSurvey$a(externalQuestion);\n var answerNoneOfTheAbove = externalQuestion.answerNoneOfTheAbove,\n answersImage = externalQuestion.answersImage,\n fieldSet = externalQuestion.fieldSet,\n required = externalQuestion.required,\n skipLogicRules = externalQuestion.skipLogicRules,\n sorting = externalQuestion.sorting;\n return {\n answerNoneOfTheAbove: answerNoneOfTheAbove,\n answersImage: answersImage,\n fieldSet: fieldSet,\n required: required,\n skipLogicRules: skipLogicRules,\n sorting: sorting\n };\n};\n/** Assertion for Respondent-Quiz-Results */\n\n\nfunction assertRespondentQuizResults$2(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread({}, basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard), answersImageGuards)))(u);\n}\n/** Map Respondent-Quiz-Results specific properties */\n\n\nvar mapRespondentQuizResultsExternalImageChoice = function mapRespondentQuizResultsExternalImageChoice(externalQuestion) {\n assertRespondentQuizResults$2(externalQuestion);\n var answerNoneOfTheAbove = externalQuestion.answerNoneOfTheAbove,\n answersImage = externalQuestion.answersImage;\n return {\n answerNoneOfTheAbove: answerNoneOfTheAbove,\n answersImage: answersImage\n };\n}; // Respondent-Survey\n\n\nvar imageChoiceRespondentSurveyMapping = function imageChoiceRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalImageChoice(externalQuestion)), mapRespondentSurveyExternalImageChoice(externalQuestion));\n}; // Respondent-Quiz-Results\n\n\nvar imageChoiceRespondentQuizResultsMapping = function imageChoiceRespondentQuizResultsMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicFieldsMapping(externalQuestion)), respondentQuizResultsMapping(externalQuestion)), mapExternalToInternalImageChoice(externalQuestion)), mapRespondentQuizResultsExternalImageChoice(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar imageChoiceAggregateResponseDashboardMapping = function imageChoiceAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({}, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalImageChoice(externalQuestion));\n};\n/** Guard to check properties shared by all capabilities */\n\n\nvar basicExternalCheckBoxGuards = {\n family: isFixed('MULTIPLE_CHOICE'),\n variant: isFixed('MANY_ANSWERS_CHECKBOX')\n};\n/** Assertion to check properties shared by all capabilities */\n\nfunction assertExternalCheckBox(externalQuestion) {\n return typeAssertion(basicExternalCheckBoxGuards)(externalQuestion);\n}\n/** Map fields shared by all capabilities */\n\n\nvar mapExternalToInternalCheckBox = function mapExternalToInternalCheckBox(externalQuestion) {\n assertExternalCheckBox(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey specific properties */\n\n\nfunction assertRespondentSurvey$9(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicExternalMultipleChoiceAnswersGuard), basicExternalMultipleChoiceAnswerOtherGuard), basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard), basicExternalMultipleChoiceLayoutGuard), basicExternalMultipleChoiceValidationGuard), isNullable(isAllAnswerRequired))))(u);\n}\n/** Map Respondent-Survey specific properties */\n\n\nvar mapRespondentSurveyExternalCheckBox = function mapRespondentSurveyExternalCheckBox(externalQuestion) {\n assertRespondentSurvey$9(externalQuestion);\n var layout = externalQuestion.layout,\n validation = externalQuestion.validation,\n required = externalQuestion.required,\n answers = externalQuestion.answers,\n answerOther = externalQuestion.answerOther,\n answerNoneOfTheAbove = externalQuestion.answerNoneOfTheAbove;\n return {\n layout: layout,\n validation: validation,\n required: required,\n answers: answers,\n answerOther: answerOther ? _objectSpread(_objectSpread({\n id: answerOther.id,\n touched: false,\n value: '',\n label: answerOther.label,\n selected: false,\n visible: answerOther.visible,\n type: answerOther.type\n }, answerOther.type === 'ANSWER' ? {\n requiredErrorText: answerOther.requiredErrorText\n } : {}), {}, {\n linesCount: answerOther.layout.linesCount,\n charsCount: answerOther.layout.charsCount\n }) : null,\n answerNoneOfTheAbove: answerNoneOfTheAbove\n };\n};\n/** Assertion for Respondent-Quiz-Results */\n\n\nfunction assertRespondentQuizResults$1(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread(_objectSpread({}, basicExternalMultipleChoiceLayoutGuard), basicExternalMultipleChoiceAnswerOtherGuard), basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard)))(u);\n}\n\nvar mapRespondentQuizResultsExternalCheckBox = function mapRespondentQuizResultsExternalCheckBox(externalQuestion) {\n assertRespondentQuizResults$1(externalQuestion);\n var layout = externalQuestion.layout,\n answerOther = externalQuestion.answerOther,\n answerNoneOfTheAbove = externalQuestion.answerNoneOfTheAbove;\n return {\n layout: layout,\n answerOther: answerOther ? _objectSpread(_objectSpread({\n id: answerOther.id,\n label: answerOther.label,\n visible: answerOther.visible,\n type: answerOther.type\n }, answerOther.type === 'ANSWER' ? {\n requiredErrorText: answerOther.requiredErrorText\n } : {}), {}, {\n linesCount: answerOther.layout.linesCount,\n charsCount: answerOther.layout.charsCount\n }) : null,\n answerNoneOfTheAbove: answerNoneOfTheAbove\n };\n}; // Respondent-Survey\n\n\nvar checkBoxRespondentSurveyMapping = function checkBoxRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'check_box'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalCheckBox(externalQuestion)), mapRespondentSurveyExternalCheckBox(externalQuestion));\n}; // Respondent-Quiz-Results\n\n\nvar checkBoxRespondentQuizResultsMapping = function checkBoxRespondentQuizResultsMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'check_box'\n }, basicFieldsMapping(externalQuestion)), respondentQuizResultsMapping(externalQuestion)), mapExternalToInternalCheckBox(externalQuestion)), mapRespondentQuizResultsExternalCheckBox(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar checkBoxAggregateResponseDashboardMapping = function checkBoxAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'check_box'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalCheckBox(externalQuestion));\n};\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n\nvar basicExternalDropdownGuards = {\n variant: isFixed('SINGLE_ANSWER_MENU'),\n family: isFixed('MULTIPLE_CHOICE')\n};\n\nfunction assertExternalDropdown(externalQuestion) {\n return typeAssertion(basicExternalDropdownGuards)(externalQuestion);\n}\n/** Map fields shared by all capabilities */\n\n\nvar mapExternalToInternalDropdown = function mapExternalToInternalDropdown(externalQuestion) {\n assertExternalDropdown(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey specific properties */\n\n\nfunction assertRespondentSurvey$8(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicExternalAllMultipleChoiceGuards), basicExternalMultipleChoiceLayoutGuard), basicExternalMultipleChoiceValidationGuard), basicExternalMultipleChoiceAnswersGuard), basicExternalMultipleChoiceAnswerOtherGuard)))(u);\n}\n/** Map Respondent-Survey specific properties */\n\n\nvar mapRespondentSurveyExternalDropdown = function mapRespondentSurveyExternalDropdown(externalQuestion) {\n assertRespondentSurvey$8(externalQuestion); // Placeholder - we don't have this visualization yet\n\n var layout = externalQuestion.layout,\n validation = externalQuestion.validation,\n answerOther = externalQuestion.answerOther,\n required = externalQuestion.required,\n answers = externalQuestion.answers;\n return {\n required: required,\n layout: layout,\n validation: validation,\n answers: answers,\n answerOther: answerOther ? _objectSpread(_objectSpread({\n id: answerOther.id,\n label: answerOther.label,\n touched: false,\n value: '',\n selected: false,\n visible: answerOther.visible,\n type: answerOther.type\n }, answerOther.type === 'ANSWER' ? {\n requiredErrorText: answerOther.requiredErrorText\n } : {}), {}, {\n linesCount: answerOther.layout.linesCount,\n charsCount: answerOther.layout.charsCount\n }) : null\n };\n};\n/** Assertion for Respondent-Survey specific properties */\n\n\nfunction assertQuizResults(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread({}, basicExternalMultipleChoiceAnswerOtherGuard), basicExternalMultipleChoiceLayoutGuard)))(u);\n}\n\nvar mapRespondentQuizResultsExternalDropdown = function mapRespondentQuizResultsExternalDropdown(externalQuestion) {\n assertQuizResults(externalQuestion);\n var layout = externalQuestion.layout,\n answerOther = externalQuestion.answerOther;\n return {\n layout: layout,\n answerOther: answerOther ? _objectSpread(_objectSpread({\n id: answerOther.id,\n label: answerOther.label,\n visible: answerOther.visible,\n type: answerOther.type\n }, answerOther.type === 'ANSWER' ? {\n requiredErrorText: answerOther.requiredErrorText\n } : {}), {}, {\n linesCount: answerOther.layout.linesCount,\n charsCount: answerOther.layout.charsCount\n }) : null\n };\n}; // Respondent-Survey\n\n\nvar dropdownRespondentSurveyMapping = function dropdownRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'dropdown'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalDropdown(externalQuestion)), mapRespondentSurveyExternalDropdown(externalQuestion));\n}; // Respondent-Quiz-Results\n\n\nvar dropdownRespondentQuizResultsMapping = function dropdownRespondentQuizResultsMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'dropdown'\n }, basicFieldsMapping(externalQuestion)), respondentQuizResultsMapping(externalQuestion)), mapExternalToInternalDropdown(externalQuestion)), mapRespondentQuizResultsExternalDropdown(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar dropdownAggregateResponseDashboardMapping = function dropdownAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'dropdown'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalDropdown(externalQuestion));\n};\n\nvar basicExternalFieldSetGuards = {\n fieldSet: isFieldSet\n};\nvar basicExternalRequiredGuards = {\n required: isNullable(isAllAnswerRequired)\n};\nvar basicExternalOpenEndedLayoutGuards = {\n layout: typeGuard({\n placement: isQuestionLayoutPlacement,\n spacing: isQuestionLayoutSpacing,\n linesCount: isNumber,\n charsCount: isNumber\n })\n};\nvar basicExternalOpenEndedValidationGuards = {\n validation: isNullable(isEither([isTextLengthValidation, isIntegerValidation, isDecimalValidation, isDateValidation, isEmailValidation]))\n};\nvar basicExternalCommentBoxGuards = {\n family: isFixed('OPEN_ENDED'),\n variant: isFixed('ESSAY')\n};\n\nfunction assertExternalCommentBox(externalQuestion) {\n return typeAssertion(basicExternalCommentBoxGuards)(externalQuestion);\n}\n\nvar mapExternalToInternalCommentBox = function mapExternalToInternalCommentBox(externalQuestion) {\n assertExternalCommentBox(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey */\n\n\nfunction assertRespondentSurvey$7(u) {\n return typeAssertion(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicExternalFieldSetGuards), basicExternalRequiredGuards), basicExternalOpenEndedLayoutGuards), basicExternalOpenEndedValidationGuards))(u);\n}\n\nvar mapRespondentSurveyExternalCommentBox = function mapRespondentSurveyExternalCommentBox(externalQuestion) {\n assertRespondentSurvey$7(externalQuestion);\n var layout = externalQuestion.layout,\n validation = externalQuestion.validation,\n required = externalQuestion.required,\n fieldSet = externalQuestion.fieldSet;\n return {\n layout: layout,\n validation: validation,\n required: required,\n fieldSet: fieldSet\n };\n}; // Respondent-Survey\n\n\nvar commentBoxRespondentSurveyMapping = function commentBoxRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'comment_box'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalCommentBox(externalQuestion)), mapRespondentSurveyExternalCommentBox(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar commentBoxAggregateResponseDashboardMapping = function commentBoxAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'comment_box'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalCommentBox(externalQuestion));\n};\n\nvar basicExternalSingleTextboxGuards = {\n family: isFixed('OPEN_ENDED'),\n variant: isFixed('SINGLE_LINE')\n};\n\nfunction assertExternalSingleTextbox(externalQuestion) {\n return typeAssertion(basicExternalSingleTextboxGuards)(externalQuestion);\n}\n/** Map fields shared by all capabilities */\n\n\nvar mapExternalToInternalSingleTextbox = function mapExternalToInternalSingleTextbox(externalQuestion) {\n assertExternalSingleTextbox(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey */\n\n\nfunction assertRespondentSurvey$6(u) {\n return typeAssertion(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicExternalFieldSetGuards), basicExternalRequiredGuards), basicExternalOpenEndedLayoutGuards), basicExternalOpenEndedValidationGuards))(u);\n}\n\nvar mapRespondentSurveyExternalSingleTextbox = function mapRespondentSurveyExternalSingleTextbox(externalQuestion) {\n assertRespondentSurvey$6(externalQuestion);\n var layout = externalQuestion.layout,\n validation = externalQuestion.validation,\n required = externalQuestion.required,\n fieldSet = externalQuestion.fieldSet;\n return {\n layout: layout,\n validation: validation,\n required: required,\n fieldSet: fieldSet\n };\n}; // Respondent-Survey\n\n\nvar singleTextboxRespondentSurveyMapping = function singleTextboxRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'single_textbox'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalSingleTextbox(externalQuestion)), mapRespondentSurveyExternalSingleTextbox(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar singleTextboxAggregateResponseDashboardMapping = function singleTextboxAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'single_textbox'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalSingleTextbox(externalQuestion));\n};\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n/** Guard to check properties shared by all capabilities */\n\n\nvar basicExternalMatrixGuards = {\n family: isFixed('MATRIX'),\n variant: isEither([isFixed('SINGLE_ANSWER_RADIO'), isFixed('MANY_ANSWERS_CHECKBOX')])\n};\n\nfunction assertExternalMatrix(externalQuestion) {\n return typeAssertion(basicExternalMatrixGuards)(externalQuestion);\n}\n/** Map fields shared by all capabilities */\n\n\nvar mapExternalToInternalMatrix = function mapExternalToInternalMatrix(externalQuestion) {\n assertExternalMatrix(externalQuestion);\n var family = externalQuestion.family,\n variant = externalQuestion.variant;\n return {\n family: family,\n variant: variant,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey specific properties */\n\n\nfunction assertRespondentSurvey$5(u) {\n return typeAssertion(typeGuard({\n fieldSets: isArrayOf(isFieldSet),\n required: isNullable(isEither([isAllAnswerRequired, isAnswerRangeRequired, isAnswerCountPredicateRequired])),\n sorting: isNullable(isQuestionSorting),\n layout: typeGuard({\n placement: isQuestionLayoutPlacement,\n spacing: isQuestionLayoutSpacing,\n width: isQuestionLayoutWidth,\n labelWidthPercent: isOneOf(questionTypeHeaderColumnWidths)\n })\n }))(u);\n}\n/** Map Respondent-Survey specific properties */\n\n\nvar mapRespondentSurveyExternalMatrix = function mapRespondentSurveyExternalMatrix(externalQuestion) {\n assertRespondentSurvey$5(externalQuestion);\n var layout = externalQuestion.layout,\n fieldSets = externalQuestion.fieldSets,\n required = externalQuestion.required,\n sorting = externalQuestion.sorting;\n return {\n layout: layout,\n fieldSets: fieldSets,\n required: required,\n sorting: sorting\n };\n}; // Respondent-Survey\n\n\nvar matrixRespondentSurveyMapping = function matrixRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'matrix'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalMatrix(externalQuestion)), mapRespondentSurveyExternalMatrix(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar matrixAggregateResponseDashboardMapping = function matrixAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'matrix'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalMatrix(externalQuestion));\n};\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n/** Guard to check properties shared by all capabilities */\n\n\nvar basicExternalMultipleChoiceGuards = {\n family: isFixed('MULTIPLE_CHOICE'),\n variant: isFixed('SINGLE_ANSWER_RADIO')\n};\n/** Assertion to check properties shared by all capabilities */\n\nfunction assertExternalMultipleChoice(externalQuestion) {\n return typeAssertion(basicExternalMultipleChoiceGuards)(externalQuestion);\n}\n/** Map fields shared by all capabilities */\n\n\nvar mapExternalToInternalMultipleChoice = function mapExternalToInternalMultipleChoice(externalQuestion) {\n assertExternalMultipleChoice(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey specific properties */\n\n\nfunction assertRespondentSurvey$4(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, basicExternalAllMultipleChoiceGuards), basicExternalMultipleChoiceLayoutGuard), basicExternalMultipleChoiceValidationGuard), basicExternalMultipleChoiceAnswersGuard), basicExternalMultipleChoiceAnswerOtherGuard), basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard)))(u);\n}\n/** Map Respondent-Survey specific properties */\n\n\nvar mapRespondentSurveyExternalMultipleChoice = function mapRespondentSurveyExternalMultipleChoice(externalQuestion) {\n assertRespondentSurvey$4(externalQuestion); // Placeholder - we don't have this visualization yet\n\n var required = externalQuestion.required,\n layout = externalQuestion.layout,\n validation = externalQuestion.validation,\n answers = externalQuestion.answers,\n answerOther = externalQuestion.answerOther,\n answerNoneOfTheAbove = externalQuestion.answerNoneOfTheAbove;\n return {\n required: required,\n layout: layout,\n validation: validation,\n answers: answers,\n answerOther: answerOther ? _objectSpread(_objectSpread({\n id: answerOther.id,\n label: answerOther.label,\n touched: false,\n value: '',\n selected: false,\n visible: answerOther.visible,\n type: answerOther.type\n }, answerOther.type === 'ANSWER' ? {\n requiredErrorText: answerOther.requiredErrorText\n } : {}), {}, {\n linesCount: answerOther.layout.linesCount,\n charsCount: answerOther.layout.charsCount\n }) : null,\n answerNoneOfTheAbove: answerNoneOfTheAbove\n };\n};\n/** Assertion for Respondent-Quiz-Results */\n\n\nfunction assertRespondentQuizResults(u) {\n return typeAssertion(typeGuard(_objectSpread(_objectSpread(_objectSpread({}, basicExternalMultipleChoiceLayoutGuard), basicExternalMultipleChoiceAnswerOtherGuard), basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard)))(u);\n}\n/** Map Respondent-Quiz-Results specific properties */\n\n\nvar mapRespondentQuizResultsExternalMultipleChoice = function mapRespondentQuizResultsExternalMultipleChoice(externalQuestion) {\n assertRespondentQuizResults(externalQuestion);\n var layout = externalQuestion.layout,\n answerOther = externalQuestion.answerOther,\n answerNoneOfTheAbove = externalQuestion.answerNoneOfTheAbove;\n return {\n layout: layout,\n answerOther: answerOther ? _objectSpread(_objectSpread({\n id: answerOther.id,\n label: answerOther.label,\n visible: answerOther.visible,\n type: answerOther.type\n }, answerOther.type === 'ANSWER' ? {\n requiredErrorText: answerOther.requiredErrorText\n } : {}), {}, {\n linesCount: answerOther.layout.linesCount,\n charsCount: answerOther.layout.charsCount\n }) : null,\n answerNoneOfTheAbove: answerNoneOfTheAbove || null\n };\n}; // Respondent-Survey\n\n\nvar multipleChoiceRespondentSurveyMapping = function multipleChoiceRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'multiple_choice'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalMultipleChoice(externalQuestion)), mapRespondentSurveyExternalMultipleChoice(externalQuestion));\n}; // Respondent-Quiz-Results\n\n\nvar multipleChoiceRespondentQuizResultsMapping = function multipleChoiceRespondentQuizResultsMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'multiple_choice'\n }, basicFieldsMapping(externalQuestion)), respondentQuizResultsMapping(externalQuestion)), mapExternalToInternalMultipleChoice(externalQuestion)), mapRespondentQuizResultsExternalMultipleChoice(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar multipleChoiceAggregateResponseDashboardMapping = function multipleChoiceAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'multiple_choice'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalMultipleChoice(externalQuestion));\n};\n\nvar basicExternalMultipleTextboxGuards = {\n family: isFixed('OPEN_ENDED'),\n variant: isFixed('MANY_FIELDS')\n};\n\nfunction assertExternalMultipleTextbox(externalQuestion) {\n return typeAssertion(basicExternalMultipleTextboxGuards)(externalQuestion);\n}\n/** Map external question type */\n\n\nvar mapExternalToInternalMultipleTextbox = function mapExternalToInternalMultipleTextbox(externalQuestion) {\n assertExternalMultipleTextbox(externalQuestion);\n var variant = externalQuestion.variant,\n family = externalQuestion.family;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey */\n\n\nfunction assertRespondentSurvey$3(u) {\n return typeAssertion({\n fieldSets: isArrayOf(isFieldSet),\n required: isAllAnswerRequired,\n layout: typeGuard({\n placement: isQuestionLayoutPlacement,\n spacing: isQuestionLayoutSpacing,\n width: isQuestionLayoutWidth,\n labelWidthPercent: isNumber,\n charsCount: isNumber\n }),\n sorting: isNullable(isQuestionSorting),\n validation: isNullable(isEither([isSumValidation, isFieldValidation]))\n })(u);\n}\n\nvar mapRespondentSurveyExternalMultipleTextbox = function mapRespondentSurveyExternalMultipleTextbox(externalQuestion) {\n assertRespondentSurvey$3(externalQuestion);\n var fieldSets = externalQuestion.fieldSets,\n layout = externalQuestion.layout,\n required = externalQuestion.required,\n sorting = externalQuestion.sorting,\n validation = externalQuestion.validation;\n return {\n fieldSets: fieldSets,\n layout: layout,\n required: required,\n validation: validation,\n sorting: sorting\n };\n}; // Respondent-Survey\n\n\nvar multipleTextboxRespondentSurveyMapping = function multipleTextboxRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'multiple_textbox'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalMultipleTextbox(externalQuestion)), mapRespondentSurveyExternalMultipleTextbox(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar multipleTextboxAggregateResponseDashboardMapping = function multipleTextboxAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'multiple_textbox'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalMultipleTextbox(externalQuestion));\n};\n\nvar basicExternalRankingGuards = {\n family: isFixed('RANKING'),\n variant: isFixed('SINGLE_ANSWER_RADIO')\n};\n\nfunction assertExternalRanking(externalQuestion) {\n return typeAssertion(basicExternalRankingGuards)(externalQuestion);\n}\n/** Map external question type */\n\n\nvar mapExternalToInternalRanking = function mapExternalToInternalRanking(externalQuestion) {\n assertExternalRanking(externalQuestion);\n var family = externalQuestion.family,\n variant = externalQuestion.variant;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n\nvar isRankingLayoutOption = typeGuard({\n spacing: isQuestionLayoutSpacing,\n width: isQuestionLayoutWidth,\n labelWidthPercent: isQuestionLayoutHeaderColumnWidth\n});\n/** Assertion for Respondent-Survey */\n\nfunction assertRespondentSurvey$2(u) {\n return typeAssertion({\n required: isNullable(isAllAnswerRequired),\n answerNA: isNullable(isAnswerNoneOfTheAbove),\n answersWeighted: isWeightedAnswers,\n fieldSets: isArrayOf(isFieldSet),\n isWeighted: isFixed(true),\n layout: isRankingLayoutOption,\n sorting: isNullable(isQuestionSorting)\n })(u);\n}\n/** Map the respondent survey fields */\n\n\nvar mapRespondentSurveyExternalRanking = function mapRespondentSurveyExternalRanking(externalQuestion) {\n assertRespondentSurvey$2(externalQuestion);\n var required = externalQuestion.required,\n answerNA = externalQuestion.answerNA,\n answersWeighted = externalQuestion.answersWeighted,\n fieldSets = externalQuestion.fieldSets,\n isWeighted = externalQuestion.isWeighted,\n layout = externalQuestion.layout,\n sorting = externalQuestion.sorting;\n return {\n required: required,\n answerNA: answerNA,\n answersWeighted: answersWeighted,\n fieldSets: fieldSets,\n isWeighted: isWeighted,\n layout: layout,\n sorting: sorting\n };\n}; // Respondent-Survey\n\n\nvar rankingRespondentSurveyMapping = function rankingRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'ranking'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalRanking(externalQuestion)), mapRespondentSurveyExternalRanking(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar rankingAggregateResponseDashboardMapping = function rankingAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'ranking'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalRanking(externalQuestion));\n};\n\nvar isSliderScaleLabels = typeGuard({\n left: isString,\n middle: isOptional(isNullable(isString)),\n right: isString\n});\nvar isScaleOptions = typeGuard({\n minValue: isNumber,\n maxValue: isNumber,\n errorMessage: isString,\n stepSize: isNumber,\n startPosition: isNumber,\n isCustom: isBoolean,\n labels: isSliderScaleLabels\n});\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nvar basicExternalSliderGuards = {\n family: isFixed('SLIDER'),\n variant: isFixed('SINGLE_SLIDER')\n};\n\nfunction assertExternalSlider(externalQuestion) {\n return typeAssertion(basicExternalSliderGuards)(externalQuestion);\n}\n/** Map external question type */\n\n\nvar mapExternalToInternalSlider = function mapExternalToInternalSlider(externalQuestion) {\n assertExternalSlider(externalQuestion);\n var family = externalQuestion.family,\n variant = externalQuestion.variant;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n/** Assertion for Respondent-Survey */\n\n\nfunction assertRespondentSurvey$1(u) {\n return typeAssertion({\n required: isNullable(isAnswerRangeRequired),\n fieldSet: isFieldSet,\n scaleOptions: isScaleOptions,\n hideNumericalInput: isBoolean,\n instructions: isOptional(isString)\n })(u);\n}\n/** Map the respondent survey fields */\n\n\nvar mapRespondentSurveyExternalSlider = function mapRespondentSurveyExternalSlider(externalQuestion) {\n assertRespondentSurvey$1(externalQuestion);\n var required = externalQuestion.required,\n fieldSet = externalQuestion.fieldSet,\n scaleOptions = externalQuestion.scaleOptions,\n hideNumericalInput = externalQuestion.hideNumericalInput,\n instructions = externalQuestion.instructions;\n return {\n required: required,\n fieldSet: fieldSet,\n scaleOptions: scaleOptions,\n hideNumericalInput: hideNumericalInput,\n instructions: instructions\n };\n}; // Respondent-Survey\n\n\nvar sliderRespondentSurveyMapping = function sliderRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'slider'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalSlider(externalQuestion)), mapRespondentSurveyExternalSlider(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar sliderAggregateResponseDashboardMapping = function sliderAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'slider'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalSlider(externalQuestion));\n};\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n\nvar basicExternalStarRatingGuards = {\n family: isFixed('RATING_SCALE'),\n variant: isFixed('SINGLE_ANSWER_SYMBOL')\n};\n\nfunction assertExternalStarRating(externalQuestion) {\n return typeAssertion(basicExternalStarRatingGuards)(externalQuestion);\n}\n/** Map external question type */\n\n\nvar mapExternalToInternalStarRating = function mapExternalToInternalStarRating(externalQuestion) {\n assertExternalStarRating(externalQuestion);\n var family = externalQuestion.family,\n variant = externalQuestion.variant;\n return {\n variant: variant,\n family: family,\n disabled: false\n };\n};\n\nvar isRatingScaleSymbolOptions = typeGuard({\n color: isString,\n symbol: isOneOf(ratingScaleSymbols)\n});\n/** Assertion for Respondent-Survey */\n\nfunction assertRespondentSurvey(u) {\n return typeAssertion({\n required: isNullable(isAllAnswerRequired),\n fieldSet: isOptional(isFieldSet),\n layout: typeGuard({\n placement: isQuestionLayoutPlacement,\n spacing: isQuestionLayoutSpacing,\n width: isQuestionLayoutWidth\n }),\n answersWeighted: isWeightedAnswers,\n answerNA: isAnswerNoneOfTheAbove,\n answerOther: isAnswerOtherComment,\n sorting: isQuestionSorting,\n symbolOptions: isRatingScaleSymbolOptions\n })(u);\n}\n/** Map the respondent survey fields */\n\n\nvar mapRespondentSurveyExternalStarRating = function mapRespondentSurveyExternalStarRating(externalQuestion) {\n assertRespondentSurvey(externalQuestion);\n var required = externalQuestion.required,\n fieldSet = externalQuestion.fieldSet,\n layout = externalQuestion.layout,\n answersWeighted = externalQuestion.answersWeighted,\n answerNA = externalQuestion.answerNA,\n answerOther = externalQuestion.answerOther,\n sorting = externalQuestion.sorting,\n symbolOptions = externalQuestion.symbolOptions;\n return {\n required: required,\n fieldSet: fieldSet,\n layout: layout,\n answersWeighted: answersWeighted,\n answerNA: answerNA,\n answerOther: answerOther,\n sorting: sorting,\n symbolOptions: symbolOptions\n };\n}; // Respondent-Survey\n\n\nvar starRatingRespondentSurveyMapping = function starRatingRespondentSurveyMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({\n typeId: 'star_rating'\n }, basicFieldsMapping(externalQuestion)), respondentSurveyMapping(externalQuestion)), mapExternalToInternalStarRating(externalQuestion)), mapRespondentSurveyExternalStarRating(externalQuestion));\n}; // Aggregate-Response-Dashboard\n\n\nvar starRatingAggregateResponseDashboardMapping = function starRatingAggregateResponseDashboardMapping(externalQuestion) {\n return _objectSpread(_objectSpread(_objectSpread({\n typeId: 'star_rating'\n }, basicFieldsMapping(externalQuestion)), aggregateResponseDashboardMapping(externalQuestion)), mapExternalToInternalStarRating(externalQuestion));\n};\n/* eslint-disable @typescript-eslint/naming-convention */\n\n\nvar invalidCombination = function invalidCombination() {\n throw new Error('Invalid question and capability combination');\n};\n/**\n * Main mapping to resolve QuestionType and Capability to\n * a mapping (and in it the assertion)\n */\n\n\nvar questionTypeAndCapabilityMapping = {\n single_textbox: {\n 'respondent-survey': singleTextboxRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': singleTextboxAggregateResponseDashboardMapping\n },\n comment_box: {\n 'respondent-survey': commentBoxRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': commentBoxAggregateResponseDashboardMapping\n },\n multiple_textbox: {\n 'respondent-survey': multipleTextboxRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': multipleTextboxAggregateResponseDashboardMapping\n },\n check_box: {\n 'respondent-survey': checkBoxRespondentSurveyMapping,\n 'respondent-quiz-results': checkBoxRespondentQuizResultsMapping,\n 'aggregate-response-dashboard': checkBoxAggregateResponseDashboardMapping\n },\n image_choice: {\n 'respondent-survey': imageChoiceRespondentSurveyMapping,\n 'respondent-quiz-results': imageChoiceRespondentQuizResultsMapping,\n 'aggregate-response-dashboard': imageChoiceAggregateResponseDashboardMapping\n },\n multiple_choice: {\n 'respondent-survey': multipleChoiceRespondentSurveyMapping,\n 'respondent-quiz-results': multipleChoiceRespondentQuizResultsMapping,\n 'aggregate-response-dashboard': multipleChoiceAggregateResponseDashboardMapping\n },\n dropdown: {\n 'respondent-survey': dropdownRespondentSurveyMapping,\n 'respondent-quiz-results': dropdownRespondentQuizResultsMapping,\n 'aggregate-response-dashboard': dropdownAggregateResponseDashboardMapping\n },\n slider: {\n 'respondent-survey': sliderRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': sliderAggregateResponseDashboardMapping\n },\n star_rating: {\n 'respondent-survey': starRatingRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': starRatingAggregateResponseDashboardMapping\n },\n ranking: {\n 'respondent-survey': rankingRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': rankingAggregateResponseDashboardMapping\n },\n matrix: {\n 'respondent-survey': matrixRespondentSurveyMapping,\n 'respondent-quiz-results': invalidCombination,\n 'aggregate-response-dashboard': matrixAggregateResponseDashboardMapping\n }\n};\n/** type guard to check if string is a capability */\n\nvar isCapability = function isCapability(u) {\n return CAPABILITIES.includes(u);\n};\n/** Used to dynamically map the fields base on\n * * typeId\n * * question type\n * * capability\n * * combination of question type and capability\n */\n\n\nvar mapDynamic = function mapDynamic(_ref5) {\n var typeId = _ref5.typeId,\n capability = _ref5.capability,\n externalQuestion = _ref5.externalQuestion;\n\n if (!isCapability(capability)) {\n // if this is a custom (unknown) capability just return the `externalQuestion` for now\n return externalQuestion;\n }\n\n return questionTypeAndCapabilityMapping[typeId][capability](externalQuestion);\n};\n\nvar mapInternalDynamicToExternal = function mapInternalDynamicToExternal(externalQuestion, q, // eslint-disable-next-line @typescript-eslint/no-unused-vars\ncapability // keep for future use\n) {\n // possibly mirror `mapDynamic`s setup if needed later\n // remove internal `typeId` from exported type\n var typeId = externalQuestion.typeId,\n cleanExternalQuestion = _objectWithoutProperties(externalQuestion, _excluded);\n\n return _objectSpread(_objectSpread({}, cleanExternalQuestion), {}, {\n errors: q && 'errors' in q && q.errors ? q.errors.slice() : []\n });\n};\n/**\n *\n * Detects if a question belongs to this question type -\n * minimalistically as this function is supposed to be as optimized as possible as it will run multiple times\n */\n\n\nvar isCompatible$b = function isCompatible$b(q, typeId) {\n return 'typeId' in q && q.typeId === typeId;\n};\n\nvar baseGuards$9 = baseQuestionGuards('single_textbox', 'OPEN_ENDED', 'SINGLE_LINE');\nvar isQuestionTypeSingleTextbox = typeGuard(baseGuards$9);\n\nfunction assertQuestionTypeSingleTextbox(q) {\n return typeAssertion(baseGuards$9)(q);\n}\n\nvar mapFromExternalQuestion$a = function mapFromExternalQuestion$a(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'single_textbox',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeSingleTextbox(questionType);\n return questionType;\n};\n\nvar appendError = function appendError(q, id, field, type, invalidAnswerMessage) {\n return _objectSpread(_objectSpread({}, q), {}, {\n errors: [].concat(_toConsumableArray((q.errors || []).filter(function (error) {\n return error.id !== id;\n })), [{\n type: type,\n id: id,\n field: field,\n message: invalidAnswerMessage\n }])\n });\n};\n/** Converts the external `family` and `variant` to the internally used `TypeId` */\n\n\nvar getTypeId = function getTypeId(_ref6) {\n var family = _ref6.family,\n variant = _ref6.variant;\n\n switch (family) {\n case 'OPEN_ENDED':\n switch (variant) {\n case 'SINGLE_LINE':\n return 'single_textbox';\n\n case 'ESSAY':\n return 'comment_box';\n\n case 'MANY_FIELDS':\n return 'multiple_textbox';\n\n default:\n return null;\n }\n\n case 'MULTIPLE_CHOICE':\n switch (variant) {\n case 'SINGLE_ANSWER_RADIO':\n return 'multiple_choice';\n\n case 'MANY_ANSWERS_CHECKBOX':\n return 'check_box';\n\n case 'SINGLE_ANSWER_IMAGE':\n case 'MANY_ANSWERS_IMAGE':\n return 'image_choice';\n\n case 'SINGLE_ANSWER_MENU':\n return 'dropdown';\n\n default:\n return null;\n }\n\n case 'SLIDER':\n switch (variant) {\n case 'SINGLE_SLIDER':\n return 'slider';\n\n default:\n return null;\n }\n\n case 'RATING_SCALE':\n switch (variant) {\n case 'SINGLE_ANSWER_SYMBOL':\n return 'star_rating';\n\n default:\n return null;\n }\n\n case 'MATRIX':\n switch (variant) {\n case 'SINGLE_ANSWER_RADIO':\n case 'MANY_ANSWERS_CHECKBOX':\n return 'matrix';\n\n default:\n return null;\n }\n\n case 'RANKING':\n switch (variant) {\n case 'SINGLE_ANSWER_RADIO':\n return 'ranking';\n\n default:\n return null;\n }\n\n default:\n return null;\n }\n};\n\nvar DATE_PATTERNS = {\n DATE_INTL: /(((0|1)[0-9]|2[0-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/((19|20)\\d\\d))$/,\n DATE_US: /(0[1-9]|1[0-2])\\/(((0|1)[0-9]|2[0-9]|3[0-1])\\/((19|20)\\d\\d))$/\n};\nvar DATE_BUILDERS = {\n DATE_INTL: function DATE_INTL(_ref7) {\n var _ref8 = _slicedToArray2(_ref7, 3),\n dd = _ref8[0],\n mm = _ref8[1],\n yyyy = _ref8[2];\n\n return new Date(yyyy, mm - 1, dd);\n },\n DATE_US: function DATE_US(_ref9) {\n var _ref10 = _slicedToArray2(_ref9, 3),\n mm = _ref10[0],\n dd = _ref10[1],\n yyyy = _ref10[2];\n\n return new Date(yyyy, mm - 1, dd);\n }\n}; // TODO: see if we can move part of these functions's code to the generic\n// question utils, leaving just what's specific to SingleTextbox.\n// Try to do it in a way that preserves the versatility\n// and the simplicity of their implementation\n\nvar checkValueTextLength$4 = function checkValueTextLength$4(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answer = q.answer;\n\n if (validation && validation.type === 'TEXT_LENGTH' && answer && answer.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"text-length:\".concat(q.id);\n var minLength = validation.minLength,\n maxLength = validation.maxLength,\n errorMessage = validation.errorMessage;\n\n if (answer.value.length > maxLength || answer.value.length < minLength) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar strToDate$3 = function strToDate$3(format) {\n return function (s) {\n return DATE_PATTERNS[format].test(s) ? DATE_BUILDERS[format](s.split('/').map(Number)) : null;\n };\n};\n\nvar checkValueDateFormat$3 = function checkValueDateFormat$3(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answer = q.answer;\n\n if (validation && (validation.type === 'DATE_INTL' || validation.type === 'DATE_US') && answer && answer.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"date-format:\".concat(q.id);\n var minDate = validation.minDate,\n maxDate = validation.maxDate,\n errorMessage = validation.errorMessage;\n var value = answer.value;\n\n var _map = [minDate, maxDate, value].map(strToDate$3(validation.type)),\n _map2 = _slicedToArray2(_map, 3),\n dmin = _map2[0],\n dmax = _map2[1],\n date = _map2[2];\n\n if (!date || dmax && date.getTime() > dmax.getTime() || dmin && date.getTime() < dmin.getTime()) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar validators$4 = {\n any: [checkValueTextLength$4, checkValueDateFormat$3]\n};\n\nvar validate$b = function validate$b(q) {\n var capability = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'any';\n var filteredValidators = validators$4[capability] || [];\n return filteredValidators.reduce(function (state, validator) {\n return validator(state);\n }, q);\n}; // standard interface for QuestionType to convert to and from\n\n\nvar typeId$a = 'single_textbox';\n\nvar fromExternalQuestion$a = function fromExternalQuestion$a(source, capability) {\n return mapFromExternalQuestion$a(source, capability);\n};\n\nvar toExternalQuestion$a = function toExternalQuestion$a(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$a = function shortUpdate$a(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$b(q, capability);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$a = function longUpdate$a(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$b(q, capability);\n }\n\n return q;\n};\n\nvar isCompatible$a = function isCompatible$a(q) {\n return isCompatible$b(q, typeId$a);\n};\n\nvar isOfQuestionType$a = isQuestionTypeSingleTextbox;\nvar assertQuestionType$a = assertQuestionTypeSingleTextbox; // SingleTextbox Type Definition -- this will change as we learn more\n\nvar singleTextboxQuestionDefinition = {\n typeId: typeId$a,\n shortUpdate: shortUpdate$a,\n longUpdate: longUpdate$a,\n validate: validate$b,\n fromExternalQuestion: fromExternalQuestion$a,\n toExternalQuestion: toExternalQuestion$a,\n isOfQuestionType: isOfQuestionType$a,\n isCompatible: isCompatible$a,\n assertQuestionType: assertQuestionType$a\n};\nvar baseGuards$8 = baseQuestionGuards('multiple_textbox', 'OPEN_ENDED', 'MANY_FIELDS');\nvar isQuestionTypeMultipleTextbox = typeGuard(baseGuards$8);\n\nfunction assertQuestionTypeMultipleTextbox(q) {\n return typeAssertion(baseGuards$8)(q);\n}\n\nvar mapFromExternalQuestion$9 = function mapFromExternalQuestion$9(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'multiple_textbox',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeMultipleTextbox(questionType);\n return questionType;\n};\n\nvar validate$a = function validate$a(question) {\n return question;\n}; // standard interface for QuestionType to convert to and from\n\n\nvar typeId$9 = 'multiple_textbox';\n\nvar fromExternalQuestion$9 = function fromExternalQuestion$9(source, capability) {\n return mapFromExternalQuestion$9(source, capability);\n};\n\nvar toExternalQuestion$9 = function toExternalQuestion$9(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$9 = function shortUpdate$9(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$a(q);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$9 = function longUpdate$9(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$a(q);\n }\n\n return q;\n};\n\nvar isCompatible$9 = function isCompatible$9(q) {\n return isCompatible$b(q, typeId$9);\n};\n\nvar isOfQuestionType$9 = isQuestionTypeMultipleTextbox;\nvar assertQuestionType$9 = assertQuestionTypeMultipleTextbox;\nvar multipleTextboxQuestionDefinition = {\n typeId: typeId$9,\n shortUpdate: shortUpdate$9,\n longUpdate: longUpdate$9,\n validate: validate$a,\n fromExternalQuestion: fromExternalQuestion$9,\n toExternalQuestion: toExternalQuestion$9,\n isOfQuestionType: isOfQuestionType$9,\n isCompatible: isCompatible$9,\n assertQuestionType: assertQuestionType$9\n}; /// Type Guards\n\nvar baseGuards$7 = baseQuestionGuards('comment_box', 'OPEN_ENDED', 'ESSAY');\nvar isQuestionTypeCommentBox = typeGuard(baseGuards$7);\n\nfunction assertQuestionTypeCommentBox(q) {\n return typeAssertion(baseGuards$7)(q);\n} // TODO: see if we can move part of these functions's code to the generic\n// question utils, leaving just what's specific to SingleTextbox.\n// Try to do it in a way that preserves the versatility\n// and the simplicity of their implementation\n\n\nvar checkValueTextLength$3 = function checkValueTextLength$3(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answer = q.answer;\n\n if (validation && validation.type === 'TEXT_LENGTH' && answer && answer.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"text-length:\".concat(q.id);\n var minLength = validation.minLength,\n maxLength = validation.maxLength,\n errorMessage = validation.errorMessage;\n\n if (answer.value.length > maxLength || answer.value.length < minLength) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar validators$3 = [checkValueTextLength$3];\n\nvar validate$9 = function validate$9(q) {\n return validators$3.reduce(function (state, validator) {\n return validator(state);\n }, q);\n};\n\nvar mapFromExternalQuestion$8 = function mapFromExternalQuestion$8(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'comment_box',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeCommentBox(questionType);\n return questionType;\n}; // standard interface for QuestionType to convert to and from\n// the External Generic QuestionType\n\n\nvar typeId$8 = 'comment_box';\n\nvar fromExternalQuestion$8 = function fromExternalQuestion$8(source, capability) {\n return mapFromExternalQuestion$8(source, capability);\n};\n\nvar toExternalQuestion$8 = function toExternalQuestion$8(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$8 = function shortUpdate$8(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$9(q);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$8 = function longUpdate$8(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$9(q);\n }\n\n return q;\n};\n\nvar isCompatible$8 = function isCompatible$8(q) {\n return isCompatible$b(q, typeId$8);\n};\n\nvar isOfQuestionType$8 = isQuestionTypeCommentBox;\nvar assertQuestionType$8 = assertQuestionTypeCommentBox;\nvar commentBoxQuestionDefinition = {\n typeId: typeId$8,\n shortUpdate: shortUpdate$8,\n longUpdate: longUpdate$8,\n validate: validate$9,\n fromExternalQuestion: fromExternalQuestion$8,\n toExternalQuestion: toExternalQuestion$8,\n isCompatible: isCompatible$8,\n isOfQuestionType: isOfQuestionType$8,\n assertQuestionType: assertQuestionType$8\n}; /// Type Guards\n\nvar baseGuards$6 = baseQuestionGuards('multiple_choice', 'MULTIPLE_CHOICE', 'SINGLE_ANSWER_RADIO');\nvar isQuestionValidationMultipleChoice = isFieldValidation;\nvar isQuestionTypeMultipleChoice = typeGuard(baseGuards$6);\n\nfunction assertQuestionTypeMultipleChoice(q) {\n return typeAssertion(baseGuards$6)(q);\n}\n\nfunction getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\nvar isEmail$1 = {\n exports: {}\n};\nvar assertString = {\n exports: {}\n};\n\n(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports[\"default\"] = assertString;\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n\n function assertString(input) {\n var isString = typeof input === 'string' || input instanceof String;\n\n if (!isString) {\n var invalidType = _typeof(input);\n\n if (input === null) invalidType = 'null';else if (invalidType === 'object') invalidType = input.constructor.name;\n throw new TypeError(\"Expected a string but received a \".concat(invalidType));\n }\n }\n\n module.exports = exports[\"default\"];\n module.exports[\"default\"] = exports[\"default\"];\n})(assertString, assertString.exports);\n\nvar merge = {\n exports: {}\n};\n\n(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports[\"default\"] = merge;\n\n function merge() {\n var obj = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var defaults = arguments.length > 1 ? arguments[1] : undefined;\n\n for (var key in defaults) {\n if (typeof obj[key] === 'undefined') {\n obj[key] = defaults[key];\n }\n }\n\n return obj;\n }\n\n module.exports = exports[\"default\"];\n module.exports[\"default\"] = exports[\"default\"];\n})(merge, merge.exports);\n\nvar isByteLength = {\n exports: {}\n};\n\n(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports[\"default\"] = isByteLength;\n\n var _assertString = _interopRequireDefault(assertString.exports);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n /* eslint-disable prefer-rest-params */\n\n\n function isByteLength(str, options) {\n (0, _assertString[\"default\"])(str);\n var min;\n var max;\n\n if (_typeof(options) === 'object') {\n min = options.min || 0;\n max = options.max;\n } else {\n // backwards compatibility: isByteLength(str, min [, max])\n min = arguments[1];\n max = arguments[2];\n }\n\n var len = encodeURI(str).split(/%..|./).length - 1;\n return len >= min && (typeof max === 'undefined' || len <= max);\n }\n\n module.exports = exports[\"default\"];\n module.exports[\"default\"] = exports[\"default\"];\n})(isByteLength, isByteLength.exports);\n\nvar isFQDN = {\n exports: {}\n};\n\n(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports[\"default\"] = isFQDN;\n\n var _assertString = _interopRequireDefault(assertString.exports);\n\n var _merge = _interopRequireDefault(merge.exports);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n var default_fqdn_options = {\n require_tld: true,\n allow_underscores: false,\n allow_trailing_dot: false,\n allow_numeric_tld: false\n };\n\n function isFQDN(str, options) {\n (0, _assertString[\"default\"])(str);\n options = (0, _merge[\"default\"])(options, default_fqdn_options);\n /* Remove the optional trailing dot before checking validity */\n\n if (options.allow_trailing_dot && str[str.length - 1] === '.') {\n str = str.substring(0, str.length - 1);\n }\n\n var parts = str.split('.');\n var tld = parts[parts.length - 1];\n\n if (options.require_tld) {\n // disallow fqdns without tld\n if (parts.length < 2) {\n return false;\n }\n\n if (!/^([a-z\\u00a1-\\uffff]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {\n return false;\n } // disallow spaces && special characers\n\n\n if (/[\\s\\u2002-\\u200B\\u202F\\u205F\\u3000\\uFEFF\\uDB40\\uDC20\\u00A9\\uFFFD]/.test(tld)) {\n return false;\n }\n } // reject numeric TLDs\n\n\n if (!options.allow_numeric_tld && /^\\d+$/.test(tld)) {\n return false;\n }\n\n return parts.every(function (part) {\n if (part.length > 63) {\n return false;\n }\n\n if (!/^[a-z_\\u00a1-\\uffff0-9-]+$/i.test(part)) {\n return false;\n } // disallow full-width chars\n\n\n if (/[\\uff01-\\uff5e]/.test(part)) {\n return false;\n } // disallow parts starting or ending with hyphen\n\n\n if (/^-|-$/.test(part)) {\n return false;\n }\n\n if (!options.allow_underscores && /_/.test(part)) {\n return false;\n }\n\n return true;\n });\n }\n\n module.exports = exports[\"default\"];\n module.exports[\"default\"] = exports[\"default\"];\n})(isFQDN, isFQDN.exports);\n\nvar isIP = {\n exports: {}\n};\n\n(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports[\"default\"] = isIP;\n\n var _assertString = _interopRequireDefault(assertString.exports);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n /**\n 11.3. Examples\n \n The following addresses\n \n fe80::1234 (on the 1st link of the node)\n ff02::5678 (on the 5th link of the node)\n ff08::9abc (on the 10th organization of the node)\n \n would be represented as follows:\n \n fe80::1234%1\n ff02::5678%5\n ff08::9abc%10\n \n (Here we assume a natural translation from a zone index to the\n part, where the Nth zone of any scope is translated into\n \"N\".)\n \n If we use interface names as , those addresses could also be\n represented as follows:\n \n fe80::1234%ne0\n ff02::5678%pvc1.3\n ff08::9abc%interface10\n \n where the interface \"ne0\" belongs to the 1st link, \"pvc1.3\" belongs\n to the 5th link, and \"interface10\" belongs to the 10th organization.\n * * */\n\n\n var ipv4Maybe = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;\n var ipv6Block = /^[0-9A-F]{1,4}$/i;\n\n function isIP(str) {\n var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n (0, _assertString[\"default\"])(str);\n version = String(version);\n\n if (!version) {\n return isIP(str, 4) || isIP(str, 6);\n } else if (version === '4') {\n if (!ipv4Maybe.test(str)) {\n return false;\n }\n\n var parts = str.split('.').sort(function (a, b) {\n return a - b;\n });\n return parts[3] <= 255;\n } else if (version === '6') {\n var addressAndZone = [str]; // ipv6 addresses could have scoped architecture\n // according to https://tools.ietf.org/html/rfc4007#section-11\n\n if (str.includes('%')) {\n addressAndZone = str.split('%');\n\n if (addressAndZone.length !== 2) {\n // it must be just two parts\n return false;\n }\n\n if (!addressAndZone[0].includes(':')) {\n // the first part must be the address\n return false;\n }\n\n if (addressAndZone[1] === '') {\n // the second part must not be empty\n return false;\n }\n }\n\n var blocks = addressAndZone[0].split(':');\n var foundOmissionBlock = false; // marker to indicate ::\n // At least some OS accept the last 32 bits of an IPv6 address\n // (i.e. 2 of the blocks) in IPv4 notation, and RFC 3493 says\n // that '::ffff:a.b.c.d' is valid for IPv4-mapped IPv6 addresses,\n // and '::a.b.c.d' is deprecated, but also valid.\n\n var foundIPv4TransitionBlock = isIP(blocks[blocks.length - 1], 4);\n var expectedNumberOfBlocks = foundIPv4TransitionBlock ? 7 : 8;\n\n if (blocks.length > expectedNumberOfBlocks) {\n return false;\n } // initial or final ::\n\n\n if (str === '::') {\n return true;\n } else if (str.substr(0, 2) === '::') {\n blocks.shift();\n blocks.shift();\n foundOmissionBlock = true;\n } else if (str.substr(str.length - 2) === '::') {\n blocks.pop();\n blocks.pop();\n foundOmissionBlock = true;\n }\n\n for (var i = 0; i < blocks.length; ++i) {\n // test for a :: which can not be at the string start/end\n // since those cases have been handled above\n if (blocks[i] === '' && i > 0 && i < blocks.length - 1) {\n if (foundOmissionBlock) {\n return false; // multiple :: in address\n }\n\n foundOmissionBlock = true;\n } else if (foundIPv4TransitionBlock && i === blocks.length - 1) ;else if (!ipv6Block.test(blocks[i])) {\n return false;\n }\n }\n\n if (foundOmissionBlock) {\n return blocks.length >= 1;\n }\n\n return blocks.length === expectedNumberOfBlocks;\n }\n\n return false;\n }\n\n module.exports = exports[\"default\"];\n module.exports[\"default\"] = exports[\"default\"];\n})(isIP, isIP.exports);\n\n(function (module, exports) {\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports[\"default\"] = isEmail;\n\n var _assertString = _interopRequireDefault(assertString.exports);\n\n var _merge = _interopRequireDefault(merge.exports);\n\n var _isByteLength = _interopRequireDefault(isByteLength.exports);\n\n var _isFQDN = _interopRequireDefault(isFQDN.exports);\n\n var _isIP = _interopRequireDefault(isIP.exports);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n }\n\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n\n function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n var default_email_options = {\n allow_display_name: false,\n require_display_name: false,\n allow_utf8_local_part: true,\n require_tld: true,\n blacklisted_chars: '',\n ignore_max_length: false\n };\n /* eslint-disable max-len */\n\n /* eslint-disable no-control-regex */\n\n var splitNameAddress = /^([^\\x00-\\x1F\\x7F-\\x9F\\cX]+)<(.+)>$/i;\n var emailUserPart = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~]+$/i;\n var gmailUserPart = /^[a-z\\d]+$/;\n var quotedEmailUser = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f]))*$/i;\n var emailUserUtf8Part = /^[a-z\\d!#\\$%&'\\*\\+\\-\\/=\\?\\^_`{\\|}~\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+$/i;\n var quotedEmailUserUtf8 = /^([\\s\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x7f\\x21\\x23-\\x5b\\x5d-\\x7e\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]|(\\\\[\\x01-\\x09\\x0b\\x0c\\x0d-\\x7f\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]))*$/i;\n var defaultMaxEmailLength = 254;\n /* eslint-enable max-len */\n\n /* eslint-enable no-control-regex */\n\n /**\n * Validate display name according to the RFC2822: https://tools.ietf.org/html/rfc2822#appendix-A.1.2\n * @param {String} display_name\n */\n\n function validateDisplayName(display_name) {\n var trim_quotes = display_name.match(/^\"(.+)\"$/i);\n var display_name_without_quotes = trim_quotes ? trim_quotes[1] : display_name; // display name with only spaces is not valid\n\n if (!display_name_without_quotes.trim()) {\n return false;\n } // check whether display name contains illegal character\n\n\n var contains_illegal = /[\\.\";<>]/.test(display_name_without_quotes);\n\n if (contains_illegal) {\n // if contains illegal characters,\n // must to be enclosed in double-quotes, otherwise it's not a valid display name\n if (!trim_quotes) {\n return false;\n } // the quotes in display name must start with character symbol \\\n\n\n var all_start_with_back_slash = display_name_without_quotes.split('\"').length === display_name_without_quotes.split('\\\\\"').length;\n\n if (!all_start_with_back_slash) {\n return false;\n }\n }\n\n return true;\n }\n\n function isEmail(str, options) {\n (0, _assertString[\"default\"])(str);\n options = (0, _merge[\"default\"])(options, default_email_options);\n\n if (options.require_display_name || options.allow_display_name) {\n var display_email = str.match(splitNameAddress);\n\n if (display_email) {\n var display_name;\n\n var _display_email = _slicedToArray(display_email, 3);\n\n display_name = _display_email[1];\n str = _display_email[2]; // sometimes need to trim the last space to get the display name\n // because there may be a space between display name and email address\n // eg. myname \n // the display name is `myname` instead of `myname `, so need to trim the last space\n\n if (display_name.endsWith(' ')) {\n display_name = display_name.substr(0, display_name.length - 1);\n }\n\n if (!validateDisplayName(display_name)) {\n return false;\n }\n } else if (options.require_display_name) {\n return false;\n }\n }\n\n if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {\n return false;\n }\n\n var parts = str.split('@');\n var domain = parts.pop();\n var user = parts.join('@');\n var lower_domain = domain.toLowerCase();\n\n if (options.domain_specific_validation && (lower_domain === 'gmail.com' || lower_domain === 'googlemail.com')) {\n /*\n Previously we removed dots for gmail addresses before validating.\n This was removed because it allows `multiple..dots@gmail.com`\n to be reported as valid, but it is not.\n Gmail only normalizes single dots, removing them from here is pointless,\n should be done in normalizeEmail\n */\n user = user.toLowerCase(); // Removing sub-address from username before gmail validation\n\n var username = user.split('+')[0]; // Dots are not included in gmail length restriction\n\n if (!(0, _isByteLength[\"default\"])(username.replace('.', ''), {\n min: 6,\n max: 30\n })) {\n return false;\n }\n\n var _user_parts = username.split('.');\n\n for (var i = 0; i < _user_parts.length; i++) {\n if (!gmailUserPart.test(_user_parts[i])) {\n return false;\n }\n }\n }\n\n if (options.ignore_max_length === false && (!(0, _isByteLength[\"default\"])(user, {\n max: 64\n }) || !(0, _isByteLength[\"default\"])(domain, {\n max: 254\n }))) {\n return false;\n }\n\n if (!(0, _isFQDN[\"default\"])(domain, {\n require_tld: options.require_tld\n })) {\n if (!options.allow_ip_domain) {\n return false;\n }\n\n if (!(0, _isIP[\"default\"])(domain)) {\n if (!domain.startsWith('[') || !domain.endsWith(']')) {\n return false;\n }\n\n var noBracketdomain = domain.substr(1, domain.length - 2);\n\n if (noBracketdomain.length === 0 || !(0, _isIP[\"default\"])(noBracketdomain)) {\n return false;\n }\n }\n }\n\n if (user[0] === '\"') {\n user = user.slice(1, user.length - 1);\n return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);\n }\n\n var pattern = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;\n var user_parts = user.split('.');\n\n for (var _i2 = 0; _i2 < user_parts.length; _i2++) {\n if (!pattern.test(user_parts[_i2])) {\n return false;\n }\n }\n\n if (options.blacklisted_chars) {\n if (user.search(new RegExp(\"[\".concat(options.blacklisted_chars, \"]+\"), 'g')) !== -1) return false;\n }\n\n return true;\n }\n\n module.exports = exports[\"default\"];\n module.exports[\"default\"] = exports[\"default\"];\n})(isEmail$1, isEmail$1.exports);\n\nvar isEmail = /*@__PURE__*/getDefaultExportFromCjs(isEmail$1.exports); // TODO: see if we can move part of these functions's code to the generic\n// question utils, leaving just what's specific to SingleTextbox.\n// Try to do it in a way that preserves the versatility\n// and the simplicity of their implementation\n\nvar checkValueTextLength$2 = function checkValueTextLength$2(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && validation.type === 'TEXT_LENGTH' && answerOther && answerOther.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"text-length:\".concat(q.id);\n var minLength = validation.minLength,\n maxLength = validation.maxLength,\n errorMessage = validation.errorMessage;\n\n if (answerOther.value.length > maxLength || answerOther.value.length < minLength) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar strToDate$2 = function strToDate$2(format) {\n return function (s) {\n return DATE_PATTERNS[format].test(s) ? DATE_BUILDERS[format](s.split('/').map(Number)) : null;\n };\n};\n\nvar checkValueDateFormat$2 = function checkValueDateFormat$2(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && (validation.type === 'DATE_INTL' || validation.type === 'DATE_US') && answerOther && answerOther.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"date-format:\".concat(q.id);\n var minDate = validation.minDate,\n maxDate = validation.maxDate,\n errorMessage = validation.errorMessage;\n var value = answerOther.value;\n\n var _map3 = [minDate, maxDate, value].map(strToDate$2(validation.type)),\n _map4 = _slicedToArray2(_map3, 3),\n dmin = _map4[0],\n dmax = _map4[1],\n date = _map4[2];\n\n if (!date || dmax && date.getTime() > dmax.getTime() || dmin && date.getTime() < dmin.getTime()) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar checkValueNumber$2 = function checkValueNumber$2(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n var id = \"integer:\".concat(q.id);\n var field = q.id;\n\n if (validation && (validation.type === 'INTEGER' || validation.type === 'DECIMAL') && answerOther && answerOther.touched) {\n var numInt = parseInt(answerOther.value, 10);\n\n if (Number.isNaN(numInt) && Math.floor(numInt) === numInt && numInt >= validation.minValue && numInt <= validation.maxValue) {\n return q;\n }\n\n return appendError(q, id, field, 'local-error', validation.errorMessage);\n }\n\n return q;\n};\n\nvar checkValueEmail$2 = function checkValueEmail$2(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && validation.type === 'EMAIL' && answerOther && answerOther.touched) {\n var id = \"email:\".concat(q.id);\n var field = q.id;\n\n if (!isEmail(answerOther.value)) {\n return appendError(q, id, field, 'local-error', validation.errorMessage);\n }\n }\n\n return q;\n};\n\nvar validators$2 = [checkValueTextLength$2, checkValueDateFormat$2, checkValueNumber$2, checkValueEmail$2];\n\nvar validate$8 = function validate$8(question) {\n return validators$2.reduce(function (state, validator) {\n return validator(state);\n }, question);\n};\n\nvar mapFromExternalQuestion$7 = function mapFromExternalQuestion$7(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'multiple_choice',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeMultipleChoice(questionType);\n return questionType;\n}; // standard interface for QuestionType to convert to and from\n// the External Generic QuestionType\n\n\nvar typeId$7 = 'multiple_choice';\n\nvar fromExternalQuestion$7 = function fromExternalQuestion$7(source, capability) {\n return mapFromExternalQuestion$7(source, capability);\n};\n\nvar toExternalQuestion$7 = function toExternalQuestion$7(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$7 = function shortUpdate$7(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$8(q);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$7 = function longUpdate$7(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$8(q);\n }\n\n return q;\n};\n\nvar isCompatible$7 = function isCompatible$7(q) {\n return isCompatible$b(q, typeId$7);\n};\n\nvar isOfQuestionType$7 = isQuestionTypeMultipleChoice;\nvar assertQuestionType$7 = assertQuestionTypeMultipleChoice;\nvar multipleChoiceQuestionDefinition = {\n typeId: typeId$7,\n shortUpdate: shortUpdate$7,\n longUpdate: longUpdate$7,\n validate: validate$8,\n fromExternalQuestion: fromExternalQuestion$7,\n toExternalQuestion: toExternalQuestion$7,\n isCompatible: isCompatible$7,\n isOfQuestionType: isOfQuestionType$7,\n assertQuestionType: assertQuestionType$7\n}; // TypeGuards and Assertions\n\nvar baseGuards$5 = baseQuestionGuards('check_box', 'MULTIPLE_CHOICE', 'MANY_ANSWERS_CHECKBOX');\nvar isQuestionTypeCheckBox = typeGuard(baseGuards$5);\n\nfunction assertQuestionTypeCheckBox(externalQuestion) {\n return typeAssertion(baseGuards$5)(externalQuestion);\n}\n\nvar mapFromExternalQuestion$6 = function mapFromExternalQuestion$6(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'check_box',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeCheckBox(questionType);\n return questionType;\n}; // TODO: see if we can move part of these functions's code to the generic\n// question utils, leaving just what's specific to SingleTextbox.\n// Try to do it in a way that preserves the versatility\n// and the simplicity of their implementation\n\n\nvar checkValueTextLength$1 = function checkValueTextLength$1(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && validation.type === 'TEXT_LENGTH' && answerOther && answerOther.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"text-length:\".concat(q.id);\n var minLength = validation.minLength,\n maxLength = validation.maxLength,\n errorMessage = validation.errorMessage;\n\n if (answerOther.value.length > maxLength || answerOther.value.length < minLength) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar strToDate$1 = function strToDate$1(format) {\n return function (s) {\n return DATE_PATTERNS[format].test(s) ? DATE_BUILDERS[format](s.split('/').map(Number)) : null;\n };\n};\n\nvar checkValueDateFormat$1 = function checkValueDateFormat$1(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && (validation.type === 'DATE_INTL' || validation.type === 'DATE_US') && answerOther && answerOther.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"date-format:\".concat(q.id);\n var minDate = validation.minDate,\n maxDate = validation.maxDate,\n errorMessage = validation.errorMessage;\n var value = answerOther.value;\n\n var _map5 = [minDate, maxDate, value].map(strToDate$1(validation.type)),\n _map6 = _slicedToArray2(_map5, 3),\n dmin = _map6[0],\n dmax = _map6[1],\n date = _map6[2];\n\n if (!date || dmax && date.getTime() > dmax.getTime() || dmin && date.getTime() < dmin.getTime()) {\n return appendError(q, id, field, 'local-error', errorMessage);\n }\n }\n\n return q;\n};\n\nvar checkValueNumber$1 = function checkValueNumber$1(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n var id = \"integer:\".concat(q.id);\n var field = q.id;\n\n if (validation && (validation.type === 'INTEGER' || validation.type === 'DECIMAL') && answerOther && answerOther.touched) {\n var numInt = parseInt(answerOther.value, 10);\n\n if (Number.isNaN(numInt) && Math.floor(numInt) === numInt && numInt >= validation.minValue && numInt <= validation.maxValue) {\n return q;\n }\n\n return appendError(q, id, field, 'local-error', validation.errorMessage);\n }\n\n return q;\n};\n\nvar checkValueEmail$1 = function checkValueEmail$1(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && validation.type === 'EMAIL' && answerOther && answerOther.touched) {\n var id = \"email:\".concat(q.id);\n var field = q.id;\n\n if (!isEmail(answerOther.value)) {\n return appendError(q, id, field, 'local-error', validation.errorMessage);\n }\n }\n\n return q;\n};\n\nvar validators$1 = [checkValueTextLength$1, checkValueDateFormat$1, checkValueNumber$1, checkValueEmail$1];\n\nvar validate$7 = function validate$7(question) {\n return validators$1.reduce(function (state, validator) {\n return validator(state);\n }, question);\n};\n\nvar typeId$6 = 'check_box';\n\nvar fromExternalQuestion$6 = function fromExternalQuestion$6(source, capability) {\n return mapFromExternalQuestion$6(source, capability);\n};\n\nvar toExternalQuestion$6 = function toExternalQuestion$6(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$6 = function shortUpdate$6(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$7(q);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$6 = function longUpdate$6(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$7(q);\n }\n\n return q;\n};\n\nvar isCompatible$6 = function isCompatible$6(q) {\n return isCompatible$b(q, typeId$6);\n};\n\nvar isOfQuestionType$6 = isQuestionTypeCheckBox;\nvar assertQuestionType$6 = assertQuestionTypeCheckBox;\nvar checkBoxQuestionDefinition = {\n typeId: typeId$6,\n shortUpdate: shortUpdate$6,\n longUpdate: longUpdate$6,\n validate: validate$7,\n fromExternalQuestion: fromExternalQuestion$6,\n toExternalQuestion: toExternalQuestion$6,\n isCompatible: isCompatible$6,\n isOfQuestionType: isOfQuestionType$6,\n assertQuestionType: assertQuestionType$6\n};\nvar baseGuards$4 = baseQuestionGuards('dropdown', 'MULTIPLE_CHOICE', 'SINGLE_ANSWER_MENU');\nvar isQuestionTypeDropdown = typeGuard(baseGuards$4);\n\nfunction assertQuestionTypeDropdown(externalQuestion) {\n return typeAssertion(baseGuards$4)(externalQuestion);\n}\n\nvar mapFromExternalQuestion$5 = function mapFromExternalQuestion$5(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'dropdown',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeDropdown(questionType);\n return questionType;\n};\n\nvar localError = 'local-error'; // TODO: see if we can move part of these functions's code to the generic\n// question utils, leaving just what's specific to SingleTextbox.\n// Try to do it in a way that preserves the versatility\n// and the simplicity of their implementation\n\nvar checkValueTextLength = function checkValueTextLength(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && validation.type === 'TEXT_LENGTH' && answerOther && answerOther.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"text-length:\".concat(q.id);\n var minLength = validation.minLength,\n maxLength = validation.maxLength,\n errorMessage = validation.errorMessage;\n\n if (answerOther.value.length > maxLength || answerOther.value.length < minLength) {\n return appendError(q, id, field, localError, errorMessage);\n }\n }\n\n return q;\n};\n\nvar strToDate = function strToDate(format) {\n return function (s) {\n return DATE_PATTERNS[format].test(s) ? DATE_BUILDERS[format](s.split('/').map(Number)) : null;\n };\n};\n\nvar checkValueDateFormat = function checkValueDateFormat(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && (validation.type === 'DATE_INTL' || validation.type === 'DATE_US') && answerOther && answerOther.touched) {\n // TODO: check if these fields are enough to help render the error messages properly\n var field = q.id;\n var id = \"date-format:\".concat(q.id);\n var minDate = validation.minDate,\n maxDate = validation.maxDate,\n errorMessage = validation.errorMessage;\n var value = answerOther.value;\n\n var _map7 = [minDate, maxDate, value].map(strToDate(validation.type)),\n _map8 = _slicedToArray2(_map7, 3),\n dmin = _map8[0],\n dmax = _map8[1],\n date = _map8[2];\n\n if (!date || dmax && date.getTime() > dmax.getTime() || dmin && date.getTime() < dmin.getTime()) {\n return appendError(q, id, field, localError, errorMessage);\n }\n }\n\n return q;\n};\n\nvar checkValueNumber = function checkValueNumber(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n var id = \"integer:\".concat(q.id);\n var field = q.id;\n\n if (validation && (validation.type === 'INTEGER' || validation.type === 'DECIMAL') && answerOther && answerOther.touched) {\n var numInt = parseInt(answerOther.value, 10);\n\n if (Number.isNaN(numInt) && Math.floor(numInt) === numInt && numInt >= validation.minValue && numInt <= validation.maxValue) {\n return q;\n }\n\n return appendError(q, id, field, localError, validation.errorMessage);\n }\n\n return q;\n};\n\nvar checkValueEmail = function checkValueEmail(q) {\n if (!('validation' in q)) {\n return q; // capability does not support validation\n }\n\n var validation = q.validation,\n answerOther = q.answerOther;\n\n if (validation && validation.type === 'EMAIL' && answerOther && answerOther.touched) {\n var id = \"email:\".concat(q.id);\n var field = q.id;\n\n if (!isEmail(answerOther.value)) {\n return appendError(q, id, field, localError, validation.errorMessage);\n }\n }\n\n return q;\n};\n\nvar validators = [checkValueTextLength, checkValueDateFormat, checkValueNumber, checkValueEmail];\n\nvar validate$6 = function validate$6(question) {\n return validators.reduce(function (state, validator) {\n return validator(state);\n }, question);\n};\n\nvar typeId$5 = 'dropdown';\n\nvar fromExternalQuestion$5 = function fromExternalQuestion$5(source, capability) {\n return mapFromExternalQuestion$5(source, capability);\n};\n\nvar toExternalQuestion$5 = function toExternalQuestion$5(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$5 = function shortUpdate$5(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$6(q);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$5 = function longUpdate$5(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$6(q);\n }\n\n return q;\n};\n\nvar isCompatible$5 = function isCompatible$5(q) {\n return isCompatible$b(q, typeId$5);\n};\n\nvar isOfQuestionType$5 = isQuestionTypeDropdown;\nvar assertQuestionType$5 = assertQuestionTypeDropdown;\nvar dropdownQuestionDefinition = {\n typeId: typeId$5,\n shortUpdate: shortUpdate$5,\n longUpdate: longUpdate$5,\n validate: validate$6,\n fromExternalQuestion: fromExternalQuestion$5,\n toExternalQuestion: toExternalQuestion$5,\n isCompatible: isCompatible$5,\n isOfQuestionType: isOfQuestionType$5,\n assertQuestionType: assertQuestionType$5\n};\nvar baseGuards$3 = baseQuestionGuards('image_choice', 'MULTIPLE_CHOICE', 'SINGLE_ANSWER_IMAGE');\nvar isQuestionTypeImageChoice = typeGuard(_objectSpread(_objectSpread({}, baseGuards$3), {}, {\n /* To reduce code duplication, we assume the discrepancies between\n * \"single answer\" and \"many answers\" question types are limited to \"typeId\" and \"variant\".\n */\n typeId: isFixed('image_choice'),\n variant: isEither([isFixed('SINGLE_ANSWER_IMAGE'), isFixed('MANY_ANSWERS_IMAGE')])\n}));\n\nfunction assertQuestionTypeImageChoice(q) {\n return typeAssertion(_objectSpread(_objectSpread({}, baseGuards$3), {}, {\n /* To reduce code duplication, we assume the discrepancies between\n * \"single answer\" and \"many answers\" question types are limited to \"typeId\" and \"variant\".\n */\n typeId: isFixed('image_choice'),\n variant: isEither([isFixed('SINGLE_ANSWER_IMAGE'), isFixed('MANY_ANSWERS_IMAGE')])\n }))(q);\n}\n\nvar validate$5 = function validate$5(question) {\n return question;\n};\n\nvar mapFromExternalQuestion$4 = function mapFromExternalQuestion$4(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'image_choice',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeImageChoice(questionType);\n return questionType;\n}; // standard interface for QuestionType to convert to and from\n// the External Generic QuestionType\n\n\nvar typeId$4 = 'image_choice';\n\nvar fromExternalQuestion$4 = function fromExternalQuestion$4(source, capability) {\n return mapFromExternalQuestion$4(source, capability);\n};\n\nvar toExternalQuestion$4 = function toExternalQuestion$4(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar shortUpdate$4 = function shortUpdate$4(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n // example of short update usage logic:\n // if there's an error in the error list, run local validations on the question\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$5(q);\n }\n\n return q;\n}; // TODO: evaluate if long updates need to be async\n\n\nvar longUpdate$4 = function longUpdate$4(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$5(q);\n }\n\n return q;\n};\n\nvar isCompatible$4 = function isCompatible$4(q) {\n return isCompatible$b(q, typeId$4);\n};\n\nvar isOfQuestionType$4 = isQuestionTypeImageChoice;\nvar assertQuestionType$4 = assertQuestionTypeImageChoice;\nvar imageChoiceQuestionDefinition = {\n typeId: typeId$4,\n shortUpdate: shortUpdate$4,\n longUpdate: longUpdate$4,\n validate: validate$5,\n fromExternalQuestion: fromExternalQuestion$4,\n toExternalQuestion: toExternalQuestion$4,\n isCompatible: isCompatible$4,\n isOfQuestionType: isOfQuestionType$4,\n assertQuestionType: assertQuestionType$4\n};\n\nvar validate$4 = function validate$4(question) {\n return question;\n};\n\nvar baseGuards$2 = baseQuestionGuards('slider', 'SLIDER', 'SINGLE_SLIDER');\nvar isQuestionTypeSlider = typeGuard(baseGuards$2); // export const assertQuestionTypeSlider =\n\nfunction assertQuestionTypeSlider(externalQuestion) {\n return typeAssertion(baseGuards$2)(externalQuestion);\n}\n\nvar mapFromExternalQuestion$3 = function mapFromExternalQuestion$3(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'slider',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeSlider(questionType);\n return questionType;\n};\n\nvar typeId$3 = 'slider';\n\nvar shortUpdate$3 = function shortUpdate$3(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$4(q);\n }\n\n return q;\n};\n\nvar longUpdate$3 = function longUpdate$3(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$4(q);\n }\n\n return q;\n};\n\nvar isCompatible$3 = function isCompatible$3(q) {\n return isCompatible$b(q, typeId$3);\n};\n\nvar isOfQuestionType$3 = isQuestionTypeSlider;\nvar assertQuestionType$3 = assertQuestionTypeSlider;\n\nvar fromExternalQuestion$3 = function fromExternalQuestion$3(source, capability) {\n return mapFromExternalQuestion$3(source, capability);\n};\n\nvar toExternalQuestion$3 = function toExternalQuestion$3(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar sliderQuestionDefinition = {\n typeId: typeId$3,\n shortUpdate: shortUpdate$3,\n longUpdate: longUpdate$3,\n validate: validate$4,\n fromExternalQuestion: fromExternalQuestion$3,\n toExternalQuestion: toExternalQuestion$3,\n isCompatible: isCompatible$3,\n isOfQuestionType: isOfQuestionType$3,\n assertQuestionType: assertQuestionType$3\n};\n\nvar validate$3 = function validate$3(question) {\n return question;\n};\n\nvar baseGuards$1 = baseQuestionGuards('star_rating', 'RATING_SCALE', 'SINGLE_ANSWER_SYMBOL');\nvar isQuestionTypeStarRating = typeGuard(baseGuards$1);\n\nfunction assertQuestionTypeStarRating(externalQuestion) {\n return typeAssertion(baseGuards$1)(externalQuestion);\n}\n\nvar mapFromExternalQuestion$2 = function mapFromExternalQuestion$2(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'star_rating',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeStarRating(questionType);\n return questionType;\n};\n\nvar typeId$2 = 'star_rating';\n\nvar shortUpdate$2 = function shortUpdate$2(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$3(q);\n }\n\n return q;\n};\n\nvar longUpdate$2 = function longUpdate$2(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var capability = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (capability === 'any' && updateType === 'full-value-change') {\n return validate$3(q);\n }\n\n return q;\n};\n\nvar isCompatible$2 = function isCompatible$2(q) {\n return isCompatible$b(q, typeId$2);\n};\n\nvar isOfQuestionType$2 = isQuestionTypeStarRating;\nvar assertQuestionType$2 = assertQuestionTypeStarRating;\n\nvar fromExternalQuestion$2 = function fromExternalQuestion$2(source, capability) {\n return mapFromExternalQuestion$2(source, capability);\n};\n\nvar toExternalQuestion$2 = function toExternalQuestion$2(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar starRatingQuestionDefinition = {\n typeId: typeId$2,\n shortUpdate: shortUpdate$2,\n longUpdate: longUpdate$2,\n validate: validate$3,\n fromExternalQuestion: fromExternalQuestion$2,\n toExternalQuestion: toExternalQuestion$2,\n isCompatible: isCompatible$2,\n isOfQuestionType: isOfQuestionType$2,\n assertQuestionType: assertQuestionType$2\n};\nvar baseSingleAnswerGuards = baseQuestionGuards('matrix', 'MATRIX', 'SINGLE_ANSWER_RADIO');\nvar baseManyAnswersGuards = baseQuestionGuards('matrix', 'MATRIX', 'MANY_ANSWERS_CHECKBOX');\nvar isQuestionTypeMatrixSingleAnswer = typeGuard(baseSingleAnswerGuards);\nvar isQuestionTypeMatrixManyAnswers = typeGuard(baseManyAnswersGuards);\nvar isQuestionTypeMatrix = isEither([isQuestionTypeMatrixSingleAnswer, isQuestionTypeMatrixManyAnswers]);\n\nfunction assertQuestionTypeMatrix(externalQuestion) {\n // TODO: Refactor for better error messages\n if (!isQuestionTypeMatrix(externalQuestion)) {\n throw new Error('Question data does not match any supported question type.');\n }\n}\n\nvar mapFromExternalQuestion$1 = function mapFromExternalQuestion$1(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'matrix',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeMatrix(questionType);\n return questionType;\n};\n\nvar validate$2 = function validate$2(question) {\n return question;\n};\n\nvar typeId$1 = 'matrix';\n\nvar shortUpdate$1 = function shortUpdate$1(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var feature = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (feature === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate$2(q);\n }\n\n return q;\n};\n\nvar longUpdate$1 = function longUpdate$1(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var feature = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (feature === 'any' && updateType === 'full-value-change') {\n return validate$2(q);\n }\n\n return q;\n};\n\nvar isCompatible$1 = function isCompatible$1(q) {\n return isCompatible$b(q, typeId$1);\n};\n\nvar isOfQuestionType$1 = isQuestionTypeMatrix;\nvar assertQuestionType$1 = assertQuestionTypeMatrix;\n\nvar fromExternalQuestion$1 = function fromExternalQuestion$1(source, capability) {\n return mapFromExternalQuestion$1(source, capability);\n};\n\nvar toExternalQuestion$1 = function toExternalQuestion$1(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar validate$1 = function validate$1(question) {\n return question;\n};\n\nvar matrixQuestionDefinition = {\n typeId: typeId$1,\n shortUpdate: shortUpdate$1,\n longUpdate: longUpdate$1,\n fromExternalQuestion: fromExternalQuestion$1,\n toExternalQuestion: toExternalQuestion$1,\n isOfQuestionType: isOfQuestionType$1,\n isCompatible: isCompatible$1,\n assertQuestionType: assertQuestionType$1,\n validate: validate$1\n};\n\nvar validate = function validate(question) {\n return question;\n};\n\nvar baseGuards = baseQuestionGuards('ranking', 'RANKING', 'SINGLE_ANSWER_RADIO'); // TODO: Remove Partial here\n\nvar isQuestionTypeRanking = typeGuard(baseGuards); // TODO: Remove Partial here\n\nfunction assertQuestionTypeRanking(externalQuestion) {\n return typeAssertion(baseGuards)(externalQuestion);\n}\n\nvar mapFromExternalQuestion = function mapFromExternalQuestion(externalQuestion, capability) {\n var questionType = mapDynamic({\n typeId: 'ranking',\n externalQuestion: externalQuestion,\n capability: capability\n });\n assertQuestionTypeRanking(questionType);\n return questionType;\n};\n\nvar typeId = 'ranking';\n\nvar shortUpdate = function shortUpdate(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'partial-value-change';\n var feature = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (feature === 'any' && updateType === 'partial-value-change' && 'errors' in q && q.errors.length > 0) {\n return validate(q);\n }\n\n return q;\n};\n\nvar longUpdate = function longUpdate(q) {\n var updateType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'full-value-change';\n var feature = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'any';\n\n if (feature === 'any' && updateType === 'full-value-change') {\n return validate(q);\n }\n\n return q;\n};\n\nvar isCompatible = function isCompatible(q) {\n return isCompatible$b(q, typeId);\n};\n\nvar isOfQuestionType = isQuestionTypeRanking;\nvar assertQuestionType = assertQuestionTypeRanking;\n\nvar fromExternalQuestion = function fromExternalQuestion(source, capability) {\n return mapFromExternalQuestion(source, capability);\n};\n\nvar toExternalQuestion = function toExternalQuestion(eq, q, capability) {\n return mapInternalDynamicToExternal(eq, q);\n};\n\nvar rankingQuestionDefinition = {\n typeId: typeId,\n shortUpdate: shortUpdate,\n longUpdate: longUpdate,\n validate: validate,\n fromExternalQuestion: fromExternalQuestion,\n toExternalQuestion: toExternalQuestion,\n isCompatible: isCompatible,\n isOfQuestionType: isOfQuestionType,\n assertQuestionType: assertQuestionType\n};\nvar questionTypeDefinitionModules = [singleTextboxQuestionDefinition, multipleTextboxQuestionDefinition, commentBoxQuestionDefinition, multipleChoiceQuestionDefinition, checkBoxQuestionDefinition, imageChoiceQuestionDefinition, dropdownQuestionDefinition, sliderQuestionDefinition, starRatingQuestionDefinition, matrixQuestionDefinition, rankingQuestionDefinition];\n\nvar findByType = function findByType(typeId) {\n return function (qd) {\n return qd.typeId === typeId;\n };\n};\n\nvar pickQuestionTypeDefinition = function pickQuestionTypeDefinition(typeId) {\n var res = questionTypeDefinitionModules.find(findByType(typeId));\n\n if (res === undefined) {\n throw new Error(\"Unable to find module definition for type \".concat(typeId));\n }\n\n return res;\n};\n\nvar selectQuestionTypeDefinition = function selectQuestionTypeDefinition(q) {\n var _a;\n\n return (_a = questionTypeDefinitionModules.find(function (_ref11) {\n var isCompatible = _ref11.isCompatible;\n return isCompatible(q);\n })) !== null && _a !== void 0 ? _a : null;\n}; /// Aggregate Response Guard Helpers\n/// GQL Types that will be generated soon.\n\n\nvar isAggregateResponseHeaderItem = typeGuard({\n id: isString,\n label: isString,\n weight: isNullable(isNumber)\n});\nvar isAggregateResponseHeader = typeGuard({\n id: isString,\n items: isArrayOf(isAggregateResponseHeaderItem)\n});\nvar isAggregateResponseCell = typeGuard({\n rowItem: isNullable(isAggregateResponseHeaderItem),\n columnItem: isNullable(isAggregateResponseHeaderItem),\n groupItem: isNullable(isAggregateResponseHeaderItem),\n percentage: isNumber,\n total: isNumber\n});\nvar aggregateResponseBasicStatDimension = ['ROWS', 'COLUMNS', 'GROUPS'];\nvar isAggregateResponseBasicStats = typeGuard({\n across: isNullable(isOneOf(aggregateResponseBasicStatDimension)),\n row: isNullable(isAggregateResponseHeaderItem),\n column: isNullable(isAggregateResponseHeaderItem),\n group: isNullable(isAggregateResponseHeaderItem)\n}); // One dimensional aggregate response\n\nvar isOneDimensionalAggregateResponseCell = typeGuard({\n rowItem: isAggregateResponseHeaderItem,\n columnItem: isNull,\n groupItem: isNull,\n percentage: isNumber,\n total: isNumber\n});\nvar isOneDimensionalAggregateResponse = typeGuard({\n id: isString,\n type: isFixed('ONE_D'),\n rowHeader: isAggregateResponseHeader,\n columnHeader: isNull,\n groupHeader: isNull,\n data: isArrayOf(isOneDimensionalAggregateResponseCell),\n stats: isArrayOf(isAggregateResponseBasicStats)\n}); // Two dimensional aggregate response\n\nvar isTwoDimensionalAggregateResponseCell = typeGuard({\n rowItem: isAggregateResponseHeaderItem,\n columnItem: isAggregateResponseHeaderItem,\n groupItem: isNull,\n percentage: isNumber,\n total: isNumber\n});\nvar isTwoDimensionalAggregateResponse = typeGuard({\n id: isString,\n type: isFixed('TWO_D'),\n rowHeader: isAggregateResponseHeader,\n columnHeader: isAggregateResponseHeader,\n groupHeader: isNull,\n data: isArrayOf(isTwoDimensionalAggregateResponseCell),\n stats: isArrayOf(isAggregateResponseBasicStats)\n}); // Three dimensional aggregate response\n\nvar isThreeDimensionalAggregateResponseCell = typeGuard({\n rowItem: isAggregateResponseHeaderItem,\n columnItem: isAggregateResponseHeaderItem,\n groupItem: isAggregateResponseHeaderItem,\n percentage: isNumber,\n total: isNumber\n});\nvar isThreeDimensionalAggregateResponse = typeGuard({\n id: isString,\n type: isFixed('THREE_D'),\n rowHeader: isAggregateResponseHeader,\n columnHeader: isAggregateResponseHeader,\n groupHeader: isAggregateResponseHeader,\n data: isArrayOf(isThreeDimensionalAggregateResponseCell),\n stats: isArrayOf(isAggregateResponseBasicStats)\n}); // Transformed type guards\n\nvar isOneDimensionalChartData = typeGuard({\n id: isString,\n rowID: isString,\n rowLabel: isString,\n total: isNumber,\n percentage: isNumber\n});\nvar isTwoDimensionalData = typeGuard({\n columnID: isString,\n columnLabel: isString,\n data: isArrayOf(isOneDimensionalChartData)\n});\nvar isThreeDimensionalData = typeGuard({\n groupID: isString,\n groupLabel: isString,\n data: isArrayOf(isTwoDimensionalData)\n});\nexport { SENTIMENTS, aggregateResponseBasicStatDimension, assertExternalQuestionWithIds, assertQuestionTypeCheckBox, assertQuestionTypeCommentBox, assertQuestionTypeDropdown, assertQuestionTypeImageChoice, assertQuestionTypeMatrix, assertQuestionTypeMultipleChoice, assertQuestionTypeMultipleTextbox, assertQuestionTypeRanking, assertQuestionTypeSingleTextbox, assertQuestionTypeSlider, assertQuestionTypeStarRating, baseQuestionGuards, checkBoxQuestionDefinition, commentBoxQuestionDefinition, dropdownQuestionDefinition, fixedWidthOptions, getTypeId, imageChoiceQuestionDefinition, isAggregateResponseCell, isAggregateResponseHeader, isAggregateResponseHeaderItem, isExternalQuestionWithTypeId, isOneDimensionalAggregateResponse, isOneDimensionalChartData, isQuestionError, isQuestionType, isQuestionTypeCheckBox, isQuestionTypeCommentBox, isQuestionTypeDropdown, isQuestionTypeImageChoice, isQuestionTypeMatrix, isQuestionTypeMultipleChoice, isQuestionTypeMultipleTextbox, isQuestionTypeRanking, isQuestionTypeSingleTextbox, isQuestionTypeSlider, isQuestionTypeStarRating, isQuestionValidationMultipleChoice, isThreeDimensionalAggregateResponse, isThreeDimensionalData, isTwoDimensionalAggregateResponse, isTwoDimensionalData, matrixQuestionDefinition, multipleChoiceQuestionDefinition, multipleTextboxQuestionDefinition, pickQuestionTypeDefinition, questionTypeFamilies, questionTypeFileFormats, questionTypeHeaderColumnWidths, questionTypeIds, questionTypeLayoutPlacements, questionTypeMultipleChoiceLayouts, questionTypeRequiredPredicateTypes, questionTypeSkipLogicDestinationTypes, questionTypeSkipLogicTypes, questionTypeSortingKinds, questionTypeValidationTypes, questionTypeVariants, rankingQuestionDefinition, ratingScaleSymbols, relativeWidthOptions, selectQuestionTypeDefinition, singleTextboxQuestionDefinition, sliderQuestionDefinition, starRatingQuestionDefinition };","import _objectWithoutProperties from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/objectWithoutProperties\";\nimport _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nvar _excluded = [\"children\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport { createUseStyles, useTheme, createGenerateId, JssProvider, ThemeProvider } from 'react-jss';\nimport { useSurveyTheme } from '@sm/webassets/dist/components/SurveyTheme/context';\nvar smFont = \"National2, \\\"Helvetica Neue\\\", Helvetica, Arial, \\\"Hiragino Sans\\\", \\\"Hiragino Kaku Gothic Pro\\\", \\u6E38\\u30B4\\u30B7\\u30C3\\u30AF, \\u6E38\\u30B4\\u30B7\\u30C3\\u30AF\\u4F53, YuGothic, \\\"Yu Gothic\\\", \\\"\\uFF2D\\uFF33 \\u30B4\\u30B7\\u30C3\\u30AF\\\", \\\"MS Gothic\\\", sans-serif\";\nvar grey = 'rgba(0, 0, 0, 0.1)';\n/** SmQuestion specific augmentation to the SurveyTheme */\n\nvar themeAugmentation = {\n // Tokens - shared across all surveys\n fontSize: {\n body: 16\n },\n fontWeight: {\n light: 300,\n regular: 400,\n medium: 500\n },\n nextButton: {\n backgroundColor: '#00BF6F',\n color: '#FFFFFF'\n },\n input: {\n activeColor: '#00BF6F',\n // Light | Dark BG are shared across all surveys\n bgColor: grey\n },\n border: {\n defaultColor: '#999',\n correctColor: '#00BF6F',\n wrongColor: '#F05B24'\n },\n correctAnswerHighlightColor: grey\n};\n\nvar getQuestionHighlightColor = function getQuestionHighlightColor(theme) {\n var isNps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var _a;\n\n var titleColor = (_a = theme.titleColor) === null || _a === void 0 ? void 0 : _a.replace(/\\s/g, '');\n\n if (theme.isDark) {\n return isNps ? 'rgba(255,255,255,0.55)' : 'rgba(255,255,255,0.15)';\n }\n\n if (!theme.isAccessible) {\n return isNps ? 'rgba(0,0,0,0.4)' : grey;\n }\n\n if (titleColor === 'rgba(5,70,126,1)') {\n return 'rgba(201,242,244,1)'; // Arctic theme rgba of #c9f2f4\n }\n\n if (titleColor === 'rgba(0,0,96,1)') {\n return 'rgba(31,216,234,1)'; // Iceberg theme rgba of #1fd8ea\n }\n\n return 'rgba(0,0,0,0.05)'; // Pastel theme\n};\n/** Augments `theme` with SmQuestion specific theme attributes */\n\n\nvar applySurveyThemeAugmentation = function applySurveyThemeAugmentation(theme) {\n var _a, _b, _c;\n\n var questionHighlightColor = getQuestionHighlightColor(theme);\n return _objectSpread(_objectSpread({}, themeAugmentation), {}, {\n nextButton: {\n backgroundColor: theme.primaryAccentColor || themeAugmentation.nextButton.backgroundColor,\n color: theme.secondaryAccentColor || themeAugmentation.nextButton.color\n },\n input: {\n activeColor: theme.primaryAccentColor || themeAugmentation.input.activeColor,\n bgColor: questionHighlightColor\n },\n border: {\n defaultColor: theme.isAccessible ? (_a = theme.answerColor) !== null && _a !== void 0 ? _a : '#999' : '#999',\n correctColor: theme.isAccessible ? (_b = theme.answerColor) !== null && _b !== void 0 ? _b : '#999' : '#00BF6F',\n wrongColor: theme.isAccessible ? (_c = theme.answerColor) !== null && _c !== void 0 ? _c : '#999' : '#F05B24'\n },\n correctAnswerHighlightColor: questionHighlightColor\n }, theme);\n};\n/**\n * Dummy SurveyTheme\n *\n * _Not a real theme - only use for testing_\n */\n\n\nvar DUMMY_SURVEY_THEME = {\n // Survey-specific styles\n layout: 'BACKGROUND_FULL_TEXT_CENTER',\n titleColor: 'rgba(255,51,0,1)',\n questionColor: 'rgba(79,122,39,1)',\n answerColor: 'rgba(56,136,254,1)',\n primaryAccentColor: '#00BF6F',\n secondaryAccentColor: '#FFFFFF',\n primaryBackgroundColor: '#F7F8FA',\n secondaryBackgroundColor: '#ccf2e2',\n isAccessible: false,\n isDark: false,\n isCustomTheme: false,\n // Survey-specific component Styles\n surveyPage: {\n overlayColor: 'rgba(217,238,236,0.68)',\n backgroundImage: 'url(https://images.pexels.com/photos/2760856/pexels-photo-2760856.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940)'\n },\n surveyTitle: {\n fontSize: 25,\n fontFamily: 'Montserrat,Arial,Helvetica',\n fontWeight: 700,\n fontStyle: 'normal',\n textDecoration: 'none'\n },\n pageTitle: {\n fontSize: 25,\n fontFamily: 'Montserrat,Arial,Helvetica',\n fontWeight: 700,\n fontStyle: 'normal',\n textDecoration: 'none'\n },\n button: {\n fontSize: 15,\n fontFamily: 'National2',\n fontWeight: 400\n },\n error: {\n fontSize: 16,\n fontFamily: 'arial,sans-serif',\n fontWeight: 500,\n fontStyle: 'normal',\n textDecoration: 'none'\n },\n exitLink: {\n fontSize: 12,\n fontWeight: 300,\n backgroundColor: 'rgba(0,0,0,0)'\n },\n logo: {\n enabled: true,\n image: {\n url: 'https://sm-assets-mt1.s3.amazonaws.com/survey/518810755/6816175a-dfd7-4cc3-8b5c-64fd07d6f491.jpeg'\n }\n },\n progressBar: {\n enabled: true,\n position: 'DISABLED',\n showPercent: true,\n showPageNumber: true\n },\n questionBody: {\n color: '#333e48',\n highlightColor: 'rgba(208,210,211,1)',\n fontSize: 18,\n fontFamily: smFont,\n fontWeight: 300,\n fontStyle: 'normal',\n textDecoration: 'none'\n },\n questionTitle: {\n fontSize: 20,\n fontFamily: smFont,\n fontWeight: 300,\n fontStyle: 'normal',\n textDecoration: 'none',\n color: '#333e48'\n },\n breakpoints: {\n xxs: {\n max: '480px'\n },\n xs: {\n min: '481px',\n max: '640px'\n },\n sm: {\n min: '641px',\n max: '786px'\n },\n md: {\n min: '787px',\n max: '1024px'\n },\n lg: {\n min: '1025px'\n }\n }\n};\n/**\n * Dummy AugmentedSurveyTheme (pre-augmented SurveyTheme)\n *\n * _Not a real theme - only use for testing_\n */\n\nvar DUMMY_AUGMENTED_SURVEY_THEME = _objectSpread(_objectSpread({}, DUMMY_SURVEY_THEME), themeAugmentation);\n\nvar prefix = 'smqr-';\nvar selectors = [\"[class*='\".concat(prefix, \"']\"), \"[class*='\".concat(prefix, \"']::before\"), \"[class*='\".concat(prefix, \"']::after\")];\nvar resetStyles = {\n '-webkit-font-smoothing': 'antialiased',\n boxSizing: 'border-box',\n listStyle: 'none',\n margin: 0,\n padding: 0\n};\nvar useStyles = createUseStyles({\n '@global': _defineProperty({}, selectors.join(','), resetStyles)\n}, {\n // Ensure this gets added to as the first stylesheet\n // ref: https://github.com/cssinjs/jss/blob/master/packages/react-jss/src/utils/getSheetIndex.js#L3-L16\n index: (Number.MIN_SAFE_INTEGER || -1e9) - 1,\n name: 'smquestions-respondent-global-styles'\n});\n/* Must by rendered inside a ThemeProvider with the RespondentTheme */\n\nvar SurveyGlobalStyles = function SurveyGlobalStyles() {\n var theme = useTheme();\n useStyles({\n theme: theme\n });\n return React.createElement(React.Fragment, null);\n};\n/* Wraps all components and ThemeProvider of the Respondent experience */\n\n\nvar SurveyStylesProvider = function SurveyStylesProvider(_ref) {\n var children = _ref.children,\n props = _objectWithoutProperties(_ref, _excluded);\n\n // https://cssinjs.org/jss-api?v=v10.4.0#generate-your-class-names\n var generateJssId = React.useMemo(function () {\n return createGenerateId();\n }, []);\n\n var generateId = function generateId(rule, srcSheet) {\n var _a;\n\n var sheet = srcSheet;\n\n if (sheet) {\n sheet.options.classNamePrefix = prefix;\n sheet.options.index = (_a = sheet.options.index) !== null && _a !== void 0 ? _a : 10;\n }\n\n return generateJssId(rule, sheet);\n };\n\n return React.createElement(JssProvider, Object.assign({}, props, {\n generateId: generateId\n }), children);\n};\n\nvar SurveyThemeWrapper = function SurveyThemeWrapper(_ref2) {\n var children = _ref2.children;\n var theme = useSurveyTheme();\n return React.createElement(SurveyStylesProvider, null, React.createElement(ThemeProvider, {\n theme: applySurveyThemeAugmentation(theme)\n }, React.createElement(SurveyGlobalStyles, null), children));\n};\n\nexport { DUMMY_AUGMENTED_SURVEY_THEME, DUMMY_SURVEY_THEME, SurveyGlobalStyles, SurveyStylesProvider, SurveyThemeWrapper, applySurveyThemeAugmentation };","import _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { createContext, useContext, useMemo } from 'react';\nimport { r as reactErrorBoundary_umd } from './vendor-4368c290.js';\nimport { getTypeId } from '@sm/question-definitions';\n\nvar filterVisualizationByQuestionType = function filterVisualizationByQuestionType(typeId) {\n return function (qd) {\n var _qd = _slicedToArray(qd, 1),\n qts = _qd[0];\n\n return qts.includes(typeId);\n };\n};\n\nvar FallbackComponent = function FallbackComponent(_ref) {\n var error = _ref.error;\n // TODO: temporary fallback ui (RAWR-773)\n return React.createElement(React.Fragment, null, React.createElement(\"h1\", null, \"Sorry.. there was an error\"), React.createElement(\"p\", null, error.message));\n};\n\nvar withErrorBoundary = function withErrorBoundary(Component) {\n return function (props) {\n return React.createElement(reactErrorBoundary_umd.exports.ErrorBoundary, {\n FallbackComponent: FallbackComponent\n }, React.createElement(Component, Object.assign({}, props)));\n };\n};\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n\nvar declareVisualization = function declareVisualization(questionTypes, capabilities, component) {\n return [questionTypes, capabilities, component];\n};\n\nvar providerAccessContext = createContext(null);\n\nvar useProviderAccessContext = function useProviderAccessContext() {\n var access = useContext(providerAccessContext);\n\n if (!access) {\n throw new Error('Must call useProviderAccessContext inside a properly setup Capability Provider');\n }\n\n var useUpstreamConfig = access.useUpstreamConfig,\n useVisualizationList = access.useVisualizationList;\n return {\n useVisualizationList: useVisualizationList,\n useUpstreamConfig: useUpstreamConfig\n };\n};\n/** providerFactory\n * Creates a helper component that enables a CapabilityProvider to store the appropriate configurations,\n * making them available to the visualizations through the generic controllers. It makes sure that all\n * Visualizations have the proper types passed onto them.\n * @param visualizationList list of visualization definitions for all the visualizations that will be\n * supported by this Capability Provider.\n * @returns React Context Provider accepting the appropriate configuration for the CapabilityProvider\n */\n\n\nvar providerFactory = function providerFactory(visualizationList) {\n var ctx = React.createContext(null); // TODO: further filter types to match the ones in the right indexes based on capability\n\n var useVisualizationList = function useVisualizationList(capability) {\n return visualizationList.filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n fs = _ref3[1];\n\n return fs.indexOf(capability) >= 0;\n });\n };\n\n var useUpstreamConfig = function useUpstreamConfig() {\n var config = useContext(ctx);\n\n if (!config) {\n throw new Error('Must call useUpstreamConfig inside a properly set up Capability Provider');\n }\n\n return config;\n };\n\n return function (_ref4) {\n var children = _ref4.children,\n value = _ref4.value;\n return React.createElement(reactErrorBoundary_umd.exports.ErrorBoundary, {\n FallbackComponent: FallbackComponent\n }, React.createElement(providerAccessContext.Provider, {\n value: {\n useVisualizationList: useVisualizationList,\n useUpstreamConfig: useUpstreamConfig\n }\n }, React.createElement(ctx.Provider, {\n value: value\n }, children)));\n };\n};\n\nvar UnsupportedVisualization = function UnsupportedVisualization(_ref5) {\n var typeId = _ref5.question.typeId;\n return React.createElement(\"div\", null, \"Unsupported Visualization for \", typeId);\n};\n\nvar createVisualization = function createVisualization(capability, questionTypeId, visualizationOptions, upstreamActions, settings, renderProps) {\n var _ref6 = visualizationOptions.find(filterVisualizationByQuestionType(questionTypeId)) || [],\n _ref7 = _slicedToArray(_ref6, 3),\n VisualizationComponent = _ref7[2];\n\n if (!VisualizationComponent) {\n return function (_ref8) {\n var question = _ref8.question;\n return React.createElement(UnsupportedVisualization, {\n question: question\n });\n };\n }\n\n return function (_ref9) {\n var question = _ref9.question,\n displayOptions = _ref9.displayOptions,\n namedSlots = _ref9.namedSlots,\n toExternalQuestion = _ref9.toExternalQuestion;\n return React.createElement(VisualizationComponent, {\n capability: capability,\n question: question,\n upstreamActions: upstreamActions,\n settings: settings,\n displayOptions: displayOptions,\n renderProps: renderProps,\n toExternalQuestion: toExternalQuestion,\n namedSlots: namedSlots\n });\n };\n};\n/** Finds and attaches a typeId to an `ExternalQuestion` */\n\n\nvar useExternalQuestionAugmentation = function useExternalQuestionAugmentation(externalQuestion, responseSet) {\n return useMemo(function () {\n var typeId = getTypeId(externalQuestion);\n\n if (!typeId) {\n throw new Error(\"Unsupported Question Type of family \".concat(externalQuestion.family, \", variant \").concat(externalQuestion.variant, \".\"));\n }\n\n if (responseSet !== undefined) {\n return _objectSpread(_objectSpread({}, externalQuestion), {}, {\n typeId: typeId\n }, responseSet);\n }\n\n return _objectSpread(_objectSpread({}, externalQuestion), {}, {\n typeId: typeId\n });\n }, [externalQuestion, responseSet]);\n};\n\nexport { useExternalQuestionAugmentation as a, createVisualization as c, declareVisualization as d, providerFactory as p, useProviderAccessContext as u, withErrorBoundary as w };","import _typeof from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\";\nimport React from 'react';\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar classnames$1 = {\n exports: {}\n};\n/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n(function (module) {\n /* global define */\n (function () {\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = _typeof(arg);\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (module.exports) {\n classNames[\"default\"] = classNames;\n module.exports = classNames;\n } else {\n window.classNames = classNames;\n }\n })();\n})(classnames$1);\n\nvar classnames = classnames$1.exports;\n/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\n\nvar INFINITY = 1 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match HTML entities and HTML characters. */\n\nvar reEscapedHtml = /&(?:amp|lt|gt|quot|#39|#96);/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source);\n/** Used to map HTML entities to characters. */\n\nvar htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\",\n '`': '`'\n};\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = _typeof(commonjsGlobal) == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal;\n/** Detect free variable `self`. */\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n\nfunction basePropertyOf(object) {\n return function (key) {\n return object == null ? undefined : object[key];\n };\n}\n/**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n\n\nvar unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/** Built-in value references. */\n\nvar _Symbol = root.Symbol;\n/** Used to convert symbols to primitives and strings. */\n\nvar symbolProto = _Symbol ? _Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n\n var result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result;\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && _typeof(value) == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return _typeof(value) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n/**\n * The inverse of `_.escape`; this method converts the HTML entities\n * `&`, `<`, `>`, `"`, `'`, and ``` in `string` to\n * their corresponding characters.\n *\n * **Note:** No other HTML entities are unescaped. To unescape additional\n * HTML entities use a third-party library like [_he_](https://mths.be/he).\n *\n * @static\n * @memberOf _\n * @since 0.6.0\n * @category String\n * @param {string} [string=''] The string to unescape.\n * @returns {string} Returns the unescaped string.\n * @example\n *\n * _.unescape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n\n\nfunction unescape(string) {\n string = toString(string);\n return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string;\n}\n\nvar lodash_unescape = unescape;\nvar reactErrorBoundary_umd = {\n exports: {}\n};\n\n(function (module, exports) {\n (function (global, factory) {\n factory(exports, React);\n })(commonjsGlobal, function (exports, React) {\n function _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function get() {\n return e[k];\n }\n });\n }\n });\n }\n\n n['default'] = e;\n return Object.freeze(n);\n }\n\n var React__namespace = /*#__PURE__*/_interopNamespace(React);\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n }\n\n var changedArray = function changedArray(a, b) {\n if (a === void 0) {\n a = [];\n }\n\n if (b === void 0) {\n b = [];\n }\n\n return a.length !== b.length || a.some(function (item, index) {\n return !Object.is(item, b[index]);\n });\n };\n\n var initialState = {\n error: null\n };\n\n var ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ErrorBoundary, _React$Component);\n\n function ErrorBoundary() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n _this.state = initialState;\n _this.updatedWithError = false;\n\n _this.resetErrorBoundary = function () {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this.props.onReset == null ? void 0 : (_this$props = _this.props).onReset.apply(_this$props, args);\n\n _this.reset();\n };\n\n return _this;\n }\n\n ErrorBoundary.getDerivedStateFromError = function getDerivedStateFromError(error) {\n return {\n error: error\n };\n };\n\n var _proto = ErrorBoundary.prototype;\n\n _proto.reset = function reset() {\n this.updatedWithError = false;\n this.setState(initialState);\n };\n\n _proto.componentDidCatch = function componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n\n (_this$props$onError = (_this$props2 = this.props).onError) == null ? void 0 : _this$props$onError.call(_this$props2, error, info);\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var error = this.state.error;\n\n if (error !== null) {\n this.updatedWithError = true;\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var error = this.state.error;\n var resetKeys = this.props.resetKeys; // There's an edge case where if the thing that triggered the error\n // happens to *also* be in the resetKeys array, we'd end up resetting\n // the error boundary immediately. This would likely trigger a second\n // error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call\n // of cDU after the error is set\n\n if (error !== null && !this.updatedWithError) {\n this.updatedWithError = true;\n return;\n }\n\n if (error !== null && changedArray(prevProps.resetKeys, resetKeys)) {\n var _this$props$onResetKe, _this$props3;\n\n (_this$props$onResetKe = (_this$props3 = this.props).onResetKeysChange) == null ? void 0 : _this$props$onResetKe.call(_this$props3, prevProps.resetKeys, resetKeys);\n this.reset();\n }\n };\n\n _proto.render = function render() {\n var error = this.state.error;\n var _this$props4 = this.props,\n fallbackRender = _this$props4.fallbackRender,\n FallbackComponent = _this$props4.FallbackComponent,\n fallback = _this$props4.fallback;\n\n if (error !== null) {\n var _props = {\n error: error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n\n if ( /*#__PURE__*/React__namespace.isValidElement(fallback)) {\n return fallback;\n } else if (typeof fallbackRender === 'function') {\n return fallbackRender(_props);\n } else if (FallbackComponent) {\n return /*#__PURE__*/React__namespace.createElement(FallbackComponent, _props);\n } else {\n throw new Error('react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop');\n }\n }\n\n return this.props.children;\n };\n\n return ErrorBoundary;\n }(React__namespace.Component);\n\n function withErrorBoundary(Component, errorBoundaryProps) {\n var Wrapped = function Wrapped(props) {\n return /*#__PURE__*/React__namespace.createElement(ErrorBoundary, errorBoundaryProps, /*#__PURE__*/React__namespace.createElement(Component, props));\n }; // Format for display in DevTools\n\n\n var name = Component.displayName || Component.name || 'Unknown';\n Wrapped.displayName = \"withErrorBoundary(\" + name + \")\";\n return Wrapped;\n }\n\n function useErrorHandler(givenError) {\n var _React$useState = React__namespace.useState(null),\n error = _React$useState[0],\n setError = _React$useState[1];\n\n if (givenError != null) throw givenError;\n if (error != null) throw error;\n return setError;\n }\n /*\n eslint\n @typescript-eslint/no-throw-literal: \"off\",\n @typescript-eslint/prefer-nullish-coalescing: \"off\"\n */\n\n\n exports.ErrorBoundary = ErrorBoundary;\n exports.useErrorHandler = useErrorHandler;\n exports.withErrorBoundary = withErrorBoundary;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n });\n})(reactErrorBoundary_umd, reactErrorBoundary_umd.exports);\n\nexport { classnames as c, lodash_unescape as l, reactErrorBoundary_umd as r };","import _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"footer\", \"hasFooterPadding\", \"children\", \"clickShield\", \"error\", \"id\", \"padding\", \"title\", \"onSubmit\"],\n _excluded2 = [\"fontSize\"],\n _excluded3 = [\"addon\", \"heading\", \"id\", \"number\", \"numbered\", \"required\", \"useDefaultFrontSize\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { useRef, useCallback, useEffect, useMemo } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport { defineMessages, T } from '@sm/intl';\nimport { visuallyHidden, uniqueId } from '@wds/utils';\nimport { c as classnames, l as lodash_unescape, r as reactErrorBoundary_umd } from './vendor-1a792cb6.js';\nimport { sanitizeString } from '@sm/utils';\ncreateUseStyles(function (theme) {\n var _a;\n\n return {\n button: {\n color: theme.nextButton.color,\n backgroundColor: theme.nextButton.backgroundColor,\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n fontSize: 15,\n border: [1, 'solid', 'transparent'],\n borderRadius: 2,\n padding: [1, 6],\n maxWidth: '100%',\n minWidth: 60,\n minHeight: 40,\n cursor: 'pointer',\n overflowWrap: 'break-word'\n }\n };\n});\nvar useStyles$d = createUseStyles({\n visuallyHidden: visuallyHidden\n});\n\nvar VisuallyHidden = function VisuallyHidden(_ref) {\n var children = _ref.children,\n Element = _ref.element;\n\n var _useStyles$d = useStyles$d(),\n visuallyHidden = _useStyles$d.visuallyHidden;\n\n return React.createElement(Element, {\n className: visuallyHidden\n }, children);\n};\n\nvar useStyles$c = createUseStyles({\n paddingBox: function paddingBox(_ref2) {\n var padding = _ref2.padding;\n return {\n paddingTop: (padding === null || padding === void 0 ? void 0 : padding.top) || 0,\n paddingBottom: (padding === null || padding === void 0 ? void 0 : padding.bottom) || 0,\n paddingLeft: (padding === null || padding === void 0 ? void 0 : padding.left) || 0,\n paddingRight: (padding === null || padding === void 0 ? void 0 : padding.right) || 0\n };\n }\n});\n\nvar QuestionSpacing = function QuestionSpacing(_ref3) {\n var padding = _ref3.padding,\n children = _ref3.children;\n\n var _useStyles$c = useStyles$c({\n padding: padding\n }),\n paddingBox = _useStyles$c.paddingBox;\n\n return React.createElement(\"div\", {\n className: paddingBox\n }, children);\n};\n\nvar useStyles$b = createUseStyles({\n footerRow: function footerRow(_ref4) {\n var hasFooterPadding = _ref4.hasFooterPadding;\n return {\n paddingTop: hasFooterPadding ? 20 : 0\n };\n },\n containerStyles: function containerStyles(_ref5) {\n var clickShield = _ref5.clickShield;\n return {\n position: 'relative',\n opacity: clickShield ? '0.5' : '1',\n transition: 'opacity 500ms ease-out',\n pointerEvents: clickShield ? 'none' : 'auto'\n };\n },\n errorRow: {\n marginBottom: 10\n },\n formReset: {\n border: 0,\n minWidth: 0\n },\n headerRow: {\n marginBottom: 24\n }\n});\nvar COPY$2 = defineMessages({\n QUESTION_TITLE: {\n id: 'ResponseQuestion.QUESTION_TITLE',\n defaultMessage: 'Question Title',\n description: '[Type: Label][Vis: low] - question landmark for screen readers only'\n }\n});\n\nvar QuestionFieldLayoutTemplate = function QuestionFieldLayoutTemplate(_ref6) {\n var footer = _ref6.footer,\n hasFooterPadding = _ref6.hasFooterPadding,\n children = _ref6.children,\n clickShield = _ref6.clickShield,\n error = _ref6.error,\n id = _ref6.id,\n padding = _ref6.padding,\n title = _ref6.title,\n onSubmit = _ref6.onSubmit,\n props = _objectWithoutProperties(_ref6, _excluded);\n\n var _useStyles$b = useStyles$b({\n hasFooterPadding: hasFooterPadding,\n clickShield: clickShield\n }),\n footerRow = _useStyles$b.footerRow,\n containerStyles = _useStyles$b.containerStyles,\n formReset = _useStyles$b.formReset,\n errorRow = _useStyles$b.errorRow,\n headerRow = _useStyles$b.headerRow;\n\n var containerRef = useRef(null);\n var handleKeydown = useCallback(function (event) {\n if (event.key === 'Enter') {\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit();\n }\n }, [onSubmit]);\n useEffect(function () {\n var container = containerRef.current;\n container === null || container === void 0 ? void 0 : container.addEventListener('keydown', handleKeydown);\n return function () {\n return container === null || container === void 0 ? void 0 : container.removeEventListener('keydown', handleKeydown);\n };\n }, [containerRef, handleKeydown]);\n return React.createElement(\"div\", Object.assign({\n ref: containerRef,\n id: id\n }, props, {\n className: containerStyles\n }), React.createElement(VisuallyHidden, {\n element: \"h3\"\n }, React.createElement(T, {\n desc: COPY$2.QUESTION_TITLE\n })), React.createElement(QuestionSpacing, {\n padding: padding\n }, React.createElement(\"fieldset\", {\n className: formReset\n }, React.createElement(\"legend\", {\n className: headerRow\n }, error && React.createElement(\"div\", {\n className: errorRow\n }, error), title), children), footer && React.createElement(\"div\", {\n className: footerRow\n }, footer)));\n};\n/**\n * Calculate the max number of children each column can be filled in the layout\n * @param columns number of columns\n * @param total total child count\n * @description Based on the current implementation in production (as of Jan 20, 2021),\n * - if columns = 1, the max number of children per column = total (render all children vertically)\n * - if columns > 1, the max number of children per column = (total / columns) + 1\n */\n\n\nvar calculateMaxNumOfChildrenPerColumn = function calculateMaxNumOfChildrenPerColumn(columns, total) {\n if (columns === 1) {\n return total;\n }\n\n var childrenPerColumn = total / columns;\n\n if (childrenPerColumn % 1 === 0) {\n return childrenPerColumn;\n }\n\n return Math.floor(childrenPerColumn) + 1;\n};\n/**\n * Divide the children array into slices for rendering\n * @param childrenArr - children array\n * @param childrenPerSlice - number of children per slice\n * @example\n * childrenArr = [option1, option2, option3, option4, option5]\n * childrenPerSlice = 2\n * output: [[option1, option2], [option3, option4], [option5]]\n */\n\n\nvar sliceChildren = function sliceChildren(childrenArr, childrenPerSlice) {\n var index = 0;\n var result = [];\n\n while (index < childrenArr.length) {\n result.push(childrenArr.slice(index, index + childrenPerSlice));\n index += childrenPerSlice;\n }\n\n return result;\n};\n\nvar useStyles$a = createUseStyles(function (theme) {\n var _ref7;\n\n return _ref7 = {\n containerVertical: {\n display: 'initial'\n },\n containerHorizontal: {\n display: 'block'\n },\n\n /** shared between horizontal and vertical columns */\n column: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start'\n },\n columnHorizontal: {},\n\n /** Horizontal Column that adjust width to content width */\n columnHorizontalAutoAdjust: {\n width: 'auto'\n }\n }, _defineProperty(_ref7, \"@media (min-width: \".concat(theme.breakpoints.xs.min, \")\"), {\n containerVertical: {\n display: 'flex'\n },\n containerHorizontal: {\n display: 'flex',\n flexWrap: 'wrap'\n }\n }), _defineProperty(_ref7, \"@media only screen and (min-width: \".concat(theme.breakpoints.lg.min, \")\"), {\n columnHorizontal: {\n width: '19%'\n }\n }), _defineProperty(_ref7, \"@media (min-width: \".concat(theme.breakpoints.sm.min, \") and (max-width: \").concat(theme.breakpoints.md.max, \")\"), {\n columnHorizontal: {\n width: '24%'\n }\n }), _defineProperty(_ref7, \"@media only screen and (max-width: \".concat(theme.breakpoints.xxs.max, \")\"), {\n columnHorizontal: {\n width: '100%',\n display: 'block'\n },\n columnHorizontalAutoAdjust: {\n width: '100%',\n display: 'block'\n }\n }), _ref7;\n});\n\nvar QuestionAnswerLayoutTemplate = function QuestionAnswerLayoutTemplate(_ref8) {\n var children = _ref8.children,\n _ref8$columns = _ref8.columns,\n columns = _ref8$columns === void 0 ? 1 : _ref8$columns,\n other = _ref8.other,\n noneOfTheAbove = _ref8.noneOfTheAbove,\n _ref8$adjustToContent = _ref8.adjustToContent,\n adjustToContent = _ref8$adjustToContent === void 0 ? false : _ref8$adjustToContent;\n\n var _useStyles$a = useStyles$a({\n columns: columns,\n adjustToContent: adjustToContent\n }),\n containerVertical = _useStyles$a.containerVertical,\n containerHorizontal = _useStyles$a.containerHorizontal,\n column = _useStyles$a.column,\n columnHorizontal = _useStyles$a.columnHorizontal,\n columnHorizontalAutoAdjust = _useStyles$a.columnHorizontalAutoAdjust;\n\n var isHorizontal = columns === 'horizontal';\n /* Based on the columns config, divide the question answers\n (children of this component) into column groups for rendering.\n The reason we need to do this is when there are multiple columns,\n the answers are listed vertically instead of horizontally.\n For example:\n If there are 3 answers and 2 columns,\n Then the ordering will be:\n Answer 1 Answer 3\n Answer 2\n NOT:\n Answer 1 Answer 2\n Answer 3\n * though `horizontal` uses this\n \n */\n\n var columnGroups = useMemo(function () {\n var totalChildren = React.Children.count(children);\n var totalColumns = columns === 'horizontal' ? totalChildren : columns;\n var childrenArray = React.Children.toArray(children);\n var answersPerColumn = columns === 'horizontal' ? 1 : calculateMaxNumOfChildrenPerColumn(totalColumns, totalChildren);\n return sliceChildren(childrenArray, answersPerColumn);\n }, [children, columns]);\n var columnClassNames = isHorizontal ? [column, adjustToContent ? columnHorizontalAutoAdjust : columnHorizontal] : column;\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: isHorizontal ? containerHorizontal : containerVertical\n }, columnGroups.map(function (col, columnIndex) {\n return React.createElement(\"div\", {\n key: \"col-\".concat(columnIndex + 1),\n className: classnames(columnClassNames),\n \"data-testid\": \"answer-layout-column\"\n }, col.map(function (cell, cellIndex) {\n return React.createElement(\"div\", {\n key: \"cell-\".concat(cellIndex + 1),\n \"data-testid\": \"answer-layout-cell\"\n }, cell);\n }));\n })), other && React.createElement(\"div\", null, other), noneOfTheAbove && React.createElement(\"div\", null, noneOfTheAbove));\n};\n\nvar textReset = {\n margin: 0\n};\nvar inlineSpacing = {\n marginRight: '0.25em'\n};\nvar useStyles$9 = createUseStyles(function (theme) {\n var _theme$questionTitle = theme.questionTitle,\n fontSize = _theme$questionTitle.fontSize,\n questionTitleFormatting = _objectWithoutProperties(_theme$questionTitle, _excluded2);\n\n var questionTitleFontSize = theme.isAccessible ? '22px' : fontSize !== null && fontSize !== void 0 ? fontSize : {};\n return {\n addonContainer: {\n display: 'inline-block',\n margin: [0, 5],\n verticalAlign: 'text-bottom'\n },\n container: {\n position: 'relative'\n },\n questionNumber: inlineSpacing,\n questionTitle: function questionTitle(_ref9) {\n var useDefaultFrontSize = _ref9.useDefaultFrontSize;\n\n var _a;\n\n return _objectSpread(_objectSpread(_objectSpread({}, textReset), questionTitleFormatting), {}, {\n color: ((_a = theme.questionTitle) === null || _a === void 0 ? void 0 : _a.color) || theme.questionColor,\n fontSize: useDefaultFrontSize && !theme.isAccessible ? theme.fontSize.body : questionTitleFontSize,\n lineHeight: 1.25,\n whiteSpace: 'normal',\n wordWrap: 'break-word'\n });\n },\n requiredAsterisk: _objectSpread(_objectSpread({}, inlineSpacing), {}, {\n display: 'inline-block'\n })\n };\n});\n/* eslint-disable @typescript-eslint/naming-convention */\n\nvar listSpacing = {\n margin: [16, 0],\n padding: [0, 0, 0, 40]\n};\nvar mediaReset = {\n border: 0,\n maxWidth: '100%'\n};\nvar useStyles$8 = createUseStyles({\n richTextContent: {\n // Typography\n '& a': {\n // Links are not themed by default. Users must select a link color in the editor\n color: 'blue',\n textDecoration: 'underline',\n '&:hover': {\n cursor: 'pointer'\n },\n '&:focus': {\n outline: 'currentColor auto 1px'\n }\n },\n '& ol': _objectSpread(_objectSpread({}, listSpacing), {}, {\n listStyleType: 'decimal'\n }),\n '& ul': _objectSpread(_objectSpread({}, listSpacing), {}, {\n listStyle: 'disc outside none',\n '& ul li': {\n listStyle: 'circle'\n }\n }),\n '& p': {\n margin: [13, 0]\n },\n '& b': {\n fontWeight: 'bold'\n },\n '& strong': {\n fontWeight: 'bold'\n },\n '& em': {\n fontStyle: 'italic'\n },\n '& i': {\n fontStyle: 'italic'\n },\n '& big': {\n fontSize: 'larger'\n },\n '& small': {\n fontSize: 'smaller'\n },\n '& sup': {\n fontSize: '75%',\n lineHeight: 0,\n position: 'relative',\n top: '-0.5em',\n verticalAlign: 'baseline'\n },\n // Media embeds\n '& iframe': mediaReset,\n '& img': _objectSpread(_objectSpread({}, mediaReset), {}, {\n height: 'auto',\n '-ms-interpolation-mode': 'bicubic'\n })\n }\n}); // Support iframe video embeds and their matching attributes\n\nvar sanitizeOptions = {\n ADD_TAGS: ['iframe'],\n ADD_ATTR: ['target', 'allow', 'allowfullscreen', 'frameborder', 'sandbox', 'scrolling']\n};\n\nvar RichText = function RichText(_ref10) {\n var Element = _ref10.element,\n text = _ref10.text;\n\n var _useStyles$ = useStyles$8(),\n richTextContent = _useStyles$.richTextContent;\n\n return React.createElement(Element, {\n className: richTextContent,\n dangerouslySetInnerHTML: {\n __html: sanitizeString(text, sanitizeOptions)\n }\n });\n};\n\nvar QuestionTitle = function QuestionTitle(_ref11) {\n var addon = _ref11.addon,\n heading = _ref11.heading,\n id = _ref11.id,\n number = _ref11.number,\n numbered = _ref11.numbered,\n required = _ref11.required,\n _ref11$useDefaultFron = _ref11.useDefaultFrontSize,\n useDefaultFrontSize = _ref11$useDefaultFron === void 0 ? false : _ref11$useDefaultFron,\n props = _objectWithoutProperties(_ref11, _excluded3);\n\n var _useStyles$2 = useStyles$9({\n useDefaultFrontSize: useDefaultFrontSize\n }),\n addonContainer = _useStyles$2.addonContainer,\n container = _useStyles$2.container,\n questionNumber = _useStyles$2.questionNumber,\n questionTitle = _useStyles$2.questionTitle,\n requiredAsterisk = _useStyles$2.requiredAsterisk;\n\n return React.createElement(\"h4\", Object.assign({\n id: id,\n className: classnames(container, questionTitle)\n }, props), required && React.createElement(\"span\", {\n \"aria-hidden\": true,\n className: requiredAsterisk\n }, \"*\"), numbered && React.createElement(\"span\", {\n className: questionNumber\n }, number, \".\"), React.createElement(RichText, {\n element: \"span\",\n text: heading\n }), addon && React.createElement(\"span\", {\n className: addonContainer\n }, addon));\n};\n\ncreateUseStyles(function (theme) {\n var _a;\n\n return {\n icon: {\n backgroundClip: 'padding-box',\n backgroundColor: theme.primaryAccentColor,\n borderRadius: 3,\n color: theme.secondaryAccentColor,\n fontSize: theme.fontSize.body,\n padding: [0, 5]\n },\n iconWrapper: {\n marginRight: 5\n },\n validationMessage: {\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n lineHeight: 1.5,\n color: theme.questionBody.color,\n fontWeight: theme.fontWeight.light,\n fontSize: theme.fontSize.body\n }\n };\n});\nvar useStyles$7 = createUseStyles(function (theme) {\n var _a;\n\n return _defineProperty({\n textareaStyles: _objectSpread(_objectSpread({\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n fontSize: '18px',\n lineHeight: '1.15em',\n padding: '6px 60px 6px 6px',\n maxWidth: '100%',\n color: theme.questionBody.color,\n outlineColor: theme.primaryAccentColor,\n transition: 'all 0.1s linear',\n verticalAlign: 'top',\n textSizeAdjust: 'auto'\n }, theme.isAccessible ? {\n fontWeight: 500,\n opacity: 1,\n border: \"1px solid \".concat(theme.answerColor),\n backgroundColor: '#fff'\n } : {\n fontWeight: 300,\n backgroundColor: theme.input.bgColor,\n border: '0'\n }), {}, {\n '&:focus': {\n borderColor: theme.input.activeColor,\n borderRadius: '2px'\n },\n '&:focus, &:hover': theme.isAccessible ? {\n // should be there but was broken\n // https://code.corp.surveymonkey.com/devmonkeys/smlib.surveytemplates/blob/main/smlib/surveytemplates/themes_v3/base_css.jinja2#L1094-L1097\n boxShadow: '0px 2px 8px rgba(0, 0, 0, 7)'\n } : {},\n '&:disabled, &:read-only': _objectSpread({\n boxShadow: 'none'\n }, theme.isAccessible ? {} : {\n borderColor: 'transparent',\n opacity: 0.5\n })\n })\n }, \"@media only screen and (max-width: \".concat(theme.breakpoints.md.max, \")\"), {\n textareaStyles: {\n fontSize: '16px'\n }\n });\n}); // Custom textarea component for Response.\n\nvar TextArea = function TextArea(_ref13) {\n var placeholder = _ref13.placeholder,\n disabled = _ref13.disabled,\n rows = _ref13.rows,\n cols = _ref13.cols,\n id = _ref13.id,\n name = _ref13.name,\n defaultValue = _ref13.defaultValue,\n labelId = _ref13.labelId,\n errorId = _ref13.errorId,\n _ref13$required = _ref13.required,\n required = _ref13$required === void 0 ? false : _ref13$required,\n _ref13$readOnly = _ref13.readOnly,\n readOnly = _ref13$readOnly === void 0 ? false : _ref13$readOnly,\n onChange = _ref13.onChange,\n onBlur = _ref13.onBlur,\n onFocus = _ref13.onFocus;\n\n var _useStyles$3 = useStyles$7(),\n textareaStyles = _useStyles$3.textareaStyles;\n\n return React.createElement(\"textarea\", {\n className: textareaStyles,\n placeholder: placeholder,\n disabled: disabled,\n rows: rows,\n cols: cols,\n id: id,\n name: name,\n defaultValue: defaultValue,\n \"aria-labelledby\": labelId,\n \"aria-describedby\": errorId,\n \"aria-required\": required,\n onChange: onChange,\n onBlur: onBlur,\n onFocus: onFocus,\n spellCheck: true,\n readOnly: readOnly\n });\n};\n\nvar useStyles$6 = createUseStyles(function (theme) {\n var _a;\n\n return _defineProperty({\n inputStyles: _objectSpread(_objectSpread({\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n fontSize: '18px',\n lineHeight: '1.5em',\n height: function height(_ref14) {\n var autoHeight = _ref14.autoHeight;\n return autoHeight ? {} : '50px';\n },\n padding: '6px',\n maxWidth: '100%',\n color: theme.questionBody.color,\n transition: 'all 0.1s linear'\n }, theme.isAccessible ? {\n fontWeight: 500,\n opacity: 1,\n border: theme.isAccessible ? \"1px solid \".concat(theme.answerColor) : '0',\n backgroundColor: '#fff'\n } : {\n fontWeight: 300,\n backgroundColor: theme.input.bgColor,\n border: '0'\n }), {}, {\n '&:focus': {\n outline: 'none',\n borderColor: theme.input.activeColor,\n borderRadius: '2px'\n },\n '&:focus, &:hover': _objectSpread({}, theme.isAccessible ? {\n // should be there but was broken\n // https://code.corp.surveymonkey.com/devmonkeys/smlib.surveytemplates/blob/main/smlib/surveytemplates/themes_v3/base_css.jinja2#L1094-L1097\n boxShadow: '0px 2px 8px rgba(0, 0, 0, 7)'\n } : {}),\n '&:disabled, &:read-only': _objectSpread({\n boxShadow: 'none'\n }, theme.isAccessible ? {} : {\n borderColor: 'transparent',\n opacity: 0.5\n })\n })\n }, \"@media only screen and (max-width: \".concat(theme.breakpoints.md.max, \")\"), {\n inputStyles: {\n fontSize: '16px'\n }\n });\n});\n\nvar TextInput = function TextInput(_ref16) {\n var disabled = _ref16.disabled,\n errorId = _ref16.errorId,\n id = _ref16.id,\n labelId = _ref16.labelId,\n name = _ref16.name,\n onBlur = _ref16.onBlur,\n onChange = _ref16.onChange,\n onFocus = _ref16.onFocus,\n placeholder = _ref16.placeholder,\n _ref16$required = _ref16.required,\n required = _ref16$required === void 0 ? false : _ref16$required,\n _ref16$readOnly = _ref16.readOnly,\n readOnly = _ref16$readOnly === void 0 ? false : _ref16$readOnly,\n _ref16$autoHeight = _ref16.autoHeight,\n autoHeight = _ref16$autoHeight === void 0 ? false : _ref16$autoHeight,\n value = _ref16.value,\n _ref16$size = _ref16.size,\n size = _ref16$size === void 0 ? 50 : _ref16$size;\n\n var _useStyles$4 = useStyles$6({\n autoHeight: autoHeight\n }),\n inputStyles = _useStyles$4.inputStyles;\n\n return React.createElement(\"input\", {\n type: \"text\",\n className: inputStyles,\n placeholder: placeholder,\n disabled: disabled,\n size: size,\n id: id,\n name: name,\n value: value,\n onChange: onChange,\n onBlur: onBlur,\n onFocus: onFocus,\n \"aria-labelledby\": labelId,\n \"aria-describedby\": errorId,\n \"aria-required\": required,\n readOnly: readOnly\n });\n};\n\nvar useStyles$5 = createUseStyles(function (theme) {\n var _a; // Quiz results uses the default font size\n\n\n var defaultFontSize = theme.fontSize.body;\n\n var _ref17 = (_a = theme.questionBody) !== null && _a !== void 0 ? _a : {},\n _ref17$fontFamily = _ref17.fontFamily,\n fontFamily = _ref17$fontFamily === void 0 ? 'inherit' : _ref17$fontFamily,\n _ref17$fontWeight = _ref17.fontWeight,\n fontWeight = _ref17$fontWeight === void 0 ? 'inherit' : _ref17$fontWeight,\n _ref17$fontStyle = _ref17.fontStyle,\n fontStyle = _ref17$fontStyle === void 0 ? 'inherit' : _ref17$fontStyle,\n _ref17$textDecoration = _ref17.textDecoration,\n textDecoration = _ref17$textDecoration === void 0 ? 'inherit' : _ref17$textDecoration,\n _ref17$highlightColor = _ref17.highlightColor,\n highlightColor = _ref17$highlightColor === void 0 ? 'inherit' : _ref17$highlightColor,\n _ref17$color = _ref17.color,\n color = _ref17$color === void 0 ? 'inherit' : _ref17$color;\n\n return {\n componentContainer: {\n position: 'relative'\n },\n labelContainer: {\n display: 'inline-block',\n position: 'relative',\n padding: 0,\n margin: [4, 2],\n borderRadius: 4\n },\n textContainer: {\n margin: [3, 0, 2],\n wordBreak: 'break-word',\n pointerEvents: 'none',\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontStyle: fontStyle,\n textDecoration: textDecoration,\n highlightColor: highlightColor,\n color: color,\n fontSize: defaultFontSize\n },\n textInputContainer: {\n margin: [5, 0, 0, 0]\n }\n };\n});\n\nvar QuizResultComment = function QuizResultComment(_ref18) {\n var optionText = _ref18.optionText,\n _ref18$textInputValue = _ref18.textInputValue,\n textInputValue = _ref18$textInputValue === void 0 ? '' : _ref18$textInputValue,\n _ref18$textInputSize = _ref18.textInputSize,\n textInputSize = _ref18$textInputSize === void 0 ? 50 : _ref18$textInputSize,\n _ref18$textInputParag = _ref18.textInputParagraphLines,\n textInputParagraphLines = _ref18$textInputParag === void 0 ? 1 : _ref18$textInputParag,\n id = _ref18.id;\n\n var _useStyles$5 = useStyles$5(),\n componentContainer = _useStyles$5.componentContainer,\n labelContainer = _useStyles$5.labelContainer,\n textContainer = _useStyles$5.textContainer,\n textInputContainer = _useStyles$5.textInputContainer;\n\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: componentContainer\n }, React.createElement(\"label\", {\n htmlFor: id,\n className: labelContainer\n }, React.createElement(\"div\", {\n className: textContainer\n }, React.createElement(RichText, {\n element: \"span\",\n text: optionText\n })))), React.createElement(\"div\", {\n className: textInputContainer\n }, textInputParagraphLines <= 1 ? React.createElement(TextInput, {\n id: id,\n name: \"otherOptionText\",\n value: textInputValue,\n size: textInputSize,\n autoHeight: true,\n readOnly: true\n }) : React.createElement(TextArea, {\n id: id,\n name: \"otherOptionText\",\n rows: textInputParagraphLines,\n defaultValue: textInputValue,\n cols: textInputSize,\n readOnly: true\n })));\n};\n\nvar useStyles$4 = createUseStyles({\n srOnly: visuallyHidden\n});\nvar COPY$1 = defineMessages({\n CORRECT: {\n id: 'SrText.CORRECT',\n defaultMessage: 'Correct',\n description: '[Type: label][Vis: med] - the answer was correct'\n },\n INCORRECT: {\n id: 'SrText.INCORRECT',\n defaultMessage: 'Incorrect',\n description: '[Type: label][Vis: med] - the answer was incorrect '\n }\n});\n\nvar SrText = function SrText(_ref19) {\n var icon = _ref19.icon;\n\n var _useStyles$6 = useStyles$4(),\n srOnly = _useStyles$6.srOnly;\n\n var TranslatedText = function TranslatedText() {\n return React.createElement(T, {\n desc: icon === 'correct' ? COPY$1.CORRECT : COPY$1.INCORRECT\n });\n };\n\n return React.createElement(\"div\", {\n className: srOnly\n }, icon ? React.createElement(TranslatedText, null) : React.createElement(React.Fragment, null));\n};\n\nvar QuizCorrectIcon = function QuizCorrectIcon(_ref20) {\n var _ref20$isAriaHidden = _ref20.isAriaHidden,\n isAriaHidden = _ref20$isAriaHidden === void 0 ? false : _ref20$isAriaHidden;\n return React.createElement(\"svg\", {\n width: \"14px\",\n height: \"10px\",\n viewBox: \"0 0 14 10\",\n version: \"1.1\",\n \"data-testid\": \"quiz-result-correct-icon\",\n \"aria-hidden\": isAriaHidden\n }, React.createElement(\"g\", {\n stroke: \"none\",\n strokeWidth: \"1\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"g\", {\n transform: \"translate(-257, -338.75)\",\n fill: \"#F2FAE8\"\n }, React.createElement(\"g\", {\n id: \"check-correct\",\n transform: \"translate(254, 334)\"\n }, React.createElement(\"g\", null, React.createElement(\"path\", {\n d: \"M4,10.3259737 C4,10.4757908 4.04494448,10.5956428 4.13483478,10.6855331 L7.33716071,13.8990952 C7.42705101,13.9889855 7.55626637,14.069511 7.72481069,14.1406742 C7.893355,14.2118373 8.04504261,14.2474184 8.17987806,14.2474184 L8.78663455,14.2474184 C9.07877802,14.2474184 9.359681,14.1313118 9.6293519,13.8990952 L16.4160356,7.08993903 C16.5059259,7.00004873 16.5508704,6.88206948 16.5508704,6.73599774 C16.5508704,6.589926 16.5059259,6.47194675 16.4160356,6.38205645 L15.1575777,5.13483478 C15.0676874,5.04494448 14.9515809,5 14.8092545,5 C14.6669282,5 14.5433309,5.04494448 14.4384589,5.13483478 L8.85405194,10.7529504 C8.76416164,10.8428407 8.6443097,10.8877852 8.49449253,10.8877852 C8.34467537,10.8877852 8.22482343,10.8428407 8.13493313,10.7529504 L6.11241149,8.7304288 C6.02252119,8.6405385 5.90266926,8.59559403 5.75285209,8.59559403 C5.60303492,8.59559403 5.48318299,8.6405385 5.39329269,8.7304288 L4.13483478,9.96641425 C4.04494448,10.0563045 4,10.1761565 4,10.3259737 L4,10.3259737 Z\"\n }))))));\n};\n\nvar QuizWrongIcon = function QuizWrongIcon(_ref21) {\n var _ref21$isAriaHidden = _ref21.isAriaHidden,\n isAriaHidden = _ref21$isAriaHidden === void 0 ? false : _ref21$isAriaHidden;\n return React.createElement(\"svg\", {\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n version: \"1.1\",\n \"data-testid\": \"quiz-result-wrong-icon\",\n \"aria-hidden\": isAriaHidden\n }, React.createElement(\"g\", {\n stroke: \"none\",\n strokeWidth: \"1\",\n fill: \"none\",\n fillRule: \"evenodd\"\n }, React.createElement(\"path\", {\n d: \"M0.281690141,9.92648775 C0.281690141,10.187088 0.368074254,10.4068447 0.54084507,10.5857643 L1.25070423,11.3208868 C1.42347504,11.4998064 1.63567949,11.5892649 1.88732394,11.5892649 C2.13896839,11.5892649 2.35117285,11.4998064 2.52394366,11.3208868 L5.03661972,8.71878646 C5.20939054,8.53986686 5.42159499,8.4504084 5.67323944,8.4504084 C5.92488389,8.4504084 6.1446,8.53986686 6.33239437,8.71878646 L8.82253521,11.3208868 C8.99530603,11.4998064 9.20751048,11.5892649 9.45915493,11.5892649 C9.71079938,11.5892649 9.93051549,11.4998064 10.1183099,11.3208868 L10.828169,10.5857643 C11.0009398,10.4068447 11.0873239,10.187088 11.0873239,9.92648775 C11.0873239,9.66588746 11.0009398,9.43835181 10.828169,9.24387398 L8.31549296,6.66511085 C8.14272214,6.47063302 8.05633803,6.24698687 8.05633803,5.99416569 C8.05633803,5.74134452 8.14272214,5.51769837 8.31549296,5.32322054 L10.828169,2.74445741 C11.0009398,2.54997958 11.0873239,2.32244393 11.0873239,2.06184364 C11.0873239,1.80124335 11.0009398,1.5814867 10.828169,1.40256709 L10.1183099,0.667444574 C9.93051549,0.488524971 9.71079938,0.399066511 9.45915493,0.399066511 C9.20751048,0.399066511 8.99530603,0.488524971 8.82253521,0.667444574 L6.33239437,3.26954492 C6.1446,3.44846453 5.92488389,3.53792299 5.67323944,3.53792299 C5.42159499,3.53792299 5.20939054,3.44846453 5.03661972,3.26954492 L2.52394366,0.667444574 C2.35117285,0.488524971 2.13896839,0.399066511 1.88732394,0.399066511 C1.63567949,0.399066511 1.42347504,0.488524971 1.25070423,0.667444574 L0.54084507,1.40256709 C0.368074254,1.5814867 0.281690141,1.80124335 0.281690141,2.06184364 C0.281690141,2.32244393 0.368074254,2.54997958 0.54084507,2.74445741 L3.05352113,5.32322054 C3.22629194,5.51769837 3.31267606,5.74134452 3.31267606,5.99416569 C3.31267606,6.24698687 3.22629194,6.47063302 3.05352113,6.66511085 L0.54084507,9.24387398 C0.368074254,9.43835181 0.281690141,9.66588746 0.281690141,9.92648775 L0.281690141,9.92648775 Z\",\n fill: \"#FFFFFF\"\n })));\n};\n\nvar icons = {\n correct: QuizCorrectIcon,\n wrong: QuizWrongIcon\n};\nvar useStyles$3 = createUseStyles(function (theme) {\n var size = {\n height: 20,\n width: 20\n };\n\n var containerBase = _objectSpread({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n }, size);\n\n var getIconContainerBg = function getIconContainerBg(highlight, backgroundColor, iconName) {\n if (iconName === 'correct') {\n return '#00BF6F';\n }\n\n if (iconName === 'wrong') {\n return '#b32e22';\n }\n\n if (highlight) {\n return theme.correctAnswerHighlightColor;\n }\n\n if (backgroundColor) {\n // color set by `iconContainerBackground` - to allow alpha transparency\n return 'transparent';\n }\n\n return theme.primaryBackgroundColor;\n };\n\n var getIconContainerBorderColor = function getIconContainerBorderColor(iconName) {\n if (iconName === 'correct') {\n return theme.border.correctColor;\n }\n\n if (iconName === 'wrong') {\n return theme.border.wrongColor;\n }\n\n return 'inherit';\n };\n\n var getIconContainerBackground = function getIconContainerBackground(highlight, backgroundColor) {\n if (!backgroundColor) {\n return 'inherit';\n }\n\n if (highlight) {\n return theme.primaryBackgroundColor;\n }\n\n return backgroundColor;\n };\n\n return {\n radioContainer: _objectSpread({\n position: 'relative'\n }, size),\n radioInput: {\n opacity: 0,\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%'\n },\n iconContainer: function iconContainer(_ref22) {\n var highlight = _ref22.highlight,\n iconName = _ref22.iconName,\n type = _ref22.type,\n backgroundColor = _ref22.backgroundColor;\n return _objectSpread(_objectSpread({}, containerBase), {}, {\n position: 'relative',\n borderRadius: type === 'radio' ? 10 : 2,\n height: iconName ? size.height : size.height - 2,\n border: iconName ? ['1px', 'solid', theme.border.defaultColor] : [],\n backgroundColor: getIconContainerBg(highlight, backgroundColor, iconName),\n borderColor: getIconContainerBorderColor(iconName)\n });\n },\n // container needed as background for alpha transparency in `correctAnswerHighlightColor`\n iconContainerBackground: function iconContainerBackground(_ref23) {\n var highlight = _ref23.highlight,\n type = _ref23.type,\n iconName = _ref23.iconName,\n backgroundColor = _ref23.backgroundColor;\n return _objectSpread(_objectSpread({}, containerBase), {}, {\n position: 'absolute',\n borderRadius: type === 'radio' ? 10 : 2,\n border: iconName ? [] : ['1px', 'solid', theme.border.defaultColor],\n backgroundColor: getIconContainerBackground(highlight, backgroundColor)\n });\n }\n };\n});\n\nvar InputIcon = function InputIcon(_ref24) {\n var type = _ref24.type,\n id = _ref24.id,\n ariaLabelledby = _ref24.ariaLabelledby,\n _ref24$highlight = _ref24.highlight,\n highlight = _ref24$highlight === void 0 ? false : _ref24$highlight,\n checked = _ref24.checked,\n _ref24$isCorrect = _ref24.isCorrect,\n isCorrect = _ref24$isCorrect === void 0 ? true : _ref24$isCorrect,\n _ref24$ariaDescribedB = _ref24.ariaDescribedBy,\n ariaDescribedBy = _ref24$ariaDescribedB === void 0 ? [] : _ref24$ariaDescribedB,\n _ref24$noScreenReader = _ref24.noScreenReaderText,\n noScreenReaderText = _ref24$noScreenReader === void 0 ? false : _ref24$noScreenReader,\n backgroundColor = _ref24.backgroundColor;\n var iconName;\n\n if (checked && isCorrect) {\n iconName = 'correct';\n } else if (checked) {\n iconName = 'wrong';\n }\n\n var _useStyles$7 = useStyles$3({\n highlight: highlight,\n iconName: iconName,\n type: type,\n backgroundColor: backgroundColor\n }),\n radioContainer = _useStyles$7.radioContainer,\n radioInput = _useStyles$7.radioInput,\n iconContainer = _useStyles$7.iconContainer,\n iconContainerBackground = _useStyles$7.iconContainerBackground;\n\n var Icon = iconName && icons[iconName];\n return React.createElement(\"div\", {\n className: radioContainer\n }, React.createElement(\"input\", {\n id: id,\n className: radioInput,\n type: type,\n checked: !!checked,\n \"aria-labelledby\": ariaLabelledby || undefined,\n \"aria-describedby\": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined,\n readOnly: true\n }), React.createElement(\"div\", {\n className: iconContainerBackground\n }, React.createElement(\"div\", {\n className: iconContainer,\n \"data-testid\": \"quiz-results-icon-container\"\n }, Icon && React.createElement(Icon, {\n isAriaHidden: true\n }))), iconName && !noScreenReaderText && React.createElement(SrText, {\n icon: iconName\n }));\n};\n\nvar useStyles$2 = createUseStyles(function (theme) {\n var _a; // Quiz results uses the default font size\n\n\n var defaultFrontSize = theme.fontSize.body;\n\n var _ref25 = (_a = theme.questionBody) !== null && _a !== void 0 ? _a : {},\n _ref25$fontFamily = _ref25.fontFamily,\n fontFamily = _ref25$fontFamily === void 0 ? 'inherit' : _ref25$fontFamily,\n _ref25$fontWeight = _ref25.fontWeight,\n fontWeight = _ref25$fontWeight === void 0 ? 'inherit' : _ref25$fontWeight,\n _ref25$fontStyle = _ref25.fontStyle,\n fontStyle = _ref25$fontStyle === void 0 ? 'inherit' : _ref25$fontStyle,\n _ref25$textDecoration = _ref25.textDecoration,\n textDecoration = _ref25$textDecoration === void 0 ? 'inherit' : _ref25$textDecoration,\n _ref25$highlightColor = _ref25.highlightColor,\n highlightColor = _ref25$highlightColor === void 0 ? 'inherit' : _ref25$highlightColor,\n _ref25$color = _ref25.color,\n color = _ref25$color === void 0 ? 'inherit' : _ref25$color;\n\n return _defineProperty({\n componentContainer: {\n position: 'relative'\n },\n radioInput: {\n opacity: 0,\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%'\n },\n labelContainer: function labelContainer(_ref26) {\n var highlight = _ref26.highlight,\n type = _ref26.type;\n return {\n display: 'inline-block',\n position: 'relative',\n padding: [1, 8],\n margin: [4, 2],\n backgroundColor: highlight ? theme.correctAnswerHighlightColor : 'initial',\n borderRadius: type === 'checkbox' ? 4 : 13\n };\n },\n textContainer: function textContainer(_ref27) {\n var highlight = _ref27.highlight;\n\n var _a;\n\n return _objectSpread(_objectSpread({\n /* Right and left margin are both defined to account for RTL direction styling. */\n margin: [3, 30, 2],\n wordBreak: 'break-word',\n fontFamily: fontFamily,\n fontWeight: fontWeight,\n fontStyle: fontStyle,\n textDecoration: textDecoration,\n highlightColor: highlightColor,\n color: color\n }, highlight ? {\n fontWeight: (_a = theme.fontWeight.medium) !== null && _a !== void 0 ? _a : {}\n } : {}), {}, {\n fontSize: defaultFrontSize\n });\n },\n iconContainer: {\n margin: 2,\n position: 'absolute'\n },\n textInputContainer: {\n margin: [5, 0, 0, 0]\n }\n }, \"@media (min-width: \".concat(theme.breakpoints.sm.min, \")\"), {\n textInputContainer: {\n margin: [5, 0, 0, 32]\n }\n });\n});\n\nvar QuizResultChoices = function QuizResultChoices(_ref29) {\n var id = _ref29.id,\n type = _ref29.type,\n optionText = _ref29.optionText,\n _ref29$highlight = _ref29.highlight,\n highlight = _ref29$highlight === void 0 ? false : _ref29$highlight,\n icon = _ref29.icon,\n _ref29$hasTextInput = _ref29.hasTextInput,\n hasTextInput = _ref29$hasTextInput === void 0 ? false : _ref29$hasTextInput,\n _ref29$textInputValue = _ref29.textInputValue,\n textInputValue = _ref29$textInputValue === void 0 ? '' : _ref29$textInputValue,\n _ref29$textInputSize = _ref29.textInputSize,\n textInputSize = _ref29$textInputSize === void 0 ? 50 : _ref29$textInputSize,\n _ref29$textInputParag = _ref29.textInputParagraphLines,\n textInputParagraphLines = _ref29$textInputParag === void 0 ? 1 : _ref29$textInputParag;\n\n var _useStyles$8 = useStyles$2({\n highlight: highlight,\n icon: icon,\n type: type\n }),\n componentContainer = _useStyles$8.componentContainer,\n labelContainer = _useStyles$8.labelContainer,\n textContainer = _useStyles$8.textContainer,\n iconContainer = _useStyles$8.iconContainer,\n textInputContainer = _useStyles$8.textInputContainer;\n\n var uniqId = useMemo(function () {\n return uniqueId('id-');\n }, []);\n var radioButtonId = id || uniqId;\n var textInputId = \"caption-\".concat(radioButtonId);\n var inputId = \"input-\".concat(radioButtonId);\n var ariaDescribedBy = [];\n\n if (hasTextInput) {\n ariaDescribedBy.push(textInputId);\n }\n\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n className: componentContainer\n }, React.createElement(\"label\", {\n htmlFor: inputId,\n className: labelContainer\n }, React.createElement(\"div\", {\n className: iconContainer\n }, React.createElement(InputIcon, {\n type: type,\n id: inputId,\n checked: !!icon,\n isCorrect: icon === 'correct',\n highlight: highlight,\n ariaDescribedBy: ariaDescribedBy,\n noScreenReaderText: true\n })), React.createElement(\"div\", {\n className: textContainer\n }, React.createElement(RichText, {\n element: \"span\",\n text: optionText\n })), React.createElement(SrText, {\n icon: icon\n }))), React.createElement(\"div\", {\n className: textInputContainer\n }, hasTextInput && (textInputParagraphLines <= 1 ? React.createElement(TextInput, {\n id: textInputId,\n name: \"otherOptionText\",\n value: textInputValue,\n size: textInputSize,\n labelId: inputId,\n autoHeight: true,\n readOnly: true\n }) : React.createElement(TextArea, {\n id: textInputId,\n name: \"otherOptionText\",\n rows: textInputParagraphLines,\n defaultValue: textInputValue,\n cols: textInputSize,\n labelId: inputId,\n readOnly: true\n }))));\n};\n\nvar useStyles$1 = createUseStyles(function (theme) {\n return {\n imageChoice: {\n display: 'inline-block',\n margin: [15, 0],\n padding: [0, 24, 0, 0]\n },\n componentContainer: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n alignItems: 'center',\n width: 224,\n borderRadius: 2,\n border: '1px solid #D0D2D3'\n },\n iconLabel: {\n position: 'absolute',\n zIndex: 1,\n top: 2,\n left: 2\n },\n imageContainer: function imageContainer(_ref30) {\n var highlight = _ref30.highlight;\n return {\n display: 'inline-block',\n width: '100%',\n height: 168,\n position: 'relative',\n backgroundColor: highlight ? theme.correctAnswerHighlightColor : 'rgb(239, 239, 239)'\n };\n },\n imageStyle: {\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n margin: 'auto',\n maxHeight: '100%',\n maxWidth: '100%',\n height: 'auto',\n width: 'auto',\n pointerEvents: 'none'\n },\n captionStyle: function captionStyle(_ref31) {\n var highlight = _ref31.highlight;\n\n var _a;\n\n return {\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n display: 'block',\n backgroundColor: highlight ? theme.correctAnswerHighlightColor : 'initial',\n color: theme.answerColor,\n width: '100%',\n padding: [7, 9, 9, 7],\n fontWeight: highlight ? 500 : 'initial'\n };\n },\n srOnly: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: 0\n }\n };\n});\n\nvar QuizResultImageChoice = function QuizResultImageChoice(_ref32) {\n var id = _ref32.id,\n _ref32$highlight = _ref32.highlight,\n highlight = _ref32$highlight === void 0 ? false : _ref32$highlight,\n _ref32$selected = _ref32.selected,\n selected = _ref32$selected === void 0 ? false : _ref32$selected,\n image = _ref32.image,\n _ref32$caption = _ref32.caption,\n caption = _ref32$caption === void 0 ? '' : _ref32$caption,\n correctMessage = _ref32.correctMessage,\n selectedMessage = _ref32.selectedMessage,\n _ref32$isManyAnswers = _ref32.isManyAnswers,\n isManyAnswers = _ref32$isManyAnswers === void 0 ? false : _ref32$isManyAnswers;\n\n var _useStyles$9 = useStyles$1({\n highlight: highlight\n }),\n imageChoice = _useStyles$9.imageChoice,\n componentContainer = _useStyles$9.componentContainer,\n imageContainer = _useStyles$9.imageContainer,\n imageStyle = _useStyles$9.imageStyle,\n iconLabel = _useStyles$9.iconLabel,\n captionStyle = _useStyles$9.captionStyle,\n srOnly = _useStyles$9.srOnly;\n\n var uniqId = useMemo(function () {\n return uniqueId('id-');\n }, []);\n var imageChoiceId = id || uniqId;\n var captionId = \"caption-\".concat(imageChoiceId);\n var selectedId = \"selected-\".concat(imageChoiceId);\n var inputId = \"input-\".concat(imageChoiceId);\n var highlightedId = \"highlighted-\".concat(imageChoiceId);\n var ariaDescribedBy = [];\n\n if (highlight) {\n ariaDescribedBy.push(highlightedId);\n }\n\n if (selected) {\n ariaDescribedBy.push(selectedId);\n }\n\n return React.createElement(\"div\", {\n className: imageChoice\n }, React.createElement(\"div\", {\n className: componentContainer\n }, React.createElement(\"div\", {\n className: imageContainer\n }, React.createElement(\"label\", {\n htmlFor: inputId,\n className: iconLabel\n }, React.createElement(InputIcon, {\n id: inputId,\n type: isManyAnswers ? 'checkbox' : 'radio',\n checked: selected,\n isCorrect: selected && highlight,\n highlight: highlight,\n backgroundColor: \"rgb(239, 239, 239)\",\n ariaDescribedBy: ariaDescribedBy,\n ariaLabelledby: caption ? \"\".concat(captionId, \" \").concat(inputId) : undefined\n })), React.createElement(\"img\", {\n className: imageStyle,\n src: image.url,\n // Only add alt text if it's different than the label that describes it\n alt: caption === image.altText ? '' : image.altText,\n \"aria-labelledby\": caption || undefined,\n \"aria-describedby\": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(' ') : undefined\n })), caption && React.createElement(\"span\", {\n className: captionStyle,\n id: captionId\n }, caption), highlight && React.createElement(\"span\", {\n className: srOnly,\n id: highlightedId\n }, correctMessage), selected && React.createElement(\"span\", {\n className: srOnly,\n id: selectedId\n }, selectedMessage)));\n};\n\nvar useStyles = createUseStyles(function (theme) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j; // Quiz results has a consistent font size\n\n\n var fontSize = theme.fontSize.body;\n return {\n componentContainer: {\n margin: [5, 0],\n fontFamily: (_b = (_a = theme.questionTitle) === null || _a === void 0 ? void 0 : _a.fontFamily) !== null && _b !== void 0 ? _b : {},\n fontStyle: (_d = (_c = theme.questionTitle) === null || _c === void 0 ? void 0 : _c.fontStyle) !== null && _d !== void 0 ? _d : {},\n fontWeight: (_f = (_e = theme.questionTitle) === null || _e === void 0 ? void 0 : _e.fontWeight) !== null && _f !== void 0 ? _f : {},\n color: ((_g = theme.questionTitle) === null || _g === void 0 ? void 0 : _g.color) || theme.questionColor,\n fontSize: fontSize,\n textDecoration: (_j = (_h = theme.questionTitle) === null || _h === void 0 ? void 0 : _h.textDecoration) !== null && _j !== void 0 ? _j : {}\n },\n scoreContainer: {\n display: 'inline'\n },\n feedbackContainer: {\n marginTop: 8,\n marginBottom: 0,\n wordWrap: 'wrap'\n },\n skippedBadge: {\n display: 'inline',\n padding: [2, 15],\n borderRadius: 15,\n backgroundColor: 'rgba(0, 0, 0, 0.1)',\n marginLeft: 5\n }\n };\n});\nvar COPY = defineMessages({\n POINT: {\n id: 'QuizResultScore.POINT',\n defaultMessage: 'point',\n description: '[Type: header][Vis: med] - total point of this quiz question'\n },\n POINTS: {\n id: 'QuizResultScore.POINTS',\n defaultMessage: 'points',\n description: '[Type: header][Vis: med] - total point of this quiz question'\n },\n SKIPPED: {\n id: 'QuizResultScore.SKIPPED',\n defaultMessage: 'Skipped',\n description: '[Type: header][Vis: med] - user skipped this quiz question'\n }\n});\n\nvar QuizResultScore = function QuizResultScore(_ref33) {\n var score = _ref33.score,\n total = _ref33.total,\n feedback = _ref33.feedback,\n _ref33$skipped = _ref33.skipped,\n skipped = _ref33$skipped === void 0 ? false : _ref33$skipped;\n\n var _useStyles = useStyles(),\n componentContainer = _useStyles.componentContainer,\n scoreContainer = _useStyles.scoreContainer,\n feedbackContainer = _useStyles.feedbackContainer,\n skippedBadge = _useStyles.skippedBadge;\n\n return React.createElement(\"div\", {\n className: componentContainer\n }, React.createElement(\"p\", {\n className: scoreContainer\n }, \"\".concat(score, \"/\").concat(total, \" \"), React.createElement(T, {\n desc: total > 1 ? COPY.POINTS : COPY.POINT\n })), skipped && React.createElement(\"span\", {\n className: skippedBadge\n }, React.createElement(T, {\n desc: COPY.SKIPPED\n })), feedback && React.createElement(\"p\", {\n className: feedbackContainer,\n dangerouslySetInnerHTML: {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n __html: sanitizeString(lodash_unescape(feedback))\n }\n }));\n};\n/**\n * Get the icon to indicator whether or not user got the answer correct or not\n * @param responded whether user selected the answer option or not\n * @param answerOptionPoints answer option points\n */\n\n\nvar getCorrectnessIndicatorIcon = function getCorrectnessIndicatorIcon(responded, answerOptionPoints) {\n if (!responded) {\n return undefined;\n }\n\n if (answerOptionPoints <= 0) {\n return 'wrong';\n }\n\n return 'correct';\n};\n/** Gets the icon and highlight for `idToSearch` */\n\n\nvar getIconAndHighlight = function getIconAndHighlight(answers, idToSearch, highlightCorrectAnswers) {\n var _ref34 = answers.find(function (_ref35) {\n var answer = _ref35.answer;\n return answer.id === idToSearch;\n }) || {},\n _ref34$points = _ref34.points,\n points = _ref34$points === void 0 ? 0 : _ref34$points,\n _ref34$responded = _ref34.responded,\n responded = _ref34$responded === void 0 ? false : _ref34$responded;\n\n var icon = getCorrectnessIndicatorIcon(responded, points);\n return {\n icon: icon,\n highlight: highlightCorrectAnswers && points > 0\n };\n};\n/** Picks feedback string based on user/total score */\n\n\nvar pickFeedback = function pickFeedback(feedback, userScore, totalScore) {\n if (userScore >= totalScore) {\n return feedback.correct;\n }\n\n if (userScore > 0) {\n return feedback.partial;\n }\n\n return feedback.incorrect;\n};\n/**\n * Calculate user score for a quiz question\n * @param quizAnswers Quiz or QuizImage results answers\n */\n\n\nvar getUserScore = function getUserScore(quizAnswers) {\n return quizAnswers.reduce(function (acc, cur) {\n return cur.responded ? acc + cur.points : acc;\n }, 0);\n};\n/** Helper Type Guard to filter our `undefined` */\n\n\nvar isNotUndefined = function isNotUndefined(a) {\n return a !== undefined;\n};\n\nvar isPureQuizAnswer = function isPureQuizAnswer(answer) {\n return 'label' in answer.answer && 'visible' in answer.answer;\n};\n/** Filter `answers` to only regular Answers without invisible, \"other\" and \"none of the above\" */\n\n\nvar filterQuizAnswers = function filterQuizAnswers(answers) {\n var idsToFilter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return answers.filter(isPureQuizAnswer).filter(function (_ref36) {\n var visible = _ref36.answer.visible;\n return visible;\n }).filter(function (a) {\n return !idsToFilter.filter(isNotUndefined).includes(a.answer.id);\n });\n};\n\nvar isPureQuizImageAnswer = function isPureQuizImageAnswer(answer) {\n return 'label' in answer.answer && 'visible' in answer.answer && 'image' in answer.answer;\n};\n/** QuizImageAnswer without \"other\" and \"none of the above\" */\n\n\nvar filterOtherFromQuizImageAnswer = function filterOtherFromQuizImageAnswer(answers) {\n var idsToFilter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n return answers.filter(isPureQuizImageAnswer).filter(function (_ref37) {\n var visible = _ref37.answer.visible;\n return visible;\n }).filter(function (a) {\n return !idsToFilter.filter(isNotUndefined).includes(a.answer.id);\n });\n};\n\nvar ErrorFallback = function ErrorFallback(_ref38) {\n var error = _ref38.error;\n // TODO: temporary fallback ui (RAWR-773)\n return React.createElement(React.Fragment, null, React.createElement(\"h1\", null, \"Sorry.. there was an error\"), React.createElement(\"p\", null, error.message));\n};\n\nvar withErrorBoundary = function withErrorBoundary(Component) {\n return function (props) {\n return React.createElement(reactErrorBoundary_umd.exports.ErrorBoundary, {\n FallbackComponent: ErrorFallback\n }, React.createElement(Component, Object.assign({}, props)));\n };\n};\n\nvar CheckBox = function CheckBox(_ref39) {\n var id = _ref39.id,\n title = _ref39.title,\n questionNumber = _ref39.questionNumber,\n numberingEnabled = _ref39.numberingEnabled,\n highlightCorrectAnswers = _ref39.highlightCorrectAnswers,\n answerNoneOfTheAbove = _ref39.answerNoneOfTheAbove,\n answerLayoutColumns = _ref39.answerLayoutColumns,\n spacing = _ref39.spacing,\n answerOther = _ref39.answerOther,\n quizResults = _ref39.quizResults;\n var userScore = getUserScore(quizResults.answers);\n var totalScore = quizResults.totalPoints;\n var feedback = pickFeedback(quizResults.feedback, userScore, totalScore);\n /** Visible answers without \"other\" and \"none of the above\" */\n\n var regularAnswers = filterQuizAnswers(quizResults.answers, [answerNoneOfTheAbove === null || answerNoneOfTheAbove === void 0 ? void 0 : answerNoneOfTheAbove.id, answerOther === null || answerOther === void 0 ? void 0 : answerOther.id]);\n var isComment = (answerOther === null || answerOther === void 0 ? void 0 : answerOther.type) === 'COMMENT';\n\n var NoneOfTheAboveOption = function NoneOfTheAboveOption() {\n return (answerNoneOfTheAbove === null || answerNoneOfTheAbove === void 0 ? void 0 : answerNoneOfTheAbove.visible) ? React.createElement(QuizResultChoices, Object.assign({\n id: answerNoneOfTheAbove.id,\n type: \"checkbox\",\n optionText: answerNoneOfTheAbove.label,\n textInputValue: \"\"\n }, getIconAndHighlight(quizResults.answers, answerNoneOfTheAbove.id, highlightCorrectAnswers))) : null;\n };\n\n var OtherOption = function OtherOption() {\n var _a, _b;\n\n if (!(answerOther === null || answerOther === void 0 ? void 0 : answerOther.visible)) {\n return null;\n }\n\n return isComment ? React.createElement(QuizResultComment, {\n id: answerOther.id,\n optionText: answerOther.label,\n textInputValue: ((_a = quizResults.answerOther) === null || _a === void 0 ? void 0 : _a.textAnswer) || '',\n textInputSize: answerOther.charsCount,\n textInputParagraphLines: answerOther.linesCount\n }) : React.createElement(QuizResultChoices, Object.assign({\n id: answerOther.id,\n type: \"checkbox\",\n optionText: answerOther.label,\n textInputValue: ((_b = quizResults.answerOther) === null || _b === void 0 ? void 0 : _b.textAnswer) || '',\n hasTextInput: true,\n textInputSize: answerOther.charsCount,\n textInputParagraphLines: answerOther.linesCount\n }, getIconAndHighlight(quizResults.answers, answerOther.id, !isComment && highlightCorrectAnswers)));\n };\n\n return React.createElement(QuestionFieldLayoutTemplate, {\n title: React.createElement(QuestionTitle, {\n id: id,\n heading: title,\n required: false,\n numbered: numberingEnabled,\n number: parseInt(questionNumber, 10),\n useDefaultFrontSize: true\n }),\n footer: React.createElement(QuizResultScore, {\n score: userScore,\n total: totalScore,\n feedback: feedback,\n skipped: false\n }),\n padding: spacing,\n clickShield: false,\n hasFooterPadding: true\n }, React.createElement(QuestionAnswerLayoutTemplate, {\n columns: answerLayoutColumns,\n noneOfTheAbove: !isComment ? React.createElement(NoneOfTheAboveOption, null) : null,\n other: React.createElement(OtherOption, null)\n }, regularAnswers.map(function (_ref40) {\n var answer = _ref40.answer,\n responded = _ref40.responded,\n points = _ref40.points;\n return React.createElement(QuizResultChoices, {\n key: answer.id,\n textInputValue: \"\",\n id: answer.id,\n type: \"checkbox\",\n optionText: answer.label,\n icon: getCorrectnessIndicatorIcon(responded, points),\n // Correct answers are expected to have a point value above 0\n // and should be highlighted.\n highlight: highlightCorrectAnswers && points > 0\n });\n }).concat(isComment ? [React.createElement(NoneOfTheAboveOption, {\n key: answerNoneOfTheAbove === null || answerNoneOfTheAbove === void 0 ? void 0 : answerNoneOfTheAbove.id\n })] : [])));\n};\n\nvar CheckBox$1 = withErrorBoundary(CheckBox);\n\nvar MultipleChoice = function MultipleChoice(_ref41) {\n var id = _ref41.id,\n title = _ref41.title,\n questionNumber = _ref41.questionNumber,\n numberingEnabled = _ref41.numberingEnabled,\n highlightCorrectAnswers = _ref41.highlightCorrectAnswers,\n answerNoneOfTheAbove = _ref41.answerNoneOfTheAbove,\n answerLayoutColumns = _ref41.answerLayoutColumns,\n spacing = _ref41.spacing,\n answerOther = _ref41.answerOther,\n quizResults = _ref41.quizResults;\n var userScore = getUserScore(quizResults.answers);\n var totalScore = quizResults.totalPoints;\n var feedback = pickFeedback(quizResults.feedback, userScore, totalScore);\n /** Visible answers without \"other\" and \"none of the above\" */\n\n var regularAnswers = filterQuizAnswers(quizResults.answers, [answerNoneOfTheAbove === null || answerNoneOfTheAbove === void 0 ? void 0 : answerNoneOfTheAbove.id, answerOther === null || answerOther === void 0 ? void 0 : answerOther.id]);\n var isComment = (answerOther === null || answerOther === void 0 ? void 0 : answerOther.type) === 'COMMENT';\n\n var NoneOfTheAboveOption = function NoneOfTheAboveOption() {\n return (answerNoneOfTheAbove === null || answerNoneOfTheAbove === void 0 ? void 0 : answerNoneOfTheAbove.visible) ? React.createElement(QuizResultChoices, Object.assign({\n type: \"radio\",\n id: answerNoneOfTheAbove.id,\n optionText: answerNoneOfTheAbove.label,\n textInputValue: \"\"\n }, getIconAndHighlight(quizResults.answers, answerNoneOfTheAbove.id, highlightCorrectAnswers))) : null;\n };\n\n var OtherOption = function OtherOption() {\n var _a, _b;\n\n if (!(answerOther === null || answerOther === void 0 ? void 0 : answerOther.visible)) {\n return null;\n }\n\n return isComment ? React.createElement(QuizResultComment, {\n id: answerOther.id,\n optionText: answerOther.label,\n textInputValue: ((_a = quizResults.answerOther) === null || _a === void 0 ? void 0 : _a.textAnswer) || '',\n textInputSize: answerOther.charsCount,\n textInputParagraphLines: answerOther.linesCount\n }) : React.createElement(QuizResultChoices, Object.assign({\n type: \"radio\",\n id: answerOther.id,\n optionText: answerOther.label,\n textInputValue: ((_b = quizResults.answerOther) === null || _b === void 0 ? void 0 : _b.textAnswer) || '',\n hasTextInput: true,\n textInputSize: answerOther.charsCount,\n textInputParagraphLines: answerOther.linesCount\n }, getIconAndHighlight(quizResults.answers, answerOther.id, !isComment && highlightCorrectAnswers)));\n };\n\n return React.createElement(QuestionFieldLayoutTemplate, {\n title: React.createElement(QuestionTitle, {\n id: id,\n heading: title,\n required: false,\n numbered: numberingEnabled,\n number: parseInt(questionNumber, 10),\n useDefaultFrontSize: true\n }),\n footer: React.createElement(QuizResultScore, {\n score: userScore,\n total: totalScore,\n feedback: feedback,\n skipped: false\n }),\n padding: spacing,\n clickShield: false,\n hasFooterPadding: true\n }, React.createElement(QuestionAnswerLayoutTemplate, {\n columns: answerLayoutColumns,\n noneOfTheAbove: !isComment ? React.createElement(NoneOfTheAboveOption, null) : null,\n other: React.createElement(OtherOption, null)\n }, regularAnswers.map(function (answerOption) {\n var answer = answerOption.answer,\n points = answerOption.points,\n responded = answerOption.responded;\n var icon = getCorrectnessIndicatorIcon(responded, points);\n return React.createElement(QuizResultChoices, {\n type: \"radio\",\n key: answer.id,\n id: answer.id,\n optionText: answer.label,\n textInputValue: \"\",\n icon: icon,\n // Correct answers are expected to have a point value above 0\n // and should be highlighted.\n highlight: highlightCorrectAnswers && points > 0\n });\n }).concat(isComment && answerNoneOfTheAbove ? [React.createElement(NoneOfTheAboveOption, {\n key: answerNoneOfTheAbove.id\n })] : [])));\n};\n\nvar MultipleChoice$1 = withErrorBoundary(MultipleChoice);\n\nvar ImageChoice = function ImageChoice(_ref42) {\n var id = _ref42.id,\n title = _ref42.title,\n questionNumber = _ref42.questionNumber,\n highlightCorrectAnswers = _ref42.highlightCorrectAnswers,\n numberingEnabled = _ref42.numberingEnabled,\n answerNoneOfTheAbove = _ref42.answerNoneOfTheAbove,\n quizResults = _ref42.quizResults,\n isManyAnswers = _ref42.isManyAnswers;\n var userScore = getUserScore(quizResults.answers);\n var totalScore = quizResults.totalPoints;\n var feedback = pickFeedback(quizResults.feedback, userScore, totalScore);\n\n var NoneOfTheAboveOption = function NoneOfTheAboveOption() {\n return answerNoneOfTheAbove && answerNoneOfTheAbove.visible ? React.createElement(QuizResultChoices, Object.assign({\n type: isManyAnswers ? 'checkbox' : 'radio',\n id: answerNoneOfTheAbove.id,\n optionText: answerNoneOfTheAbove.label,\n textInputValue: \"\"\n }, getIconAndHighlight(quizResults.answers, answerNoneOfTheAbove.id, highlightCorrectAnswers))) : null;\n };\n /** Answers without \"none of the above\" */\n\n\n var regularAnswers = filterOtherFromQuizImageAnswer(quizResults.answers, [answerNoneOfTheAbove === null || answerNoneOfTheAbove === void 0 ? void 0 : answerNoneOfTheAbove.id]);\n return React.createElement(QuestionFieldLayoutTemplate, {\n title: React.createElement(QuestionTitle, {\n id: id,\n heading: title,\n required: false,\n numbered: numberingEnabled,\n number: parseInt(questionNumber, 10),\n useDefaultFrontSize: true\n }),\n footer: React.createElement(QuizResultScore, {\n score: userScore,\n total: totalScore,\n feedback: feedback,\n skipped: false\n }),\n clickShield: false,\n hasFooterPadding: true\n }, React.createElement(QuestionAnswerLayoutTemplate, {\n columns: \"horizontal\",\n noneOfTheAbove: React.createElement(NoneOfTheAboveOption, null),\n adjustToContent: true\n }, regularAnswers.map(function (answerOption) {\n var answer = answerOption.answer,\n points = answerOption.points,\n responded = answerOption.responded;\n return React.createElement(QuizResultImageChoice, {\n key: answer.id,\n id: answer.id,\n image: answer.image,\n caption: answer.label,\n selected: responded,\n isManyAnswers: isManyAnswers,\n // Correct answers are expected to have a point value above 0\n // and should be highlighted.\n highlight: highlightCorrectAnswers && points > 0\n });\n })));\n};\n\nvar ImageChoice$1 = withErrorBoundary(ImageChoice);\nexport { CheckBox$1 as CheckBox, ImageChoice$1 as ImageChoice, MultipleChoice$1 as MultipleChoice };","import React from 'react';\nimport { selectQuestionTypeDefinition, isExternalQuestionWithTypeId } from '@sm/question-definitions';\nimport { w as withErrorBoundary, u as useProviderAccessContext, a as useExternalQuestionAugmentation, c as createVisualization } from './utils-fc914b8b.js';\n\nvar UnsupportedQuestionTypeError = function UnsupportedQuestionTypeError(_ref) {\n var question = _ref.question;\n var typeId = isExternalQuestionWithTypeId(question) && question.typeId;\n return React.createElement(\"div\", null, \"Unsupported Question Type: \", typeId);\n};\n\nvar SingleQuestionController = function SingleQuestionController(_ref2) {\n var externalQuestion = _ref2.question,\n displayOptions = _ref2.displayOptions,\n namedSlots = _ref2.namedSlots,\n responseSet = _ref2.responseSet;\n\n var _useProviderAccessCon = useProviderAccessContext(),\n useUpstreamConfig = _useProviderAccessCon.useUpstreamConfig,\n useVisualizationList = _useProviderAccessCon.useVisualizationList;\n\n var _useUpstreamConfig = useUpstreamConfig(),\n capability = _useUpstreamConfig.capability,\n upstreamActions = _useUpstreamConfig.upstreamActions,\n renderProps = _useUpstreamConfig.renderProps,\n settings = _useUpstreamConfig.settings;\n /* NOTE:\n Since Controllers are expected to be capability-independent -- and should not import\n the CapabilityProvider types -- this config is returning the type params as `unknown`s.\n This shouldn't be a problem -- as the Controller doesn't need to know\n any specifics about these types - other than passing them to the compatible\n Visualizations (something that the Visualization Helpers runtime already takes\n care of). However, the consequence is that overall type safety of the Controller\n is not as strict as we would like it to be. We should probably create a task\n to improve this later.\n */\n // TODO: add controller type to the visualization selection -- to allow for different DisplayOptions and better support for nested visualizations\n\n\n var visualizationOptions = useVisualizationList(capability\n /* , controllerType */\n ); // Augment the external question with the type id\n\n var augmentedExternalQuestion = useExternalQuestionAugmentation(externalQuestion, responseSet);\n var definition = selectQuestionTypeDefinition(augmentedExternalQuestion);\n\n if (!definition) {\n return React.createElement(UnsupportedQuestionTypeError, {\n question: augmentedExternalQuestion\n });\n }\n\n var toExternalQuestion = function toExternalQuestion(q) {\n return definition.toExternalQuestion(externalQuestion, q, capability);\n }; // useMemo to optimize this\n\n\n var ChosenVisualization = createVisualization(capability, definition.typeId, visualizationOptions, upstreamActions, settings, renderProps);\n /* NOTE:\n Type safety improvement: Currently 'QuestionType' is all the possible question types\n -- while createVisualization will choose a visualization that can render\n question types for a specific capability -- meaning that the resulting question\n type of 'ChosenVisualization' is a subset of all the possible QuestionTypes\n (only those that have viable visualizations for that capability -- and, in the\n future, ControllerType)\n */\n\n var question = definition.fromExternalQuestion(augmentedExternalQuestion, capability);\n return React.createElement(ChosenVisualization, {\n question: question,\n displayOptions: displayOptions,\n namedSlots: namedSlots,\n toExternalQuestion: toExternalQuestion\n });\n};\n\nvar SingleQuestionController$1 = withErrorBoundary(SingleQuestionController);\nexport { SingleQuestionController$1 as S };","import _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport { SurveyThemeWrapper } from '@sm/question-ui/theme-respondent';\nimport { d as declareVisualization, p as providerFactory } from './utils-fc914b8b.js';\nimport { MultipleChoice, CheckBox, ImageChoice } from '@sm/question-ui/respondent-quiz-results';\nexport { S as SingleQuestionController } from './controllers-65d23969.js';\nimport './vendor-4368c290.js';\nimport '@sm/question-definitions';\n/**\n * Derive the answer layout columns\n * @param answerLayout answer layout from external question\n */\n\nvar getAnswerLayoutColumns = function getAnswerLayoutColumns(answerLayout) {\n if (answerLayout === 'VERTICAL') {\n return 1;\n }\n\n if (answerLayout === 'TWO_COLUMNS') {\n return 2;\n }\n\n if (answerLayout === 'THREE_COLUMNS') {\n return 3;\n }\n\n return 'horizontal';\n};\n\nvar isAnswer = function isAnswer(maybeAnswer) {\n return 'label' in maybeAnswer && 'id' in maybeAnswer && 'visible' in maybeAnswer;\n};\n\nvar quizAnswersToImageAnswers = function quizAnswersToImageAnswers(quizAnswers, answersImage) {\n return quizAnswers.map(function (ans) {\n if (!isAnswer(ans.answer)) {\n return ans;\n }\n\n var matchingImageAnswer = answersImage.find(function (ansImg) {\n return ansImg.id === ans.answer.id;\n });\n\n if (!matchingImageAnswer) {\n throw new Error('Image not found'); // TODO: Handle this later\n }\n\n var answer = matchingImageAnswer;\n return _objectSpread(_objectSpread({}, ans), {}, {\n answer: _objectSpread({}, answer)\n });\n });\n};\n/**\n * Map the quiz results with the image answers\n * @param quizResults the quizResults provided by the external question\n * @param answersImage the answersImage provided by the external question\n */\n\n\nvar getQuizResultsWithImage = function getQuizResultsWithImage(quizResults, answersImage) {\n return _objectSpread(_objectSpread({}, quizResults), {}, {\n answers: quizAnswersToImageAnswers(quizResults.answers, answersImage)\n });\n};\n\nvar MultipleChoiceVisualization = function MultipleChoiceVisualization(_ref) {\n var _ref$question = _ref.question,\n _ref$question$layout = _ref$question.layout,\n answerLayout = _ref$question$layout.answerLayout,\n spacing = _ref$question$layout.spacing,\n quizResults = _ref$question.quizResults,\n id = _ref$question.id,\n title = _ref$question.title,\n questionNumber = _ref$question.questionNumber,\n answerNoneOfTheAbove = _ref$question.answerNoneOfTheAbove,\n answerOther = _ref$question.answerOther,\n _ref$settings$survey = _ref.settings.survey,\n numberingEnabled = _ref$settings$survey.numberingEnabled,\n highlightCorrectAnswers = _ref$settings$survey.highlightCorrectAnswers;\n\n // TODO: use a better error handling once we have the error handing\n // pattern designed\n if (!quizResults) {\n /* eslint-disable-next-line no-console */\n console.warn('Missing quiz results in the data');\n return React.createElement(React.Fragment, null);\n }\n\n var answerLayoutColumns = getAnswerLayoutColumns(answerLayout);\n return React.createElement(MultipleChoice, {\n id: id,\n title: title,\n questionNumber: questionNumber,\n highlightCorrectAnswers: highlightCorrectAnswers,\n numberingEnabled: numberingEnabled,\n answerNoneOfTheAbove: answerNoneOfTheAbove,\n answerLayoutColumns: answerLayoutColumns,\n spacing: spacing,\n answerOther: answerOther,\n quizResults: quizResults\n });\n};\n\nvar MultipleChoiceVisualization$1 = declareVisualization(['multiple_choice'], ['respondent-quiz-results'], MultipleChoiceVisualization);\n\nvar CheckBoxVisualization = function CheckBoxVisualization(_ref2) {\n var _ref2$question = _ref2.question,\n _ref2$question$layout = _ref2$question.layout,\n answerLayout = _ref2$question$layout.answerLayout,\n spacing = _ref2$question$layout.spacing,\n quizResults = _ref2$question.quizResults,\n id = _ref2$question.id,\n title = _ref2$question.title,\n questionNumber = _ref2$question.questionNumber,\n answerNoneOfTheAbove = _ref2$question.answerNoneOfTheAbove,\n answerOther = _ref2$question.answerOther,\n _ref2$settings$survey = _ref2.settings.survey,\n numberingEnabled = _ref2$settings$survey.numberingEnabled,\n highlightCorrectAnswers = _ref2$settings$survey.highlightCorrectAnswers;\n\n // TODO: use a better error handling once we have the error handing\n // pattern designed\n if (!quizResults) {\n /* eslint-disable-next-line no-console */\n console.warn('Missing quiz results in the data');\n return null;\n }\n\n var answerLayoutColumns = getAnswerLayoutColumns(answerLayout);\n return React.createElement(CheckBox, {\n id: id,\n title: title,\n questionNumber: questionNumber,\n highlightCorrectAnswers: highlightCorrectAnswers,\n numberingEnabled: numberingEnabled,\n answerNoneOfTheAbove: answerNoneOfTheAbove,\n answerLayoutColumns: answerLayoutColumns,\n spacing: spacing,\n answerOther: answerOther,\n quizResults: quizResults\n });\n};\n\nvar CheckBoxVisualization$1 = declareVisualization(['check_box'], ['respondent-quiz-results'], CheckBoxVisualization);\n\nvar ImageChoiceVisualization = function ImageChoiceVisualization(_ref3) {\n var _ref3$question = _ref3.question,\n quizResults = _ref3$question.quizResults,\n id = _ref3$question.id,\n title = _ref3$question.title,\n questionNumber = _ref3$question.questionNumber,\n answerNoneOfTheAbove = _ref3$question.answerNoneOfTheAbove,\n answersImage = _ref3$question.answersImage,\n variant = _ref3$question.variant,\n _ref3$settings$survey = _ref3.settings.survey,\n numberingEnabled = _ref3$settings$survey.numberingEnabled,\n highlightCorrectAnswers = _ref3$settings$survey.highlightCorrectAnswers;\n\n // TODO: use a better error handling once we have the error handing\n // pattern designed\n if (!quizResults) {\n /* eslint-disable-next-line no-console */\n console.warn('Missing quiz results in the data');\n return React.createElement(React.Fragment, null);\n }\n\n var isManyAnswers = variant === 'MANY_ANSWERS_IMAGE';\n var quizResultsWithImage = getQuizResultsWithImage(quizResults, answersImage);\n return React.createElement(ImageChoice, {\n id: id,\n title: title,\n questionNumber: questionNumber,\n highlightCorrectAnswers: highlightCorrectAnswers,\n numberingEnabled: numberingEnabled,\n answerNoneOfTheAbove: answerNoneOfTheAbove,\n quizResults: quizResultsWithImage,\n isManyAnswers: isManyAnswers\n });\n};\n\nvar ImageChoiceVisualization$1 = declareVisualization(['image_choice'], ['respondent-quiz-results'], ImageChoiceVisualization);\n\nvar DropdownVisualization = function DropdownVisualization(_ref4) {\n var _ref4$question = _ref4.question,\n _ref4$question$layout = _ref4$question.layout,\n answerLayout = _ref4$question$layout.answerLayout,\n spacing = _ref4$question$layout.spacing,\n quizResults = _ref4$question.quizResults,\n id = _ref4$question.id,\n title = _ref4$question.title,\n questionNumber = _ref4$question.questionNumber,\n answerOther = _ref4$question.answerOther,\n _ref4$settings$survey = _ref4.settings.survey,\n numberingEnabled = _ref4$settings$survey.numberingEnabled,\n highlightCorrectAnswers = _ref4$settings$survey.highlightCorrectAnswers;\n\n // TODO: use a better error handling once we have the error handing\n // pattern designed\n if (!quizResults) {\n /* eslint-disable-next-line no-console */\n console.warn('Missing quiz results in the data');\n return React.createElement(React.Fragment, null);\n }\n\n var answerLayoutColumns = getAnswerLayoutColumns(answerLayout);\n return React.createElement(MultipleChoice, {\n id: id,\n title: title,\n questionNumber: questionNumber,\n highlightCorrectAnswers: highlightCorrectAnswers,\n numberingEnabled: numberingEnabled,\n answerNoneOfTheAbove: null,\n answerLayoutColumns: answerLayoutColumns,\n spacing: spacing,\n answerOther: answerOther,\n quizResults: quizResults\n });\n};\n\nvar DropdownVisualization$1 = declareVisualization(['dropdown'], ['respondent-quiz-results'], DropdownVisualization);\nvar visualizationList = [MultipleChoiceVisualization$1, CheckBoxVisualization$1, ImageChoiceVisualization$1, DropdownVisualization$1];\nvar ProviderHelper = providerFactory(visualizationList);\n\nvar QuizResultsCapabilityProvider = function QuizResultsCapabilityProvider(_ref5) {\n var settings = _ref5.settings,\n children = _ref5.children;\n return React.createElement(ProviderHelper, {\n value: {\n capability: 'respondent-quiz-results',\n upstreamActions: null,\n renderProps: null,\n settings: settings\n }\n }, React.createElement(SurveyThemeWrapper, null, children));\n};\n\nexport { QuizResultsCapabilityProvider, visualizationList as QuizResultsVisualizationList };","import _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { createContext, useContext, useMemo } from 'react';\nimport { r as reactErrorBoundary_umd } from './vendor-4368c290.js';\nimport { getTypeId } from '@sm/question-definitions';\n\nvar filterVisualizationByQuestionType = function filterVisualizationByQuestionType(typeId) {\n return function (qd) {\n var _qd = _slicedToArray(qd, 1),\n qts = _qd[0];\n\n return qts.includes(typeId);\n };\n};\n\nvar FallbackComponent = function FallbackComponent(_ref) {\n var error = _ref.error;\n // TODO: temporary fallback ui (RAWR-773)\n return React.createElement(React.Fragment, null, React.createElement(\"h1\", null, \"Sorry.. there was an error\"), React.createElement(\"p\", null, error.message));\n};\n\nvar withErrorBoundary = function withErrorBoundary(Component) {\n return function (props) {\n return React.createElement(reactErrorBoundary_umd.exports.ErrorBoundary, {\n FallbackComponent: FallbackComponent\n }, React.createElement(Component, Object.assign({}, props)));\n };\n};\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\n\nvar declareVisualization = function declareVisualization(questionTypes, capabilities, component) {\n return [questionTypes, capabilities, component];\n};\n\nvar providerAccessContext = createContext(null);\n\nvar useProviderAccessContext = function useProviderAccessContext() {\n var access = useContext(providerAccessContext);\n\n if (!access) {\n throw new Error('Must call useProviderAccessContext inside a properly setup Capability Provider');\n }\n\n var useUpstreamConfig = access.useUpstreamConfig,\n useVisualizationList = access.useVisualizationList;\n return {\n useVisualizationList: useVisualizationList,\n useUpstreamConfig: useUpstreamConfig\n };\n};\n/** providerFactory\n * Creates a helper component that enables a CapabilityProvider to store the appropriate configurations,\n * making them available to the visualizations through the generic controllers. It makes sure that all\n * Visualizations have the proper types passed onto them.\n * @param visualizationList list of visualization definitions for all the visualizations that will be\n * supported by this Capability Provider.\n * @returns React Context Provider accepting the appropriate configuration for the CapabilityProvider\n */\n\n\nvar providerFactory = function providerFactory(visualizationList) {\n var ctx = React.createContext(null); // TODO: further filter types to match the ones in the right indexes based on capability\n\n var useVisualizationList = function useVisualizationList(capability) {\n return visualizationList.filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n fs = _ref3[1];\n\n return fs.indexOf(capability) >= 0;\n });\n };\n\n var useUpstreamConfig = function useUpstreamConfig() {\n var config = useContext(ctx);\n\n if (!config) {\n throw new Error('Must call useUpstreamConfig inside a properly set up Capability Provider');\n }\n\n return config;\n };\n\n return function (_ref4) {\n var children = _ref4.children,\n value = _ref4.value;\n return React.createElement(reactErrorBoundary_umd.exports.ErrorBoundary, {\n FallbackComponent: FallbackComponent\n }, React.createElement(providerAccessContext.Provider, {\n value: {\n useVisualizationList: useVisualizationList,\n useUpstreamConfig: useUpstreamConfig\n }\n }, React.createElement(ctx.Provider, {\n value: value\n }, children)));\n };\n};\n\nvar UnsupportedVisualization = function UnsupportedVisualization(_ref5) {\n var typeId = _ref5.question.typeId;\n return React.createElement(\"div\", null, \"Unsupported Visualization for \", typeId);\n};\n\nvar createVisualization = function createVisualization(capability, questionTypeId, visualizationOptions, upstreamActions, settings, renderProps) {\n var _ref6 = visualizationOptions.find(filterVisualizationByQuestionType(questionTypeId)) || [],\n _ref7 = _slicedToArray(_ref6, 3),\n VisualizationComponent = _ref7[2];\n\n if (!VisualizationComponent) {\n return function (_ref8) {\n var question = _ref8.question;\n return React.createElement(UnsupportedVisualization, {\n question: question\n });\n };\n }\n\n return function (_ref9) {\n var question = _ref9.question,\n displayOptions = _ref9.displayOptions,\n namedSlots = _ref9.namedSlots,\n toExternalQuestion = _ref9.toExternalQuestion;\n return React.createElement(VisualizationComponent, {\n capability: capability,\n question: question,\n upstreamActions: upstreamActions,\n settings: settings,\n displayOptions: displayOptions,\n renderProps: renderProps,\n toExternalQuestion: toExternalQuestion,\n namedSlots: namedSlots\n });\n };\n}; // TODO: move to common question utils\n\n\nvar isLocalError = function isLocalError(e) {\n return e.type === 'local-error';\n}; // TODO: add to question type definitions\n\n\nvar isRequired = function isRequired(q) {\n var _a;\n\n return ((_a = q.required) === null || _a === void 0 ? void 0 : _a.type) !== undefined;\n};\n/** Finds and attaches a typeId to an `ExternalQuestion` */\n\n\nvar useExternalQuestionAugmentation = function useExternalQuestionAugmentation(externalQuestion, responseSet) {\n return useMemo(function () {\n var typeId = getTypeId(externalQuestion);\n\n if (!typeId) {\n throw new Error(\"Unsupported Question Type of family \".concat(externalQuestion.family, \", variant \").concat(externalQuestion.variant, \".\"));\n }\n\n if (responseSet !== undefined) {\n return _objectSpread(_objectSpread({}, externalQuestion), {}, {\n typeId: typeId\n }, responseSet);\n }\n\n return _objectSpread(_objectSpread({}, externalQuestion), {}, {\n typeId: typeId\n });\n }, [externalQuestion, responseSet]);\n};\n\nexport { useExternalQuestionAugmentation as a, isRequired as b, createVisualization as c, declareVisualization as d, isLocalError as i, providerFactory as p, useProviderAccessContext as u, withErrorBoundary as w };","import _typeof from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/typeof\";\nimport React from 'react';\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar classnames$1 = {\n exports: {}\n};\n/*!\n Copyright (c) 2018 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n\n(function (module) {\n /* global define */\n (function () {\n var hasOwn = {}.hasOwnProperty;\n\n function classNames() {\n var classes = [];\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i];\n if (!arg) continue;\n\n var argType = _typeof(arg);\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg);\n } else if (Array.isArray(arg)) {\n if (arg.length) {\n var inner = classNames.apply(null, arg);\n\n if (inner) {\n classes.push(inner);\n }\n }\n } else if (argType === 'object') {\n if (arg.toString === Object.prototype.toString) {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key);\n }\n }\n } else {\n classes.push(arg.toString());\n }\n }\n }\n\n return classes.join(' ');\n }\n\n if (module.exports) {\n classNames[\"default\"] = classNames;\n module.exports = classNames;\n } else {\n window.classNames = classNames;\n }\n })();\n})(classnames$1);\n\nvar classnames = classnames$1.exports;\nvar reactErrorBoundary_umd = {\n exports: {}\n};\n\n(function (module, exports) {\n (function (global, factory) {\n factory(exports, React);\n })(commonjsGlobal, function (exports, React) {\n function _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function get() {\n return e[k];\n }\n });\n }\n });\n }\n\n n['default'] = e;\n return Object.freeze(n);\n }\n\n var React__namespace = /*#__PURE__*/_interopNamespace(React);\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n }\n\n var changedArray = function changedArray(a, b) {\n if (a === void 0) {\n a = [];\n }\n\n if (b === void 0) {\n b = [];\n }\n\n return a.length !== b.length || a.some(function (item, index) {\n return !Object.is(item, b[index]);\n });\n };\n\n var initialState = {\n error: null\n };\n\n var ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ErrorBoundary, _React$Component);\n\n function ErrorBoundary() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n _this.state = initialState;\n _this.updatedWithError = false;\n\n _this.resetErrorBoundary = function () {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this.props.onReset == null ? void 0 : (_this$props = _this.props).onReset.apply(_this$props, args);\n\n _this.reset();\n };\n\n return _this;\n }\n\n ErrorBoundary.getDerivedStateFromError = function getDerivedStateFromError(error) {\n return {\n error: error\n };\n };\n\n var _proto = ErrorBoundary.prototype;\n\n _proto.reset = function reset() {\n this.updatedWithError = false;\n this.setState(initialState);\n };\n\n _proto.componentDidCatch = function componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n\n (_this$props$onError = (_this$props2 = this.props).onError) == null ? void 0 : _this$props$onError.call(_this$props2, error, info);\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var error = this.state.error;\n\n if (error !== null) {\n this.updatedWithError = true;\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var error = this.state.error;\n var resetKeys = this.props.resetKeys; // There's an edge case where if the thing that triggered the error\n // happens to *also* be in the resetKeys array, we'd end up resetting\n // the error boundary immediately. This would likely trigger a second\n // error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call\n // of cDU after the error is set\n\n if (error !== null && !this.updatedWithError) {\n this.updatedWithError = true;\n return;\n }\n\n if (error !== null && changedArray(prevProps.resetKeys, resetKeys)) {\n var _this$props$onResetKe, _this$props3;\n\n (_this$props$onResetKe = (_this$props3 = this.props).onResetKeysChange) == null ? void 0 : _this$props$onResetKe.call(_this$props3, prevProps.resetKeys, resetKeys);\n this.reset();\n }\n };\n\n _proto.render = function render() {\n var error = this.state.error;\n var _this$props4 = this.props,\n fallbackRender = _this$props4.fallbackRender,\n FallbackComponent = _this$props4.FallbackComponent,\n fallback = _this$props4.fallback;\n\n if (error !== null) {\n var _props = {\n error: error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n\n if ( /*#__PURE__*/React__namespace.isValidElement(fallback)) {\n return fallback;\n } else if (typeof fallbackRender === 'function') {\n return fallbackRender(_props);\n } else if (FallbackComponent) {\n return /*#__PURE__*/React__namespace.createElement(FallbackComponent, _props);\n } else {\n throw new Error('react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop');\n }\n }\n\n return this.props.children;\n };\n\n return ErrorBoundary;\n }(React__namespace.Component);\n\n function withErrorBoundary(Component, errorBoundaryProps) {\n var Wrapped = function Wrapped(props) {\n return /*#__PURE__*/React__namespace.createElement(ErrorBoundary, errorBoundaryProps, /*#__PURE__*/React__namespace.createElement(Component, props));\n }; // Format for display in DevTools\n\n\n var name = Component.displayName || Component.name || 'Unknown';\n Wrapped.displayName = \"withErrorBoundary(\" + name + \")\";\n return Wrapped;\n }\n\n function useErrorHandler(givenError) {\n var _React$useState = React__namespace.useState(null),\n error = _React$useState[0],\n setError = _React$useState[1];\n\n if (givenError != null) throw givenError;\n if (error != null) throw error;\n return setError;\n }\n /*\n eslint\n @typescript-eslint/no-throw-literal: \"off\",\n @typescript-eslint/prefer-nullish-coalescing: \"off\"\n */\n\n\n exports.ErrorBoundary = ErrorBoundary;\n exports.useErrorHandler = useErrorHandler;\n exports.withErrorBoundary = withErrorBoundary;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n });\n})(reactErrorBoundary_umd, reactErrorBoundary_umd.exports);\n\nexport { classnames as c, reactErrorBoundary_umd as r };","import _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/objectWithoutProperties\";\nvar _excluded = [\"text\", \"type\"],\n _excluded2 = [\"footer\", \"hasFooterPadding\", \"children\", \"clickShield\", \"error\", \"id\", \"padding\", \"title\", \"onSubmit\"],\n _excluded3 = [\"fontSize\"],\n _excluded4 = [\"addon\", \"heading\", \"id\", \"number\", \"numbered\", \"required\", \"useDefaultFrontSize\"],\n _excluded5 = [\"children\", \"id\"],\n _excluded6 = [\"active\", \"disabled\", \"error\", \"title\", \"onSubmit\", \"onChange\", \"onLeave\", \"padding\", \"questionId\", \"questionNumber\", \"required\", \"survey\", \"value\", \"okLabel\", \"variant\"],\n _excluded7 = [\"active\", \"cols\", \"disabled\", \"error\", \"title\", \"onSubmit\", \"onUpdate\", \"padding\", \"questionId\", \"questionNumber\", \"required\", \"rows\", \"survey\", \"value\", \"okLabel\", \"variant\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { useRef, useCallback, useEffect } from 'react';\nimport { defineMessages, T, t } from '@sm/intl';\nimport { createUseStyles } from 'react-jss';\nimport { visuallyHidden } from '@wds/utils';\nimport { c as classnames, r as reactErrorBoundary_umd } from './vendor-5c6709b4.js';\nimport { sanitizeString } from '@sm/utils';\n\nvar createFieldId = function createFieldId(questionId) {\n return \"question-field-\".concat(questionId);\n};\n\nvar createLabelId = function createLabelId(questionId) {\n return \"question-title-\".concat(questionId);\n};\n\nvar createErrorId = function createErrorId(questionId) {\n return \"\".concat(questionId, \"-validation-message\");\n};\n\nvar useStyles$8 = createUseStyles(function (theme) {\n var _a;\n\n return {\n button: {\n color: theme.nextButton.color,\n backgroundColor: theme.nextButton.backgroundColor,\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n fontSize: 15,\n border: [1, 'solid', 'transparent'],\n borderRadius: 2,\n padding: [1, 6],\n maxWidth: '100%',\n minWidth: 60,\n minHeight: 40,\n cursor: 'pointer',\n overflowWrap: 'break-word'\n }\n };\n}); // This might need to be a prop later once confirmed\n\nvar MAX_LENGTH = 20;\n\nvar Button = function Button(_ref) {\n var _ref$text = _ref.text,\n text = _ref$text === void 0 ? 'OK' : _ref$text,\n type = _ref.type,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useStyles$ = useStyles$8(),\n button = _useStyles$.button;\n\n var slicedText = text.length <= MAX_LENGTH ? text : text.slice(0, MAX_LENGTH);\n return (// This is disabled instead of creating a trivial ternary operator\n // eslint-disable-next-line react/button-has-type\n React.createElement(\"button\", Object.assign({}, props, {\n className: button,\n type: type\n }), slicedText)\n );\n};\n\nvar useStyles$7 = createUseStyles({\n visuallyHidden: visuallyHidden\n});\n\nvar VisuallyHidden = function VisuallyHidden(_ref2) {\n var children = _ref2.children,\n Element = _ref2.element;\n\n var _useStyles$2 = useStyles$7(),\n visuallyHidden = _useStyles$2.visuallyHidden;\n\n return React.createElement(Element, {\n className: visuallyHidden\n }, children);\n};\n\nvar useStyles$6 = createUseStyles({\n paddingBox: function paddingBox(_ref3) {\n var padding = _ref3.padding;\n return {\n paddingTop: (padding === null || padding === void 0 ? void 0 : padding.top) || 0,\n paddingBottom: (padding === null || padding === void 0 ? void 0 : padding.bottom) || 0,\n paddingLeft: (padding === null || padding === void 0 ? void 0 : padding.left) || 0,\n paddingRight: (padding === null || padding === void 0 ? void 0 : padding.right) || 0\n };\n }\n});\n\nvar QuestionSpacing = function QuestionSpacing(_ref4) {\n var padding = _ref4.padding,\n children = _ref4.children;\n\n var _useStyles$3 = useStyles$6({\n padding: padding\n }),\n paddingBox = _useStyles$3.paddingBox;\n\n return React.createElement(\"div\", {\n className: paddingBox\n }, children);\n};\n\nvar useStyles$5 = createUseStyles({\n footerRow: function footerRow(_ref5) {\n var hasFooterPadding = _ref5.hasFooterPadding;\n return {\n paddingTop: hasFooterPadding ? 20 : 0\n };\n },\n containerStyles: function containerStyles(_ref6) {\n var clickShield = _ref6.clickShield;\n return {\n position: 'relative',\n opacity: clickShield ? '0.5' : '1',\n transition: 'opacity 500ms ease-out',\n pointerEvents: clickShield ? 'none' : 'auto'\n };\n },\n errorRow: {\n marginBottom: 10\n },\n formReset: {\n border: 0,\n minWidth: 0\n },\n headerRow: {\n marginBottom: 24\n }\n});\nvar COPY$2 = defineMessages({\n QUESTION_TITLE: {\n id: 'ResponseQuestion.QUESTION_TITLE',\n defaultMessage: 'Question Title',\n description: '[Type: Label][Vis: low] - question landmark for screen readers only'\n }\n});\n\nvar QuestionFieldLayoutTemplate = function QuestionFieldLayoutTemplate(_ref7) {\n var footer = _ref7.footer,\n hasFooterPadding = _ref7.hasFooterPadding,\n children = _ref7.children,\n clickShield = _ref7.clickShield,\n error = _ref7.error,\n id = _ref7.id,\n padding = _ref7.padding,\n title = _ref7.title,\n onSubmit = _ref7.onSubmit,\n props = _objectWithoutProperties(_ref7, _excluded2);\n\n var _useStyles$4 = useStyles$5({\n hasFooterPadding: hasFooterPadding,\n clickShield: clickShield\n }),\n footerRow = _useStyles$4.footerRow,\n containerStyles = _useStyles$4.containerStyles,\n formReset = _useStyles$4.formReset,\n errorRow = _useStyles$4.errorRow,\n headerRow = _useStyles$4.headerRow;\n\n var containerRef = useRef(null);\n var handleKeydown = useCallback(function (event) {\n if (event.key === 'Enter') {\n onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit();\n }\n }, [onSubmit]);\n useEffect(function () {\n var container = containerRef.current;\n container === null || container === void 0 ? void 0 : container.addEventListener('keydown', handleKeydown);\n return function () {\n return container === null || container === void 0 ? void 0 : container.removeEventListener('keydown', handleKeydown);\n };\n }, [containerRef, handleKeydown]);\n return React.createElement(\"div\", Object.assign({\n ref: containerRef,\n id: id\n }, props, {\n className: containerStyles\n }), React.createElement(VisuallyHidden, {\n element: \"h3\"\n }, React.createElement(T, {\n desc: COPY$2.QUESTION_TITLE\n })), React.createElement(QuestionSpacing, {\n padding: padding\n }, React.createElement(\"fieldset\", {\n className: formReset\n }, React.createElement(\"legend\", {\n className: headerRow\n }, error && React.createElement(\"div\", {\n className: errorRow\n }, error), title), children), footer && React.createElement(\"div\", {\n className: footerRow\n }, footer)));\n};\n\ncreateUseStyles(function (theme) {\n var _ref8;\n\n return _ref8 = {\n containerVertical: {\n display: 'initial'\n },\n containerHorizontal: {\n display: 'block'\n },\n\n /** shared between horizontal and vertical columns */\n column: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start'\n },\n columnHorizontal: {},\n\n /** Horizontal Column that adjust width to content width */\n columnHorizontalAutoAdjust: {\n width: 'auto'\n }\n }, _defineProperty(_ref8, \"@media (min-width: \".concat(theme.breakpoints.xs.min, \")\"), {\n containerVertical: {\n display: 'flex'\n },\n containerHorizontal: {\n display: 'flex',\n flexWrap: 'wrap'\n }\n }), _defineProperty(_ref8, \"@media only screen and (min-width: \".concat(theme.breakpoints.lg.min, \")\"), {\n columnHorizontal: {\n width: '19%'\n }\n }), _defineProperty(_ref8, \"@media (min-width: \".concat(theme.breakpoints.sm.min, \") and (max-width: \").concat(theme.breakpoints.md.max, \")\"), {\n columnHorizontal: {\n width: '24%'\n }\n }), _defineProperty(_ref8, \"@media only screen and (max-width: \".concat(theme.breakpoints.xxs.max, \")\"), {\n columnHorizontal: {\n width: '100%',\n display: 'block'\n },\n columnHorizontalAutoAdjust: {\n width: '100%',\n display: 'block'\n }\n }), _ref8;\n});\nvar textReset = {\n margin: 0\n};\nvar inlineSpacing = {\n marginRight: '0.25em'\n};\nvar useStyles$4 = createUseStyles(function (theme) {\n var _theme$questionTitle = theme.questionTitle,\n fontSize = _theme$questionTitle.fontSize,\n questionTitleFormatting = _objectWithoutProperties(_theme$questionTitle, _excluded3);\n\n var questionTitleFontSize = theme.isAccessible ? '22px' : fontSize !== null && fontSize !== void 0 ? fontSize : {};\n return {\n addonContainer: {\n display: 'inline-block',\n margin: [0, 5],\n verticalAlign: 'text-bottom'\n },\n container: {\n position: 'relative'\n },\n questionNumber: inlineSpacing,\n questionTitle: function questionTitle(_ref9) {\n var useDefaultFrontSize = _ref9.useDefaultFrontSize;\n\n var _a;\n\n return _objectSpread(_objectSpread(_objectSpread({}, textReset), questionTitleFormatting), {}, {\n color: ((_a = theme.questionTitle) === null || _a === void 0 ? void 0 : _a.color) || theme.questionColor,\n fontSize: useDefaultFrontSize && !theme.isAccessible ? theme.fontSize.body : questionTitleFontSize,\n lineHeight: 1.25,\n whiteSpace: 'normal',\n wordWrap: 'break-word'\n });\n },\n requiredAsterisk: _objectSpread(_objectSpread({}, inlineSpacing), {}, {\n display: 'inline-block'\n })\n };\n});\n/* eslint-disable @typescript-eslint/naming-convention */\n\nvar listSpacing = {\n margin: [16, 0],\n padding: [0, 0, 0, 40]\n};\nvar mediaReset = {\n border: 0,\n maxWidth: '100%'\n};\nvar useStyles$3 = createUseStyles({\n richTextContent: {\n // Typography\n '& a': {\n // Links are not themed by default. Users must select a link color in the editor\n color: 'blue',\n textDecoration: 'underline',\n '&:hover': {\n cursor: 'pointer'\n },\n '&:focus': {\n outline: 'currentColor auto 1px'\n }\n },\n '& ol': _objectSpread(_objectSpread({}, listSpacing), {}, {\n listStyleType: 'decimal'\n }),\n '& ul': _objectSpread(_objectSpread({}, listSpacing), {}, {\n listStyle: 'disc outside none',\n '& ul li': {\n listStyle: 'circle'\n }\n }),\n '& p': {\n margin: [13, 0]\n },\n '& b': {\n fontWeight: 'bold'\n },\n '& strong': {\n fontWeight: 'bold'\n },\n '& em': {\n fontStyle: 'italic'\n },\n '& i': {\n fontStyle: 'italic'\n },\n '& big': {\n fontSize: 'larger'\n },\n '& small': {\n fontSize: 'smaller'\n },\n '& sup': {\n fontSize: '75%',\n lineHeight: 0,\n position: 'relative',\n top: '-0.5em',\n verticalAlign: 'baseline'\n },\n // Media embeds\n '& iframe': mediaReset,\n '& img': _objectSpread(_objectSpread({}, mediaReset), {}, {\n height: 'auto',\n '-ms-interpolation-mode': 'bicubic'\n })\n }\n}); // Support iframe video embeds and their matching attributes\n\nvar sanitizeOptions = {\n ADD_TAGS: ['iframe'],\n ADD_ATTR: ['target', 'allow', 'allowfullscreen', 'frameborder', 'sandbox', 'scrolling']\n};\n\nvar RichText = function RichText(_ref10) {\n var Element = _ref10.element,\n text = _ref10.text;\n\n var _useStyles$5 = useStyles$3(),\n richTextContent = _useStyles$5.richTextContent;\n\n return React.createElement(Element, {\n className: richTextContent,\n dangerouslySetInnerHTML: {\n __html: sanitizeString(text, sanitizeOptions)\n }\n });\n};\n\nvar QuestionTitle = function QuestionTitle(_ref11) {\n var addon = _ref11.addon,\n heading = _ref11.heading,\n id = _ref11.id,\n number = _ref11.number,\n numbered = _ref11.numbered,\n required = _ref11.required,\n _ref11$useDefaultFron = _ref11.useDefaultFrontSize,\n useDefaultFrontSize = _ref11$useDefaultFron === void 0 ? false : _ref11$useDefaultFron,\n props = _objectWithoutProperties(_ref11, _excluded4);\n\n var _useStyles$6 = useStyles$4({\n useDefaultFrontSize: useDefaultFrontSize\n }),\n addonContainer = _useStyles$6.addonContainer,\n container = _useStyles$6.container,\n questionNumber = _useStyles$6.questionNumber,\n questionTitle = _useStyles$6.questionTitle,\n requiredAsterisk = _useStyles$6.requiredAsterisk;\n\n return React.createElement(\"h4\", Object.assign({\n id: id,\n className: classnames(container, questionTitle)\n }, props), required && React.createElement(\"span\", {\n \"aria-hidden\": true,\n className: requiredAsterisk\n }, \"*\"), numbered && React.createElement(\"span\", {\n className: questionNumber\n }, number, \".\"), React.createElement(RichText, {\n element: \"span\",\n text: heading\n }), addon && React.createElement(\"span\", {\n className: addonContainer\n }, addon));\n};\n\nvar useStyles$2 = createUseStyles(function (theme) {\n var _a;\n\n return {\n icon: {\n backgroundClip: 'padding-box',\n backgroundColor: theme.primaryAccentColor,\n borderRadius: 3,\n color: theme.secondaryAccentColor,\n fontSize: theme.fontSize.body,\n padding: [0, 5]\n },\n iconWrapper: {\n marginRight: 5\n },\n validationMessage: {\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n lineHeight: 1.5,\n color: theme.questionBody.color,\n fontWeight: theme.fontWeight.light,\n fontSize: theme.fontSize.body\n }\n };\n});\n\nvar ValidationMessage = function ValidationMessage(_ref12) {\n var children = _ref12.children,\n id = _ref12.id,\n props = _objectWithoutProperties(_ref12, _excluded5);\n\n var _useStyles$7 = useStyles$2(),\n icon = _useStyles$7.icon,\n iconWrapper = _useStyles$7.iconWrapper,\n validationMessage = _useStyles$7.validationMessage;\n\n return React.createElement(\"h4\", Object.assign({\n className: validationMessage,\n \"aria-live\": \"polite\",\n id: id\n }, props), React.createElement(\"span\", {\n className: iconWrapper\n }, React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n className: icon\n }, \"!\")), React.createElement(\"span\", null, children));\n};\n\nvar useStyles$1 = createUseStyles(function (theme) {\n var _a;\n\n return _defineProperty({\n textareaStyles: _objectSpread(_objectSpread({\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n fontSize: '18px',\n lineHeight: '1.15em',\n padding: '6px 60px 6px 6px',\n maxWidth: '100%',\n color: theme.questionBody.color,\n outlineColor: theme.primaryAccentColor,\n transition: 'all 0.1s linear',\n verticalAlign: 'top',\n textSizeAdjust: 'auto'\n }, theme.isAccessible ? {\n fontWeight: 500,\n opacity: 1,\n border: \"1px solid \".concat(theme.answerColor),\n backgroundColor: '#fff'\n } : {\n fontWeight: 300,\n backgroundColor: theme.input.bgColor,\n border: '0'\n }), {}, {\n '&:focus': {\n borderColor: theme.input.activeColor,\n borderRadius: '2px'\n },\n '&:focus, &:hover': theme.isAccessible ? {\n // should be there but was broken\n // https://code.corp.surveymonkey.com/devmonkeys/smlib.surveytemplates/blob/main/smlib/surveytemplates/themes_v3/base_css.jinja2#L1094-L1097\n boxShadow: '0px 2px 8px rgba(0, 0, 0, 7)'\n } : {},\n '&:disabled, &:read-only': _objectSpread({\n boxShadow: 'none'\n }, theme.isAccessible ? {} : {\n borderColor: 'transparent',\n opacity: 0.5\n })\n })\n }, \"@media only screen and (max-width: \".concat(theme.breakpoints.md.max, \")\"), {\n textareaStyles: {\n fontSize: '16px'\n }\n });\n}); // Custom textarea component for Response.\n\nvar TextArea = function TextArea(_ref14) {\n var placeholder = _ref14.placeholder,\n disabled = _ref14.disabled,\n rows = _ref14.rows,\n cols = _ref14.cols,\n id = _ref14.id,\n name = _ref14.name,\n defaultValue = _ref14.defaultValue,\n labelId = _ref14.labelId,\n errorId = _ref14.errorId,\n _ref14$required = _ref14.required,\n required = _ref14$required === void 0 ? false : _ref14$required,\n _ref14$readOnly = _ref14.readOnly,\n readOnly = _ref14$readOnly === void 0 ? false : _ref14$readOnly,\n onChange = _ref14.onChange,\n onBlur = _ref14.onBlur,\n onFocus = _ref14.onFocus;\n\n var _useStyles$8 = useStyles$1(),\n textareaStyles = _useStyles$8.textareaStyles;\n\n return React.createElement(\"textarea\", {\n className: textareaStyles,\n placeholder: placeholder,\n disabled: disabled,\n rows: rows,\n cols: cols,\n id: id,\n name: name,\n defaultValue: defaultValue,\n \"aria-labelledby\": labelId,\n \"aria-describedby\": errorId,\n \"aria-required\": required,\n onChange: onChange,\n onBlur: onBlur,\n onFocus: onFocus,\n spellCheck: true,\n readOnly: readOnly\n });\n};\n\nvar useStyles = createUseStyles(function (theme) {\n var _a;\n\n return _defineProperty({\n inputStyles: _objectSpread(_objectSpread({\n fontFamily: (_a = theme.questionBody.fontFamily) !== null && _a !== void 0 ? _a : {},\n fontSize: '18px',\n lineHeight: '1.5em',\n height: function height(_ref15) {\n var autoHeight = _ref15.autoHeight;\n return autoHeight ? {} : '50px';\n },\n padding: '6px',\n maxWidth: '100%',\n color: theme.questionBody.color,\n transition: 'all 0.1s linear'\n }, theme.isAccessible ? {\n fontWeight: 500,\n opacity: 1,\n border: theme.isAccessible ? \"1px solid \".concat(theme.answerColor) : '0',\n backgroundColor: '#fff'\n } : {\n fontWeight: 300,\n backgroundColor: theme.input.bgColor,\n border: '0'\n }), {}, {\n '&:focus': {\n outline: 'none',\n borderColor: theme.input.activeColor,\n borderRadius: '2px'\n },\n '&:focus, &:hover': _objectSpread({}, theme.isAccessible ? {\n // should be there but was broken\n // https://code.corp.surveymonkey.com/devmonkeys/smlib.surveytemplates/blob/main/smlib/surveytemplates/themes_v3/base_css.jinja2#L1094-L1097\n boxShadow: '0px 2px 8px rgba(0, 0, 0, 7)'\n } : {}),\n '&:disabled, &:read-only': _objectSpread({\n boxShadow: 'none'\n }, theme.isAccessible ? {} : {\n borderColor: 'transparent',\n opacity: 0.5\n })\n })\n }, \"@media only screen and (max-width: \".concat(theme.breakpoints.md.max, \")\"), {\n inputStyles: {\n fontSize: '16px'\n }\n });\n});\n\nvar TextInput = function TextInput(_ref17) {\n var disabled = _ref17.disabled,\n errorId = _ref17.errorId,\n id = _ref17.id,\n labelId = _ref17.labelId,\n name = _ref17.name,\n onBlur = _ref17.onBlur,\n onChange = _ref17.onChange,\n onFocus = _ref17.onFocus,\n placeholder = _ref17.placeholder,\n _ref17$required = _ref17.required,\n required = _ref17$required === void 0 ? false : _ref17$required,\n _ref17$readOnly = _ref17.readOnly,\n readOnly = _ref17$readOnly === void 0 ? false : _ref17$readOnly,\n _ref17$autoHeight = _ref17.autoHeight,\n autoHeight = _ref17$autoHeight === void 0 ? false : _ref17$autoHeight,\n value = _ref17.value,\n _ref17$size = _ref17.size,\n size = _ref17$size === void 0 ? 50 : _ref17$size;\n\n var _useStyles = useStyles({\n autoHeight: autoHeight\n }),\n inputStyles = _useStyles.inputStyles;\n\n return React.createElement(\"input\", {\n type: \"text\",\n className: inputStyles,\n placeholder: placeholder,\n disabled: disabled,\n size: size,\n id: id,\n name: name,\n value: value,\n onChange: onChange,\n onBlur: onBlur,\n onFocus: onFocus,\n \"aria-labelledby\": labelId,\n \"aria-describedby\": errorId,\n \"aria-required\": required,\n readOnly: readOnly\n });\n};\n\nvar ErrorFallback = function ErrorFallback(_ref18) {\n var error = _ref18.error;\n // TODO: temporary fallback ui (RAWR-773)\n return React.createElement(React.Fragment, null, React.createElement(\"h1\", null, \"Sorry.. there was an error\"), React.createElement(\"p\", null, error.message));\n};\n\nvar withErrorBoundary = function withErrorBoundary(Component) {\n return function (props) {\n return React.createElement(reactErrorBoundary_umd.exports.ErrorBoundary, {\n FallbackComponent: ErrorFallback\n }, React.createElement(Component, Object.assign({}, props)));\n };\n};\n\nvar COPY$1 = defineMessages({\n OK_LABEL: {\n id: 'SingleTextBox.OK_LABEL',\n defaultMessage: 'OK',\n description: '[Type: button][Vis: high] - question ok label'\n }\n});\n\nvar QuestionField = function QuestionField(_ref19) {\n var active = _ref19.active,\n disabled = _ref19.disabled,\n error = _ref19.error,\n title = _ref19.title,\n onSubmit = _ref19.onSubmit,\n _onChange = _ref19.onChange,\n onLeave = _ref19.onLeave,\n _ref19$padding = _ref19.padding,\n padding = _ref19$padding === void 0 ? {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n } : _ref19$padding,\n questionId = _ref19.questionId,\n questionNumber = _ref19.questionNumber,\n required = _ref19.required,\n _ref19$survey = _ref19.survey,\n asteriskEnabled = _ref19$survey.asteriskEnabled,\n numberingEnabled = _ref19$survey.numberingEnabled,\n value = _ref19.value,\n _ref19$okLabel = _ref19.okLabel,\n okLabel = _ref19$okLabel === void 0 ? t(COPY$1.OK_LABEL) : _ref19$okLabel,\n variant = _ref19.variant,\n conditionalProps = _objectWithoutProperties(_ref19, _excluded6);\n\n var titleId = createLabelId(questionId);\n var errorId = createErrorId(questionId);\n var fieldId = createFieldId(questionId);\n var isAutoScroll = variant === 'auto-scroll';\n var showClickShield = isAutoScroll && !active; // Requires more conditional logic on integration with RAWR-109 form manager\n\n var showButton = isAutoScroll && active && 'showOkButton' in conditionalProps && conditionalProps.showOkButton;\n return React.createElement(\"div\", null, React.createElement(QuestionFieldLayoutTemplate, {\n footer: showButton && React.createElement(Button, {\n text: okLabel,\n type: \"button\",\n onClick: onSubmit\n }),\n hasFooterPadding: true,\n clickShield: showClickShield,\n error: error && React.createElement(ValidationMessage, {\n id: errorId\n }, error),\n onSubmit: showButton ? onSubmit : undefined,\n id: fieldId,\n padding: padding,\n title: React.createElement(QuestionTitle, {\n heading: title,\n id: titleId,\n number: questionNumber,\n numbered: numberingEnabled,\n required: asteriskEnabled && required\n })\n }, React.createElement(TextInput, {\n value: value,\n disabled: disabled,\n errorId: error && errorId,\n id: questionId,\n labelId: titleId,\n name: questionId,\n required: required,\n onChange: function onChange(event) {\n return _onChange === null || _onChange === void 0 ? void 0 : _onChange(event.target.value);\n },\n onBlur: onLeave\n })));\n};\n\nvar SingleTextbox = withErrorBoundary(QuestionField);\nvar COPY = defineMessages({\n OK_LABEL: {\n id: 'CommentBox.OK_LABEL',\n defaultMessage: 'OK',\n description: '[Type: button][Vis: high] - question ok label'\n }\n});\n\nvar CommentBox = function CommentBox(_ref20) {\n var active = _ref20.active,\n _ref20$cols = _ref20.cols,\n cols = _ref20$cols === void 0 ? 50 : _ref20$cols,\n disabled = _ref20.disabled,\n error = _ref20.error,\n title = _ref20.title,\n onSubmit = _ref20.onSubmit,\n onUpdate = _ref20.onUpdate,\n _ref20$padding = _ref20.padding,\n padding = _ref20$padding === void 0 ? {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n } : _ref20$padding,\n questionId = _ref20.questionId,\n questionNumber = _ref20.questionNumber,\n required = _ref20.required,\n _ref20$rows = _ref20.rows,\n rows = _ref20$rows === void 0 ? 3 : _ref20$rows,\n _ref20$survey = _ref20.survey,\n asteriskEnabled = _ref20$survey.asteriskEnabled,\n numberingEnabled = _ref20$survey.numberingEnabled,\n defaultValue = _ref20.value,\n _ref20$okLabel = _ref20.okLabel,\n okLabel = _ref20$okLabel === void 0 ? t(COPY.OK_LABEL) : _ref20$okLabel,\n variant = _ref20.variant,\n conditionalProps = _objectWithoutProperties(_ref20, _excluded7);\n\n var titleId = createLabelId(questionId);\n var errorId = createErrorId(questionId);\n var fieldId = createFieldId(questionId);\n var isAutoScroll = variant === 'auto-scroll';\n var showClickShield = isAutoScroll && !active; // // Requires more conditional logic on integration with RAWR-109 form manager\n\n var showButton = isAutoScroll && active && 'showOkButton' in conditionalProps && conditionalProps.showOkButton;\n return React.createElement(QuestionFieldLayoutTemplate, {\n footer: showButton && React.createElement(Button, {\n text: okLabel,\n type: \"button\",\n onClick: onSubmit\n }),\n hasFooterPadding: true,\n clickShield: showClickShield,\n error: error && React.createElement(ValidationMessage, {\n id: errorId\n }, error),\n onSubmit: showButton ? onSubmit : undefined,\n id: fieldId,\n padding: padding,\n title: React.createElement(QuestionTitle, {\n heading: title,\n id: titleId,\n number: questionNumber,\n numbered: numberingEnabled,\n required: asteriskEnabled && required\n })\n }, React.createElement(TextArea, {\n cols: cols,\n defaultValue: defaultValue,\n disabled: disabled,\n errorId: error && errorId,\n id: questionId,\n labelId: titleId,\n name: questionId,\n required: required,\n rows: rows,\n onChange: function onChange(event) {\n return onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(event.target.value);\n }\n }));\n};\n\nvar CommentBox$1 = withErrorBoundary(CommentBox);\nexport { CommentBox$1 as CommentBox, SingleTextbox };","import React from 'react';\nimport { selectQuestionTypeDefinition, isExternalQuestionWithTypeId } from '@sm/question-definitions';\nimport { w as withErrorBoundary, u as useProviderAccessContext, a as useExternalQuestionAugmentation, c as createVisualization } from './utils-d888dac0.js';\n\nvar UnsupportedQuestionTypeError = function UnsupportedQuestionTypeError(_ref) {\n var question = _ref.question;\n var typeId = isExternalQuestionWithTypeId(question) && question.typeId;\n return React.createElement(\"div\", null, \"Unsupported Question Type: \", typeId);\n};\n\nvar SingleQuestionController = function SingleQuestionController(_ref2) {\n var externalQuestion = _ref2.question,\n displayOptions = _ref2.displayOptions,\n namedSlots = _ref2.namedSlots,\n responseSet = _ref2.responseSet;\n\n var _useProviderAccessCon = useProviderAccessContext(),\n useUpstreamConfig = _useProviderAccessCon.useUpstreamConfig,\n useVisualizationList = _useProviderAccessCon.useVisualizationList;\n\n var _useUpstreamConfig = useUpstreamConfig(),\n capability = _useUpstreamConfig.capability,\n upstreamActions = _useUpstreamConfig.upstreamActions,\n renderProps = _useUpstreamConfig.renderProps,\n settings = _useUpstreamConfig.settings;\n /* NOTE:\n Since Controllers are expected to be capability-independent -- and should not import\n the CapabilityProvider types -- this config is returning the type params as `unknown`s.\n This shouldn't be a problem -- as the Controller doesn't need to know\n any specifics about these types - other than passing them to the compatible\n Visualizations (something that the Visualization Helpers runtime already takes\n care of). However, the consequence is that overall type safety of the Controller\n is not as strict as we would like it to be. We should probably create a task\n to improve this later.\n */\n // TODO: add controller type to the visualization selection -- to allow for different DisplayOptions and better support for nested visualizations\n\n\n var visualizationOptions = useVisualizationList(capability\n /* , controllerType */\n ); // Augment the external question with the type id\n\n var augmentedExternalQuestion = useExternalQuestionAugmentation(externalQuestion, responseSet);\n var definition = selectQuestionTypeDefinition(augmentedExternalQuestion);\n\n if (!definition) {\n return React.createElement(UnsupportedQuestionTypeError, {\n question: augmentedExternalQuestion\n });\n }\n\n var toExternalQuestion = function toExternalQuestion(q) {\n return definition.toExternalQuestion(externalQuestion, q, capability);\n }; // useMemo to optimize this\n\n\n var ChosenVisualization = createVisualization(capability, definition.typeId, visualizationOptions, upstreamActions, settings, renderProps);\n /* NOTE:\n Type safety improvement: Currently 'QuestionType' is all the possible question types\n -- while createVisualization will choose a visualization that can render\n question types for a specific capability -- meaning that the resulting question\n type of 'ChosenVisualization' is a subset of all the possible QuestionTypes\n (only those that have viable visualizations for that capability -- and, in the\n future, ControllerType)\n */\n\n var question = definition.fromExternalQuestion(augmentedExternalQuestion, capability);\n return React.createElement(ChosenVisualization, {\n question: question,\n displayOptions: displayOptions,\n namedSlots: namedSlots,\n toExternalQuestion: toExternalQuestion\n });\n};\n\nvar SingleQuestionController$1 = withErrorBoundary(SingleQuestionController);\nexport { SingleQuestionController$1 as S };","import _defineProperty from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"/app/scripts/smweb-scripts/node_modules/@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React, { useState, useEffect, useCallback } from 'react';\nimport { SurveyThemeWrapper } from '@sm/question-ui/theme-respondent';\nimport { d as declareVisualization, i as isLocalError, b as isRequired, p as providerFactory } from './utils-d888dac0.js';\nimport { pickQuestionTypeDefinition } from '@sm/question-definitions';\nimport { CommentBox, SingleTextbox } from '@sm/question-ui/respondent-survey';\nexport { S as SingleQuestionController } from './controllers-02c66072.js';\nimport './vendor-4368c290.js';\n\nvar useShowOkButton = function useShowOkButton(active, touched) {\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showOkButton = _useState2[0],\n setShowOkButton = _useState2[1];\n\n useEffect(function () {\n if (!active) {\n setShowOkButton(false);\n } else if (touched) {\n setShowOkButton(true);\n }\n }, [active, touched, setShowOkButton]);\n return showOkButton;\n}; // Visualization for Question of type CommentBox\n\n\nvar RespondentCommentBoxVisualization = function RespondentCommentBoxVisualization(_ref) {\n var capability = _ref.capability,\n upstreamActions = _ref.upstreamActions,\n question = _ref.question,\n survey = _ref.settings.survey,\n toExternalQuestion = _ref.toExternalQuestion;\n\n var _a;\n\n var id = question.id,\n typeId = question.typeId,\n questionNumber = question.questionNumber,\n title = question.title,\n layout = question.layout,\n active = question.active,\n disabled = question.disabled,\n upstreamErrors = question.errors,\n upstreamAnswer = question.answer;\n var definition = pickQuestionTypeDefinition(typeId);\n var padding = (_a = layout === null || layout === void 0 ? void 0 : layout.spacing) !== null && _a !== void 0 ? _a : {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n };\n\n var _useState3 = useState(upstreamErrors.find(isLocalError)),\n _useState4 = _slicedToArray(_useState3, 2),\n error = _useState4[0],\n setError = _useState4[1];\n\n var _useState5 = useState(upstreamAnswer),\n _useState6 = _slicedToArray(_useState5, 2),\n answer = _useState6[0],\n setAnswer = _useState6[1];\n\n var showOkButton = useShowOkButton(!!active, answer.touched);\n var surveyModeOptions = survey.isClassic ? {\n variant: 'classic',\n active: active\n } : {\n variant: 'auto-scroll',\n active: !!active,\n showOkButton: showOkButton,\n onSubmit: function onSubmit() {\n var _a;\n\n var q = definition.validate(question, 'submit', capability);\n var localError = q.errors.find(isLocalError);\n\n if (localError) {\n setError(localError);\n return;\n }\n\n (_a = upstreamActions.onLeaveQuestion) === null || _a === void 0 ? void 0 : _a.call(upstreamActions, toExternalQuestion(_objectSpread(_objectSpread({}, q), {}, {\n answer: answer\n })));\n }\n };\n return React.createElement(CommentBox, Object.assign({}, surveyModeOptions, {\n title: title,\n padding: padding,\n disabled: disabled,\n survey: survey\n }, {\n questionId: id,\n questionNumber: Number(questionNumber),\n required: isRequired(question),\n error: error === null || error === void 0 ? void 0 : error.message,\n value: answer === null || answer === void 0 ? void 0 : answer.value,\n okLabel: survey.okLabel,\n onUpdate: function onUpdate(value) {\n var newAnswer = {\n touched: true,\n value: value\n };\n setAnswer(newAnswer);\n definition.shortUpdate(_objectSpread(_objectSpread({}, question), {}, {\n active: !!active,\n answer: answer\n }), 'update', capability);\n }\n }));\n};\n\nvar AnswerCommentBoxVisualization = declareVisualization(['comment_box'], ['respondent-survey'], RespondentCommentBoxVisualization); // Visualization for Question of type SingleTextbox\n\nvar RespondentSingleTextboxVisualization = function RespondentSingleTextboxVisualization(_ref2) {\n var capability = _ref2.capability,\n upstreamActions = _ref2.upstreamActions,\n question = _ref2.question,\n survey = _ref2.settings.survey,\n displayOptions = _ref2.displayOptions;\n\n var _a;\n\n var id = question.id,\n typeId = question.typeId,\n questionNumber = question.questionNumber,\n title = question.title,\n layout = question.layout,\n active = question.active,\n disabled = question.disabled,\n upstreamErrors = question.errors;\n var upstreamAnswer = displayOptions === null || displayOptions === void 0 ? void 0 : displayOptions.answer;\n var definition = pickQuestionTypeDefinition(typeId);\n var padding = (_a = layout === null || layout === void 0 ? void 0 : layout.spacing) !== null && _a !== void 0 ? _a : {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0\n };\n\n var _useState7 = useState(upstreamErrors.find(isLocalError)),\n _useState8 = _slicedToArray(_useState7, 2),\n error = _useState8[0],\n setError = _useState8[1];\n\n var _useState9 = useState(upstreamAnswer || {\n value: '',\n questionID: id,\n touched: false,\n isDirty: false\n }),\n _useState10 = _slicedToArray(_useState9, 2),\n answer = _useState10[0],\n setAnswer = _useState10[1];\n\n var showOkButton = useShowOkButton(!!active, answer.touched);\n var onLeaveQuestion = useCallback(function () {\n var q = definition.longUpdate(_objectSpread(_objectSpread({}, question), {}, {\n active: !!active\n }), 'submit', capability);\n var localError = q.errors.find(isLocalError);\n\n if (localError) {\n setError(localError);\n return;\n }\n\n if (q && upstreamActions.onLeaveQuestion) {\n upstreamActions.onLeaveQuestion(q, answer);\n }\n }, [definition, question, active, capability, upstreamActions, answer]);\n var surveyModeOptions = survey.isClassic ? {\n variant: 'classic',\n active: active\n } : {\n variant: 'auto-scroll',\n active: !!active,\n showOkButton: showOkButton,\n // TODO: Hook onsubmit up to progression engine\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onSubmit: function onSubmit() {}\n };\n return React.createElement(SingleTextbox, Object.assign({}, surveyModeOptions, {\n title: title,\n padding: padding,\n disabled: disabled,\n survey: survey\n }, {\n questionId: id,\n questionNumber: Number(questionNumber),\n required: isRequired(question),\n error: error === null || error === void 0 ? void 0 : error.message,\n value: answer.value,\n okLabel: survey.okLabel,\n onLeave: onLeaveQuestion,\n onChange: function onChange(value) {\n var newAnswer = {\n touched: true,\n questionID: id,\n value: value,\n isDirty: value !== (upstreamAnswer === null || upstreamAnswer === void 0 ? void 0 : upstreamAnswer.value)\n };\n setAnswer(newAnswer);\n }\n }));\n};\n\nvar AnswerSingleTextboxVisualization = declareVisualization(['single_textbox'], ['respondent-survey'], RespondentSingleTextboxVisualization);\nvar visualizationList = [AnswerSingleTextboxVisualization, AnswerCommentBoxVisualization]; // Creates the helper to store the configuration\n\nvar ProviderHelper = providerFactory(visualizationList); // Declares the Provider Component itself, with the proper API\n\nvar RespondentCapabilityProvider = function RespondentCapabilityProvider(_ref3) {\n var upstreamActions = _ref3.upstreamActions,\n settings = _ref3.settings,\n children = _ref3.children,\n renderProps = _ref3.renderProps;\n // here you can keep capability-specific state, translate actions or make other modifications\n // that are appropriate to your capability-specific behaviour\n return React.createElement(ProviderHelper, {\n value: {\n capability: 'respondent-survey',\n upstreamActions: upstreamActions,\n renderProps: renderProps,\n settings: settings\n }\n }, React.createElement(SurveyThemeWrapper, null, children));\n};\n\nexport { RespondentCapabilityProvider, visualizationList as RespondentVisualizations };","import React from 'react';\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\nvar reactErrorBoundary_umd = {\n exports: {}\n};\n\n(function (module, exports) {\n (function (global, factory) {\n factory(exports, React);\n })(commonjsGlobal, function (exports, React) {\n function _interopNamespace(e) {\n if (e && e.__esModule) return e;\n var n = Object.create(null);\n\n if (e) {\n Object.keys(e).forEach(function (k) {\n if (k !== 'default') {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function get() {\n return e[k];\n }\n });\n }\n });\n }\n\n n['default'] = e;\n return Object.freeze(n);\n }\n\n var React__namespace = /*#__PURE__*/_interopNamespace(React);\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n }\n\n var changedArray = function changedArray(a, b) {\n if (a === void 0) {\n a = [];\n }\n\n if (b === void 0) {\n b = [];\n }\n\n return a.length !== b.length || a.some(function (item, index) {\n return !Object.is(item, b[index]);\n });\n };\n\n var initialState = {\n error: null\n };\n\n var ErrorBoundary = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ErrorBoundary, _React$Component);\n\n function ErrorBoundary() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n _this.state = initialState;\n _this.updatedWithError = false;\n\n _this.resetErrorBoundary = function () {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this.props.onReset == null ? void 0 : (_this$props = _this.props).onReset.apply(_this$props, args);\n\n _this.reset();\n };\n\n return _this;\n }\n\n ErrorBoundary.getDerivedStateFromError = function getDerivedStateFromError(error) {\n return {\n error: error\n };\n };\n\n var _proto = ErrorBoundary.prototype;\n\n _proto.reset = function reset() {\n this.updatedWithError = false;\n this.setState(initialState);\n };\n\n _proto.componentDidCatch = function componentDidCatch(error, info) {\n var _this$props$onError, _this$props2;\n\n (_this$props$onError = (_this$props2 = this.props).onError) == null ? void 0 : _this$props$onError.call(_this$props2, error, info);\n };\n\n _proto.componentDidMount = function componentDidMount() {\n var error = this.state.error;\n\n if (error !== null) {\n this.updatedWithError = true;\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var error = this.state.error;\n var resetKeys = this.props.resetKeys; // There's an edge case where if the thing that triggered the error\n // happens to *also* be in the resetKeys array, we'd end up resetting\n // the error boundary immediately. This would likely trigger a second\n // error to be thrown.\n // So we make sure that we don't check the resetKeys on the first call\n // of cDU after the error is set\n\n if (error !== null && !this.updatedWithError) {\n this.updatedWithError = true;\n return;\n }\n\n if (error !== null && changedArray(prevProps.resetKeys, resetKeys)) {\n var _this$props$onResetKe, _this$props3;\n\n (_this$props$onResetKe = (_this$props3 = this.props).onResetKeysChange) == null ? void 0 : _this$props$onResetKe.call(_this$props3, prevProps.resetKeys, resetKeys);\n this.reset();\n }\n };\n\n _proto.render = function render() {\n var error = this.state.error;\n var _this$props4 = this.props,\n fallbackRender = _this$props4.fallbackRender,\n FallbackComponent = _this$props4.FallbackComponent,\n fallback = _this$props4.fallback;\n\n if (error !== null) {\n var _props = {\n error: error,\n resetErrorBoundary: this.resetErrorBoundary\n };\n\n if ( /*#__PURE__*/React__namespace.isValidElement(fallback)) {\n return fallback;\n } else if (typeof fallbackRender === 'function') {\n return fallbackRender(_props);\n } else if (FallbackComponent) {\n return /*#__PURE__*/React__namespace.createElement(FallbackComponent, _props);\n } else {\n throw new Error('react-error-boundary requires either a fallback, fallbackRender, or FallbackComponent prop');\n }\n }\n\n return this.props.children;\n };\n\n return ErrorBoundary;\n }(React__namespace.Component);\n\n function withErrorBoundary(Component, errorBoundaryProps) {\n var Wrapped = function Wrapped(props) {\n return /*#__PURE__*/React__namespace.createElement(ErrorBoundary, errorBoundaryProps, /*#__PURE__*/React__namespace.createElement(Component, props));\n }; // Format for display in DevTools\n\n\n var name = Component.displayName || Component.name || 'Unknown';\n Wrapped.displayName = \"withErrorBoundary(\" + name + \")\";\n return Wrapped;\n }\n\n function useErrorHandler(givenError) {\n var _React$useState = React__namespace.useState(null),\n error = _React$useState[0],\n setError = _React$useState[1];\n\n if (givenError != null) throw givenError;\n if (error != null) throw error;\n return setError;\n }\n /*\n eslint\n @typescript-eslint/no-throw-literal: \"off\",\n @typescript-eslint/prefer-nullish-coalescing: \"off\"\n */\n\n\n exports.ErrorBoundary = ErrorBoundary;\n exports.useErrorHandler = useErrorHandler;\n exports.withErrorBoundary = withErrorBoundary;\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n });\n})(reactErrorBoundary_umd, reactErrorBoundary_umd.exports);\n\nexport { reactErrorBoundary_umd as r };"],"names":["Object","defineProperty","exports","value","createBrowserApolloClient","_ref","fragmentMatcherFn","metadata","pageRequestId","_ref$cacheHydration","cacheHydration","_ref$uri","uri","_ref$linkOptions","linkOptions","_ref$devToolsEnabled","devToolsEnabled","_ref$availableLoggedO","availableLoggedOutPaths","authLink","appName","appVersion","cache","_apolloCacheInmemory","InMemoryCache","fragmentMatcher","restore","_linkOptions$headers","headers","otherLinkOptions","_objectWithoutProperties","source","excluded","key","i","target","_objectWithoutPropertiesLoose","sourceKeys","keys","length","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","apolloLinkMemoizeCache","link","_apolloLink","ApolloLink","operation","_operation$getContext","_operation$getContext2","targetPath","getContext","graphQLPath","includes","apolloLinkFactory","arguments","undefined","DEFAULT_TARGET_PATH","_apolloLinkBatchHttp","BatchHttpLink","_objectSpread","DEFAULT_LINK_OPTIONS","concat","request","Observable","of","_apolloClient","connectToDevTools","name","version","_interopRequireDefault","obj","__esModule","ownKeys","object","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","configurable","writable","credentials","batchInterval","module","dateTimeFormat","isBrowser","getClientEnvironmentDetails","numberFormat","reduce","acc","style","currency","timeZone","Intl","DateTimeFormat","resolvedOptions","err","window","setTimeout","_default","number","dateTime","relativeTime","_typeof","defineMessages","v","t","desc","values","opts","id","defaultMessage","html","getHTML","get","T","FormattedDateTime","props","_options$currentLocal","restProps","_excluded","options","getOptionsObject","currentLocale","_formats","format","_react","_interopRequireWildcard","nodeInterop","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","hasOwnProperty","set","_propTypes","_intlMessageformat","_escapeHtml","_lodash","_utils","_locale","_intlRelativeformat","_excluded2","WeakMap","cacheBabelInterop","cacheNodeInterop","_defineProperties","descriptor","_setPrototypeOf","o","p","setPrototypeOf","__proto__","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_createSuperInternal","result","Super","_getPrototypeOf","NewTarget","this","constructor","_possibleConstructorReturn","self","_assertThisInitialized","ReferenceError","getPrototypeOf","_slicedToArray","arr","_arrayWithHoles","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","_unsupportedIterableToArray","_nonIterableRest","TypeError","_toConsumableArray","_arrayWithoutHoles","_arrayLikeToArray","_iterableToArray","iter","from","_nonIterableSpread","minLen","n","toString","slice","test","len","arr2","intlRelativeFormat","INTL_OPT_KEY","INTL_MSG_STORE_KEY","getStore","glob","g","getDefaultOptions","warningHandler","console","warn","bind","escapeHtml","randomStr","N","map","Math","random","join","keysOf","replacer","elements","part","substitute","message","variables","counter","vars","msg","uid","abs","hashInput","input","hash","charCodeAt","JSON","stringify","tokenDelimiter","tokenizedValues","generateToken","isValidElement","token","isString","s","String","formats","context","error","stack","exhausted","runningIndex","match","substr","_ref2","matched","tag","matchIndex","index","popped","pop","content","substring","replace","children","split","element","cloneElement","tokenReplacement","invariant","_getOptionsObject","messages","el","createElement","dangerouslySetInnerHTML","__html","defaultMsg","d","defineIntlRelativeFormat","currentLanguage","ReactIntlLocaleData","localeData","__addLocaleData","initIntl","messageStore","langInited","propTypes","shape","string","isRequired","description","objectOf","any","bool","defaultProps","L10NContext","createContext","isRTL","RTLLanguageCodes","LANGUAGES","l","code","L10nProvider","_React$Component","_inherits","subClass","superClass","create","_super","_this","_classCallCheck","instance","Constructor","state","localeCode","languageCode","localeMessages","isNode","_createClass","protoProps","staticProps","render","Provider","__self","__source","fileName","lineNumber","columnNumber","Component","node","getDataCenterById","getDataCenterIdFromCurrentUrl","url","dataCenterAffinityCookie","subdomain","parseResult","_parseDomain","parseDomain","fromUrl","dataCenterId","DataCenterIds","US","type","ParseResultType","Listed","subDomains","dcSub","_dataCenters","dataCenterSpecificSubdomains","find","subSpecific","endsWith","CA","getDefaultSubdomainForDataCenter","dc","defaultSubdomain","DC_SPECIFIC_SUBDOMAINS","dataCenters","EU","sanitizeCountryCode","isGDPRCountry","country","_localeSets","GDPRCountryCodes","CountryCodes","GB","isDACHCountry","DASHCountryCodes","isGBCountry","GBCountryCodes","isUSTerritory","USTerritoryCountryCodes","isEUCountry","EUCountryCodes","isEUDC","hostname","isEUSubdomain","getEUCountries","getCookieTransportTLDs","_tlds","tld","enabled","getAudienceSupportedCountries","AU","NZ","SG","IE","getBenchmarksSupportedCountries","getSMSupportedCountries","SMSupportedCountryCodes","getSiteSupportedLanguages","getLanguageCodeFromCountryCode","language","_languages","lang","countries","getLanguageCodeFromSubdomain","LANGUAGES_WITH_SUBDOMAINS","getSubdomainFromLanguageCodeAndDataCenter","LANGUAGES_BY_CODE","getSiteSupportedLanguageCodes","getTldLanguageInfo","data","LANGUAGES_BY_ID","localeSets","GDPR_COUNTRIES","SM_SUPPORTED_COUNTRIES","EU_COUNTRIES","US_TERRITORIES","GB_COUNTRIES","DASH_COUNTRIES","fallBackCountry","isTwoLetterCode","c","toUpperCase","supportLevel","SupportLevels","SITE_WIDE","SURVEY_CREATION","codeIETF","displayName","helplink","displayOrder","LANGUAGES_BY_ID_REC","LANGUAGES_BY_CODE_REC","LANGUAGES_WITH_SUBDOMAINS_REC","freeze","AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GR","HR","HU","IM","IT","LT","LU","LV","MC","MT","NL","PL","PT","RO","SE","SI","SK","IS","LI","NO","GG","GI","GS","JE","GU","PR","UM","VI","AE","AR","BR","FO","GL","AD","AL","AX","BA","BY","GF","GP","MD","ME","MF","MK","MQ","PM","RE","RS","RU","SM","TF","TR","UA","VA","YT","HK","IN","JP","KR","MX","TW","AF","AG","AI","AM","AN","AO","AQ","AS","AW","AZ","BB","BD","BF","BH","BI","BJ","BL","BM","BN","BO","BS","BT","BV","BW","BZ","CC","CD","CF","CG","CI","CK","CL","CM","CN","CO","CR","CV","CX","DJ","DM","DO","DZ","EC","EG","EH","ER","ET","FJ","FK","FM","GA","GD","GE","GH","GM","GN","GQ","GT","GW","GY","HM","HN","HT","ID","IL","IO","IQ","JM","JO","KE","KG","KH","KI","KM","KN","KP","KW","KY","KZ","LA","LB","LC","LK","LR","LS","LY","MA","MG","MH","ML","MM","MN","MO","MP","MR","MS","MU","MV","MW","MY","MZ","NA","NC","NE","NF","NG","NI","NP","NR","NU","OM","PA","PE","PF","PG","PH","PK","PN","PS","PW","PY","QA","RW","SA","SB","SC","SH","SJ","SL","SN","SO","SR","ST","SV","SY","SZ","TC","TD","TG","TH","TJ","TK","TL","TM","TN","TO","TT","TV","TZ","UG","UY","UZ","VC","VE","VG","VN","VU","WF","WS","YE","ZM","ZW","ZA","generateMetricsAttribute","eventData","_enums","ELEMENT_INTERACTION","MetricsTracker","_utils2","_helpers","_DataAnalyticsMetricsSubscriber","_LoggingMetricsSubscriber","_GTMMeticsSubscriber","_FacebookPixelSubscriber","_MixPanelSubscriber","delegatedEvents","getCleanDigitalData","userId","page","pageInfo","pageId","attributes","pathname","events","components","user","ep201","ep202","GLOBAL_KEY","getRoot","Error","initialize","config","root","setupRoot","subscribers","automaticSubscribers","isAuthenticated","dataAnalyticsAPIPath","loggingAPIPath","legacyWeb","gtmId","digitalData","setupEvents","on","gce","event","currentTarget","metricsData","getAttribute","metricsDataJSON","parse","track","addSubscriber","setupAutomaticEvents","clickableLinks","inputTarget","automaticTrack","actionType","actionFlow","className","text","innerText","checked","addAutomaticSubscriber","reset","update","getSubscribers","getAutomaticSubscribers","_event$data","_event$data2","_event$data2$data","maskedEvent","email","maskEmail","COMPONENT_ADD","PAGE_VIEW","VIRTUAL_PAGE_VIEW","pageViewMutation","subscriber","getConfig","getDigitalData","cloneDigitalData","newDigitalData","maskString","str","_","a","b","_MetricsTracker","_PageMetricsProvider","_ComponentMetricsProvider","_SPARouteMetricsProvider","ComponentMetricsProvider","_ref$attributes","_ref$disableDA","disableDA","USER_EVENTS","componentName","PageMetricsProvider","GDPR","_GDPR$hasGDPRConsent","hasGDPRConsent","_user$id","_user$package","packageId","_user$email","useEffect","SPARouteMetricsProvider","countryCode","dataAnalyticsMetricsSubscriber","digitalDataEvent","metricsTrackerConfig","eventMeta","ui_event","ui_goal","origin","legacy_web","location","href","fetch","method","body","meta","facebookPixelSubscriber","ReactPixel","_JSON$parse","isValidURL","whiteListedURLs","some","pattern","init","USER_METADATA","pageView","gtmMetricsSubscriber","gtmDataLayer","pagePath","dataLayer","gtm","eventObj","loadMarketingContainer","user_id","package_id","country_code","virtualPageUrl","virtualPageTitle","GDPR_ACTION","loggingMetricsSubscriber","logEventData","log","bodyRequestObject","mixPanelSubscriber","mixpanelToken","username","languageId","_package","_mixpanelBrowser","identify","people","$name","$email","getCookieValue","cname","defaultValue","ca","decodeURIComponent","document","cookie","charAt","_construct","Parent","args","Class","Function","_wrapNativeSuper","_cache","Map","_isNativeFunction","fn","Wrapper","idCounter","uniqueId","prefix","visuallyHidden","border","clip","height","margin","overflow","padding","position","width","whiteSpace","wordWrap","_s3upload","DEFAULT_OPTIONS","preprocess","file","onSignedUrl","onProgress","onFinish","onError","signingUrl","scrubFilename","filename","s3path","autoUpload","S3Uploader","myUploader","uploadFile","abort","abortUpload","userAgent","environmentDetails","userAgentTracker","_initialize","isBrowserSupported","supportedBrowsers","browser","_bowser","getParser","browsers","defaultSupportedBrowsers","cfg","vendor","operator","satisfies","SupportedBrowserVendors","isDesktop","isHeadlessChrome","isMobile","isTablet","isIOS","isAndroid","clientWindowSize","ua","__LOAD_PAYLOAD_CACHE__","clientWidth","clientHeight","navigator","inspectAgent","Chrome","Firefox","Safari","Edge","_sanitizeString","_isValidEmail","_createURL","_deepFreeze","_S3Uploader","_environment","SupportedBrowsers","VersionOperators","deepFreeze","getOwnPropertyNames","prop","isFrozen","isValidEmail","toLowerCase","_dompurify","stringSanitize","sanitize","JSDOM","createURL","params","queryString","encodeURIComponent","isNull","u","isNumber","isBoolean","isOptional","guard","isArrayOf","every","isOneOf","list","isFixed","isEither","isNullable","res","typeGuard","guards","entries","typeAssertion","assertGuard","_ref3","_ref4","_res","isQuestionError","field","baseQuestionGuards","typeId","family","variant","errors","questionTypeHeaderColumnWidths","isTextLengthValidation","errorMessage","minLength","maxLength","isIntegerValidation","minValue","maxValue","isDecimalValidation","isDateValidation","minDate","maxDate","isEmailValidation","isSumValidation","sum","isFieldValidation","headingGuards","assignments","heading","variable","percent","positionGuard","inPage","inSurvey","label","baseGuards$a","surveyQuestionGuards","hasPiping","createdAt","modifiedAt","externalQuizResultsGuards","feedback","correct","partial","incorrect","answers","answer","visible","points","responded","answerOther","textAnswer","totalPoints","isSurveyQuestion","isQuestionLayoutPlacement","isQuestionLayoutSpacing","left","right","top","bottom","isQuestionLayoutWidth","isQuestionLayoutHeaderColumnWidth","isAnswer","isAnswerOtherCommentNonNullable","layout","linesCount","charsCount","isAnswerOtherChoiceNonNullable","requiredErrorText","isAnswerOther","isAnswerOtherComment","isAnswerNoneOfTheAbove","isFieldSet","isAllAnswerRequired","isWeightedAnswer","weight","isWeightedAnswers","isQuestionSorting","ignoreLast","isQuestionSkipLogicRules","skipType","sourceAnswer","destination","question","isExternalQuestionWithTypeId","isAnswerRangeRequired","min","max","isAnswerCountPredicateRequired","amount","basicExternalAllMultipleChoiceGuards","fieldSet","sorting","required","basicExternalMultipleChoiceAnswersGuard","basicExternalMultipleChoiceValidationGuard","validation","basicExternalMultipleChoiceLayoutGuard","answerLayout","placement","spacing","basicExternalMultipleChoiceAnswerOtherGuard","basicExternalMultipleChoiceAnswerNoneOfTheAboveGuard","answerNoneOfTheAbove","externalRespondentSurveyGuards","active","isAggregateResponseHeaderItem$1","isAggregateResponseHeader$1","items","externalRespondentQuizResultsGuards","quizResults","externalAggregateResponseDashboardGuards","dashboardType","filterCount","selectedCount","skippedCount","responseData","sentiment","aggregateResponse","columnHeader","rowHeader","groupHeader","columnItem","rowItem","groupItem","percentage","total","stats","across","row","column","group","CAPABILITIES","assertExternalQuestionByCapability","externalQuestion","respondentSurveyMapping","questionNumber","title","disabled","touched","respondentQuizResultsMapping","aggregateResponseDashboardMapping","basicFieldsMapping","assertBasicFields","basicExternalImageChoiceGuards","mapExternalToInternalImageChoice","assertExternalImageChoice","answersImageGuards","answersImage","image","altText","mapRespondentSurveyExternalImageChoice","assertRespondentSurvey$a","skipLogicRules","mapRespondentQuizResultsExternalImageChoice","assertRespondentQuizResults$2","basicExternalCheckBoxGuards","mapExternalToInternalCheckBox","assertExternalCheckBox","mapRespondentSurveyExternalCheckBox","assertRespondentSurvey$9","selected","mapRespondentQuizResultsExternalCheckBox","assertRespondentQuizResults$1","basicExternalDropdownGuards","mapExternalToInternalDropdown","assertExternalDropdown","mapRespondentSurveyExternalDropdown","assertRespondentSurvey$8","mapRespondentQuizResultsExternalDropdown","assertQuizResults","basicExternalFieldSetGuards","basicExternalRequiredGuards","basicExternalOpenEndedLayoutGuards","basicExternalOpenEndedValidationGuards","basicExternalCommentBoxGuards","mapExternalToInternalCommentBox","assertExternalCommentBox","mapRespondentSurveyExternalCommentBox","assertRespondentSurvey$7","basicExternalSingleTextboxGuards","mapExternalToInternalSingleTextbox","assertExternalSingleTextbox","mapRespondentSurveyExternalSingleTextbox","assertRespondentSurvey$6","basicExternalMatrixGuards","mapExternalToInternalMatrix","assertExternalMatrix","mapRespondentSurveyExternalMatrix","assertRespondentSurvey$5","fieldSets","labelWidthPercent","basicExternalMultipleChoiceGuards","mapExternalToInternalMultipleChoice","assertExternalMultipleChoice","mapRespondentSurveyExternalMultipleChoice","assertRespondentSurvey$4","mapRespondentQuizResultsExternalMultipleChoice","assertRespondentQuizResults","basicExternalMultipleTextboxGuards","mapExternalToInternalMultipleTextbox","assertExternalMultipleTextbox","mapRespondentSurveyExternalMultipleTextbox","assertRespondentSurvey$3","basicExternalRankingGuards","mapExternalToInternalRanking","assertExternalRanking","isRankingLayoutOption","mapRespondentSurveyExternalRanking","assertRespondentSurvey$2","answerNA","answersWeighted","isWeighted","isSliderScaleLabels","middle","isScaleOptions","stepSize","startPosition","isCustom","labels","basicExternalSliderGuards","mapExternalToInternalSlider","assertExternalSlider","mapRespondentSurveyExternalSlider","assertRespondentSurvey$1","scaleOptions","hideNumericalInput","instructions","basicExternalStarRatingGuards","mapExternalToInternalStarRating","assertExternalStarRating","isRatingScaleSymbolOptions","color","symbol","mapRespondentSurveyExternalStarRating","assertRespondentSurvey","symbolOptions","invalidCombination","questionTypeAndCapabilityMapping","single_textbox","singleTextboxRespondentSurveyMapping","singleTextboxAggregateResponseDashboardMapping","comment_box","commentBoxRespondentSurveyMapping","commentBoxAggregateResponseDashboardMapping","multiple_textbox","multipleTextboxRespondentSurveyMapping","multipleTextboxAggregateResponseDashboardMapping","check_box","checkBoxRespondentSurveyMapping","checkBoxRespondentQuizResultsMapping","checkBoxAggregateResponseDashboardMapping","image_choice","imageChoiceRespondentSurveyMapping","imageChoiceRespondentQuizResultsMapping","imageChoiceAggregateResponseDashboardMapping","multiple_choice","multipleChoiceRespondentSurveyMapping","multipleChoiceRespondentQuizResultsMapping","multipleChoiceAggregateResponseDashboardMapping","dropdown","dropdownRespondentSurveyMapping","dropdownRespondentQuizResultsMapping","dropdownAggregateResponseDashboardMapping","slider","sliderRespondentSurveyMapping","sliderAggregateResponseDashboardMapping","star_rating","starRatingRespondentSurveyMapping","starRatingAggregateResponseDashboardMapping","ranking","rankingRespondentSurveyMapping","rankingAggregateResponseDashboardMapping","matrix","matrixRespondentSurveyMapping","matrixAggregateResponseDashboardMapping","mapDynamic","_ref5","capability","isCapability","mapInternalDynamicToExternal","q","isCompatible$b","baseGuards$9","isQuestionTypeSingleTextbox","assertQuestionTypeSingleTextbox","appendError","invalidAnswerMessage","getTypeId","_ref6","DATE_PATTERNS","DATE_INTL","DATE_US","DATE_BUILDERS","_ref7","_ref8","dd","mm","yyyy","Date","_ref9","_ref10","validators$4","checkValueTextLength$4","checkValueDateFormat$3","_map","strToDate$3","Number","_map2","dmin","dmax","date","getTime","validate$b","filteredValidators","validator","typeId$a","singleTextboxQuestionDefinition","shortUpdate","shortUpdate$a","updateType","longUpdate","longUpdate$a","validate","fromExternalQuestion","fromExternalQuestion$a","mapFromExternalQuestion$a","questionType","toExternalQuestion","toExternalQuestion$a","eq","isOfQuestionType","isCompatible","isCompatible$a","assertQuestionType","baseGuards$8","isQuestionTypeMultipleTextbox","assertQuestionTypeMultipleTextbox","validate$a","typeId$9","multipleTextboxQuestionDefinition","shortUpdate$9","longUpdate$9","fromExternalQuestion$9","mapFromExternalQuestion$9","toExternalQuestion$9","isCompatible$9","baseGuards$7","isQuestionTypeCommentBox","assertQuestionTypeCommentBox","validators$3","checkValueTextLength$3","validate$9","typeId$8","commentBoxQuestionDefinition","shortUpdate$8","longUpdate$8","fromExternalQuestion$8","mapFromExternalQuestion$8","toExternalQuestion$8","isCompatible$8","baseGuards$6","isQuestionTypeMultipleChoice","assertQuestionTypeMultipleChoice","getDefaultExportFromCjs","x","isEmail$1","assertString","invalidType","merge","defaults","isByteLength","_assertString","encodeURI","isFQDN","_merge","default_fqdn_options","allow_trailing_dot","parts","require_tld","allow_numeric_tld","allow_underscores","isIP","ipv4Maybe","sort","addressAndZone","blocks","foundOmissionBlock","foundIPv4TransitionBlock","expectedNumberOfBlocks","shift","ipv6Block","isEmail","default_email_options","require_display_name","allow_display_name","display_email","splitNameAddress","display_name","_display_email","validateDisplayName","trim_quotes","display_name_without_quotes","trim","ignore_max_length","domain","lower_domain","domain_specific_validation","_isByteLength","_user_parts","gmailUserPart","_isFQDN","allow_ip_domain","_isIP","startsWith","noBracketdomain","allow_utf8_local_part","quotedEmailUserUtf8","quotedEmailUser","emailUserUtf8Part","emailUserPart","user_parts","_i2","blacklisted_chars","search","RegExp","validators$2","checkValueTextLength$2","checkValueDateFormat$2","_map3","strToDate$2","_map4","checkValueNumber$2","numInt","parseInt","isNaN","floor","checkValueEmail$2","validate$8","typeId$7","multipleChoiceQuestionDefinition","shortUpdate$7","longUpdate$7","fromExternalQuestion$7","mapFromExternalQuestion$7","toExternalQuestion$7","isCompatible$7","baseGuards$5","isQuestionTypeCheckBox","assertQuestionTypeCheckBox","validators$1","checkValueTextLength$1","checkValueDateFormat$1","_map5","strToDate$1","_map6","checkValueNumber$1","checkValueEmail$1","validate$7","typeId$6","checkBoxQuestionDefinition","shortUpdate$6","longUpdate$6","fromExternalQuestion$6","mapFromExternalQuestion$6","toExternalQuestion$6","isCompatible$6","baseGuards$4","isQuestionTypeDropdown","assertQuestionTypeDropdown","localError","validators","checkValueTextLength","checkValueDateFormat","_map7","strToDate","_map8","checkValueNumber","checkValueEmail","validate$6","typeId$5","dropdownQuestionDefinition","shortUpdate$5","longUpdate$5","fromExternalQuestion$5","mapFromExternalQuestion$5","toExternalQuestion$5","isCompatible$5","baseGuards$3","isQuestionTypeImageChoice","assertQuestionTypeImageChoice","validate$5","typeId$4","imageChoiceQuestionDefinition","shortUpdate$4","longUpdate$4","fromExternalQuestion$4","mapFromExternalQuestion$4","toExternalQuestion$4","isCompatible$4","validate$4","baseGuards$2","isQuestionTypeSlider","assertQuestionTypeSlider","typeId$3","sliderQuestionDefinition","shortUpdate$3","longUpdate$3","fromExternalQuestion$3","mapFromExternalQuestion$3","toExternalQuestion$3","isCompatible$3","validate$3","baseGuards$1","isQuestionTypeStarRating","assertQuestionTypeStarRating","typeId$2","starRatingQuestionDefinition","shortUpdate$2","longUpdate$2","fromExternalQuestion$2","mapFromExternalQuestion$2","toExternalQuestion$2","isCompatible$2","baseSingleAnswerGuards","baseManyAnswersGuards","isQuestionTypeMatrixSingleAnswer","isQuestionTypeMatrixManyAnswers","isQuestionTypeMatrix","assertQuestionTypeMatrix","typeId$1","matrixQuestionDefinition","shortUpdate$1","feature","longUpdate$1","fromExternalQuestion$1","mapFromExternalQuestion$1","toExternalQuestion$1","isCompatible$1","validate$1","baseGuards","isQuestionTypeRanking","assertQuestionTypeRanking","questionTypeDefinitionModules","mapFromExternalQuestion","pickQuestionTypeDefinition","findByType","qd","selectQuestionTypeDefinition","_a","_ref11","isAggregateResponseHeaderItem","isAggregateResponseHeader","isAggregateResponseBasicStats","isOneDimensionalAggregateResponseCell","isTwoDimensionalAggregateResponseCell","isThreeDimensionalAggregateResponseCell","isOneDimensionalChartData","rowID","rowLabel","isTwoDimensionalData","columnID","columnLabel","groupID","groupLabel","smFont","grey","themeAugmentation","fontSize","fontWeight","light","regular","medium","nextButton","backgroundColor","activeColor","bgColor","defaultColor","correctColor","wrongColor","correctAnswerHighlightColor","applySurveyThemeAugmentation","theme","_b","_c","questionHighlightColor","getQuestionHighlightColor","isNps","titleColor","isDark","isAccessible","primaryAccentColor","secondaryAccentColor","answerColor","questionColor","primaryBackgroundColor","secondaryBackgroundColor","isCustomTheme","surveyPage","overlayColor","backgroundImage","surveyTitle","fontFamily","fontStyle","textDecoration","pageTitle","button","exitLink","logo","progressBar","showPercent","showPageNumber","questionBody","highlightColor","questionTitle","breakpoints","xxs","xs","sm","md","lg","selectors","useStyles","boxSizing","listStyle","MIN_SAFE_INTEGER","SurveyGlobalStyles","SurveyStylesProvider","generateJssId","assign","generateId","rule","srcSheet","sheet","classNamePrefix","SurveyThemeWrapper","FallbackComponent","declareVisualization","questionTypes","capabilities","component","providerAccessContext","UnsupportedVisualization","createVisualization","questionTypeId","visualizationOptions","upstreamActions","settings","renderProps","filterVisualizationByQuestionType","VisualizationComponent","displayOptions","namedSlots","commonjsGlobal","globalThis","global","classnames$1","hasOwn","classNames","classes","arg","argType","inner","classnames","symbolTag","reEscapedHtml","reHasEscapedHtml","freeGlobal","freeSelf","unescapeHtmlChar","basePropertyOf","objectToString","_Symbol","symbolProto","symbolToString","baseToString","isSymbol","isObjectLike","lodash_unescape","reactErrorBoundary_umd","React","_interopNamespace","k","React__namespace","_inheritsLoose","changedArray","item","is","initialState","ErrorBoundary","_len","_args","_key","updatedWithError","resetErrorBoundary","_this$props","_len2","_key2","onReset","getDerivedStateFromError","_proto","setState","componentDidCatch","info","_this$props$onError","_this$props2","componentDidMount","componentDidUpdate","prevProps","_this$props$onResetKe","_this$props3","resetKeys","onResetKeysChange","_this$props4","fallbackRender","fallback","_props","withErrorBoundary","errorBoundaryProps","Wrapped","useErrorHandler","givenError","_React$useState","useState","setError","factory","_excluded3","borderRadius","maxWidth","minWidth","minHeight","cursor","overflowWrap","useStyles$d","VisuallyHidden","Element","useStyles$c","paddingBox","paddingTop","paddingBottom","paddingLeft","paddingRight","QuestionSpacing","useStyles$b","footerRow","hasFooterPadding","containerStyles","clickShield","opacity","transition","pointerEvents","errorRow","marginBottom","formReset","headerRow","COPY$2","QUESTION_TITLE","QuestionFieldLayoutTemplate","footer","onSubmit","_useStyles$b","containerRef","useRef","handleKeydown","useCallback","container","current","addEventListener","removeEventListener","ref","useStyles$a","containerVertical","display","containerHorizontal","flexDirection","justifyContent","columnHorizontal","columnHorizontalAutoAdjust","flexWrap","QuestionAnswerLayoutTemplate","_ref8$columns","columns","other","noneOfTheAbove","_ref8$adjustToContent","adjustToContent","_useStyles$a","isHorizontal","columnGroups","useMemo","totalChildren","totalColumns","sliceChildren","childrenArr","childrenPerSlice","calculateMaxNumOfChildrenPerColumn","childrenPerColumn","columnClassNames","col","columnIndex","cell","cellIndex","textReset","inlineSpacing","marginRight","useStyles$9","_theme$questionTitle","questionTitleFormatting","questionTitleFontSize","addonContainer","verticalAlign","useDefaultFrontSize","lineHeight","requiredAsterisk","listSpacing","mediaReset","useStyles$8","richTextContent","outline","listStyleType","sanitizeOptions","ADD_TAGS","ADD_ATTR","RichText","sanitizeString","QuestionTitle","addon","numbered","_ref11$useDefaultFron","_useStyles$2","icon","backgroundClip","iconWrapper","validationMessage","useStyles$7","textareaStyles","outlineColor","textSizeAdjust","borderColor","boxShadow","TextArea","_ref13","placeholder","rows","cols","labelId","errorId","_ref13$required","_ref13$readOnly","readOnly","onChange","onBlur","onFocus","spellCheck","useStyles$6","inputStyles","_ref14","autoHeight","TextInput","_ref16","_ref16$required","_ref16$readOnly","_ref16$autoHeight","_ref16$size","size","useStyles$5","defaultFontSize","_ref17","_ref17$fontFamily","_ref17$fontWeight","_ref17$fontStyle","_ref17$textDecoration","_ref17$highlightColor","_ref17$color","componentContainer","labelContainer","textContainer","wordBreak","textInputContainer","QuizResultComment","_ref18","optionText","_ref18$textInputValue","textInputValue","_ref18$textInputSize","textInputSize","_ref18$textInputParag","textInputParagraphLines","_useStyles$5","htmlFor","useStyles$4","srOnly","COPY$1","CORRECT","INCORRECT","SrText","_ref19","TranslatedText","icons","QuizCorrectIcon","_ref20","_ref20$isAriaHidden","isAriaHidden","viewBox","stroke","strokeWidth","fill","fillRule","transform","wrong","QuizWrongIcon","_ref21","_ref21$isAriaHidden","useStyles$3","containerBase","alignItems","getIconContainerBg","highlight","iconName","getIconContainerBorderColor","getIconContainerBackground","radioContainer","radioInput","iconContainer","_ref22","iconContainerBackground","_ref23","InputIcon","_ref24","ariaLabelledby","_ref24$highlight","_ref24$isCorrect","isCorrect","_ref24$ariaDescribedB","ariaDescribedBy","_ref24$noScreenReader","noScreenReaderText","_useStyles$7","Icon","useStyles$2","defaultFrontSize","_ref25","_ref25$fontFamily","_ref25$fontWeight","_ref25$fontStyle","_ref25$textDecoration","_ref25$highlightColor","_ref25$color","_ref26","_ref27","QuizResultChoices","_ref29","_ref29$highlight","_ref29$hasTextInput","hasTextInput","_ref29$textInputValue","_ref29$textInputSize","_ref29$textInputParag","_useStyles$8","uniqId","radioButtonId","textInputId","inputId","useStyles$1","imageChoice","iconLabel","zIndex","imageContainer","_ref30","imageStyle","maxHeight","captionStyle","_ref31","QuizResultImageChoice","_ref32","_ref32$highlight","_ref32$selected","_ref32$caption","caption","correctMessage","selectedMessage","_ref32$isManyAnswers","isManyAnswers","_useStyles$9","imageChoiceId","captionId","selectedId","highlightedId","src","alt","_f","_g","_h","_j","scoreContainer","feedbackContainer","marginTop","skippedBadge","marginLeft","COPY","POINT","POINTS","SKIPPED","QuizResultScore","_ref33","score","_ref33$skipped","skipped","_useStyles","getCorrectnessIndicatorIcon","answerOptionPoints","getIconAndHighlight","idToSearch","highlightCorrectAnswers","_ref34","_ref35","_ref34$points","_ref34$responded","pickFeedback","userScore","totalScore","getUserScore","quizAnswers","cur","isNotUndefined","isPureQuizAnswer","filterQuizAnswers","idsToFilter","_ref36","isPureQuizImageAnswer","ErrorFallback","_ref38","CheckBox$1","CheckBox","_ref39","numberingEnabled","answerLayoutColumns","regularAnswers","isComment","NoneOfTheAboveOption","OtherOption","_ref40","MultipleChoice$1","MultipleChoice","_ref41","answerOption","ImageChoice$1","ImageChoice","_ref42","filterOtherFromQuizImageAnswer","_ref37","UnsupportedQuestionTypeError","SingleQuestionController$1","r","SingleQuestionController","responseSet","_useProviderAccessCon","useProviderAccessContext","access","useContext","useUpstreamConfig","useVisualizationList","_useUpstreamConfig","augmentedExternalQuestion","useExternalQuestionAugmentation","definition","ChosenVisualization","getAnswerLayoutColumns","quizAnswersToImageAnswers","ans","maybeAnswer","matchingImageAnswer","ansImg","ProviderHelper","providerFactory","visualizationList","ctx","MultipleChoiceVisualization","_ref$question","_ref$question$layout","_ref$settings$survey","survey","CheckBoxVisualization","_ref2$question","_ref2$question$layout","_ref2$settings$survey","ImageChoiceVisualization","_ref3$question","_ref3$settings$survey","quizResultsWithImage","getQuizResultsWithImage","DropdownVisualization","_ref4$question","_ref4$question$layout","_ref4$settings$survey","QuizResultsCapabilityProvider","isLocalError","_excluded4","_excluded5","_excluded6","_excluded7","createFieldId","questionId","createLabelId","createErrorId","Button","_ref$text","slicedText","_useStyles$4","_useStyles$6","ValidationMessage","_ref12","_ref14$required","_ref14$readOnly","_ref15","_ref17$required","_ref17$readOnly","_ref17$autoHeight","_ref17$size","OK_LABEL","SingleTextbox","QuestionField","_onChange","onLeave","_ref19$padding","_ref19$survey","asteriskEnabled","_ref19$okLabel","okLabel","conditionalProps","titleId","fieldId","isAutoScroll","showClickShield","showButton","showOkButton","onClick","CommentBox$1","CommentBox","_ref20$cols","onUpdate","_ref20$padding","_ref20$rows","_ref20$survey","_ref20$okLabel","useShowOkButton","_useState","_useState2","setShowOkButton","AnswerCommentBoxVisualization","RespondentCommentBoxVisualization","upstreamErrors","upstreamAnswer","_useState3","_useState4","_useState5","_useState6","setAnswer","surveyModeOptions","isClassic","onLeaveQuestion","RespondentSingleTextboxVisualization","_useState7","_useState8","_useState9","questionID","isDirty","_useState10","newAnswer","RespondentCapabilityProvider"],"sourceRoot":""}