{"version":3,"names":["Feedback","setAnswer","event","value","preventDefault","this","display","resetValue","answer","onCancel","button","document","getElementById","isEmpty","focus","onSubmit","description","detail","page","querySelector","string","window","location","href","request","XMLHttpRequest","open","setRequestHeader","onerror","alert","send","componentDidRender","confirmation","_a","setFeedbackFormTextAreaFocus","render","h","key","class","id","style","type","onClick","role","focusable","xmlns","width","height","viewBox","d","tabIndex"],"sources":["src/webcomponents/lk-feedback/lk-feedback.tsx"],"sourcesContent":["import { Component, State, Listen, h } from '@stencil/core';\nimport { isEmpty } from '../utils/is-empty.js';\n\n@Component({\n tag: 'lk-feedback'\n})\nexport class Feedback {\n answer: string;\n description: string;\n @State() display: string = 'answers';\n @State() resetValue: string = \"\";\n\n setAnswer(event: UIEvent, value: string) {\n event.preventDefault();\n\n if (this.display === 'answers') {\n this.resetValue = \"\";\n }\n\n this.answer = value;\n this.display = this.answer === 'ja' \n ? 'feedback-yes' \n : 'feedback-no'; \n }\n\n @Listen('formCancel')\n onCancel() {\n this.display = 'answers';\n this.resetValue = null;\n const button = document.getElementById('feedback-button-yes');\n if (!isEmpty(button)){\n button.focus();\n }\n \n }\n\n @Listen('formSubmit')\n onSubmit(event: CustomEvent) {\n this.description = event.detail !== '' ? event.detail : ''; \n this.display = 'feedback-confirmation';\n\n let page = ((document.querySelector('input[name=page]') as HTMLInputElement) === null) ? 0 : (document.querySelector('input[name=page]') as HTMLInputElement).value;\n let string = `url=${window.location.href}&page=${page + ''}&answer=${this.answer}&text=${this.description}`;\n let request = new XMLHttpRequest();\n\n request.open(\"POST\", \"/api/feedback\", true);\n request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); \n\n request.onerror = () => {\n alert(\"En feil har skjedd!\")\n };\n\n request.send(string);\n }\n\n componentDidRender() { \n const confirmation = document.getElementById('feedback-confirmation')?.querySelector('h2');\n \n if (!isEmpty(confirmation)) {\n confirmation.focus();\n }\n\n this.setFeedbackFormTextAreaFocus()\n }\n\n setFeedbackFormTextAreaFocus() {\n if (this.display === 'feedback-yes') {\n const answer = document.getElementById('description-yes');\n if (!isEmpty(answer)) {\n answer.focus();\n }\n } else if(this.display === 'feedback-no') {\n const answer = document.getElementById('description-no');\n if (!isEmpty(answer)){\n answer.focus()\n }\n }\n }\n\n render() {\n return (\n
\n \n Så bra! Kan du fortelle oss hva du lette etter?\n
\n\n \n Ojda, det vil vi gjerne rette opp i, kan du fortelle oss hva du lette etter?\n
\n\n Vi vil bruke svaret du sendte inn til å gjøre nettstedet bedre.\n
\n