{"version":3,"file":"static/js/769.e0181ac4.chunk.js","mappings":"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","sources":["blocks/content-history-block.js","blocks/survey-block.js","platformui/ContentHistory/content-history-heading.js","platformui/ContentHistory/index.js","platformui/ContentHistory/list-item.js","platformui/EpiserverFormsBlock/index.js","platformui/Facets/index.js","platformui/RevisedAndPublished/index.js","platformui/Survey/index.js","platformui/Survey/survey-result.js"],"sourcesContent":["import ContentHistory from '../platformui/ContentHistory';\r\nexport default ContentHistory;","import React from 'react';\r\nimport classNames from 'classnames';\r\nimport Survey from '../platformui/Survey';\r\n\r\nexport default function SurveyBlock(props) {\r\n const classes = classNames({\r\n 'c-survey-content__item': true,\r\n 'c-intro-content__item': props.PropertyName === 'IntroContent',\r\n });\r\n const containerClasses = classNames({\r\n 'c-survey__container': true,\r\n 'c-intro-content__item__container': props.PropertyName === 'IntroContent',\r\n });\r\n\r\n const site = props.CurrentPageProps.Site;\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n}","import React from 'react';\r\n\r\nconst ContentHistoryHeading = (props) => {\r\n const { Heading } = props;\r\n\r\n if (!props.Heading) return null;\r\n\r\n if (props.CurrentPageProps.PageTypeName === 'StartPage') {\r\n if (props.Link) {\r\n return (\r\n \r\n

\r\n \r\n {Heading}\r\n

\r\n
\r\n );\r\n }\r\n\r\n return

{Heading}

