{"version":3,"names":["FeedbackForm","this","textareaId","isPositiveFeedback","componentWillUpdate","currentLength","textareaInput","value","length","getDescription","event","preventDefault","formSubmit","emit","trim","handleCancel","formCancel","textareaInputHandler","isEmpty","maxLength","maxedLength","componentDidLoad","isloaded","render","message","ariaLive","h","key","class","style","color","display","Host","action","method","onSubmit","htmlFor","descriptiveText","id","resetValue","ref","el","onInput","name","maxlength","type","onClick","href"],"sources":["src/webcomponents/x-feedback-form/lk-feedback-form.tsx"],"sourcesContent":["import { Component, Event, EventEmitter, h, Host, State, Prop } from \"@stencil/core\";\nimport { isEmpty } from '../utils/is-empty.js';\n\n@Component({\n tag: 'lk-feedback-form'\n})\nexport class FeedbackForm {\n\n @Prop({ mutable: true }) resetValue = '';\n\n @Event() formSubmit: EventEmitter;\n @Event() formCancel: EventEmitter;\n\n @Prop({ mutable: true }) isloaded: boolean = false;\n @Prop({ reflect: true }) maxLength: number = 1000;\n @Prop() isPositiveFeedback: boolean = true;\n @Prop() descriptiveText: string = 'Så bra, Kan du fortelle oss hva du lette etter?'\n @State() currentLength: number = 0;\n @State() maxedLength: boolean = false;\n\n textareaInput: HTMLTextAreaElement;\n textareaId: string = this.isPositiveFeedback ? 'description-yes' : 'description-no';\n\n componentWillUpdate() {\n this.currentLength = this.textareaInput.value.length;\n }\n\n getDescription(event: Event) {\n event.preventDefault();\n this.formSubmit.emit(this.textareaInput.value.trim());\n }\n\n handleCancel(event: Event) {\n event.preventDefault();\n this.textareaInput.value = \"\";\n this.currentLength = 0;\n this.formCancel.emit();\n }\n\n textareaInputHandler() {\n this.currentLength = this.textareaInput.value.length;\n\n if (!isEmpty(this.maxLength)) {\n if (!this.maxedLength) {\n if (this.currentLength >= this.maxLength) {\n this.maxedLength = true;\n }\n } else {\n if (this.currentLength < this.maxLength) {\n this.maxedLength = false;\n }\n }\n }\n }\n\n componentDidLoad() {\n this.isloaded = true;\n }\n\n render() {\n let message = null;\n let ariaLive = this.maxedLength\n ? 'assertive'\n : 'off';\n\n if (!this.maxedLength) {\n message =
;\n } else {\n message = \n }\n\n return (\n\n Takk! Vi bruker denne informasjonen til å lage bedre innhold og tjenester, men vi svarer ikke på disse tilbakemeldingene. Ønsker du svar anbefaler vi at du logger inn og bruker tilbakemeldingsskjemaet vårt.\n
\n