;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default ContentHistoryHeading;\r\n","import React, { useState, Fragment } from 'react';\r\nimport queryString from 'qs';\r\nimport Spinner from '../Spinner';\r\nimport Facets from '../Facets';\r\nimport withSearch from '../Containers/withSearch';\r\nimport classNames from 'classnames';\r\nimport ContentHistoryListItem from './list-item';\r\nimport Pagination from '../Pagination';\r\nimport ContentHistoryHeading from './content-history-heading';\r\n\r\nconst ContentHistoryList = (props) => {\r\n const [expandedFilter, setExpandedFilter] = useState();\r\n\r\n const toggleFacetsHandler = (e) => {\r\n e.target.classList.toggle('facets-open');\r\n\r\n setExpandedFilter(!expandedFilter);\r\n\r\n e.target.setAttribute('aria-expanded', expandedFilter);\r\n\r\n facetPanelHandler();\r\n };\r\n\r\n const facetPanelHandler = () => {\r\n const facets = document.querySelector('.content-history__facets');\r\n const facetPanel = document.querySelector(\r\n '.content-history__facets__panel'\r\n );\r\n const panelHeight = document\r\n .querySelector('.content-history__facets__panel-inner')\r\n .getBoundingClientRect().height;\r\n\r\n if (expandedFilter) {\r\n facetPanel.style.setProperty('height', `0px`);\r\n facets.classList.remove('facets-shown');\r\n } else {\r\n facetPanel.style.setProperty('height', `${panelHeight}px`);\r\n setTimeout(() => facets.classList.add('facets-shown'), 100);\r\n }\r\n };\r\n\r\n const isOnStartPage = (currentPage) => {\r\n if (currentPage.PageTypeName === 'StartPage') return true;\r\n return false;\r\n };\r\n\r\n const classes = classNames({\r\n 'content-history': true,\r\n '.is-loading': props.SearchResult.isLoading,\r\n ...props.Modifiers,\r\n });\r\n\r\n const qs = queryString.parse(props.location.search, {\r\n ignoreQueryPrefix: true,\r\n });\r\n const { SinceDate, Translations, SearchResult, ShowInfo, ShowLoadMore } =\r\n props;\r\n const listItem =\r\n SearchResult &&\r\n SearchResult.SearchHits &&\r\n SearchResult.SearchHits.map((item, index) => (\r\n \r\n ));\r\n\r\n return (\r\n
\r\n \r\n {ShowInfo && !isOnStartPage(props.CurrentPageProps) && (\r\n \r\n
\r\n

\r\n \r\n {SearchResult.TotalHits} {Translations.updates}\r\n {' '}\r\n {Translations.since} {SinceDate}\r\n

\r\n {props.Facets.Items.length > 0 && (\r\n \r\n {Translations.filterlist}\r\n \r\n )}\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n {Translations.filterlist}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n {listItem && }\r\n\r\n {ShowLoadMore && !isOnStartPage(props.CurrentPageProps) && (\r\n
\r\n \r\n document.getElementById(props.lastListItemId).focus()\r\n }\r\n {...props.SearchResult}\r\n Spinner={\r\n \r\n }\r\n >\r\n {props.SearchResult.BatchText}\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nContentHistoryList.defaultProps = {\r\n lastListItemId: 'search-list-last',\r\n};\r\n\r\nexport default withSearch(ContentHistoryList, 'ContentHistoryList');\r\n","import React, { Fragment } from 'react';\r\nimport RevisedAndPublished from '../RevisedAndPublished';\r\n\r\nconst ContentHistoryListItem = (props) => {\r\n const lastItem = props.isLast ? (\r\n \r\n ) : null;\r\n\r\n return (\r\n \r\n {props.largeList ? (\r\n
  • \r\n {props.Heading}\r\n \r\n {lastItem}\r\n
  • \r\n ) : (\r\n
  • \r\n {props.Heading}\r\n \r\n {' '}\r\n ({props.SubjectHeading ? `${props.SubjectHeading}, ` : null}\r\n {props.EventDate})\r\n \r\n {lastItem}\r\n
  • \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default ContentHistoryListItem;\r\n","import React, { createRef, useEffect } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst EpiserverFormsBlock = (props) => {\r\n const EPiForms = createRef(null);\r\n\r\n function handleFocus(e, className) {\r\n const node = e.currentTarget;\r\n node.parentNode.className = classNames({\r\n [`${className}`]: true,\r\n [`${className}--is-multiple`]: node.hasAttribute('multiple'),\r\n [`${className}--has-focus`]: true,\r\n });\r\n }\r\n\r\n function handleBlur(e, className) {\r\n const node = e.currentTarget;\r\n node.parentNode.className = classNames({\r\n [`${className}`]: true,\r\n [`${className}--is-multiple`]: node.hasAttribute('multiple'),\r\n [`${className}--has-focus`]: false,\r\n });\r\n }\r\n\r\n function handleSubmit() {\r\n if (!EPiForms.current || !props.onSubmit) return;\r\n const form = EPiForms.current.querySelector('form');\r\n if (form) {\r\n form.addEventListener('submit', props.onSubmit);\r\n }\r\n }\r\n\r\n function wrapSelectElement() {\r\n if (EPiForms.current === null) return null;\r\n\r\n const select = EPiForms.current.querySelectorAll('select');\r\n\r\n if (select.length === 0) return;\r\n\r\n for (var i = 0; select.length - i; i++) {\r\n const parent = select[i].parentNode;\r\n const previousSibling = select[i].previousSibling;\r\n\r\n const wrapper = document.createElement('div');\r\n wrapper.className = classNames({\r\n 'c-forms__select': true,\r\n 'c-forms__select--is-multiple': select[i].hasAttribute('multiple'),\r\n });\r\n wrapper.appendChild(select[i]);\r\n parent.insertBefore(wrapper, previousSibling.nextSibling);\r\n\r\n select[i].onfocus = (e) => handleFocus(e, 'c-forms__select');\r\n select[i].onblur = (e) => handleBlur(e, 'c-forms__select');\r\n }\r\n }\r\n\r\n function wrapTextareaElement() {\r\n if (EPiForms.current === null) return null;\r\n\r\n const textarea = EPiForms.current.querySelectorAll('textarea');\r\n\r\n if (textarea.length === 0) return;\r\n\r\n for (var i = 0; textarea.length - i; i++) {\r\n const parent = textarea[i].parentNode;\r\n const previousSibling = textarea[i].previousSibling;\r\n\r\n const wrapper = document.createElement('div');\r\n wrapper.className = classNames({\r\n 'c-forms__textarea': true,\r\n });\r\n\r\n wrapper.onclick = (function (elm) {\r\n return () => elm.focus();\r\n })(textarea[i]);\r\n\r\n wrapper.appendChild(textarea[i]);\r\n parent.insertBefore(wrapper, previousSibling.nextSibling);\r\n\r\n textarea[i].onfocus = (e) => handleFocus(e, 'c-forms__textarea');\r\n textarea[i].onblur = (e) => handleBlur(e, 'c-forms__textarea');\r\n }\r\n }\r\n\r\n function wrapChoicesElement() {\r\n if (EPiForms.current === null) return null;\r\n\r\n const choices = EPiForms.current.querySelectorAll(\r\n '.FormChoice__Input--Radio, .FormChoice__Input--Checkbox'\r\n );\r\n if (choices.length === 0) return;\r\n\r\n choices.forEach((choice) => {\r\n const parent = choice.parentNode;\r\n parent.tabIndex = 0;\r\n parent.classList.add('c-forms__checkbox');\r\n choice.tabIndex = -1;\r\n\r\n parent.addEventListener('keydown', (e) => {\r\n if (e.key === ' ') {\r\n e.preventDefault();\r\n toggleChoice(choice, parent);\r\n }\r\n });\r\n\r\n parent.addEventListener('click', (e) => {\r\n e.preventDefault();\r\n toggleChoice(choice, parent);\r\n });\r\n\r\n const fakeInput = document.createElement('span');\r\n parent.insertBefore(fakeInput, choice.nextSibling);\r\n choice.onfocus = (e) => handleFocus(e, 'c-forms__checkbox');\r\n choice.onblur = (e) => handleBlur(e, 'c-forms__checkbox');\r\n });\r\n }\r\n\r\n function toggleChoice(choice, parent) {\r\n const hasMultiSelect = props.ElementsArea.some(\r\n (element) => element.AllowMultiSelect\r\n );\r\n if (!hasMultiSelect) {\r\n const choices = parent.parentNode.querySelectorAll(\r\n '.FormChoice__Input--Radio, .FormChoice__Input--Checkbox'\r\n );\r\n choices.forEach((c) => {\r\n c.checked = false;\r\n c.parentNode.classList.remove('checked');\r\n c.onblur = (e) => handleBlur(e, 'c-forms__checkbox');\r\n });\r\n }\r\n\r\n choice.checked = !choice.checked;\r\n if (choice.checked) {\r\n parent.classList.add('checked');\r\n choice.onfocus = (e) => handleFocus(e, 'c-forms__checkbox');\r\n } else {\r\n parent.classList.remove('checked');\r\n choice.onblur = (e) => handleBlur(e, 'c-forms__checkbox');\r\n }\r\n }\r\n\r\n // TODO: should run before render.\r\n function addSubscriptionClassToForm() {\r\n if (EPiForms.current === null) return null;\r\n const forms = EPiForms.current.querySelector('form');\r\n\r\n props.MailingListName ? forms.classList.add('subscription') : null;\r\n }\r\n\r\n // Re-enable, load and execute a script from the array of scripts, starting\r\n // at the provided index waiting on the 'onload' event before continuing with\r\n // the next script.\r\n function reEnableScriptsInOrderStartingAt(scriptIndex, scripts) {\r\n if (scriptIndex === scripts.length) {\r\n return;\r\n }\r\n\r\n const script = scripts[scriptIndex];\r\n script.remove();\r\n script.type = 'text/javascript';\r\n script.removeAttribute('data-pwtforms-script');\r\n script.onload = () =>\r\n reEnableScriptsInOrderStartingAt(scriptIndex + 1, scripts);\r\n document.body.appendChild(script);\r\n }\r\n\r\n // Because of the risk of out-of-order execution, it won't work with a simple for-loop\r\n // to re-enable and load the scripts.\r\n function reEnableScriptsInOrder(scripts) {\r\n reEnableScriptsInOrderStartingAt(0, scripts);\r\n }\r\n\r\n function reEnableFormsScripts() {\r\n if (typeof window === 'undefined') {\r\n return;\r\n }\r\n\r\n const episerverFooterScripts = document.querySelectorAll(\r\n 'script[data-pwtforms-script]'\r\n );\r\n if (!episerverFooterScripts) {\r\n return;\r\n }\r\n\r\n reEnableScriptsInOrder(episerverFooterScripts);\r\n }\r\n useEffect(() => {\r\n reEnableFormsScripts();\r\n wrapSelectElement();\r\n wrapChoicesElement();\r\n wrapTextareaElement();\r\n addSubscriptionClassToForm();\r\n handleSubmit();\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default EpiserverFormsBlock;\r\n","import classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport qs from 'qs';\r\nimport React from 'react';\r\n\r\nconst FacetItem = (props) => {\r\n const query = {\r\n ...props.queryString,\r\n };\r\n\r\n //Remove page param\r\n if (query.p) delete query.p;\r\n if (query.site) delete query.site;\r\n\r\n let isSelected = false;\r\n\r\n if (typeof query[props.Name] === 'string') {\r\n isSelected = query[props.Name] === props.Id.toString();\r\n }\r\n\r\n //Selects the \"show all results\" facet\r\n if (typeof query[props.Name] === 'undefined' && query.q?.length > 0) {\r\n isSelected = 'all' === props.Id.toString();\r\n }\r\n\r\n if (typeof query[props.Name] === 'object') {\r\n isSelected =\r\n query[props.Name].filter((key) => key === props.Id.toString()).length > 0;\r\n }\r\n\r\n const classes = classNames({\r\n 'c-facets__item': true,\r\n [`c-facets__item--theme-${props.Id}`]: true,\r\n 'c-facets__item--selected': isSelected,\r\n });\r\n\r\n const makeItemArray = (key, array) => {\r\n if (!array[key]) return [];\r\n if (typeof array[key] === 'string') {\r\n return array[key].split();\r\n }\r\n return array[key];\r\n };\r\n const handleChange = (e) => {\r\n query[props.Name] = makeItemArray(props.Name, query);\r\n // We push the name to the URL for the tracking function to get.\r\n query['categoryname'] = makeItemArray('categoryname', query);\r\n\r\n if (e.currentTarget.checked) {\r\n query[props.Name].push(props.Id);\r\n if (props.Name === 'category') {\r\n query['categoryname'].push(props.Text);\r\n }\r\n } else {\r\n query[props.Name] = query[props.Name].filter((key) => key !== props.Id);\r\n if (props.Name === 'category' && query.categoryname) {\r\n query['categoryname'] = query['categoryname'].filter(\r\n (key) => key !== props.Text\r\n );\r\n }\r\n }\r\n\r\n props.history.push({\r\n search: `?${qs.stringify(query, { indices: false })}`,\r\n });\r\n };\r\n\r\n const handleRadioButtonChange = () => {\r\n props.names.forEach((name) => delete query[name]);\r\n query[props.Name] = props.Id;\r\n\r\n props.history.push({\r\n search: `?${qs.stringify(query, { indices: false })}`,\r\n });\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nconst FacetsItems = ({\r\n names,\r\n history,\r\n Facets,\r\n queryString,\r\n pathname,\r\n FacetsRadioButton,\r\n facetCounts,\r\n showCount,\r\n}) =>\r\n Facets.map((item, index) => (\r\n \r\n ));\r\n\r\nconst Facets = ({\r\n history,\r\n Facets,\r\n queryString = [],\r\n pathname,\r\n FacetsRadioButton,\r\n}) => {\r\n if (Facets.Items.length === 0) return null;\r\n\r\n const Names = Facets.Items.reduce((acc, cur) => {\r\n cur.Facets.forEach((item) => {\r\n if (!acc.some((i) => i === item.Name)) {\r\n acc.push(item.Name);\r\n }\r\n });\r\n\r\n return acc;\r\n }, []);\r\n\r\n const items = Facets.Items.map((item, index) => {\r\n if (item.Facets.length === 0) return null;\r\n\r\n return (\r\n
    \r\n {item.Heading &&

    {item.Heading}

    }\r\n \r\n
    \r\n );\r\n });\r\n\r\n return (\r\n
    \r\n
    {items}
    \r\n
    \r\n );\r\n};\r\n\r\nFacets.propTypes = {\r\n /** React router history object **/\r\n history: PropTypes.object,\r\n /** (BE) */\r\n Facets: PropTypes.shape({\r\n Items: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n /** We also recieve a \"Checked=false\" property that is not used on Facets object. */\r\n Facets: PropTypes.arrayOf(\r\n PropTypes.shape({\r\n Name: PropTypes.string,\r\n Id: PropTypes.string,\r\n Text: PropTypes.string,\r\n })\r\n ),\r\n Heading: PropTypes.string,\r\n })\r\n ),\r\n ErrorMessage: PropTypes.string,\r\n }),\r\n queryString: PropTypes.object,\r\n pathname: PropTypes.string /** is this used? */,\r\n /** (BE) */\r\n FacetsRadioButton: PropTypes.bool,\r\n};\r\n\r\nexport default Facets;\r\n","import React from 'react';\r\nimport { string, bool, shape } from 'prop-types';\r\n\r\nconst RevisedAndPublished = ({\r\n revisedAsPublished,\r\n isNew,\r\n translations,\r\n eventDate,\r\n subjectHeading,\r\n}) => {\r\n const Date = () => {\r\n return isNew || revisedAsPublished ? (\r\n

    \r\n {translations.published} {eventDate}\r\n

    \r\n ) : (\r\n

    \r\n {translations.revised} {eventDate}\r\n

    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {eventDate && }\r\n {subjectHeading && (\r\n

    \r\n {translations.subject} {subjectHeading}\r\n

    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nRevisedAndPublished.propTypes = {\r\n eventDate: string,\r\n revisedAsPublished: bool,\r\n isNew: bool,\r\n subjectHeading: string,\r\n translations: shape({\r\n subject: string,\r\n published: string,\r\n revised: string,\r\n }),\r\n};\r\n\r\nexport default RevisedAndPublished;\r\n","import React, { useEffect, useState, useRef, useContext } from 'react';\r\nimport classNames from 'classnames';\r\nimport EpiserverFormsBlock from '../EpiserverFormsBlock';\r\nimport SurveyResult from './survey-result';\r\nimport Spinner from '../Spinner';\r\nimport { createCookie, readCookie } from '../Base/Cookies';\r\nimport { CookieContext } from '../Context/cookies';\r\nimport useWindowLocationHref from '../Hooks/useWindowLocation';\r\n\r\nexport default function Survey(props) {\r\n const formContainer = useRef(null);\r\n // TODO: Maybe refactor to use useReducer?\r\n const [isAnswered, setIsAnswered] = useState(!props.IsActive);\r\n const [peekResult, setPeekResult] = useState(false);\r\n const isAnweredNow = useRef(false);\r\n const [result, setResult] = useState(null);\r\n const [errors, setErrors] = useState(null);\r\n const [isLoadingResult, setIsLoadingResult] = useState('PENDING');\r\n const cookieContext = useContext(CookieContext);\r\n const href = useWindowLocationHref();\r\n const surveyCookie = JSON.parse(readCookie('survey'));\r\n const alreadyAnswered = JSON.stringify(surveyCookie).includes(props.BlockId);\r\n\r\n const setLoading = (status) => async () => {\r\n setIsLoadingResult(status);\r\n return true;\r\n };\r\n\r\n function toggleResult() {\r\n setPeekResult(!peekResult);\r\n setIsAnswered(false);\r\n }\r\n\r\n function showResult() {\r\n if (isLoadingResult === 'LOADING') {\r\n return false;\r\n }\r\n return errors === null && result && (peekResult || isAnswered);\r\n }\r\n\r\n function fetchResult() {\r\n if (isLoadingResult === 'LOADING') {\r\n return false;\r\n }\r\n const endpoint = `/api/survey/result/?id=${props.BlockId}`;\r\n\r\n return fetch(endpoint)\r\n .then((response) => {\r\n if (response.ok) {\r\n return response.json();\r\n }\r\n throw new Error('Could not load results');\r\n })\r\n .then((json) => {\r\n setResult(json);\r\n setPeekResult(true);\r\n });\r\n }\r\n\r\n function handleResponse(res) {\r\n if (res.ok) {\r\n isAnweredNow.current = true;\r\n setIsAnswered(true);\r\n return true;\r\n }\r\n return Promise.reject(res);\r\n }\r\n\r\n function handleErrors(error) {\r\n console.warn(error);\r\n setErrors(`Error. ${error.status ? `(${status})` : ''}`);\r\n }\r\n\r\n function handleSubmit(event) {\r\n event.preventDefault();\r\n\r\n if (alreadyAnswered) {\r\n validateForm();\r\n return;\r\n }\r\n\r\n if (validateForm() || (!validateForm() && alreadyAnswered)) {\r\n return;\r\n }\r\n\r\n const options = {\r\n method: 'POST',\r\n body: new FormData(event.target),\r\n };\r\n\r\n function postData() {\r\n return fetch(href ? href : '/', options);\r\n }\r\n\r\n setLoading('LOADING')()\r\n .then(postData)\r\n .then(handleResponse)\r\n .then(fetchResult)\r\n .then((res) => {\r\n if (cookieContext.isAllowed('Survey')) {\r\n const surveyCookieValue = JSON.parse(readCookie('survey'));\r\n\r\n if (!surveyCookieValue && surveyCookieValue === null) {\r\n let newCookie = JSON.stringify([props.BlockId]);\r\n createCookie('survey', newCookie, 1);\r\n }\r\n\r\n if (surveyCookieValue && !alreadyAnswered) {\r\n let newValue = JSON.stringify([\r\n ...surveyCookieValue,\r\n props.BlockId,\r\n ]);\r\n createCookie('survey', newValue, 1);\r\n }\r\n }\r\n\r\n return res;\r\n })\r\n .catch(handleErrors)\r\n .finally(setLoading('DONE'));\r\n }\r\n\r\n // If the question is answered before and result is not loaded\r\n // Go and fetch the result.\r\n // NOTE: Should not be used if we have the result in __PRELOADED_STATE__\r\n useEffect(() => {\r\n if (\r\n !isAnweredNow.current &&\r\n !result &&\r\n (isAnswered || peekResult) &&\r\n isLoadingResult === 'PENDING'\r\n ) {\r\n setLoading('LOADING')()\r\n .then(fetchResult)\r\n .catch(handleErrors)\r\n .finally(setLoading('DONE'));\r\n }\r\n }, [result, peekResult, isAnswered, isLoadingResult]);\r\n\r\n useEffect(() => {\r\n const elements = getFormInputs();\r\n elements.forEach((element) => {\r\n element.addEventListener('change', changeHandler);\r\n });\r\n return () => {\r\n elements.forEach((element) => {\r\n element.removeEventListener('change', changeHandler);\r\n });\r\n };\r\n });\r\n\r\n const getFormInputs = () => {\r\n if (formContainer.current === null) return [];\r\n const radio = Array.from(\r\n formContainer.current.querySelectorAll('input[type=\"radio\"]')\r\n );\r\n const checkbox = Array.from(\r\n formContainer.current.querySelectorAll('input[type=\"checkbox\"')\r\n );\r\n return [...radio, ...checkbox];\r\n };\r\n\r\n const changeHandler = () => {\r\n getFormInputs().forEach((element) => {\r\n if (element.checked) {\r\n element.parentElement.classList.add('checked');\r\n } else {\r\n element.parentElement.classList.remove('checked');\r\n }\r\n });\r\n };\r\n\r\n const validateForm = () => {\r\n const answerIsSelected = getFormInputs().filter(\r\n (inputfield) => inputfield.checked\r\n );\r\n if (answerIsSelected.length === 0 || alreadyAnswered) {\r\n //Dont create element if there's already an errordiv\r\n if (!formContainer.current.querySelector('.c-survey__error')) {\r\n let fieldset = formContainer.current.querySelector('fieldset');\r\n\r\n const errorMsg = document.createElement('div');\r\n errorMsg.className = 'c-survey__error';\r\n\r\n const errorIcon = document.createElement('div');\r\n errorIcon.className = 'c-survey__error__icon';\r\n\r\n const closeBtn = document.createElement('button');\r\n closeBtn.onclick = () => errorMsg.remove();\r\n\r\n const srText = document.createElement('span');\r\n srText.className = 'show-for-sr';\r\n let srTextNode = document.createTextNode(props.Translations.close);\r\n\r\n const textContainer = document.createElement('div');\r\n const textMsg = alreadyAnswered\r\n ? props.ElementsArea[0].Translations.alreadyanswered\r\n : props.ElementsArea[0].Translations.noanswerselected;\r\n let textnode = document.createTextNode(textMsg);\r\n\r\n srText.appendChild(srTextNode);\r\n textContainer.appendChild(errorIcon);\r\n textContainer.appendChild(textnode);\r\n errorMsg.appendChild(textContainer);\r\n closeBtn.appendChild(srText);\r\n errorMsg.appendChild(closeBtn);\r\n fieldset.appendChild(errorMsg);\r\n }\r\n } else {\r\n if (formContainer.current.querySelector('.c-survey__error')) {\r\n formContainer.current.querySelector('.c-survey__error').remove();\r\n }\r\n }\r\n\r\n return answerIsSelected.length === 0;\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {props.SurveyLabel && (\r\n

    {props.SurveyLabel}

    \r\n )}\r\n

    {props.Question}

    \r\n
    \r\n\r\n {errors &&

    {errors}

    }\r\n\r\n
    \r\n {showResult() ? (\r\n \r\n ) : isLoadingResult === 'LOADING' ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n {props.ResultLinkText &&\r\n props.IsActive &&\r\n !peekResult &&\r\n !isAnswered && (\r\n \r\n {props.ResultLinkText}\r\n \r\n )}\r\n {props.ArchiveLinkText && (\r\n \r\n {props.ArchiveLinkText}\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport classNames from 'classnames';\r\n\r\nconst SurveyResult = (props) => {\r\n const setColor = (index) => {\r\n const colors = props.resultMeterColors;\r\n return colors[index % colors.length];\r\n };\r\n\r\n const ListItems = ({ result }) => {\r\n return result.map((item, index) => {\r\n return (\r\n
    \r\n
    \r\n {item.Answer} ({item.Percent}%)\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n });\r\n };\r\n\r\n return (\r\n
    \r\n {props.IsActive && (\r\n \r\n {props.Translations.close}\r\n \r\n )}\r\n\r\n \r\n {props.ResultText}\r\n {props.ShowAnswerCount && (\r\n ({props.result.Translations.votes})\r\n )}\r\n
    \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SurveyResult;\r\n"],"names":["SurveyBlock","props","classes","classNames","PropertyName","containerClasses","site","CurrentPageProps","Site","_jsx","className","children","Survey","_objectSpread","resultMeterColors","Heading","PageTypeName","Link","href","_jsxs","ContentHistoryList","expandedFilter","setExpandedFilter","useState","facetPanelHandler","facets","document","querySelector","facetPanel","panelHeight","getBoundingClientRect","height","style","setProperty","classList","remove","concat","setTimeout","add","isOnStartPage","currentPage","SearchResult","isLoading","Modifiers","qs","queryString","location","search","ignoreQueryPrefix","SinceDate","Translations","ShowInfo","ShowLoadMore","listItem","SearchHits","map","item","index","ContentHistoryListItem","lastListItemId","largeList","translations","isLast","length","ContentHistoryHeading","Fragment","TotalHits","updates","since","Facets","Items","UniqueBlockId","type","onClick","e","target","toggle","setAttribute","filterlist","id","pathname","Pagination","getElementById","focus","Spinner","BatchText","defaultProps","withSearch","lastItem","tabIndex","Url","RevisedAndPublished","isNew","IsNew","subjectHeading","SubjectHeading","eventDate","EventDate","EPiForms","createRef","handleFocus","node","currentTarget","parentNode","hasAttribute","handleBlur","toggleChoice","choice","parent","ElementsArea","some","element","AllowMultiSelect","querySelectorAll","forEach","c","checked","onblur","onfocus","reEnableScriptsInOrderStartingAt","scriptIndex","scripts","script","removeAttribute","onload","body","appendChild","reEnableScriptsInOrder","useEffect","window","episerverFooterScripts","reEnableFormsScripts","current","select","i","previousSibling","wrapper","createElement","insertBefore","nextSibling","wrapSelectElement","choices","addEventListener","key","preventDefault","fakeInput","wrapChoicesElement","textarea","onclick","elm","wrapTextareaElement","forms","MailingListName","addSubscriptionClassToForm","onSubmit","form","handleSubmit","ref","dangerouslySetInnerHTML","__html","decodeURIComponent","View","FacetItem","_query$q","query","p","isSelected","Name","Id","toString","q","filter","makeItemArray","array","split","defaultChecked","name","value","onChange","FacetsRadioButton","names","history","push","indices","Text","categoryname","handleChange","showCount","count","FacetsItems","_ref","facetCounts","_facetCounts$item$Id","_ref2","Names","reduce","acc","cur","items","revisedAsPublished","Date","published","revised","subject","formContainer","useRef","isAnswered","setIsAnswered","IsActive","peekResult","setPeekResult","isAnweredNow","result","setResult","errors","setErrors","isLoadingResult","setIsLoadingResult","cookieContext","useContext","CookieContext","useWindowLocationHref","surveyCookie","JSON","parse","readCookie","alreadyAnswered","stringify","includes","BlockId","setLoading","status","async","toggleResult","fetchResult","endpoint","fetch","then","response","ok","json","Error","handleResponse","res","Promise","reject","handleErrors","error","console","warn","catch","finally","elements","getFormInputs","changeHandler","removeEventListener","Array","from","parentElement","validateForm","answerIsSelected","inputfield","fieldset","errorMsg","errorIcon","closeBtn","srText","srTextNode","createTextNode","close","textContainer","textMsg","alreadyanswered","noanswerselected","textnode","SurveyLabel","Question","SurveyResult","minHeight","alt","EpiserverFormsBlock","event","options","method","FormData","isAllowed","surveyCookieValue","newCookie","createCookie","newValue","ResultLinkText","ArchiveLinkText","ArchivePage","setColor","colors","ListItems","Answer","Percent","width","backgroundColor","ResultText","ShowAnswerCount","votes","Results"],"sourceRoot":""}