@magicfeedback/popup-sdk 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/assets/style.css +844 -0
- package/dist/index.d.mts +17 -4
- package/dist/index.d.ts +17 -4
- package/dist/index.js +231 -83
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +231 -83
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/@magicfeedback/native/dist/magicfeedback-sdk.browser.js","../src/index.ts","../src/ui/renderPopup.ts","../src/triggers/index.ts","../src/config/env.ts","../src/platform/react-native-renderer.ts","../src/platform/renderer.ts","../src/core/deepdots-popups.ts"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.magicfeedback=t():e.magicfeedback=t()}(self,(()=>{return e={945:function(e,t){var i=\"undefined\"!=typeof self?self:this,n=function(){function e(){this.fetch=!1,this.DOMException=i.DOMException}return e.prototype=i,new e}();!function(e){!function(t){var i=\"URLSearchParams\"in e,n=\"Symbol\"in e&&\"iterator\"in Symbol,a=\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),s=\"FormData\"in e,r=\"ArrayBuffer\"in e;if(r)var o=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],l=ArrayBuffer.isView||function(e){return e&&o.indexOf(Object.prototype.toString.call(e))>-1};function d(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function c(e){return\"string\"!=typeof e&&(e=String(e)),e}function u(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function m(e){return new Promise((function(t,i){e.onload=function(){t(e.result)},e.onerror=function(){i(e.error)}}))}function f(e){var t=new FileReader,i=m(t);return t.readAsArrayBuffer(e),i}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?\"string\"==typeof e?this._bodyText=e:a&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:s&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:i&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():r&&a&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):i&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},a&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var e,t,i,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,i=m(t=new FileReader),t.readAsText(e),i;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),i=new Array(t.length),n=0;n<t.length;n++)i[n]=String.fromCharCode(t[n]);return i.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},s&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}p.prototype.append=function(e,t){e=d(e),t=c(t);var i=this.map[e];this.map[e]=i?i+\", \"+t:t},p.prototype.delete=function(e){delete this.map[d(e)]},p.prototype.get=function(e){return e=d(e),this.has(e)?this.map[e]:null},p.prototype.has=function(e){return this.map.hasOwnProperty(d(e))},p.prototype.set=function(e,t){this.map[d(e)]=c(t)},p.prototype.forEach=function(e,t){for(var i in this.map)this.map.hasOwnProperty(i)&&e.call(t,this.map[i],i,this)},p.prototype.keys=function(){var e=[];return this.forEach((function(t,i){e.push(i)})),u(e)},p.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),u(e)},p.prototype.entries=function(){var e=[];return this.forEach((function(t,i){e.push([i,t])})),u(e)},n&&(p.prototype[Symbol.iterator]=p.prototype.entries);var y=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function E(e,t){var i,n,a=(t=t||{}).body;if(e instanceof E){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new p(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,a||null==e._bodyInit||(a=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"same-origin\",!t.headers&&this.headers||(this.headers=new p(t.headers)),this.method=(n=(i=t.method||this.method||\"GET\").toUpperCase(),y.indexOf(n)>-1?n:i),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&a)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(a)}function b(e){var t=new FormData;return e.trim().split(\"&\").forEach((function(e){if(e){var i=e.split(\"=\"),n=i.shift().replace(/\\+/g,\" \"),a=i.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(n),decodeURIComponent(a))}})),t}function A(e,t){t||(t={}),this.type=\"default\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new p(t.headers),this.url=t.url||\"\",this._initBody(e)}E.prototype.clone=function(){return new E(this,{body:this._bodyInit})},v.call(E.prototype),v.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var k=[301,302,303,307,308];A.redirect=function(e,t){if(-1===k.indexOf(t))throw new RangeError(\"Invalid status code\");return new A(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var i=Error(e);this.stack=i.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function C(e,i){return new Promise((function(n,s){var r=new E(e,i);if(r.signal&&r.signal.aborted)return s(new t.DOMException(\"Aborted\",\"AbortError\"));var o=new XMLHttpRequest;function l(){o.abort()}o.onload=function(){var e,t,i={status:o.status,statusText:o.statusText,headers:(e=o.getAllResponseHeaders()||\"\",t=new p,e.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach((function(e){var i=e.split(\":\"),n=i.shift().trim();if(n){var a=i.join(\":\").trim();t.append(n,a)}})),t)};i.url=\"responseURL\"in o?o.responseURL:i.headers.get(\"X-Request-URL\");var a=\"response\"in o?o.response:o.responseText;n(new A(a,i))},o.onerror=function(){s(new TypeError(\"Network request failed\"))},o.ontimeout=function(){s(new TypeError(\"Network request failed\"))},o.onabort=function(){s(new t.DOMException(\"Aborted\",\"AbortError\"))},o.open(r.method,r.url,!0),\"include\"===r.credentials?o.withCredentials=!0:\"omit\"===r.credentials&&(o.withCredentials=!1),\"responseType\"in o&&a&&(o.responseType=\"blob\"),r.headers.forEach((function(e,t){o.setRequestHeader(t,e)})),r.signal&&(r.signal.addEventListener(\"abort\",l),o.onreadystatechange=function(){4===o.readyState&&r.signal.removeEventListener(\"abort\",l)}),o.send(void 0===r._bodyInit?null:r._bodyInit)}))}C.polyfill=!0,e.fetch||(e.fetch=C,e.Headers=p,e.Request=E,e.Response=A),t.Headers=p,t.Request=E,t.Response=A,t.fetch=C,Object.defineProperty(t,\"__esModule\",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var a=n;(t=a.fetch).default=a.fetch,t.fetch=a.fetch,t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response,e.exports=t},317:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.HOST_API_URL_DEV=t.HOST_API_URL=void 0,t.HOST_API_URL=\"https://api.deepdots.com/\",t.HOST_API_URL_DEV=\"https://api-dev.deepdots.com/\"},156:function(e,t,i){\"use strict\";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});const a=n(i(927));let s=null;s||(s=(0,a.default)()),t.default=s},927:function(e,t,i){\"use strict\";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(a,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function o(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,o)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0});const a=i(57),s=i(665),r=i(256),o=i(313),l=i(317);t.default=function(){const e=new s.Config;let t;return{init:function(i){(null==i?void 0:i.debug)&&e.set(\"debug\",null==i?void 0:i.debug),e.set(\"url\",(null==i?void 0:i.env)&&\"dev\"===(null==i?void 0:i.env)?l.HOST_API_URL_DEV:l.HOST_API_URL),e.set(\"env\",null==i?void 0:i.env),t=new r.Log(e),t.log(\"Initialized Magicfeedback\",e)},send:function(i,a,s,r=!0,l,d){return n(this,void 0,void 0,(function*(){i||t.err(\"No appID provided\"),a||t.err(\"No publicKey provided\"),s||t.err(\"No feedback provided\"),s.answers||s.profile||s.metrics||s.metadata||t.err(\"No feedback data provided\");const n=e.get(\"url\"),c={integration:i,publicKey:a,privateKey:d,completed:r,id:l,feedback:s};try{const e=yield(0,o.sendFeedback)(n,c,t);return t.log(\"sent native feedback\"),e}catch(e){return t.err(\"error native feedback\",e),!1}}))},form:function(i,n){return i||t.err(\"No appID provided\"),n||t.err(\"No publicKey provided\"),new a.Form(e,i,n)},session:function(i){return i||t.err(\"No sessionId provided\"),new a.Form(e,i)}}}},79:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.History=void 0,t.History=class{constructor(){this.items=[]}enqueue(e){this.items.push(e)}dequeue(){return this.items.shift()}rollback(){return this.items.pop()}front(){return this.items[0]}back(){return this.items[this.items.length-1]}isEmpty(){return 0===this.items.length}size(){return this.items.length}get(e){return this.items[e]}}},665:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Config=void 0,t.Config=class{constructor(){this.variables={},this.variables.env=\"prod\",this.variables.debug=!1}get(e){return this.variables[e]}set(e,t){this.variables[e]=t}}},57:function(e,t,i){\"use strict\";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(a,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function o(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,o)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Form=void 0;const a=i(558),s=i(256),r=i(313),o=i(213),l=i(217),d=i(700),c=i(591),u=i(79),p=i(636);t.Form=class{constructor(e,t,i){this.config=e,this.log=new s.Log(e),this.formOptionsConfig={addButton:!0,sendButtonText:\"Send\",backButtonText:\"Back\",nextButtonText:\"Next\",addSuccessScreen:!0,getMetaData:!0,questionFormat:\"standard\"},this.selector=\"\",this.appId=t,this.publicKey=i||\"\",this.url=e.get(\"url\"),this.id=\"\",this.formData=null,this.feedback={text:\"\",answers:[],profile:[],metrics:[],metadata:[]},this.history=new u.History,this.graph=new l.PageGraph([]),this.progress=0,this.total=0,this.completed=!1,this.timeToCompleted=0}generate(e,t){var i,a,s,o,l,d,c;return n(this,void 0,void 0,(function*(){try{this.formOptionsConfig=Object.assign(Object.assign({},this.formOptionsConfig),t),this.selector=e;let n=this.formData;if(void 0!==this.formData&&this.formData||(n=\"\"!==this.publicKey?yield(0,r.getForm)(this.url,this.appId,this.publicKey,this.log):yield(0,r.getSessionForm)(this.url,this.appId,this.log)),void 0===n||!n)throw new Error(`No data for app ${this.appId}`);if(null===(i=n.error)||void 0===i?void 0:i.message)throw new Error(n.error.message);if(n.questions=(null===(a=n.questions)||void 0===a?void 0:a.filter((e=>\"ACTIVE\"===e.status)))||[],n.pages=(null===(s=n.pages)||void 0===s?void 0:s.filter((e=>\"ACTIVE\"===e.status)))||[],null===(o=n.pages)||void 0===o||o.forEach((e=>{var t;return e.integrationQuestions=null===(t=e.integrationQuestions)||void 0===t?void 0:t.filter((e=>\"ACTIVE\"===e.status))})),this.formData=n,this.formData.savedAt||(this.formData.savedAt=new Date,localStorage.setItem(`magicfeedback-${this.appId}`,JSON.stringify(this.formData))),void 0===this.formData.questions||!this.formData.questions)throw new Error(`No questions for app ${this.appId}`);this.formData.pages&&0!==(null===(l=this.formData.pages)||void 0===l?void 0:l.length)||this.formatPages(),null===(d=this.formData.questions)||void 0===d||d.sort(((e,t)=>e.position-t.position)),this.formData.pages=this.formData.pages.filter((e=>{var t;return(null===(t=e.integrationQuestions)||void 0===t?void 0:t.length)>0})),this.formOptionsConfig.getMetaData&&this.getMetaData(),(null===(c=this.formData.style)||void 0===c?void 0:c.startMessage)?yield this.generateWelcomeMessage(this.formData.style.startMessage):this.startForm()}catch(e){return this.log.err(e),void(this.formOptionsConfig.onLoadedEvent&&(yield this.formOptionsConfig.onLoadedEvent({loading:!1,error:e})))}}))}formatPages(){var e;if(this.formData)switch(this.formData.identity){case\"MAGICSURVEY\":this.formData.pages=[],null===(e=this.formData.questions)||void 0===e||e.forEach((e=>{var t,i;const n=new c.PageRoute(e.id,e.ref,c.OperatorType.NOEQUAL,[],c.TransitionType.PAGE,(e.position+1).toString(),e.position.toString()),a=new d.Page(e.position.toString(),e.position,this.appId,[e],[n]);null===(i=null===(t=this.formData)||void 0===t?void 0:t.pages)||void 0===i||i.push(a)}));break;case\"MAGICFORM\":const t=new d.Page(\"1\",1,this.appId,this.formData.questions,[]);this.formData.pages=[t]}}generateContainer(){let e=document.getElementById(this.selector);if(!e&&(e=document.getElementById(\"magicfeedback-container-\"+this.appId),!e))throw new Error(`Element with ID '${this.selector}' not found.`);return e.classList.add(\"magicfeedback-container\"),e.id=\"magicfeedback-container-\"+this.appId,e.innerHTML=\"\",e}generateForm(){var e,t,i,a;return n(this,void 0,void 0,(function*(){try{if(console.log(\"Generating form for appId:\",this.appId),!this.formData||!this.formData.pages||0===this.formData.pages.length)throw new Error(\"No form data\");this.graph=new l.PageGraph(this.formData.pages.sort(((e,t)=>e.position-t.position)));let n=this.generateContainer();const s=document.createElement(\"form\");s.classList.add(\"magicfeedback-form\"),s.id=\"magicfeedback-\"+this.appId,s.addEventListener(\"submit\",(e=>e.preventDefault()));const r=document.createElement(\"div\");r.classList.add(\"magicfeedback-questions\"),r.id=\"magicfeedback-questions-\"+this.appId;const d=this.graph.getFirstPage();if(!d)throw new Error(\"No page found\");if(this.total=this.graph.findMaxDepth(),d.elements=(0,o.renderQuestions)(d.questions,this.formOptionsConfig.questionFormat,null===(e=this.formData)||void 0===e?void 0:e.lang[0],null===(t=this.formData)||void 0===t?void 0:t.product,(()=>this.send())),null===(i=d.elements)||void 0===i||i.forEach((e=>r.appendChild(e))),s.appendChild(r),this.history.enqueue(d),n.appendChild(s),this.progress=this.total-this.graph.findMaxDepth(d),this.formOptionsConfig.addButton){const e=(0,o.renderActions)(null===(a=this.formData)||void 0===a?void 0:a.identity,(()=>this.back()),this.formOptionsConfig.sendButtonText,this.formOptionsConfig.backButtonText,this.formOptionsConfig.nextButtonText);s.appendChild(e)}this.formOptionsConfig.addButton&&s.addEventListener(\"submit\",(e=>{e.preventDefault(),this.send()})),this.timeToCompleted=(new Date).getTime()/1e3,this.formOptionsConfig.onLoadedEvent&&(yield this.formOptionsConfig.onLoadedEvent({loading:!1,progress:this.progress,total:this.total,formData:this.formData}))}catch(e){return this.log.err(e),void(this.formOptionsConfig.onLoadedEvent&&this.formOptionsConfig.onLoadedEvent({loading:!1,error:e}))}}))}startForm(){this.generateForm()}generateWelcomeMessage(e){return n(this,void 0,void 0,(function*(){try{const t=this.generateContainer(),i=(0,o.renderStartMessage)(e,this.formOptionsConfig.addButton,this.formOptionsConfig.startButtonText,(()=>this.startForm()));t.appendChild(i),this.formOptionsConfig.onLoadedEvent&&(yield this.formOptionsConfig.onLoadedEvent({loading:!1,formData:this.formData}))}catch(e){return this.log.err(e),void(this.formOptionsConfig.onLoadedEvent&&this.formOptionsConfig.onLoadedEvent({loading:!1,error:e}))}}))}getMetaData(){this.feedback.metadata.push({key:\"navigator-url\",value:[window.location.href]}),this.feedback.metadata.push({key:\"navigator-origin\",value:[window.location.origin]}),this.feedback.metadata.push({key:\"navigator-pathname\",value:[window.location.pathname]}),this.feedback.metadata.push({key:\"navigator-search\",value:[window.location.search]}),this.feedback.metadata.push({key:\"navigator-user\",value:[navigator.userAgent]}),this.feedback.metadata.push({key:\"navigator-language\",value:[navigator.language]}),this.feedback.metadata.push({key:\"navigator-platform\",value:[navigator.platform]}),this.feedback.metadata.push({key:\"navigator-appVersion\",value:[navigator.appVersion]}),this.feedback.metadata.push({key:\"navigator-appName\",value:[navigator.appName]}),this.feedback.metadata.push({key:\"navigator-product\",value:[navigator.product]}),this.feedback.metadata.push({key:\"screen-width\",value:[window.screen.width.toString()]}),this.feedback.metadata.push({key:\"screen-height\",value:[window.screen.height.toString()]}),this.appId&&\"\"===this.publicKey&&this.feedback.metadata.push({key:\"MAGICFEEDBACK_SESSION\",value:[this.appId]})}send(e,t,i){return n(this,void 0,void 0,(function*(){const n=document.getElementById(\"magicfeedback-questions-\"+this.appId);try{i&&(this.feedback.profile=[...this.feedback.profile,...i]),t&&(this.feedback.metrics=[...this.feedback.metrics,...t]),e&&(this.feedback.metadata=[...this.feedback.metadata,...e]),this.answer(),this.formOptionsConfig.beforeSubmitEvent&&(yield this.formOptionsConfig.beforeSubmitEvent({loading:!0,progress:this.progress,total:this.total}));const s=this.history.back();if(!s)throw new Error(\"No page found\");for(const e of s.questions.filter((e=>e.require&&![a.FEEDBACKAPPANSWERTYPE.CONSENT,a.FEEDBACKAPPANSWERTYPE.INFO_PAGE].includes(e.type)))){const t=e.assets,i=this.feedback.answers.filter((t=>t.key.includes(e.ref)&&!t.key.includes(\"extra-option\")));if(0===i.length||i.find((e=>0===e.value.length)))throw this.log.err(`The question ${e.ref} is required`),new Error(\"No response\");if(null==t?void 0:t.minOptions){let n=[];if((null==t?void 0:t.exclusiveAnswers)&&(n=null==t?void 0:t.exclusiveAnswers),!i[0].value.find((e=>n.includes(e)))&&i[0].value.length<(null==t?void 0:t.minOptions))throw this.log.err(`The question ${e.ref} requires at least ${null==t?void 0:t.minOptions} options`),new Error(\"No response\")}}const r=yield this.pushAnswers(!1);if(!r)throw new Error(\"No response\");this.id=r,yield this.processNextQuestion(n)}catch(e){this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({loading:!1,progress:this.progress,total:this.total,error:e}))}}))}answer(){const e=document.getElementById(\"magicfeedback-\"+this.appId);if(!e)return this.log.err(`Form \"${e}\" not found.`),void(this.feedback.answers=[]);const t=this.history.back();if(!t)throw new Error(\"No page found\");const i=[];let n=!1;if(e.querySelectorAll(\".magicfeedback-input\").forEach((e=>{const s=t.questions.find((t=>{var i;return null===(i=e.name)||void 0===i?void 0:i.includes(t.ref)})),o=e.type,l=e.classList[0],d={key:e.name,value:[]},c=\"magicfeedback-consent\"===l?e.checked.toString():e.value;if(d.key&&\"\"!==d.key){switch(null==s?void 0:s.type){case a.FEEDBACKAPPANSWERTYPE.EMAIL:case a.FEEDBACKAPPANSWERTYPE.TEXT:case a.FEEDBACKAPPANSWERTYPE.LONGTEXT:case a.FEEDBACKAPPANSWERTYPE.NUMBER:case a.FEEDBACKAPPANSWERTYPE.DATE:case a.FEEDBACKAPPANSWERTYPE.CONTACT:if(\"\"!==c){if(\"email\"===o){if(!(0,r.validateEmail)(c)){this.log.err(\"Invalid email\"),n=!0;break}this.feedback.profile.push({key:\"email\",value:[c]})}d.value.push(c)}break;case a.FEEDBACKAPPANSWERTYPE.CONSENT:d.value.push(String(e.checked));break;case a.FEEDBACKAPPANSWERTYPE.POINT_SYSTEM:const t=e.id;d.value.push(`${t}:${c}%`);break;case a.FEEDBACKAPPANSWERTYPE.MULTIPLECHOICE:case a.FEEDBACKAPPANSWERTYPE.MULTIPLECHOISE_IMAGE:case a.FEEDBACKAPPANSWERTYPE.RATING_STAR:case a.FEEDBACKAPPANSWERTYPE.RADIO:case a.FEEDBACKAPPANSWERTYPE.RATING_EMOJI:case a.FEEDBACKAPPANSWERTYPE.RATING_NUMBER:(e.checked||e.id.includes(\"extra-option-\"))&&d.value.push(c);break;case a.FEEDBACKAPPANSWERTYPE.SELECT:d.value.push(c);break;case a.FEEDBACKAPPANSWERTYPE.BOOLEAN:case a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX:e.checked&&d.value.push(c);break;case a.FEEDBACKAPPANSWERTYPE.PRIORITY_LIST:d.value.push(c)}if((null==i?void 0:i.length)>0&&(null==i?void 0:i.find((e=>e.key===d.key)))){const e=i.findIndex((e=>e.key===d.key));i[e].value=[...i[e].value,...d.value]}else i.push(d)}})),n)return this.feedback.answers=[],void t.setAnswer([]);try{t.questions.filter((e=>e.type===a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX)).forEach((e=>{const t=e.ref+\"-\",n=i.filter((e=>e.key.startsWith(t)));if(0===n.length)return;const a=n.map((e=>({key:e.key.substring(t.length),value:e.value}))),s={key:e.ref,value:[JSON.stringify(a)]};for(const e of n){const t=i.findIndex((t=>t.key===e.key));-1!==t&&i.splice(t,1)}const r=i.findIndex((t=>t.key===e.ref));-1!==r?i[r]=s:i.push(s)}))}catch(e){this.log.err(\"Error agrupando MULTI_QUESTION_MATRIX\",e)}this.feedback.answers=i,t.setAnswer(i)}finish(){return n(this,void 0,void 0,(function*(){if(this.completed=!0,this.timeToCompleted=(new Date).getTime()-this.timeToCompleted,this.feedback.metadata.push({key:\"time-to-complete\",value:[this.timeToCompleted.toString()]}),this.formOptionsConfig.addSuccessScreen){const e=document.getElementById(\"magicfeedback-container-\"+this.appId);e.childNodes.length>0&&e.removeChild(e.childNodes[0]);const t=(0,o.renderSuccess)(this.formOptionsConfig.successMessage||\"Thank you for your feedback!\");e.appendChild(t)}this.answer();try{const e=yield this.pushAnswers(!0);if(!e)throw this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({loading:!1,progress:this.progress,total:this.total,completed:this.completed,error:`An error occurred while submitting the form ${this.appId}:`})),new Error(\"An error occurred while submitting the form ${this.appId}:\");this.id=e,this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({response:this.id,loading:!1,progress:this.progress,total:this.total,completed:this.completed,error:null}))}catch(e){this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({loading:!1,progress:this.progress,total:this.total,completed:this.completed,error:e}))}}))}pushAnswers(e=!1){return n(this,void 0,void 0,(function*(){try{const t=this.config.get(\"url\"),i={integration:this.appId,publicKey:this.publicKey,feedback:this.feedback,completed:e};return yield(0,r.sendFeedback)(t,this.id?Object.assign(Object.assign({},i),{sessionId:this.id}):i,this.log)}catch(e){return this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),\"\"}}))}callFollowUpQuestion(e){var t;return n(this,void 0,void 0,(function*(){if(!(null==e?void 0:e.followup))return null;try{if(0===this.feedback.answers.length)throw new Error(\"No answers provided\");const i=this.config.get(\"url\"),n=Object.assign(Object.assign(Object.assign({answer:null===(t=this.feedback.answers.find((t=>t.key===e.ref)))||void 0===t?void 0:t.value[0]},\"\"!==this.publicKey&&{publicKey:this.publicKey}),\"\"===this.publicKey&&{campaignSessionId:this.appId}),{sessionId:this.id,question:e});return yield(0,r.getFollowUpQuestion)(i,n,this.log)}catch(e){throw this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),e}}))}processNextQuestion(e){var t,i,a;return n(this,void 0,void 0,(function*(){const n=this.history.back();if(!n)throw new Error(\"No page found\");const s=n.getFollowupQuestions();if(0===(null==s?void 0:s.length))return void(yield this.renderNextQuestion(e,n));const r=[];for(const e of s){const t=n.questions.find((t=>t.ref===e));if(t){const e=yield this.callFollowUpQuestion(t);e&&r.push(e)}}if(0===r.length)return void(yield this.renderNextQuestion(e,n));const l=new d.Page(n.id,n.position,this.appId,r,n.edges),c=new p.PageNode(n.id,n.position,n.edges,l,r,!0);c.elements=(0,o.renderQuestions)(r,this.formOptionsConfig.questionFormat,null===(t=this.formData)||void 0===t?void 0:t.lang[0],null===(i=this.formData)||void 0===i?void 0:i.product,(()=>this.send())),this.history.enqueue(c),this.progress+=.5,e.innerHTML=\"\",null===(a=c.elements)||void 0===a||a.forEach((t=>e.appendChild(t))),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({response:this.id,loading:!1,progress:this.progress,total:this.total,followup:c.isFollowup,completed:this.completed,error:null}))}))}renderNextQuestion(e,t){var i,s,r,l,d;return n(this,void 0,void 0,(function*(){let n=this.graph.getNextPage(t,this.feedback.answers);if(!n)return void this.finish();const u=n.edges.filter((e=>\"PRECONDITIONAL\"===e.typeCondition)).sort(((e,t)=>e.position<t.position?-1:e.position>t.position?1:0));if((null==u?void 0:u.length)>0){let t=null;const r=u.map((e=>e.questionRef));for(let e=this.history.size()-1;e>=0;e--){const n=this.history.get(e);if(n&&(t=null===(i=n.answers)||void 0===i?void 0:i.find((e=>r.includes(e.key))),t))break}let o=!u.some((e=>e.transition===c.TransitionType.ALLOW));if(t)for(const i of u){let r=!1;const l=null===(s=this.formData)||void 0===s?void 0:s.questions.find((e=>e.ref===i.questionRef)),d=Array.isArray(t.value)?t.value:[t.value],u=Array.isArray(i.value)?i.value:[i.value];if((null==l?void 0:l.type)===a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX)r=this.evaluateMatrixPreconditional(i,t);else switch(i.typeOperator){case\"EQUAL\":case\"INQ\":r=d.some((e=>u.includes(e)));break;case\"NOEQUAL\":case\"NINQ\":r=d.every((e=>!u.includes(e)));break;case\"GREATER\":r=d.some((e=>Number(e)>Number(u[0])));break;case\"LESS\":r=d.some((e=>Number(e)<Number(u[0])));break;case\"GREATEREQUAL\":r=d.some((e=>Number(e)>=Number(u[0])));break;case\"LESSEQUAL\":r=d.some((e=>Number(e)<=Number(u[0])))}if(r)switch(this.feedback.answers=[],i.transition){case c.TransitionType.NEXT:return void(n&&(yield this.renderNextQuestion(e,n)));case c.TransitionType.ALLOW:o=!0}}if(!o)return this.feedback.answers=[],void(n&&(yield this.renderNextQuestion(e,n)))}n.elements=(0,o.renderQuestions)(n.questions,this.formOptionsConfig.questionFormat,null===(r=this.formData)||void 0===r?void 0:r.lang[0],null===(l=this.formData)||void 0===l?void 0:l.product,(()=>this.send())),e.innerHTML=\"\",null===(d=n.elements)||void 0===d||d.forEach((t=>e.appendChild(t))),this.history.enqueue(n),this.progress=this.total-this.graph.findMaxDepth(n),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({response:this.id,loading:!1,progress:this.progress,total:this.total,followup:n.isFollowup,completed:this.completed,error:null}))}))}back(){var e;return n(this,void 0,void 0,(function*(){if(0===this.history.size())return;const t=document.getElementById(\"magicfeedback-questions-\"+this.appId);t&&t.childNodes.length>0&&(t.innerHTML=\"\"),this.history.rollback();const i=this.history.back();i?(null===(e=i.elements)||void 0===e||e.forEach((e=>t.appendChild(e))),this.progress=this.total-this.graph.findMaxDepth(i)):this.progress=this.history.size(),this.formOptionsConfig.onBackEvent&&(yield this.formOptionsConfig.onBackEvent({loading:!1,progress:this.progress,followup:(null==i?void 0:i.isFollowup)||!1,error:i?null:\"No page found\"}))}))}previewQuestion(e,t,i){var n,a;const s=Array.isArray(t)?t:[t];if(!s||0===s.length)throw new Error(\"[MagicFeedback] No question provided for preview\");const r=document.getElementById(e);if(!r)throw new Error(`[MagicFeedback] Element with ID '${e}' not found.`);const{format:l=this.formOptionsConfig.questionFormat||\"standard\",language:d=(null===(n=this.formData)||void 0===n?void 0:n.lang)&&this.formData.lang[0]||\"en\",product:c=(null===(a=this.formData)||void 0===a?void 0:a.product)||{customIcons:!1},clearContainer:u=!0,wrap:p=!0}=i||{};u&&(r.innerHTML=\"\");let h=[];try{h=(0,o.renderQuestions)(s,l,d,c)}catch(e){throw this.log.err(e),e}let m=r;if(p){const e=document.createElement(\"div\");e.classList.add(\"magicfeedback-preview-question\"),m.appendChild(e),m=e}return h.forEach((e=>m.appendChild(e))),r}parseMatrixAnswerPre(e){if(!e||!e.value)return[];if(1===e.value.length&&\"string\"==typeof e.value[0]&&e.value[0].trim().startsWith(\"[\"))try{const t=JSON.parse(e.value[0]);if(Array.isArray(t))return t}catch(e){return[]}return Array.isArray(e.value)&&e.value.length>0&&\"object\"==typeof e.value[0]&&null!==e.value[0]&&\"key\"in e.value[0]?e.value:[]}evaluateMatrixPreconditional(e,t){const i=Array.isArray(e.value)?e.value:[e.value],n=new Set(e.option||[]),a=this.parseMatrixAnswerPre(t);if(!a.length)return!1;const s=n.size>0?a.filter((e=>n.has(e.key))):a;if(!s.length)return!1;switch(e.typeOperator){case\"EQUAL\":case\"INQ\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.includes(e)))));case\"NOEQUAL\":case\"NINQ\":return s.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!i.includes(e)))));case\"GREATER\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>Number(t)))))));case\"LESS\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<Number(t)))))));case\"GREATEREQUAL\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>=Number(t)))))));case\"LESSEQUAL\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<=Number(t)))))));default:return!1}}}},700:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Page=void 0,t.Page=class{constructor(e,t,i,n,a){this.id=e,this.position=t,this.generatedAt=(new Date).toISOString(),this.updatedAt=(new Date).toISOString(),this.status=\"ACTIVE\",this.integrationId=i,this.integrationQuestions=n,this.integrationPageRoutes=a}}},217:(e,t,i)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageGraph=void 0;const n=i(636),a=i(558),s=i(591);t.PageGraph=class{constructor(e){this.nodes=new Map,this.buildGraph(e)}buildGraph(e){e.forEach((e=>{var t;e.integrationPageRoutes&&(e.integrationPageRoutes=(null===(t=e.integrationPageRoutes)||void 0===t?void 0:t.sort(((e,t)=>new Date((null==e?void 0:e.generatedAt)||\"\").getTime()-new Date((null==t?void 0:t.generatedAt)||\"\").getTime()?\"DIRECT\"===e.typeCondition?1:-1:0)))||[]);const i=new n.PageNode(e.id,e.position,e.integrationPageRoutes||[],e,e.integrationQuestions);this.nodes.set(i.id,i)}))}getNodeById(e){return this.nodes.get(e)}getNextEdgeByDefault(e){if(!e)return;const t=e.edges.find((e=>e.typeCondition===s.ConditionType.DIRECT));if(!t||![s.TransitionType.FINISH,s.TransitionType.REDIRECT].includes(t.transition)){if(t&&t.transitionDestiny)return t.transitionDestiny;for(const t of this.nodes.values())if(t.position===e.position+1)return t.id}}getFirstPage(){let e,t=Number.MAX_VALUE;for(const i of this.nodes.values())i.position<t&&(t=i.position,e=i);return e}getNextPage(e,t){var i;if(!e)return;e.edges.sort(((e,t)=>\"DIRECT\"===e.typeCondition?1:\"DIRECT\"===t.typeCondition?-1:0));const n=e.edges.find((i=>{const n=e.questions.find((e=>e.ref===i.questionRef)),r=null==t?void 0:t.filter((e=>e.key===i.questionRef));if(\"DIRECT\"===i.typeCondition)return!0;if(!r||0===r.length)return!1;if((null==n?void 0:n.type)===a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX)return this.evaluateMatrixCondition(i,r);const o=Array.isArray(i.value)?i.value:[i.value];switch(i.typeOperator){case s.OperatorType.EQUAL:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.includes(e)))));case s.OperatorType.NOEQUAL:return r.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!o.includes(e)))));case s.OperatorType.GREATER:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)>Number(t)))))));case s.OperatorType.LESS:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)<Number(t)))))));case s.OperatorType.GREATEREQUAL:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)>=Number(t)))))));case s.OperatorType.LESSEQUAL:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)<=Number(t)))))));case s.OperatorType.INQ:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.includes(e)))));case s.OperatorType.NINQ:return r.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!o.includes(e)))));default:return!1}}));if(!n){const t=this.getNextEdgeByDefault(e);if(!t)return;return this.getNodeById(t)}switch(n.transition){case s.TransitionType.PAGE:if(!n.transitionDestiny)return;return this.getNodeById(n.transitionDestiny);case s.TransitionType.FINISH:return;case s.TransitionType.REDIRECT:return void(window.location.href=(null===(i=n.transitionDestiny)||void 0===i?void 0:i.includes(\"?\"))?`${n.transitionDestiny}&${window.location.search.slice(1)}`:`${n.transitionDestiny}${window.location.search}`);default:return}}findDepth(e){const t=this.getNodeById(e);if(!t)return 0;const i=new Set;return this.DFSUtil(t,i,0)}findMaxDepth(e){if(e||(e=this.getFirstPage()),!e)return 0;const t=new Set;let i=1;return i=Math.max(i,this.DFSUtil(e,t,i)),i}DFSUtil(e,t,i){t.add(e);let n=i;const a=[...e.edges.filter((e=>e.typeCondition!==s.ConditionType.PRECONDITIONAL))||[]],r=this.getNextEdgeByDefault(e);if(r){const i=this.getNodeById(r);i&&!t.has(i)&&a.push(new s.PageRoute(i.id,\"\",s.OperatorType.DEFAULT,[\"\"],s.TransitionType.PAGE,i.id,e.id))}for(const e of a){if(!e.transitionDestiny)continue;const a=this.getNodeById(e.transitionDestiny);if(a&&!t.has(a)){const e=i+1,s=new Set(t),r=this.DFSUtil(a,s,e);n=Math.max(n,r)}}return n}parseMatrixAnswer(e){if(!e||!e.value)return[];if(1===e.value.length&&\"string\"==typeof e.value[0]&&e.value[0].trim().startsWith(\"[\"))try{const t=JSON.parse(e.value[0]);if(Array.isArray(t))return t}catch(e){return[]}return Array.isArray(e.value)&&e.value.length>0&&\"object\"==typeof e.value[0]&&null!==e.value[0]&&\"key\"in e.value[0]?e.value:[]}evaluateMatrixCondition(e,t){const i=Array.isArray(e.value)?e.value:[e.value],n=new Set(e.option||[]),a=t[0],r=this.parseMatrixAnswer(a);if(!r.length)return!1;const o=n.size>0?r.filter((e=>n.has(e.key))):r;if(!o.length)return!1;switch(e.typeOperator){case s.OperatorType.EQUAL:case s.OperatorType.INQ:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.includes(e)))));case s.OperatorType.NOEQUAL:case s.OperatorType.NINQ:return o.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!i.includes(e)))));case s.OperatorType.GREATER:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>Number(t)))))));case s.OperatorType.LESS:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<Number(t)))))));case s.OperatorType.GREATEREQUAL:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>=Number(t)))))));case s.OperatorType.LESSEQUAL:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<=Number(t)))))));default:return!1}}}},636:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageNode=void 0,t.PageNode=class{constructor(e,t,i,n,a,s=!1){this.answers=[],this.id=e,this.position=t,this.edges=i,this.data=n,this.questions=a.sort(((e,t)=>e.position-t.position)),this.elements=[],this.isFollowup=s}getFollowupQuestions(){return this.questions.filter((e=>e.followup)).map((e=>e.ref))}getRequiredQuestions(){return this.questions.filter((e=>e.require)).map((e=>e.ref))}setAnswer(e){this.answers=e}}},591:(e,t)=>{\"use strict\";var i,n,a,s;Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageRoute=t.StatusType=t.OperatorType=t.ConditionType=t.TransitionType=void 0,(s=t.TransitionType||(t.TransitionType={})).PAGE=\"PAGE\",s.FINISH=\"FINISH\",s.REDIRECT=\"REDIRECT\",s.NEXT=\"NEXT\",s.ALLOW=\"ALLOW\",function(e){e.LOGICAL=\"LOGICAL\",e.DIRECT=\"DIRECT\",e.PRECONDITIONAL=\"PRECONDITIONAL\"}(i=t.ConditionType||(t.ConditionType={})),(a=t.OperatorType||(t.OperatorType={})).EQUAL=\"EQUAL\",a.NOEQUAL=\"NOEQUAL\",a.GREATER=\"GREATER\",a.LESS=\"LESS\",a.GREATEREQUAL=\"GREATEREQUAL\",a.LESSEQUAL=\"LESSEQUAL\",a.INQ=\"INQ\",a.NINQ=\"NINQ\",a.DEFAULT=\"DEFAULT\",function(e){e.ACTIVE=\"ACTIVE\",e.DEPRECATED=\"DEPRECATED\",e.DELETE=\"DELETE\"}(n=t.StatusType||(t.StatusType={})),t.PageRoute=class{constructor(e,t,a,s,r,o,l,d,c,u){this.id=e,this.questionRef=t,this.typeCondition=d||i.LOGICAL,this.typeOperator=a,this.value=s||[],this.transition=r,this.transitionDestiny=o,this.status=n.ACTIVE,this.generatedAt=new Date,this.updatedAt=new Date,this.integrationPageId=l,this.position=c||0,this.option=u||[]}}},558:(e,t)=>{\"use strict\";var i,n;Object.defineProperty(t,\"__esModule\",{value:!0}),t.QuestionType=t.FEEDBACKAPPANSWERTYPE=void 0,(n=t.FEEDBACKAPPANSWERTYPE||(t.FEEDBACKAPPANSWERTYPE={})).CONTACT=\"CONTACT\",n.MULTIPLECHOISE_IMAGE=\"MULTIPLECHOISE_IMAGE\",n.EMAIL=\"EMAIL\",n.RATING_STAR=\"RATING_STAR\",n.RADIO=\"RADIO\",n.MULTIPLECHOICE=\"MULTIPLECHOICE\",n.SELECT=\"SELECT\",n.TEXT=\"TEXT\",n.LONGTEXT=\"LONGTEXT\",n.NUMBER=\"NUMBER\",n.RATING_EMOJI=\"RATING_EMOJI\",n.RATING_NUMBER=\"RATING_NUMBER\",n.DATE=\"DATE\",n.BOOLEAN=\"BOOLEAN\",n.PASSWORD=\"PASSWORD\",n.CONSENT=\"CONSENT\",n.MULTI_QUESTION_MATRIX=\"MULTI_QUESTION_MATRIX\",n.POINT_SYSTEM=\"POINT_SYSTEM\",n.PRIORITY_LIST=\"PRIORITY_LIST\",n.INFO_PAGE=\"INFO_PAGE\",n.UPLOAD_FILE=\"UPLOAD_FILE\",n.UPLOAD_IMAGE=\"UPLOAD_IMAGE\",t.QuestionType=class{},function(e){e.FORM=\"form\",e.DIV=\"div\"}(i||(i={}))},857:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.endpoints=void 0,t.endpoints={sdk:{app:(e,t)=>`sdk/app/${e}/${t}`,app_info:(e,t)=>`sdk/app/${e}/${t}/info`,session:e=>`sdk/app/session/${e}/info`,feedback:\"sdk/feedback\",followUpQuestion:\"sdk/followUpQuestion\"}}},784:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.placeholder=void 0,t.placeholder={answer:e=>{switch(e){case\"en\":default:return\"Write your answer here...\";case\"es\":return\"Escribe tu respuesta aquí...\";case\"da\":return\"Skriv dit svar her...\";case\"fi\":return\"Kirjoita vastauksesi tähän...\";case\"sv\":return\"Skriv ditt svar här...\";case\"no\":return\"Skriv svaret ditt her...\";case\"ar\":return\"اكتب إجابتك هنا...\";case\"bn\":return\"এখানে আপনার\"}},number:e=>{switch(e){case\"en\":default:return\"Write your number here...\";case\"es\":return\"Escribe tu número aquí...\";case\"da\":return\"Skriv dit nummer her...\";case\"fi\":return\"Kirjoita numerosi tähän...\";case\"sv\":return\"Skriv ditt nummer här...\";case\"no\":return\"Skriv nummeret ditt her...\";case\"ar\":return\"اكتب رقمك هنا...\";case\"bn\":return\"এখানে আপনার\"}},email:e=>{switch(e){case\"en\":default:return\"Write your email here...\";case\"es\":return\"Escribe tu correo electrónico aquí...\";case\"da\":return\"Skriv din e-mail her...\";case\"fi\":return\"Kirjoita sähköpostiosoitteesi tähän...\";case\"sv\":return\"Skriv din e-post här...\";case\"no\":return\"Skriv e-posten din her...\";case\"ar\":return\"اكتب بريدك الإلكتروني هنا...\";case\"bn\":return\"এখানে আপনার\"}},date:e=>{switch(e){case\"en\":default:return\"Write your date here...\";case\"es\":return\"Escribe tu fecha aquí...\";case\"da\":return\"Skriv din dato her...\";case\"fi\":return\"Kirjoita päivämääräsi tähän...\";case\"sv\":return\"Skriv ditt datum här...\";case\"no\":return\"Skriv datoen din her...\";case\"ar\":return\"اكتب تاريخك هنا...\";case\"bn\":return\"এখানে আপনার\"}},password:e=>{switch(e){case\"en\":default:return\"Write your password here...\";case\"es\":return\"Escribe tu contraseña aquí...\";case\"da\":return\"Skriv dit kodeord her...\";case\"fi\":return\"Kirjoita salasanasi tähän...\";case\"sv\":return\"Skriv ditt lösenord här...\";case\"no\":return\"Skriv passordet ditt her...\";case\"ar\":return\"اكتب كلمة المرور الخاصة بك هنا...\";case\"bn\":return\"এখানে আপনার\"}},pointsystemerror:e=>{switch(e){case\"en\":default:return\"The total points must be 100 %\";case\"es\":return\"El total de puntos debe ser 100 %\";case\"da\":return\"Samlet antal point skal være 100 %\";case\"fi\":return\"Kokonaispisteiden on oltava 100 %\";case\"sv\":return\"Totala poäng måste vara 100 %\";case\"no\":return\"Totalt antall poeng må være 100 %\";case\"ar\":return\"يجب أن تكون النقاط الإجمالية 100 %\";case\"bn\":return\"মোট পয়েন্ট 100 % হতে হবে\"}}}},213:(e,t,i)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.renderStartMessage=t.renderSuccess=t.renderError=t.renderActions=t.renderQuestions=void 0;const n=i(558),a=i(784),s=\"https://survey-dev.magicfeedback.io/assets/emojis\";function r(e,t){return e?\"object\"==typeof e?e[t]||e.en:e:\"\"}function o(e,t,i,n,a,s=!0,r=\"ltr\",o=\"row\"){const l=document.createElement(\"div\");l.classList.add(\"magicfeedback-rating-placeholder\"),l.style.display=\"flex\",l.style.flexDirection=o,l.style.alignItems=\"center\",l.style.justifyContent=\"space-between\",l.style.width=a?`calc(100% - (100% / ${t+1}))`:\"100%\",l.style.marginRight=\"auto\",s&&window.innerWidth<600&&(l.style.flexDirection=\"column\");const d=document.createElement(\"span\");d.textContent=i,d.classList.add(\"magicfeedback-rating-placeholder-value\"),d.style.fontSize=\"15px\",d.style.textAlign=\"ltr\"===r?\"left\":\"right\",d.style.width=\"50%\",(s&&window.innerWidth<600||\"column\"===o)&&(d.textContent=`${e} = ${i}`,d.style.width=\"100%\",d.style.textAlign=\"left\",d.style.marginBottom=\"5px\");const c=document.createElement(\"span\");return c.textContent=n,c.classList.add(\"magicfeedback-rating-placeholder-value\"),c.style.fontSize=\"15px\",c.style.textAlign=\"ltr\"===r?\"right\":\"left\",c.style.width=\"50%\",(s&&window.innerWidth<600||\"column\"===o)&&(c.textContent=`${t} = ${n}`,c.style.width=\"100%\",c.style.textAlign=\"left\",c.style.marginBottom=\"5px\"),\"ltr\"===r?(i&&l.appendChild(d),n&&l.appendChild(c)):(n&&l.appendChild(c),i&&l.appendChild(d)),l}t.renderQuestions=function e(t,i=\"standard\",l=\"en\",d={customIcons:!1},c){if(!t)throw new Error(\"[MagicFeedback] No questions provided\");const u=[],{customIcons:p,id:h}=d;return t.forEach((m=>{var f,g;if((null===(g=null===(f=null==m?void 0:m.questionType)||void 0===f?void 0:f.conf)||void 0===g?void 0:g.length)>0){let t=document.createElement(\"div\");t.classList.add(\"magicfeedback-div\");const n=document.createElement(\"label\");n.setAttribute(\"for\",`magicfeedback-${m.id}`),n.textContent=r(m.title,l),n.classList.add(\"magicfeedback-label\"),t.appendChild(n),m.questionType.conf.forEach((e=>{e.ref=m.ref,m.assets[e.id]&&(e.assets={placeholder:m.assets[e.id]})})),e(m.questionType.conf,i,l,d,c).forEach((e=>{t.appendChild(e)})),u.push(t)}else{const e=function(e,t,i,l,d){var c,u,p;let h,m,{id:f,title:g,type:v,ref:y,require:E,value:b,defaultValue:A,assets:k}=e,C=document.createElement(\"div\");C.classList.add(\"magicfeedback-div\");const T=window.innerWidth<600,x=\"slim\"===t?r(g,i):null==k?void 0:k.placeholder,w=(N=y,new URLSearchParams(window.location.search).get(N)),L=(null==k?void 0:k.maxCharacters)||0,P=void 0!==(null==k?void 0:k.randomPosition)&&(null==k?void 0:k.randomPosition),S=(null==k?void 0:k.direction)||\"row\",O=(null==k?void 0:k.order)||\"ltr\";var N;switch(v){case n.FEEDBACKAPPANSWERTYPE.TEXT:h=document.createElement(\"input\"),h.type=\"text\",h.placeholder=x||a.placeholder.answer(i||\"en\"),w&&(h.value=w),h.addEventListener(\"keyup\",(e=>{e.preventDefault(),console.log(e.key,e),\"Enter\"===e.key&&d&&d()})),m=\"magicfeedback-text\";break;case n.FEEDBACKAPPANSWERTYPE.LONGTEXT:h=document.createElement(\"textarea\"),h.rows=3,L>0&&(h.maxLength=L),h.placeholder=x||a.placeholder.answer(i||\"en\"),w&&(h.value=w),m=\"magicfeedback-longtext\";break;case n.FEEDBACKAPPANSWERTYPE.NUMBER:h=document.createElement(\"input\"),h.type=\"number\",h.placeholder=\"slim\"===t?r(g,i):a.placeholder.number(i||\"en\"),m=\"magicfeedback-number\",b.length&&(b.sort(((e,t)=>Number(e)-Number(t))),h.max=b[b.length-1],h.min=b[0],h.value=b[0]),w&&!isNaN(Number(w))&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.RADIO:case n.FEEDBACKAPPANSWERTYPE.MULTIPLECHOICE:h=document.createElement(\"div\"),m=\"magicfeedback-\"+(\"MULTIPLECHOICE\"===v?\"checkbox\":\"radio\");let R=b||[];P&&(R=R.sort((()=>Math.random()-.5)));let $=(null==k?void 0:k.exclusiveAnswers)||[];(null==k?void 0:k.extraOption)&&($=$.filter((e=>e!==k.extraOptionText))),$.length>0&&(null==$||$.forEach((e=>{R.includes(e)||R.push(e)}))),(null==k?void 0:k.extraOption)&&!R.includes(null==k?void 0:k.extraOptionText)&&R.push(null==k?void 0:k.extraOptionText),R.forEach(((e,t)=>{const s=document.createElement(\"div\");s.classList.add(`magicfeedback-${\"MULTIPLECHOICE\"===v?\"checkbox\":\"radio\"}-container`);const r=document.createElement(\"label\"),o=document.createElement(\"input\");if(o.id=`rating-${y}-${t}`,o.type=\"MULTIPLECHOICE\"===v?\"checkbox\":\"radio\",o.name=y,o.value=e,o.classList.add(m),o.classList.add(\"magicfeedback-input\"),v===n.FEEDBACKAPPANSWERTYPE.MULTIPLECHOICE&&(null==k?void 0:k.maxOptions)&&(null==k?void 0:k.maxOptions)>0&&o.addEventListener(\"change\",(()=>{document.querySelectorAll(`input[name=\"${y}\"]:checked`).length>(null==k?void 0:k.maxOptions)&&(o.checked=!1)})),v===n.FEEDBACKAPPANSWERTYPE.RADIO&&d&&(!(null==k?void 0:k.extraOptionText)||(null==k?void 0:k.extraOptionText)&&e!==(null==k?void 0:k.extraOptionText))&&o.addEventListener(\"change\",(()=>{d()})),e!==A&&e!==w||(o.checked=!0),r.textContent=e,r.htmlFor=`rating-${y}-${t}`,o.addEventListener(\"change\",(t=>{const i=document.getElementById(`extra-option-${y}`);t.target.checked&&$.includes(e)?(console.log(\"exclusiveAnswers\",$,e),R.forEach((t=>{t!==e&&(document.querySelector(`input[value=\"${t}\"]`).checked=!1)})),i&&(i.style.display=\"none\")):$.forEach((t=>{t!==e&&(document.querySelector(`input[value=\"${t}\"]`).checked=!1)})),(null==k?void 0:k.extraOption)&&e===(null==k?void 0:k.extraOptionText)&&i&&(i.style.display=t.target.checked?\"block\":\"none\")})),s.appendChild(o),s.appendChild(r),h.appendChild(s),(null==k?void 0:k.extraOption)&&e===(null==k?void 0:k.extraOptionText)){const e=document.createElement(\"input\");e.type=\"text\",e.placeholder=(null==k?void 0:k.extraOptionPlaceholder)||a.placeholder.answer(i||\"en\"),e.classList.add(\"magicfeedback-extra-option\"),e.classList.add(\"magicfeedback-input\"),e.id=`extra-option-${y}`,e.name=`extra-option-${y}`,e.style.display=\"none\",h.appendChild(e)}}));break;case n.FEEDBACKAPPANSWERTYPE.BOOLEAN:h=document.createElement(\"div\"),m=\"magicfeedback-radio\";const _=document.createElement(\"div\");_.classList.add(\"magicfeedback-boolean-container\"),_.style.display=\"flex\",_.style.flexDirection=\"row\",_.style.justifyContent=\"space-between\",_.style.width=\"70%\",_.style.margin=\"auto\",((null==k?void 0:k.addIcon)?[\"👍\",\"👎\"]:function(e){switch(e){case\"es\":return[\"Sí\",\"No\"];case\"fr\":return[\"Oui\",\"Non\"];case\"de\":return[\"Ja\",\"Nein\"];case\"it\":return[\"Sì\",\"No\"];case\"pt\":return[\"Sim\",\"Não\"];case\"nl\":return[\"Ja\",\"Nee\"];case\"pl\":return[\"Tak\",\"Nie\"];case\"ru\":return[\"Да\",\"Нет\"];case\"ja\":return[\"はい\",\"いいえ\"];case\"zh\":return[\"是\",\"不\"];case\"ko\":return[\"예\",\"아니\"];case\"da\":case\"sv\":return[\"Ja\",\"Nej\"];case\"fi\":return[\"Kyllä\",\"Ei\"];case\"no\":return[\"Ja\",\"Nei\"];case\"ar\":return[\"نعم\",\"لا\"];case\"bn\":return[\"হ্যাঁ\",\"না\"];default:return[\"Yes\",\"No\"]}}(i)).forEach(((e,t)=>{const i=document.createElement(\"label\");i.classList.add(\"magicfeedback-boolean-option\"),i.htmlFor=`rating-${y}-${t}`,i.style.cursor=\"pointer\",i.style.border=\"1px solid #000\",i.style.display=\"flex\",i.style.justifyContent=\"center\",i.style.alignItems=\"center\",i.style.margin=\"auto\",i.style.padding=\"0\",i.style.width=\"45%\",i.style.height=\"38px\";const n=document.createElement(\"label\");n.htmlFor=`rating-${y}-${t}`,n.textContent=e,n.style.margin=\"0\",n.style.padding=\"0\";const a=document.createElement(\"input\");a.id=`rating-${y}-${t}`,a.type=\"radio\",a.name=y,a.value=[\"Yes\",\"No\"][t],a.classList.add(m),a.classList.add(\"magicfeedback-input\"),a.style.position=\"absolute\",a.style.opacity=\"0\",a.style.width=\"0\",a.style.height=\"0\",a.style.margin=\"0\",a.addEventListener(\"change\",(()=>{d&&d()})),w&&w.toLowerCase()===a.value.toLowerCase()&&(a.checked=!0),i.appendChild(a),i.appendChild(n),_.appendChild(i)})),h.appendChild(_);break;case n.FEEDBACKAPPANSWERTYPE.RATING_EMOJI:h=document.createElement(\"div\"),m=\"magicfeedback-rating\";const F=document.createElement(\"div\");F.classList.add(\"magicfeedback-rating-container\");const M=(null==k?void 0:k.max)?Number(null==k?void 0:k.max):5,B=(null==k?void 0:k.min)?Number(null==k?void 0:k.min):1,U=o(B,M,null==k?void 0:k.minPlaceholder,null==k?void 0:k.maxPlaceholder,null==k?void 0:k.extraOption);for(let ce=B;ce<=M;ce++){const ue=document.createElement(\"div\");ue.classList.add(\"magicfeedback-rating-option\");const pe=document.createElement(\"label\");pe.htmlFor=`rating-${y}-${ce}`,pe.classList.add(\"magicfeedback-rating-option-label-container\");const he=document.createElement(\"label\");he.htmlFor=`rating-${y}-${ce}`,he.textContent=ce.toString();const me=document.createElement(\"img\");if(me.alt=`face-${y}-${ce}`,me.className=`rating-image${ce}`,0===B&&10===M)me.src=`${l}/${ce}.svg`,me.onerror=()=>me.src=`${s}/${ce}.svg`;else if(1===B&&5===M)switch(ce){case 1:me.src=`${l}/1.svg`,me.onerror=()=>me.src=`${s}/1.svg`;break;case 2:me.src=`${l}/2.svg`,me.onerror=()=>me.src=`${s}/2.svg`;break;case 3:me.src=`${l}/6.svg`,me.onerror=()=>me.src=`${s}/6.svg`;break;case 4:me.src=`${l}/9.svg`,me.onerror=()=>me.src=`${s}/9.svg`;break;case 5:me.src=`${l}/10.svg`,me.onerror=()=>me.src=`${s}/10.svg`}else{const ge=Math.round(10/(M-B)*(ce-B));me.src=`${l}/${ge}.svg`,me.onerror=()=>me.src=`${s}/${ge}.svg`}const fe=document.createElement(\"input\");fe.id=`rating-${y}-${ce}`,fe.type=\"radio\",fe.name=y,fe.value=ce.toString(),fe.classList.add(m),fe.classList.add(\"magicfeedback-input\"),d&&fe.addEventListener(\"change\",(()=>{d()})),w&&w===fe.value&&(fe.checked=!0),pe.appendChild(fe),pe.appendChild(me),pe.appendChild(he),ue.appendChild(pe),F.appendChild(ue)}if((null==k?void 0:k.extraOption)&&(null==k?void 0:k.extraOptionText)){const ve=document.createElement(\"div\");ve.classList.add(\"magicfeedback-rating-option\");const ye=document.createElement(\"label\");ye.htmlFor=`rating-${y}-extra`,ye.classList.add(\"magicfeedback-rating-option-label-container\");const Ee=document.createElement(\"label\");Ee.htmlFor=`rating-${y}-extra`,Ee.textContent=null==k?void 0:k.extraOptionText;const be=document.createElement(\"img\");be.src=\"https://magicfeedback-c6458-dev.web.app/assets/question.svg\",be.alt=`face-${y}-extra`,be.className=\"magicfeedback-rating-image-extra\";const Ae=document.createElement(\"input\");Ae.id=`rating-${y}-extra`,Ae.type=\"radio\",Ae.name=y,Ae.value=\"-\",Ae.classList.add(m),Ae.classList.add(\"magicfeedback-input\"),d&&Ae.addEventListener(\"change\",(()=>{d()})),ye.appendChild(Ae),ye.appendChild(be),ye.appendChild(Ee),ve.appendChild(ye),F.appendChild(ve)}h.appendChild(U),h.appendChild(F);break;case n.FEEDBACKAPPANSWERTYPE.RATING_NUMBER:m=\"magicfeedback-rating-number\",h=function(e,t,i,n,a,s,r,o){const l=document.createElement(\"div\");l.classList.add(\"magicfeedback-rating-number\");const d=\"ltr\"===i?n:`${n}-reverse`,c=document.createElement(\"div\");c.classList.add(\"magicfeedback-rating-number-container\"),c.classList.add(`magicfeedback-rating-number-container-${i}`),c.classList.add(`magicfeedback-rating-number-container-${n}`),c.style.display=\"flex\",c.style.flexDirection=d,c.setAttribute(\"role\",\"radiogroup\"),c.setAttribute(\"aria-label\",(null==t?void 0:t.ariaLabel)||\"Rating\");const u=(null==t?void 0:t.max)?Number(null==t?void 0:t.max):10,p=(null==t?void 0:t.min)?Number(null==t?void 0:t.min):0,h=!(a||\"column\"===n);for(let i=p;i<=u;i++){const a=document.createElement(\"div\");a.classList.add(\"magicfeedback-rating-number-option\"),a.classList.add(`magicfeedback-rating-number-option-${n}`);const l=document.createElement(\"label\");if(l.htmlFor=`rating-${e}-${i}`,l.classList.add(\"magicfeedback-rating-number-option-label-container\"),h&&(l.style.position=\"relative\",l.style.overflow=\"visible\"),h){const e=document.createElement(\"span\");e.classList.add(\"magicfeedback-rating-number-cap\"),e.classList.add(\"magicfeedback-rating-placeholder-value\"),e.style.fontSize=\"14px\",e.style.whiteSpace=\"nowrap\",e.style.wordBreak=\"normal\",i===p&&(null==t?void 0:t.minPlaceholder)?(e.textContent=t.minPlaceholder,e.dataset.capType=\"min\"):i===u&&(null==t?void 0:t.maxPlaceholder)?(e.textContent=t.maxPlaceholder,e.dataset.capType=\"max\"):e.dataset.capType=\"mid\",l.appendChild(e)}let d=i.toString();h||(i===p&&(null==t?void 0:t.minPlaceholder)&&(d+=` = ${null==t?void 0:t.minPlaceholder}`),i===u&&(null==t?void 0:t.maxPlaceholder)&&(d+=` = ${null==t?void 0:t.maxPlaceholder}`));const m=document.createElement(\"input\");m.id=`rating-${e}-${i}`,m.type=\"radio\",m.name=e,m.value=i.toString(),m.classList.add(s),m.classList.add(\"magicfeedback-input\"),m.setAttribute(\"aria-label\",`${i}`),r&&m.addEventListener(\"change\",(()=>r())),o&&o===m.value&&(m.checked=!0);const f=document.createElement(\"label\");f.htmlFor=`rating-${e}-${i}`,f.textContent=d,f.classList.add(\"magicfeedback-rating-number-value\"),l.appendChild(m),l.appendChild(f),a.appendChild(l),c.appendChild(a)}if((null==t?void 0:t.extraOption)&&(null==t?void 0:t.extraOptionText)){const n=document.createElement(\"div\");n.classList.add(\"magicfeedback-rating-number-option\");const a=document.createElement(\"label\");if(a.htmlFor=`rating-${e}-extra`,a.classList.add(\"magicfeedback-rating-number-option-label-container\"),h&&(a.style.position=\"relative\",a.style.overflow=\"visible\"),h){const e=document.createElement(\"span\");e.classList.add(\"magicfeedback-rating-number-cap\"),e.dataset.capType=\"extra\",e.style.fontSize=\"12px\",e.style.whiteSpace=\"nowrap\",e.style.wordBreak=\"normal\",a.appendChild(e)}const o=document.createElement(\"input\");o.id=`rating-${e}-extra`,o.type=\"radio\",o.name=e,o.value=\"-\",o.classList.add(s),o.classList.add(\"magicfeedback-input\"),o.setAttribute(\"aria-label\",null==t?void 0:t.extraOptionText),r&&o.addEventListener(\"change\",(()=>r()));const l=document.createElement(\"label\");l.htmlFor=`rating-${e}-extra`,l.textContent=null==t?void 0:t.extraOptionText,l.classList.add(\"magicfeedback-rating-number-value\"),a.appendChild(o),a.appendChild(l),n.appendChild(a),\"ltr\"===i?c.appendChild(n):c.insertBefore(n,c.firstChild)}return l.appendChild(c),h&&requestAnimationFrame((()=>{const e=Array.from(c.querySelectorAll(\".magicfeedback-rating-number-cap\"));if(0===e.length)return;let t=0;e.forEach((e=>{var i;if(null===(i=e.textContent)||void 0===i?void 0:i.trim()){const i=e.getBoundingClientRect().height||0;i>t&&(t=i)}})),c.style.position=\"relative\",c.style.paddingTop=`${0===t?\"42\":t+6}px`,e.forEach((e=>{const n=e.getBoundingClientRect().height||0;console.log(t,n,6),e.style.position=\"absolute\",e.style.top=`-${0===t?\"42\":t+n}px`,e.style.zIndex=\"1\",e.style.pointerEvents=\"none\",e.style.padding=\"0\",e.style.boxSizing=\"border-box\",e.style.whiteSpace=\"nowrap\",e.style.wordBreak=\"normal\",e.style.maxWidth=\"none\",e.style.width=\"max-content\";const a=e.dataset.capType;\"min\"===a?(\"ltr\"===i?(e.style.left=\"10px\",e.style.textAlign=\"left\"):(e.style.right=\"10px\",e.style.textAlign=\"right\"),e.style.transform=\"none\"):\"max\"===a?(\"ltr\"===i?(e.style.right=\"10px\",e.style.textAlign=\"right\"):(e.style.left=\"10px\",e.style.textAlign=\"left\"),e.style.transform=\"none\"):(e.style.left=\"50%\",e.style.transform=\"translateX(-50%)\",e.style.textAlign=\"center\")})),c.style.overflow=\"visible\"})),l}(y,k,O,S,T,m,d,w);break;case n.FEEDBACKAPPANSWERTYPE.RATING_STAR:h=document.createElement(\"div\"),m=\"magicfeedback-rating-star\";const q=function(e,t,i,n=()=>{},a){const s=\"magicfeedback-rating-star-selected\",r=document.createElement(\"div\");r.classList.add(\"magicfeedback-rating-star-container\"),r.style.maxWidth=\"300px\",r.style.margin=\"auto\",r.dataset.originalSelection=\"0\";for(let t=1;t<=5;t++){const i=document.createElement(\"label\");i.classList.add(\"magicfeedback-rating-star-option\");const o=document.createElement(\"input\");o.id=`rating-${e}-${t}`,o.type=\"radio\",o.name=e,o.value=t.toString(),o.style.position=\"absolute\",o.style.opacity=\"0\",o.style.width=\"0\",o.style.height=\"0\",o.classList.add(\"magicfeedback-input\"),a&&a===o.value&&(o.checked=!0),o.addEventListener(\"change\",(()=>{const e=r.querySelectorAll(\".rating__star\");for(let t=0;t<e.length;t++)t+1<=Number(o.value)?e[t].classList.contains(s)||e[t].classList.add(s):e[t].classList.contains(s)&&e[t].classList.remove(s);r.dataset.originalSelection=o.value,n&&n()})),i.appendChild(o);const l=document.createElement(\"label\");l.htmlFor=`rating-${e}-${t}`,l.classList.add(\"rating__star\"),l.textContent=\"★\",l.style.fontSize=\"40px\",l.style.color=\"#CCCCCC\",l.style.cursor=\"pointer\",l.addEventListener(\"mouseenter\",(()=>{const e=r.querySelectorAll(\".rating__star\"),i=t-1;e.forEach(((e,t)=>{t<=i?e.classList.contains(s)||e.classList.add(s):e.classList.contains(s)&&e.classList.remove(s)}))})),l.addEventListener(\"mouseleave\",(()=>{const e=Number(r.dataset.originalSelection||\"0\");r.querySelectorAll(\".rating__star\").forEach(((t,i)=>{i<e?t.classList.contains(s)||t.classList.add(s):t.classList.contains(s)&&t.classList.remove(s)}))})),i.appendChild(l),r.appendChild(i)}return r.appendChild(o(1,5,t,i,!1,!1)),r}(y,null==k?void 0:k.minPlaceholder,null==k?void 0:k.maxPlaceholder,d,w);h.appendChild(q);break;case n.FEEDBACKAPPANSWERTYPE.MULTIPLECHOISE_IMAGE:h=document.createElement(\"div\"),m=\"magicfeedback-multiple-choice-image\";const j=document.createElement(\"div\");j.classList.add(\"magicfeedback-multiple-choice-image-container\"),j.style.display=\"flex\",j.style.flexDirection=\"row\",j.style.flexWrap=\"wrap\",j.style.justifyContent=\"center\";const Q=b.length;let W=1,K=1;if(window.innerWidth<600)W=1,K=Q;else switch(Q){case 1:case 2:case 3:W=Q,K=1;break;case 4:case 5:case 6:K=2,W=Math.ceil(Q/K);break;case 7:case 8:case 9:K=3,W=Math.ceil(Q/K);break;default:K=4,W=Math.ceil(Q/K)}const G=void 0!==(null==k?void 0:k.addTitle)&&(null==k?void 0:k.addTitle),Y=void 0!==(null==k?void 0:k.multiOption)&&(null==k?void 0:k.multiOption),H=void 0!==(null==k?void 0:k.extraOption)&&(null==k?void 0:k.extraOption);function V(e){try{const{position:t,url:i,value:n}=e,a=document.createElement(\"label\");a.classList.add(\"magicfeedback-multiple-choice-image-option\"),a.style.width=`calc( ${100/W}% - 10px)`,a.style.height=`calc( ${100/K}% - 10px)`,a.style.margin=\"5px\";const s=document.createElement(\"label\");s.htmlFor=`rating-${y}-${t}`,s.classList.add(\"magicfeedback-image-option-label-container\"),s.style.display=\"flex\",s.style.flexDirection=\"column\",s.addEventListener(\"mouseover\",(()=>{s.style.border=\"2px solid #000\"})),s.addEventListener(\"mouseout\",(()=>{s.style.border=\"none\"})),s.addEventListener(\"click\",(()=>{s.style.border=\"2px solid #000\"}));const r=document.createElement(\"label\");r.textContent=n,r.classList.add(\"magicfeedback-multiple-choice-image-label\");const o=document.createElement(\"input\");o.id=`rating-${y}-${t}`,o.type=Y?\"checkbox\":\"radio\",o.name=y,o.value=n,o.style.position=\"absolute\",o.style.opacity=\"0\",o.style.width=\"0\",o.style.height=\"0\",o.classList.add(\"magicfeedback-input\"),w&&w===o.value&&(o.checked=!0),!Y&&d&&o.addEventListener(\"change\",(()=>{console.log(\"send\"),d()}));const l=document.createElement(\"img\");l.classList.add(\"magicfeedback-multiple-choice-image-image\"),l.src=i,l.style.cursor=\"pointer\",l.style.backgroundSize=\"cover\",l.style.backgroundPosition=\"center\",l.style.width=\"100%\",l.style.height=\"100%\",l.style.objectFit=\"cover\",l.style.margin=\"auto\",s.appendChild(o),s.appendChild(l),G&&s.appendChild(r),a.appendChild(s),j.appendChild(a)}catch(e){console.error(e)}}P&&(b=b.sort((()=>Math.random()-.5))),b.forEach((e=>V(JSON.parse(e)))),H&&(null==k?void 0:k.extraOptionValue)&&(null==k?void 0:k.extraOptionValue.length)>0&&V(null==k?void 0:k.extraOptionValue[0]),h.appendChild(j);break;case n.FEEDBACKAPPANSWERTYPE.SELECT:h=document.createElement(\"select\"),m=\"magicfeedback-select\";const X=document.createElement(\"option\");X.value=\"\",X.text=\"slim\"===t?r(g,i):A||\"Select an option\",X.disabled=!0,X.selected=!0,h.appendChild(X),b.forEach((e=>{const t=document.createElement(\"option\");t.value=e,t.text=e,h.appendChild(t)})),w&&b.includes(w)&&(h.value=w),d&&h.addEventListener(\"change\",(()=>{d()}));break;case n.FEEDBACKAPPANSWERTYPE.DATE:h=document.createElement(\"input\"),h.type=\"date\",h.required=E,h.placeholder=x||a.placeholder.date(i||\"en\"),m=\"magicfeedback-date\",w&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.CONSENT:h=document.createElement(\"input\"),m=\"magicfeedback-consent\",h.type=\"checkbox\",h.id=`magicfeedback-${f}`,h.name=y,h.value=\"true\",h.required=E,h.classList.add(\"magicfeedback-consent\"),h.classList.add(\"magicfeedback-input\"),w&&b.includes(w)&&(h.checked=!0),d&&h.addEventListener(\"change\",(()=>{d()}));break;case n.FEEDBACKAPPANSWERTYPE.EMAIL:h=document.createElement(\"input\"),h.type=\"email\",h.required=E,h.placeholder=x||\"you@example.com\",m=\"magicfeedback-email\",w&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.PASSWORD:h=document.createElement(\"input\"),h.type=\"password\",h.required=E,h.placeholder=x||a.placeholder.password(i||\"en\"),m=\"magicfeedback-password\",w&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX:h=document.createElement(\"div\"),m=\"magicfeedback-multi-question-matrix\";const z=document.createElement(\"div\");z.classList.add(\"magicfeedback-multi-question-matrix-container\");let J=(null==k?void 0:k.options)||[],Z=[...b],ee=[];if(P&&(J=null==J?void 0:J.sort((()=>Math.random()-.5)),Z=[...Z].sort((()=>Math.random()-.5))),(null==k?void 0:k.exclusiveAnswers)&&(ee=null==k?void 0:k.exclusiveAnswers,null==ee||ee.forEach((e=>{Z.includes(e)||Z.push(e)}))),window.innerWidth<600){const ke=document.createElement(\"div\");ke.classList.add(\"magicfeedback-multi-question-matrix-list\"),null==J||J.forEach((e=>{const t=document.createElement(\"div\");t.classList.add(\"magicfeedback-multi-question-matrix-list-item\"),t.style.display=\"flex\",t.style.flexDirection=\"column\",t.style.alignItems=\"flex-start\",t.style.marginBottom=\"10px\";const i=document.createElement(\"label\");i.classList.add(\"magicfeedback-multi-question-matrix-label\"),i.style.paddingBottom=\"10px\",i.textContent=e,t.appendChild(i),Z.forEach((i=>{const n=document.createElement(\"div\");n.classList.add(\"magicfeedback-radio-container\"),n.style.display=\"flex\",n.style.alignItems=\"center\",n.style.justifyContent=\"flex-start\",n.style.width=\"99%\",n.style.margin=\"5px auto\";const a=document.createElement(\"label\"),s=document.createElement(\"input\");s.id=`${y}-${e}-${i}`,s.type=\"radio\",s.name=`${y}-${e}`,s.value=i,s.classList.add(\"magicfeedback-input\"),a.textContent=i,a.htmlFor=`${y}-${e}-${i}`,n.appendChild(s),n.appendChild(a),t.appendChild(n)})),ke.appendChild(t)})),z.appendChild(ke)}else{const Ce=document.createElement(\"table\");Ce.classList.add(\"magicfeedback-multi-question-matrix-table\");const Te=document.createElement(\"thead\");Te.classList.add(\"magicfeedback-multi-question-matrix-header\"),Te.style.paddingBottom=\"15px\";const xe=document.createElement(\"tr\"),we=document.createElement(\"th\");xe.appendChild(we),Z.forEach((e=>{const t=document.createElement(\"th\");t.textContent=e,xe.appendChild(t)})),Te.appendChild(xe),Ce.appendChild(Te);const Le=document.createElement(\"tbody\");null==J||J.forEach((e=>{const t=document.createElement(\"tr\");t.classList.add(\"magicfeedback-multi-question-matrix-row-tr\");const i=document.createElement(\"td\");i.style.minWidth=\"200px\",i.style.padding=\"10px\";const n=document.createElement(\"label\");n.classList.add(\"magicfeedback-multi-question-matrix-label\"),n.textContent=e,i.appendChild(n),t.appendChild(i),Z.forEach((i=>{const n=document.createElement(\"td\"),a=document.createElement(\"input\");a.type=\"radio\",a.name=`${y}-${e}`,a.value=i,a.id=`${y}-${e}-${i}`,a.classList.add(\"magicfeedback-input\"),n.appendChild(a),t.appendChild(n)})),Le.appendChild(t)})),Ce.appendChild(Le),z.appendChild(Ce)}h.appendChild(z);break;case n.FEEDBACKAPPANSWERTYPE.PRIORITY_LIST:h=document.createElement(\"div\"),m=\"magicfeedback-priority-list\";const te=document.createElement(\"div\");te.classList.add(\"magicfeedback-priority-list-container\");const ie=document.createElement(\"ul\");ie.classList.add(\"magicfeedback-priority-list-list\"),P&&(b=b.sort((()=>Math.random()-.5))),b.forEach(((e,t)=>{const i=document.createElement(\"li\");i.classList.add(\"magicfeedback-priority-list-item\"),i.style.display=\"flex\",i.style.justifyContent=\"space-between\",i.style.alignItems=\"center\",i.style.margin=\"5px\";const n=document.createElement(\"input\");n.classList.add(\"magicfeedback-input-magicfeedback-priority-list\"),n.classList.add(\"magicfeedback-input\"),n.type=\"hidden\",n.id=`priority-list-${y}`,n.name=y,n.value=`${t+1}. ${e}`,i.appendChild(n);const a=document.createElement(\"label\");a.classList.add(\"magicfeedback-priority-list-item-label\"),a.textContent=`${t+1}. ${e}`,i.appendChild(a);const s=document.createElement(\"div\");s.style.display=\"flex\",s.style.alignItems=\"center\",s.style.justifyContent=\"space-between\";const r=document.createElement(\"img\");r.classList.add(\"magicfeedback-priority-list-arrow-up\"),r.src=\"https://magicfeedback-c6458-dev.web.app/assets/arrow.svg\",r.style.width=\"20px\",r.style.height=\"20px\",r.style.cursor=\"pointer\",r.style.margin=\"0 5px\",r.style.color=\"#000\",r.style.visibility=0===t?\"hidden\":\"visible\",r.addEventListener(\"click\",(()=>{var t,s,l,d;const c=i.previousElementSibling;if(c){const u=Number(null===(t=n.value)||void 0===t?void 0:t.split(\".\")[0])-1;n.value=`${u}. ${e}`,a.textContent=`${u}. ${e}`,r.style.visibility=1===u?\"hidden\":\"visible\",o.style.visibility=u===b.length?\"hidden\":\"visible\";const p=c.querySelector(\".magicfeedback-input-magicfeedback-priority-list\"),h=c.querySelector(\".magicfeedback-priority-list-item-label\"),m=c.querySelector(\".magicfeedback-priority-list-arrow-up\"),f=c.querySelector(\".magicfeedback-priority-list-arrow-down\");if(p&&h&&m&&f){const e=Number(null===(s=p.value)||void 0===s?void 0:s.split(\".\")[0])+1;p.value=`${e}.${null===(l=h.textContent)||void 0===l?void 0:l.split(\".\")[1]}`,h.textContent=`${e}.${null===(d=h.textContent)||void 0===d?void 0:d.split(\".\")[1]}`,m.style.visibility=1===e?\"hidden\":\"visible\",f.style.visibility=e===b.length?\"hidden\":\"visible\"}ie.insertBefore(i,c)}})),s.appendChild(r);const o=document.createElement(\"img\");o.classList.add(\"magicfeedback-priority-list-arrow-down\"),o.src=\"https://magicfeedback-c6458-dev.web.app/assets/arrow.svg\",o.style.width=\"20px\",o.style.height=\"20px\",o.style.cursor=\"pointer\",o.style.margin=\"0 5px\",o.style.color=\"#000\",o.style.transform=\"rotate(180deg)\",o.style.visibility=t===b.length-1?\"hidden\":\"visible\",o.addEventListener(\"click\",(()=>{var t,s,l;const d=i.nextElementSibling;if(d){const c=Number(null===(t=n.value)||void 0===t?void 0:t.split(\".\")[0])+1;n.value=c.toString(),a.textContent=`${c.toString()}. ${e}`,r.style.visibility=1===c?\"hidden\":\"visible\",o.style.visibility=c===b.length?\"hidden\":\"visible\";const u=d.querySelector(\".magicfeedback-input-magicfeedback-priority-list\"),p=d.querySelector(\".magicfeedback-priority-list-item-label\"),h=d.querySelector(\".magicfeedback-priority-list-arrow-up\"),m=d.querySelector(\".magicfeedback-priority-list-arrow-down\");if(u&&p&&h&&m){const e=Number(u.value.split(\".\")[0])-1;u.value=`${e}.${null===(s=p.textContent)||void 0===s?void 0:s.split(\".\")[1]}`,p.textContent=`${e}.${null===(l=p.textContent)||void 0===l?void 0:l.split(\".\")[1]}`,h.style.visibility=1===e?\"hidden\":\"visible\",m.style.visibility=e===b.length?\"hidden\":\"visible\"}ie.insertBefore(d,i)}})),s.appendChild(o),i.appendChild(s),ie.appendChild(i)})),te.appendChild(ie),h.appendChild(te);break;case n.FEEDBACKAPPANSWERTYPE.POINT_SYSTEM:h=document.createElement(\"div\"),m=\"magicfeedback-point-system\";const ne=document.createElement(\"div\");ne.classList.add(\"magicfeedback-point-system-container\");const ae=document.createElement(\"ul\");ae.classList.add(\"magicfeedback-point-system-list\"),ae.style.padding=\"0\";const se=100,re=se/b.length,oe=document.createElement(\"div\");oe.classList.add(\"magicfeedback-error\"),oe.textContent=a.placeholder.pointsystemerror(i||\"en\"),oe.style.color=\"#C70039\",oe.style.fontSize=\"14px\",oe.style.textAlign=\"right\",oe.style.width=\"100%\",oe.style.display=\"none\";const le=document.createElement(\"div\");le.classList.add(\"magicfeedback-point-system-total\"),le.textContent=\"0 / 100 %\",le.style.textAlign=\"right\",le.style.fontSize=\"15px\",le.style.marginTop=\"5px\",b.forEach(((e,t)=>{const i=document.createElement(\"li\");i.classList.add(\"magicfeedback-point-system-item\"),i.style.display=\"flex\",i.style.justifyContent=\"space-between\",i.style.alignItems=\"center\",i.style.margin=\"5px\";const n=document.createElement(\"label\");n.textContent=e,n.style.fontSize=\"15px\",i.appendChild(n);const a=document.createElement(\"span\");a.classList.add(\"magicfeedback-point-system-input-container\");const s=document.createElement(\"input\");s.name=y,s.id=`${e}`,s.type=\"number\",s.min=\"0\",s.max=`${se}`,s.value=\"0\",s.classList.add(\"magicfeedback-input\"),s.style.width=\"40px\",s.style.border=\"0\",s.style.textAlign=\"center\",s.style.margin=\"0 5px\",s.autofocus=0===t;const r=document.createElement(\"span\");r.textContent=\"%\",r.style.color=\"#000\",s.addEventListener(\"input\",(()=>{const e=ae.querySelectorAll(\"input\");let t=0;e.forEach((e=>{t+=Number(e.value)})),t>se&&(s.value=`${re}%`,t-=Number(s.value));const i=document.getElementById(\"magicfeedback-submit\");i&&(t<100?(le.style.color=\"orange\",i.setAttribute(\"disabled\",\"true\")):(oe.style.display=\"none\",le.style.color=\"green\",i.removeAttribute(\"disabled\"))),le.textContent=`${t} / 100 %`})),s.addEventListener(\"focus\",(()=>{const e=document.getElementById(\"magicfeedback-submit\");e&&(e.setAttribute(\"disabled\",\"true\"),e.addEventListener(\"pointerover\",(()=>{const e=ae.querySelectorAll(\"input\");let t=0;e.forEach((e=>{t+=Number(e.value)})),t<100&&(oe.style.display=\"block\")})))})),a.appendChild(s),a.appendChild(r),i.appendChild(a),ae.appendChild(i)})),ne.appendChild(ae),ne.appendChild(le),ne.appendChild(oe),h.appendChild(ne);break;case n.FEEDBACKAPPANSWERTYPE.INFO_PAGE:h=document.createElement(\"div\"),m=\"magicfeedback-info-page\";const de=document.createElement(\"div\");de.classList.add(\"magicfeedback-info-message\"),de.innerHTML=x,h.appendChild(de);break;case n.FEEDBACKAPPANSWERTYPE.UPLOAD_IMAGE:h=document.createElement(\"input\"),h.type=\"file\",h.accept=\"image/*\",h.required=E,h.multiple=(null==k?void 0:k.multiple)||!1,h.maxLength=(null==k?void 0:k.maxFiles)||1,m=\"magicfeedback-upload-image\";break;case n.FEEDBACKAPPANSWERTYPE.UPLOAD_FILE:h=document.createElement(\"input\"),h.type=\"file\",h.required=E,h.multiple=(null==k?void 0:k.multiple)||!1,h.maxLength=(null==k?void 0:k.maxFiles)||1,m=\"magicfeedback-upload-file\";break;default:return C}h.id=`magicfeedback-${f}`,h.setAttribute(\"name\",y),h.classList.add(m),(void 0!==A||null!==w)&&(h.value=w||A),[\"RADIO\",\"MULTIPLECHOICE\"].includes(v)||(h.classList.add(\"magicfeedback-input\"),h.required=E);const I=document.createElement(\"label\");I.setAttribute(\"for\",`magicfeedback-${f}`),I.textContent=r(g,i),I.classList.add(\"magicfeedback-label\");const D=document.createElement(\"label\");if(D.textContent=r(null==k?void 0:k.subtitle,i),D.classList.add(\"magicfeedback-sublabel\"),(null===(c=null==k?void 0:k.subtitleStyle)||void 0===c?void 0:c.includes(\"italic\"))&&(D.style.fontStyle=\"italic\"),(null===(u=null==k?void 0:k.subtitleStyle)||void 0===u?void 0:u.includes(\"bold\"))&&(D.style.fontWeight=\"bold\"),(null===(p=null==k?void 0:k.subtitleStyle)||void 0===p?void 0:p.includes(\"underline\"))&&(D.style.textDecoration=\"underline\"),[\"CONSENT\"].includes(v))C.classList.add(\"magicfeedback-consent-container\"),C.appendChild(h),C.appendChild(I),C.appendChild(D);else{if(\"slim\"!==t&&(C.appendChild(I),C.appendChild(D),void 0!==(null==k?void 0:k.general)&&\"\"!==(null==k?void 0:k.general))){const Pe=document.createElement(\"img\");Pe.src=null==k?void 0:k.general,Pe.classList.add(\"magicfeedback-image\"),Pe.style.maxWidth=\"auto\",Pe.style.height=\"400px\",Pe.style.margin=\"10px 0\",C.appendChild(Pe)}if(\"LONGTEXT\"===v&&L>0){const Se=document.createElement(\"div\");if(Se.classList.add(\"magicfeedback-counter\"),Se.textContent=`${h.value.length}/${L}`,Se.style.textAlign=\"right\",Se.style.fontSize=\"15px\",Se.style.marginTop=\"5px\",h.addEventListener(\"input\",(()=>{Se.textContent=`${h.value.length}/${L}`})),C.appendChild(h),C.appendChild(Se),(null==k?void 0:k.extraOption)&&(null==k?void 0:k.extraOptionText)){const Oe=document.createElement(\"div\");Oe.classList.add(\"magicfeedback-skip-container\"),Oe.classList.add(\"magicfeedback-checkbox-container\"),Oe.style.display=\"flex\",Oe.style.justifyContent=\"flex-start\";const Ne=document.createElement(\"input\");Ne.classList.add(\"magicfeedback-skip\"),Ne.type=\"checkbox\",Ne.id=`skip-${y}`,Ne.name=y,Ne.value=\"-\",Ne.style.cursor=\"pointer\";const Ie=document.createElement(\"label\");Ie.htmlFor=`skip-${y}`,Ie.textContent=null==k?void 0:k.extraOptionText,Ie.style.fontSize=\"15px\",Ie.style.cursor=\"pointer\",Ie.style.margin=\"0 5px\",Ne.addEventListener(\"click\",(()=>{h.value=\"-\",d&&d()})),Oe.appendChild(Ne),Oe.appendChild(Ie),C.appendChild(Oe)}}else C.appendChild(h)}return C}(m,i,l,`${s}${p?`/${h}`:\"\"}`,1===t.length?c:void 0);u.push(e)}})),u},t.renderActions=function(e=\"\",t,i=\"Submit\",n=\"Back\",a=\"Next\"){const s=document.createElement(\"div\");s.classList.add(\"magicfeedback-action-container\");const r=document.createElement(\"button\");r.id=\"magicfeedback-submit\",r.type=\"submit\",r.classList.add(\"magicfeedback-submit\"),r.textContent=\"MAGICSURVEY\"===e?a||\"Next\":i||\"Submit\";const o=document.createElement(\"button\");return o.id=\"magicfeedback-back\",o.type=\"button\",o.classList.add(\"magicfeedback-back\"),o.textContent=n||\"Back\",o.addEventListener(\"click\",t),o.addEventListener(\"click\",(()=>{r.removeAttribute(\"disabled\")})),\"MAGICSURVEY\"===e&&s.appendChild(o),s.appendChild(r),s},t.renderError=function(e){const t=document.createElement(\"div\");return t.classList.add(\"magicfeedback-error\"),t.textContent=e,t},t.renderSuccess=function(e){const t=document.createElement(\"div\");return t.classList.add(\"magicfeedback-success\"),t.textContent=e,t},t.renderStartMessage=function(e,t=!1,i=\"Go!\",n=()=>{}){const a=document.createElement(\"div\");a.classList.add(\"magicfeedback-start-message-container\");const s=document.createElement(\"div\");if(s.classList.add(\"magicfeedback-start-message\"),s.innerHTML=e,a.appendChild(s),t){const e=document.createElement(\"button\");e.id=\"magicfeedback-start-message-button\",e.classList.add(\"magicfeedback-start-message-button\"),e.textContent=i,e.addEventListener(\"click\",(()=>n())),a.appendChild(e)}return a}},313:function(e,t,i){\"use strict\";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(a,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function o(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,o)}l((n=n.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.getFollowUpQuestion=t.sendFeedback=t.getQuestions=t.getSessionForm=t.getForm=t.validateEmail=void 0;const s=a(i(945)),r=a(i(330)),o=i(857),l={Accept:\"application/json\",\"Magicfeedback-Sdk-Version\":r.default.version,\"x-magicfeedback-parameters\":window.location.search||\"\"};t.validateEmail=function(e){return/\\S+@\\S+\\.\\S+/.test(e)},t.getForm=function(e,t,i,a){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.app_info(t,i),{method:\"GET\",headers:l});return yield n.json()}catch(e){a.err(e)}}))},t.getSessionForm=function(e,t,i){return n(this,void 0,void 0,(function*(){try{const i=yield(0,s.default)(e+o.endpoints.sdk.session(t),{method:\"GET\",headers:l});return yield i.json()}catch(e){i.err(e)}}))},t.getQuestions=function(e,t,i,a){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.app(t,i),{method:\"GET\",headers:l});if(n.ok){const e=yield n.json();return a.log(`Received questions for app ${t}`,e),e}throw a.err(`Failed to get questions for app ${t}:`,n.status,n.statusText),new Error(\"[MagicFeedback] Bad response from server\")}catch(e){return a.err(e),[]}}))},t.sendFeedback=function(e,t,i){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.feedback,{method:\"POST\",headers:Object.assign({\"Content-Type\":\"application/json\"},l),body:JSON.stringify(t)});if(n.ok)return i.log(`Form ${t.integration} submitted successfully!`),(yield n.json()).sessionId;throw i.err(`Failed to submit form ${t.integration}:`,n.status,n.statusText),new Error(n.statusText)}catch(e){return i.err(e),\"\"}}))},t.getFollowUpQuestion=function(e,t,i){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.followUpQuestion,{method:\"POST\",headers:Object.assign({\"Content-Type\":\"application/json\"},l),body:JSON.stringify(t)});if(n.ok)return i.log(`Received follow up question for form ${t.integration}`),(yield n.json())||\"\";throw i.err(`Failed to get follow up question for form ${t.integration}:`,n.status,n.statusText),new Error(n.statusText)}catch(e){return i.err(e),\"\"}}))}},256:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Log=void 0,t.Log=class{constructor(e){this.config=e}log(...e){this.config.get(\"debug\")&&console.log(\"[MagicFeedback]:\",...e)}err(...e){console.error(\"[MagicFeedback]:\",...e)}}},330:e=>{\"use strict\";e.exports=JSON.parse('{\"name\":\"@magicfeedback/native\",\"version\":\"2.1.4\",\"main\":\"./dist/magicfeedback-sdk.node.js\",\"browser\":\"./dist/magicfeedback-sdk.browser.js\",\"types\":\"./dist/types/src/index.d.ts\",\"repository\":{\"type\":\"git\",\"url\":\"git+ssh://git@github.com/MagicFeedback/magicfeedback-sdk.git\"},\"author\":\"farias@magicfeedback.io\",\"license\":\"MIT\",\"private\":false,\"scripts\":{\"dev\":\"vite\",\"build\":\"webpack\",\"build:watch\":\"webpack --watch --mode development\",\"publish\":\"npm publish --access public\",\"publish:beta\":\"npm publish --access public --tag beta\",\"publish:alpha\":\"npm publish --access public --tag alpha\",\"test\":\"jest\",\"test:watch\":\"jest --watchAll\",\"coverage\":\"vitest run --coverage\"},\"files\":[\"dist\"],\"devDependencies\":{\"@babel/preset-typescript\":\"^7.22.5\",\"@types/node\":\"^17.0.21\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-node-externals\":\"^2.5.3\",\"c8\":\"^7.11.0\",\"copy-webpack-plugin\":\"^11.0.0\",\"jest\":\"^29.5.0\",\"jest-environment-jsdom\":\"^29.5.0\",\"jest-fetch-mock\":\"^3.0.3\",\"nock\":\"^13.2.4\",\"ts-jest\":\"^29.1.0\",\"ts-loader\":\"^9.2.7\",\"ts-node\":\"^10.7.0\",\"typescript\":\"^4.6.2\",\"vite\":\"^2.8.0\",\"vite-plugin-dts\":\"^0.9.9\",\"vitest\":\"^0.5.9\",\"webpack\":\"^5.70.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-node-externals\":\"^3.0.0\"},\"dependencies\":{\"cross-fetch\":\"^3.1.5\",\"is-bundling-for-browser-or-node\":\"^1.1.1\"},\"description\":\"MagicFeedbackAI JavaScript Library for [MagicFeedback.io](https://magicfeedback.io/)\",\"bugs\":{\"url\":\"https://github.com/MagicFeedback/magicfeedback-sdk/issues\"},\"homepage\":\"https://github.com/MagicFeedback/magicfeedback-sdk#readme\",\"directories\":{\"example\":\"examples\",\"test\":\"test\"},\"style\":\"./dist/styles/magicfeedback-default.css\"}')}},t={},function i(n){var a=t[n];if(void 0!==a)return a.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,i),s.exports}(156).default;var e,t}));","export { DeepdotsPopups } from './core/deepdots-popups';\nexport type {\n DeepdotsConfig,\n TriggerConfig,\n ShowOptions,\n DeepdotsEvent,\n DeepdotsEventType,\n EventListener,\n} from './types';\n","import {DeepdotsEventType, PopupActions, FormData} from '../types';\nimport magicfeedback from \"@magicfeedback/native\";\nimport \"@magicfeedback/native/dist/styles/index.css\";\n\n// Inserta la hoja de estilos de MagicFeedback directamente en el popup para garantizar estilos incluso si el bundler no la inyecta globalmente.\nfunction ensureMagicFeedbackStyles(popup: HTMLElement) {\n const DATA_ATTR = 'data-magicfeedback-css';\n // Evitar duplicar si ya existe en el documento (head) o dentro del popup\n if (document.querySelector(`link[${DATA_ATTR}]`) || popup.querySelector(`link[${DATA_ATTR}]`)) {\n return;\n }\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = 'https://cdn.jsdelivr.net/npm/@magicfeedback/native/dist/styles/index.css';\n link.setAttribute(DATA_ATTR, 'true');\n // Colocar al inicio del popup para cargar primero los estilos específicos\n popup.appendChild(link);\n}\n\n// Añade estilos de spinner si no existen\nfunction ensureSpinnerStyles(popup: HTMLElement) {\n if (document.getElementById('deepdots-spinner-styles')) return;\n const style = document.createElement('style');\n style.id = 'deepdots-spinner-styles';\n style.textContent = `\n @keyframes ddspin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n .mf-spinner { display:flex; justify-content:center; align-items:center; padding:8px 0; }\n .mf-spinner-circle { width:28px; height:28px; border:3px solid #e0e6ed; border-top-color:#1E293B; border-radius:50%; animation: ddspin 0.9s linear infinite; }\n `;\n popup.appendChild(style);\n}\n\nfunction ensureResponsiveStyles(popup: HTMLElement) {\n if (document.getElementById('deepdots-responsive-styles')) return;\n const style = document.createElement('style');\n style.id = 'deepdots-responsive-styles';\n style.textContent = `\n /* Responsive adjustments */\n @media (max-width: 640px) {\n .deepdots-popup {\n width: 100% !important;\n max-width: 100% !important;\n height: 100vh !important;\n max-height: 100vh !important;\n border-radius: 0 !important;\n padding: calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)) 16px !important;\n box-sizing: border-box;\n }\n .deepdots-popup .mf-spinner-circle { width: 32px; height: 32px; border-width: 4px; }\n .deepdots-popup button { font-size: 16px !important; }\n .deepdots-popup-footer { flex-direction: column !important; gap: 12px !important; }\n .deepdots-popup-footer button { width: 100%; }\n }\n @media (max-width: 400px) {\n .deepdots-popup { padding: calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom)) 12px !important; }\n .deepdots-popup button { padding: 10px 14px !important; }\n }\n @media (orientation: landscape) and (max-height: 480px) {\n .deepdots-popup {\n height: 100vh !important;\n max-height: 100vh !important;\n overflow-y: auto !important;\n }\n }\n `;\n popup.appendChild(style);\n}\n\n/**\n * Renderiza el popup dentro del contenedor dado usando MagicFeedback para la encuesta.\n */\nexport async function renderPopup(\n container: HTMLElement,\n surveyId: string,\n productId: string,\n actions: PopupActions | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n): Promise<void> {\n let surveyCompletedEmitted = false;\n // Crear popup base\n const popup = document.createElement('div');\n popup.className = 'deepdots-popup';\n popup.style.cssText = `\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n background: #fff;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 4px 6px rgba(0,0,0,0.1);\n max-width: 600px;\n width: 90%;\n min-height: 200px;\n max-height: 80vh; /* límite general del popup */\n overflow: hidden; /* quita scroll del contenedor principal */\n `;\n\n // Sección header (solo botón cerrar)\n const header = document.createElement('div');\n header.className = 'deepdots-popup-header';\n header.style.cssText = 'display:flex; justify-content:flex-end; align-items:center; width:100%; margin-bottom:8px;';\n\n // Botón de cierre (X)\n const closeBtn = document.createElement('button');\n closeBtn.type = 'button';\n closeBtn.setAttribute('aria-label', 'Close popup');\n closeBtn.innerHTML = '×';\n closeBtn.style.cssText = `\n background:transparent;\n border:none;\n font-size:22px;\n line-height:1;\n cursor:pointer;\n color:#555;\n padding:4px;\n transition: color .15s ease, transform .15s ease;\n box-shadow: none;\n `;\n closeBtn.onmouseenter = () => {\n closeBtn.style.color = '#111';\n closeBtn.style.transform = 'scale(1.1)';\n };\n closeBtn.onmouseleave = () => {\n closeBtn.style.color = '#555';\n closeBtn.style.transform = 'scale(1)';\n };\n closeBtn.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'close_icon'});\n onClose();\n };\n header.appendChild(closeBtn);\n\n ensureMagicFeedbackStyles(popup);\n ensureSpinnerStyles(popup);\n ensureResponsiveStyles(popup);\n\n // Sección principal (main) - Contenedor formulario + spinner\n const main = document.createElement('div');\n main.className = 'deepdots-popup-main';\n main.style.cssText = 'display:flex; flex-direction:column; width:100%; flex-grow:1; overflow-y:auto;';\n\n const formWrapper = document.createElement('div');\n formWrapper.style.cssText = 'position:relative; min-height:150px; width:100%;';\n\n const spinnerEl = document.createElement('div');\n spinnerEl.className = 'mf-spinner';\n spinnerEl.setAttribute('role', 'status');\n spinnerEl.setAttribute('aria-label', 'Loading survey');\n spinnerEl.innerHTML = '<div class=\"mf-spinner-circle\"></div>';\n spinnerEl.style.cssText = 'position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);';\n\n const formDivId = `magicfeedback-form-${surveyId}`;\n const formHost = document.createElement('div');\n formHost.id = formDivId;\n formHost.style.cssText = 'width:100%; visibility:hidden;';\n\n formWrapper.appendChild(spinnerEl);\n formWrapper.appendChild(formHost);\n main.appendChild(formWrapper);\n\n // Sección footer (acciones) - botones en extremos\n const footer = document.createElement('div');\n footer.className = 'deepdots-popup-footer';\n footer.setAttribute('data-actions-wrapper', 'true');\n footer.style.cssText = 'display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:24px; width:100%;';\n\n const cancelButton = document.createElement('button');\n cancelButton.textContent = actions?.decline ? actions?.decline.label : 'Cancel';\n cancelButton.style.cssText = `\n background: transparent;\n color: #333;\n border: 1px solid #ddd;\n padding: 10px 16px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n transition: background .15s ease;\n `;\n cancelButton.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'cancel'});\n onClose();\n };\n\n const submitButton = document.createElement('button');\n submitButton.textContent = actions?.accept ? actions.accept.label : 'Complete Survey';\n submitButton.style.cssText = `\n background: #1E293B;\n color: #fff;\n border: none;\n padding: 12px 24px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: filter .15s ease;\n `;\n submitButton.onclick = () => {\n if (!surveyCompletedEmitted) {\n emit('popup_clicked', surveyId, {action: 'manual_send'});\n // Dispara envío nativo si existe\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (formInstance as any)?.send?.();\n }\n };\n\n footer.appendChild(cancelButton);\n footer.appendChild(submitButton);\n\n // Ensamblar popup\n popup.appendChild(header);\n popup.appendChild(main);\n popup.appendChild(footer);\n\n container.innerHTML = '';\n container.appendChild(popup);\n container.style.display = 'flex';\n\n // Gestión dinámica de loading\n function setLoading(isLoading: boolean) {\n spinnerEl.style.display = isLoading ? 'flex' : 'none';\n if (!isLoading) {\n formHost.style.visibility = 'visible';\n }\n cancelButton.disabled = false;\n submitButton.disabled = isLoading;\n submitButton.style.opacity = isLoading ? '0.6' : '1';\n submitButton.style.cursor = isLoading ? 'not-allowed' : 'pointer';\n }\n\n // Estado inicial\n setLoading(true);\n\n // Entorno navegador\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n // Referencia instancia formulario\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let formInstance: any = null;\n\n try {\n if (!magicfeedback || typeof magicfeedback.form !== 'function') {\n console.warn('[MagicFeedback] form() no disponible. Fallback manual.');\n setLoading(false);\n return;\n }\n magicfeedback.init({debug: true, env: 'prod'});\n formInstance = magicfeedback.form(surveyId, productId);\n\n interface TypedGenerateOptions {\n addButton: boolean;\n getMetaData: boolean;\n onLoadedEvent?: (args: {\n formData: FormData\n }) => void;\n beforeSubmitEvent?: () => void;\n afterSubmitEvent?: (args: { error?: string, completed: boolean, progress: number, total: number }) => void;\n onBackEvent?: (args: { error?: string, progress: number, total: number, followup: boolean }) => void;\n }\n\n const generateOptions: TypedGenerateOptions = {\n addButton: false,\n getMetaData: true,\n };\n generateOptions.onLoadedEvent = ({formData}) => {\n // Calcular altura disponible y aplicarla al main (restando header + footer + paddings)\n try {\n /*\n const headerHeight = header.getBoundingClientRect().height;\n const footerHeight = footer.getBoundingClientRect().height;\n const paddingY = 48; // 24px top + 24px bottom\n const viewportLimit = window.innerHeight * 0.8; // coincide con max-height del popup\n const available = viewportLimit - headerHeight - footerHeight - paddingY;\n if (available > 120) { // asegurar un mínimo razonable\n main.style.maxHeight = available + 'px';\n } */\n } catch(e) {\n // silencioso\n }\n // Personalización del popup basada en formData.style\n const s = formData?.style;\n if (s) {\n // Fondo del contenedor popup\n if (s.boxBackgroundColor) {\n popup.style.background = s.boxBackgroundColor;\n }\n // Alineación del contenido principal\n if (s.contentAlign) {\n // 'top' => start, 'center' => center\n main.style.justifyContent = s.contentAlign === 'center' ? 'center' : 'flex-start';\n }\n // Botón primario (submit)\n if (s.buttonPrimaryColor) {\n submitButton.style.background = s.buttonPrimaryColor;\n submitButton.style.border = 'none';\n submitButton.style.color = '#fff';\n }\n // Botón secundario (cancel)\n if (s.buttonSecondaryColor) {\n cancelButton.style.background = 'transparent';\n cancelButton.style.border = `1px solid ${s.buttonSecondaryColor}`;\n cancelButton.style.color = '#333';\n }\n if (s.logo) {\n // Insertar logo si existe\n const logoImg = document.createElement('img');\n logoImg.src = s.logo;\n logoImg.alt = 'Logo';\n logoImg.style.cssText = 'max-height:40px; max-width:100%; object-fit:contain;';\n if (s.logoSize) {\n switch (s.logoSize) {\n case 'small':\n logoImg.style.maxHeight = '30px';\n break;\n case 'medium':\n logoImg.style.maxHeight = '50px';\n break;\n case 'large':\n logoImg.style.maxHeight = '70px';\n break;\n }\n }\n if (s.logoPosition) {\n switch (s.logoPosition) {\n case 'left':\n logoImg.style.margin = '0 16px 16px 0';\n logoImg.style.display = 'block';\n logoImg.style.marginLeft = '0';\n break;\n case 'right':\n logoImg.style.margin = '0 0 16px 16px';\n logoImg.style.display = 'block';\n logoImg.style.marginLeft = 'auto';\n break;\n case 'center':\n logoImg.style.margin = '0 auto 16px auto';\n logoImg.style.display = 'block';\n break;\n }\n }\n // Insertar antes del main\n popup.insertBefore(logoImg, main);\n }\n }\n\n emit('popup_clicked', surveyId, {action: 'loaded'});\n setLoading(false); // esto hace visible el formulario y oculta el spinner\n };\n generateOptions.beforeSubmitEvent = () => {\n setLoading(true);\n emit('popup_clicked', surveyId, {action: 'before_submit'});\n };\n generateOptions.afterSubmitEvent = ({error, completed, total, progress}) => {\n setLoading(false);\n if (error) {\n emit('popup_clicked', surveyId, {action: 'submit_error', error});\n return;\n }\n if (completed) {\n emit('survey_completed', surveyId, {action: 'completed'});\n surveyCompletedEmitted = true;\n onClose();\n }\n // Si totla es mas de 1 y progress menor, es envío parcial, por lo que cambairemos el boton de cancel por back y llamara a onBackEvent\n if (total > 1 && progress < total) {\n cancelButton.textContent = 'Back';\n cancelButton.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'back'});\n formInstance.back();\n\n }\n }\n };\n generateOptions.onBackEvent = ({progress}) => {\n emit('popup_clicked', surveyId, {action: 'back'});\n // Restaurar botón cancel\n if (progress === 0) {\n cancelButton.textContent = actions?.decline ? actions?.decline.label : 'Cancel';\n cancelButton.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'cancel'});\n onClose();\n };\n }\n };\n\n // Ejecutar generación con opciones tipadas\n formInstance.generate(formDivId, generateOptions)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .catch((err: any) => {\n console.error('[MagicFeedback] Error generating form:', err);\n setLoading(false);\n });\n } catch (e) {\n console.error('[MagicFeedback] Exception initializing form:', e);\n setLoading(false);\n }\n}\n","import type { TriggerConfig } from '../types';\nimport type { DeepdotsPopups } from '../core/deepdots-popups';\n\nexport function setupTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n switch (trigger.type) {\n case 'time':\n setupTimeTrigger(popups, trigger);\n break;\n case 'scroll':\n setupScrollTrigger(popups, trigger);\n break;\n case 'exit':\n setupExitTrigger(popups, trigger);\n break;\n }\n}\n\nfunction setupTimeTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n const delay = trigger.value || 5000;\n setTimeout(() => {\n popups.triggerSurvey(trigger.surveyId);\n }, delay);\n popups.debug(`Time trigger set for ${delay}ms`);\n}\n\nfunction setupScrollTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n const threshold = trigger.value || 50;\n const handler = () => {\n const scrollPercentage = (window.scrollY / (document.documentElement.scrollHeight - window.innerHeight)) * 100;\n if (scrollPercentage >= threshold) {\n popups.triggerSurvey(trigger.surveyId);\n window.removeEventListener('scroll', handler);\n }\n };\n window.addEventListener('scroll', handler);\n popups.debug(`Scroll trigger set for ${threshold}%`);\n}\n\nfunction setupExitTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n const handler = (e: MouseEvent) => {\n if (e.clientY <= 0) {\n popups.triggerSurvey(trigger.surveyId);\n document.removeEventListener('mouseout', handler);\n }\n };\n document.addEventListener('mouseout', handler);\n popups.debug('Exit intent trigger set');\n}\n","import {DeepdotsConfig, DeepdotsInitParams} from '../types';\n\n/** Variables específicas por entorno derivadas de nodeEnv */\nexport interface EnvironmentVariables {\n apiBaseUrl: string;\n}\n\nconst ENVIRONMENT_MAP: Record<\"development\" | \"production\", EnvironmentVariables> = {\n development: {\n apiBaseUrl: 'https://api-dev.magicfeedback.com',\n },\n production: {\n apiBaseUrl: 'https://api.magicfeedback.com',\n },\n};\n\n/** Resuelve las variables para el entorno indicado */\nexport function resolveEnvironment(nodeEnv: DeepdotsInitParams['nodeEnv']): EnvironmentVariables {\n return ENVIRONMENT_MAP[nodeEnv || 'production'];\n}\n\n","import type { DeepdotsEventType } from '../types';\nimport type { PopupRenderer } from './renderer';\n\n/**\n * Stub de renderer para React Native.\n * NOTA: Este archivo es sólo un ejemplo y NO renderiza UI real.\n * En una app RN se debería conectar con un Context, NativeModule o bridge para mostrar un Modal.\n */\nexport class ReactNativePopupRenderer implements PopupRenderer {\n private mounted = false;\n private lastSurveyId: string | null = null;\n private emitFn: ((type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void) | null = null;\n private onCloseFn: (() => void) | null = null;\n private completed = false;\n\n init(): void {\n // Preparar cualquier estado / registro de listeners nativos.\n // Aquí se podría inicializar un NativeModule o store global.\n // No hace nada en el stub.\n }\n\n show(\n surveyId: string,\n productId: string,\n data: Record<string, unknown> | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n ): void {\n this.mounted = true;\n this.lastSurveyId = surveyId;\n this.emitFn = emit;\n this.onCloseFn = onClose;\n this.completed = false;\n // Simula primera interacción / aparición\n queueMicrotask(() => emit('popup_clicked', surveyId, data));\n console.log('[ReactNativePopupRenderer] (stub) show survey:', { surveyId, productId, data });\n }\n\n /** Completar la encuesta desde la capa nativa */\n public completeSurvey(data?: Record<string, unknown>): void {\n if (!this.mounted || this.completed || !this.lastSurveyId || !this.emitFn) return;\n this.completed = true;\n this.emitFn('survey_completed', this.lastSurveyId, data);\n // cerrar popup\n this.onCloseFn?.();\n this.mounted = false;\n console.log('[ReactNativePopupRenderer] (stub) survey completed:', { surveyId: this.lastSurveyId, data });\n this.lastSurveyId = null;\n }\n\n hide(): void {\n if (!this.mounted) return;\n this.mounted = false;\n console.log('[ReactNativePopupRenderer] (stub) hide survey:', this.lastSurveyId);\n this.lastSurveyId = null;\n }\n}\n\n/**\n * Detección simple de entorno React Native.\n * navigator.product === 'ReactNative' suele estar presente.\n */\nexport function isReactNativeEnv(): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return typeof navigator !== 'undefined' && (navigator as any).product === 'ReactNative';\n}\n\n/** Factoría opcional para crear renderer RN si detectado */\nexport function createReactNativeRenderer(): PopupRenderer {\n return new ReactNativePopupRenderer();\n}\n","import {DeepdotsEventType, PopupActions} from '../types';\nimport { renderPopup } from '../ui/renderPopup';\nimport { isReactNativeEnv, createReactNativeRenderer } from './react-native-renderer';\n\nexport interface PopupRenderer {\n /** Preparar recursos si aplica */\n init?(): void;\n /** Mostrar popup */\n show(\n surveyId: string,\n productId: string,\n actions: PopupActions | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n ): void;\n /** Ocultar popup */\n hide(): void;\n}\n\n/** Renderer que no hace nada (SSR / entornos sin DOM) */\nexport class NoopPopupRenderer implements PopupRenderer {\n show(): void { /* no-op */ }\n hide(): void { /* no-op */ }\n}\n\n/** Renderer para navegadores usando la implementación actual basada en renderPopup */\nexport class BrowserPopupRenderer implements PopupRenderer {\n private container: HTMLElement | null = null;\n\n init(): void {\n if (typeof document === 'undefined') return;\n if (!this.container) {\n this.container = document.createElement('div');\n this.container.id = 'deepdots-popup-container';\n this.container.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: none;\n z-index: 999999;\n background: rgba(0, 0, 0, 0.5);\n justify-content: center;\n align-items: center;\n `;\n document.body.appendChild(this.container);\n }\n }\n\n show(\n surveyId: string,\n productId: string,\n actions: PopupActions | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n ): void {\n if (!this.container) this.init();\n if (!this.container) return; // aún sin DOM\n renderPopup(this.container, surveyId, productId, actions, emit, onClose);\n }\n\n hide(): void {\n if (this.container) {\n this.container.style.display = 'none';\n this.container.innerHTML = '';\n }\n }\n}\n\n/** Factoría para obtener renderer por defecto */\nexport function createDefaultRenderer(): PopupRenderer {\n if (typeof document === 'undefined') {\n // Entorno sin DOM: probar RN primero\n if (isReactNativeEnv()) return createReactNativeRenderer();\n return new NoopPopupRenderer();\n }\n // Si estamos en React Native y hay WebView con document emulado, aún queremos RN renderer\n if (isReactNativeEnv()) return createReactNativeRenderer();\n return new BrowserPopupRenderer();\n}\n","import {\n DeepdotsConfig,\n TriggerConfig,\n DeepdotsEvent,\n DeepdotsEventType,\n EventListener, DeepdotsInitParams, PopupDefinition, PopupTriggerCondition, PopupActions\n} from '../types';\nimport {renderPopup} from '../ui/renderPopup';\nimport {setupTrigger} from '../triggers';\nimport {resolveEnvironment} from '../config/env';\nimport { PopupRenderer, createDefaultRenderer } from '../platform/renderer';\n\n/**\n * Main class for managing survey popups\n */\nexport class DeepdotsPopups {\n private config: DeepdotsConfig | null = null;\n private listeners: Map<DeepdotsEventType, Set<EventListener>> = new Map();\n private triggers: TriggerConfig[] = [];\n private initialized = false;\n private renderer: PopupRenderer = createDefaultRenderer();\n private popupContainer: HTMLElement | null = null; // deprecated: mantenido para compatibilidad interna\n private popupDefinitions: PopupDefinition[] = [];\n private popupsLoaded = false;\n private pendingAutoLaunch = false;\n\n private answeredSurveys: Set<string> = new Set();\n private lastShown: Map<string, number> = new Map(); // popupId -> timestamp mostrado\n\n /** Initialize the SDK with configuration */\n init(config: DeepdotsInitParams): void {\n if (this.initialized) {\n this.log('SDK already initialized');\n return;\n }\n\n const env = resolveEnvironment(config.nodeEnv);\n\n this.config = {\n apiKey: config.apiKey || undefined,\n baseUrl: env.apiBaseUrl,\n mode: config.mode || 'client',\n debug: config.debug || false,\n popups: config.popups || [],\n } as DeepdotsConfig;\n\n this.initialized = true;\n this.log('SDK initialized', this.config);\n // sustituimos setupPopupContainer por init del renderer\n if (this.renderer.init) this.renderer.init();\n this.setupPopupContainer(); // mantener por ahora para tests que acceden directamente al DOM\n\n // Carga de popups según modo\n if (this.config.mode === 'client') {\n this.popupDefinitions = this.config.popups || [];\n this.popupsLoaded = true;\n this.configureTriggersFromDefinitions();\n } else {\n // Modo server: simulamos fetch\n this.fetchPopupsFromServer().then(defs => {\n this.popupDefinitions = defs;\n this.popupsLoaded = true;\n this.log('Popups loaded from server (fake)', defs);\n this.configureTriggersFromDefinitions();\n if (this.pendingAutoLaunch) {\n this.startTriggers();\n }\n });\n }\n }\n\n /** Enable auto-launch functionality with configured triggers */\n autoLaunch(): void {\n if (!this.initialized) {\n throw new Error('SDK not initialized. Call init() first.');\n }\n if (!this.popupsLoaded) {\n this.pendingAutoLaunch = true;\n this.log('Auto-launch deferred until popups are loaded');\n return;\n }\n this.startTriggers();\n }\n\n /** Inicia los triggers configurados */\n private startTriggers(): void {\n this.log('Auto-launch enabled');\n this.triggers.forEach((trigger) => setupTrigger(this, trigger));\n }\n\n /** Show a popup immediately (supports legacy ShowOptions and new PopupDefinition) */\n show(options: PopupDefinition | { surveyId: string; productId: string; data?: Record<string, unknown> }): void {\n console.log('Show popup called with options:', options);\n if (!this.initialized) {\n throw new Error('SDK not initialized. Call init() first.');\n }\n // Detectar tipo\n const isDefinition = (options as PopupDefinition).id !== undefined;\n if (isDefinition) {\n const def = options as PopupDefinition;\n this.log('Showing popup (definition)', def);\n this.renderPopup(def.surveyId, def.productId, def.actions);\n this.emitEvent('popup_shown', def.surveyId);\n } else {\n const opt = options as { surveyId: string; productId: string; data?: Record<string, unknown> };\n this.log('Showing popup (legacy options)', opt);\n this.renderPopup(opt.surveyId, opt.productId, undefined);\n this.emitEvent('popup_shown', opt.surveyId);\n }\n }\n\n /** Mostrar popup por id de definición (usa surveyId interno) */\n showByPopupId(popupId: string): void {\n const def = this.popupDefinitions.find(p => p.id === popupId);\n if (!def) {\n this.log('Popup definition not found', popupId);\n return;\n }\n this.show(def);\n }\n\n /** Configure triggers for auto-launching popups (manual) */\n configureTriggers(triggers: TriggerConfig[]): void {\n if (!this.initialized) {\n throw new Error('SDK not initialized. Call init() first.');\n }\n this.triggers = triggers;\n this.log('Triggers configured', triggers);\n }\n\n /** Deriva triggers desde las definiciones de popup */\n private configureTriggersFromDefinitions(): void {\n const derived: TriggerConfig[] = [];\n const validDefs = this.validatePopupDefinitions(this.popupDefinitions);\n validDefs.forEach(def => {\n if (!def.trigger) return;\n const t = def.trigger;\n let type: TriggerConfig['type'];\n switch (t.type) {\n case 'time_on_page':\n type = 'time';\n break;\n case 'scroll':\n type = 'scroll';\n break;\n case 'exit':\n type = 'exit';\n break;\n default:\n this.debug('Unsupported trigger type', t.type);\n return;\n }\n const value = type === 'time' ? (t.value * 1000) : t.value;\n derived.push({ type, value, surveyId: def.surveyId });\n });\n if (derived.length) {\n this.configureTriggers(derived);\n }\n }\n\n /** Lógica para evaluar condiciones antes de mostrar una encuesta */\n triggerSurvey(surveyId: string): void {\n // Encontrar popup por surveyId\n const def = this.popupDefinitions.find(p => p.surveyId === surveyId);\n if (!def) {\n this.debug('No popup definition for surveyId', surveyId);\n return;\n }\n if (!this.shouldShow(def)) {\n this.debug('Conditions prevented showing popup', def.id);\n return;\n }\n this.show(def);\n this.lastShown.set(def.id, Date.now());\n }\n\n private shouldShow(def: PopupDefinition): boolean {\n // Evaluar condiciones del trigger\n const conditions = def.trigger.condition || [];\n if (!conditions.length) return true;\n return conditions.every(c => this.evaluateCondition(def, c));\n }\n\n private evaluateCondition(def: PopupDefinition, condition: PopupTriggerCondition): boolean {\n if (!condition.answered && this.answeredSurveys.has(def.surveyId)) {\n return false;\n }\n // cooldownDays: no mostrar si se mostró hace menos de cooldownDays días\n if (condition.cooldownDays) {\n const last = this.lastShown.get(def.id);\n if (last) {\n const msSince = Date.now() - last;\n const required = condition.cooldownDays * 24 * 60 * 60 * 1000;\n if (msSince < required) return false;\n }\n }\n return true;\n }\n\n /** Marcar encuesta como contestada externamente */\n public markSurveyAnswered(surveyId: string): void {\n this.answeredSurveys.add(surveyId);\n }\n\n /** Simula fetch al servidor para obtener popups */\n private async fetchPopupsFromServer(): Promise<PopupDefinition[]> {\n // Simulación: red 50ms\n await new Promise(res => setTimeout(res, 50));\n return this.generateFakePopups();\n }\n\n /** Genera datos fake para pruebas en modo server */\n private generateFakePopups(): PopupDefinition[] {\n return [\n {\n id: 'popup-123',\n title: 'Would you like to help us improve?',\n message: '<p>Take a quick survey and share your thoughts.</p>',\n trigger: { type: 'time_on_page', value: 1, condition: [{ answered: false, cooldownDays: 7 }] },\n actions: {\n accept: { label: 'Take Survey', surveyId: 'survey-abc' },\n decline: { label: 'Not Now', cooldownDays: 7 }\n },\n surveyId: 'survey-abc',\n productId: 'product-xyz',\n style: { theme: 'light', position: 'bottom-right', imageUrl: null },\n segments: { lang: ['en'], path: ['/checkout'] }\n }\n ];\n }\n\n /** Add an event listener */\n on(eventType: DeepdotsEventType, listener: EventListener): void {\n if (!this.listeners.has(eventType)) {\n this.listeners.set(eventType, new Set());\n }\n this.listeners.get(eventType)!.add(listener);\n }\n\n /** Remove an event listener */\n off(eventType: DeepdotsEventType, listener: EventListener): void {\n const listeners = this.listeners.get(eventType);\n if (listeners) {\n listeners.delete(listener);\n }\n }\n\n /** Setup popup container element */\n private setupPopupContainer(): void {\n if (typeof document === 'undefined') {\n return;\n }\n this.popupContainer = document.createElement('div');\n this.popupContainer.id = 'deepdots-popup-container';\n this.popupContainer.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: none;\n z-index: 999999;\n background: rgba(0, 0, 0, 0.5);\n justify-content: center;\n align-items: center;\n `;\n document.body.appendChild(this.popupContainer);\n }\n\n /** Render the popup UI */\n private renderPopup(surveyId: string, productId: string, actions?: PopupActions): void {\n // Nuevo camino: usar renderer\n if (this.renderer) {\n this.renderer.show(surveyId, productId, actions, (type, id, payload) => this.emitEvent(type, id, payload), () => this.hidePopup());\n return;\n }\n // Fallback legacy\n if (!this.popupContainer) return;\n renderPopup(this.popupContainer, surveyId,productId, actions, (type, id, payload) => this.emitEvent(type, id, payload), () => this.hidePopup());\n }\n\n /** Hide the popup */\n private hidePopup(): void {\n if (this.renderer) {\n this.renderer.hide();\n return;\n }\n if (this.popupContainer) {\n this.popupContainer.style.display = 'none';\n this.popupContainer.innerHTML = '';\n }\n }\n\n /** Emit an event */\n private emitEvent(type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>): void {\n const event: DeepdotsEvent = {type, surveyId, timestamp: Date.now(), data};\n this.log('Event emitted', event);\n if (type === 'survey_completed') {\n this.markSurveyAnswered(surveyId);\n }\n const listeners = this.listeners.get(type);\n if (listeners) {\n listeners.forEach((listener) => {\n try {\n listener(event);\n } catch (error) {\n console.error('Error in event listener:', error);\n }\n });\n }\n }\n\n /** Log debug messages */\n private log(...args: unknown[]): void {\n if (this.config?.debug) {\n console.log('[DeepdotsPopups]', ...args);\n }\n }\n\n /** External debug method for triggers */\n public debug(...args: unknown[]): void {\n this.log(...args);\n }\n\n /** Set a custom renderer */\n public setRenderer(renderer: PopupRenderer): void {\n this.renderer = renderer;\n if (this.initialized && this.renderer.init) {\n this.renderer.init();\n }\n }\n\n // Type guards\n private isPopupDefinition(value: unknown): value is PopupDefinition {\n if (typeof value !== 'object' || value === null) return false;\n const v = value as Partial<PopupDefinition>;\n return typeof v.id === 'string' && typeof v.title === 'string' && typeof v.message === 'string' && typeof v.surveyId === 'string' && typeof v.productId === 'string' && !!v.trigger; // removed redundant typeof v.trigger.type\n }\n\n private validatePopupDefinitions(defs: unknown[]): PopupDefinition[] {\n return defs.filter(d => this.isPopupDefinition(d)) as PopupDefinition[];\n }\n}\n"],"mappings":"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","names":["module","e","t","i","n","a","s","r","o","l","d","c","u","p","h","m","f","g","magicfeedback"]}
|
|
1
|
+
{"version":3,"sources":["../node_modules/@magicfeedback/native/dist/magicfeedback-sdk.browser.js","../src/index.ts","../src/ui/renderPopup.ts","../src/triggers/index.ts","../src/config/env.ts","../src/platform/react-native-renderer.ts","../src/platform/renderer.ts","../src/core/deepdots-popups.ts"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.magicfeedback=t():e.magicfeedback=t()}(self,(()=>{return e={945:function(e,t){var i=\"undefined\"!=typeof self?self:this,n=function(){function e(){this.fetch=!1,this.DOMException=i.DOMException}return e.prototype=i,new e}();!function(e){!function(t){var i=\"URLSearchParams\"in e,n=\"Symbol\"in e&&\"iterator\"in Symbol,a=\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),s=\"FormData\"in e,r=\"ArrayBuffer\"in e;if(r)var o=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],l=ArrayBuffer.isView||function(e){return e&&o.indexOf(Object.prototype.toString.call(e))>-1};function d(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function c(e){return\"string\"!=typeof e&&(e=String(e)),e}function u(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return n&&(t[Symbol.iterator]=function(){return t}),t}function p(e){this.map={},e instanceof p?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function h(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function m(e){return new Promise((function(t,i){e.onload=function(){t(e.result)},e.onerror=function(){i(e.error)}}))}function f(e){var t=new FileReader,i=m(t);return t.readAsArrayBuffer(e),i}function g(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function v(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?\"string\"==typeof e?this._bodyText=e:a&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:s&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:i&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():r&&a&&(t=e)&&DataView.prototype.isPrototypeOf(t)?(this._bodyArrayBuffer=g(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):r&&(ArrayBuffer.prototype.isPrototypeOf(e)||l(e))?this._bodyArrayBuffer=g(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):i&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},a&&(this.blob=function(){var e=h(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(f)}),this.text=function(){var e,t,i,n=h(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,i=m(t=new FileReader),t.readAsText(e),i;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),i=new Array(t.length),n=0;n<t.length;n++)i[n]=String.fromCharCode(t[n]);return i.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},s&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}p.prototype.append=function(e,t){e=d(e),t=c(t);var i=this.map[e];this.map[e]=i?i+\", \"+t:t},p.prototype.delete=function(e){delete this.map[d(e)]},p.prototype.get=function(e){return e=d(e),this.has(e)?this.map[e]:null},p.prototype.has=function(e){return this.map.hasOwnProperty(d(e))},p.prototype.set=function(e,t){this.map[d(e)]=c(t)},p.prototype.forEach=function(e,t){for(var i in this.map)this.map.hasOwnProperty(i)&&e.call(t,this.map[i],i,this)},p.prototype.keys=function(){var e=[];return this.forEach((function(t,i){e.push(i)})),u(e)},p.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),u(e)},p.prototype.entries=function(){var e=[];return this.forEach((function(t,i){e.push([i,t])})),u(e)},n&&(p.prototype[Symbol.iterator]=p.prototype.entries);var y=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function E(e,t){var i,n,a=(t=t||{}).body;if(e instanceof E){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new p(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,a||null==e._bodyInit||(a=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"same-origin\",!t.headers&&this.headers||(this.headers=new p(t.headers)),this.method=(n=(i=t.method||this.method||\"GET\").toUpperCase(),y.indexOf(n)>-1?n:i),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&a)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(a)}function b(e){var t=new FormData;return e.trim().split(\"&\").forEach((function(e){if(e){var i=e.split(\"=\"),n=i.shift().replace(/\\+/g,\" \"),a=i.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(n),decodeURIComponent(a))}})),t}function A(e,t){t||(t={}),this.type=\"default\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new p(t.headers),this.url=t.url||\"\",this._initBody(e)}E.prototype.clone=function(){return new E(this,{body:this._bodyInit})},v.call(E.prototype),v.call(A.prototype),A.prototype.clone=function(){return new A(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},A.error=function(){var e=new A(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var k=[301,302,303,307,308];A.redirect=function(e,t){if(-1===k.indexOf(t))throw new RangeError(\"Invalid status code\");return new A(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var i=Error(e);this.stack=i.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function C(e,i){return new Promise((function(n,s){var r=new E(e,i);if(r.signal&&r.signal.aborted)return s(new t.DOMException(\"Aborted\",\"AbortError\"));var o=new XMLHttpRequest;function l(){o.abort()}o.onload=function(){var e,t,i={status:o.status,statusText:o.statusText,headers:(e=o.getAllResponseHeaders()||\"\",t=new p,e.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach((function(e){var i=e.split(\":\"),n=i.shift().trim();if(n){var a=i.join(\":\").trim();t.append(n,a)}})),t)};i.url=\"responseURL\"in o?o.responseURL:i.headers.get(\"X-Request-URL\");var a=\"response\"in o?o.response:o.responseText;n(new A(a,i))},o.onerror=function(){s(new TypeError(\"Network request failed\"))},o.ontimeout=function(){s(new TypeError(\"Network request failed\"))},o.onabort=function(){s(new t.DOMException(\"Aborted\",\"AbortError\"))},o.open(r.method,r.url,!0),\"include\"===r.credentials?o.withCredentials=!0:\"omit\"===r.credentials&&(o.withCredentials=!1),\"responseType\"in o&&a&&(o.responseType=\"blob\"),r.headers.forEach((function(e,t){o.setRequestHeader(t,e)})),r.signal&&(r.signal.addEventListener(\"abort\",l),o.onreadystatechange=function(){4===o.readyState&&r.signal.removeEventListener(\"abort\",l)}),o.send(void 0===r._bodyInit?null:r._bodyInit)}))}C.polyfill=!0,e.fetch||(e.fetch=C,e.Headers=p,e.Request=E,e.Response=A),t.Headers=p,t.Request=E,t.Response=A,t.fetch=C,Object.defineProperty(t,\"__esModule\",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var a=n;(t=a.fetch).default=a.fetch,t.fetch=a.fetch,t.Headers=a.Headers,t.Request=a.Request,t.Response=a.Response,e.exports=t},317:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.HOST_API_URL_DEV=t.HOST_API_URL=void 0,t.HOST_API_URL=\"https://api.deepdots.com/\",t.HOST_API_URL_DEV=\"https://api-dev.deepdots.com/\"},156:function(e,t,i){\"use strict\";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0});const a=n(i(927));let s=null;s||(s=(0,a.default)()),t.default=s},927:function(e,t,i){\"use strict\";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(a,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function o(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,o)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0});const a=i(57),s=i(665),r=i(256),o=i(313),l=i(317);t.default=function(){const e=new s.Config;let t;return{init:function(i){(null==i?void 0:i.debug)&&e.set(\"debug\",null==i?void 0:i.debug),e.set(\"url\",(null==i?void 0:i.env)&&\"dev\"===(null==i?void 0:i.env)?l.HOST_API_URL_DEV:l.HOST_API_URL),e.set(\"env\",null==i?void 0:i.env),t=new r.Log(e),t.log(\"Initialized Magicfeedback\",e)},send:function(i,a,s,r=!0,l,d){return n(this,void 0,void 0,(function*(){i||t.err(\"No appID provided\"),a||t.err(\"No publicKey provided\"),s||t.err(\"No feedback provided\"),s.answers||s.profile||s.metrics||s.metadata||t.err(\"No feedback data provided\");const n=e.get(\"url\"),c={integration:i,publicKey:a,privateKey:d,completed:r,id:l,feedback:s};try{const e=yield(0,o.sendFeedback)(n,c,t);return t.log(\"sent native feedback\"),e}catch(e){return t.err(\"error native feedback\",e),!1}}))},form:function(i,n){return i||t.err(\"No appID provided\"),n||t.err(\"No publicKey provided\"),new a.Form(e,i,n)},session:function(i){return i||t.err(\"No sessionId provided\"),new a.Form(e,i)}}}},79:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.History=void 0,t.History=class{constructor(){this.items=[]}enqueue(e){this.items.push(e)}dequeue(){return this.items.shift()}rollback(){return this.items.pop()}front(){return this.items[0]}back(){return this.items[this.items.length-1]}isEmpty(){return 0===this.items.length}size(){return this.items.length}get(e){return this.items[e]}}},665:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Config=void 0,t.Config=class{constructor(){this.variables={},this.variables.env=\"prod\",this.variables.debug=!1}get(e){return this.variables[e]}set(e,t){this.variables[e]=t}}},57:function(e,t,i){\"use strict\";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(a,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function o(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,o)}l((n=n.apply(e,t||[])).next())}))};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Form=void 0;const a=i(558),s=i(256),r=i(313),o=i(213),l=i(217),d=i(700),c=i(591),u=i(79),p=i(636);t.Form=class{constructor(e,t,i){this.config=e,this.log=new s.Log(e),this.formOptionsConfig={addButton:!0,sendButtonText:\"Send\",backButtonText:\"Back\",nextButtonText:\"Next\",addSuccessScreen:!0,getMetaData:!0,questionFormat:\"standard\"},this.selector=\"\",this.appId=t,this.publicKey=i||\"\",this.url=e.get(\"url\"),this.id=\"\",this.formData=null,this.feedback={text:\"\",answers:[],profile:[],metrics:[],metadata:[]},this.history=new u.History,this.graph=new l.PageGraph([]),this.progress=0,this.total=0,this.completed=!1,this.timeToCompleted=0}generate(e,t){var i,a,s,o,l,d,c;return n(this,void 0,void 0,(function*(){try{this.formOptionsConfig=Object.assign(Object.assign({},this.formOptionsConfig),t),this.selector=e;let n=this.formData;if(void 0!==this.formData&&this.formData||(n=\"\"!==this.publicKey?yield(0,r.getForm)(this.url,this.appId,this.publicKey,this.log):yield(0,r.getSessionForm)(this.url,this.appId,this.log)),void 0===n||!n)throw new Error(`No data for app ${this.appId}`);if(null===(i=n.error)||void 0===i?void 0:i.message)throw new Error(n.error.message);if(n.questions=(null===(a=n.questions)||void 0===a?void 0:a.filter((e=>\"ACTIVE\"===e.status)))||[],n.pages=(null===(s=n.pages)||void 0===s?void 0:s.filter((e=>\"ACTIVE\"===e.status)))||[],null===(o=n.pages)||void 0===o||o.forEach((e=>{var t;return e.integrationQuestions=null===(t=e.integrationQuestions)||void 0===t?void 0:t.filter((e=>\"ACTIVE\"===e.status))})),this.formData=n,this.formData.savedAt||(this.formData.savedAt=new Date,localStorage.setItem(`magicfeedback-${this.appId}`,JSON.stringify(this.formData))),void 0===this.formData.questions||!this.formData.questions)throw new Error(`No questions for app ${this.appId}`);this.formData.pages&&0!==(null===(l=this.formData.pages)||void 0===l?void 0:l.length)||this.formatPages(),null===(d=this.formData.questions)||void 0===d||d.sort(((e,t)=>e.position-t.position)),this.formData.pages=this.formData.pages.filter((e=>{var t;return(null===(t=e.integrationQuestions)||void 0===t?void 0:t.length)>0})),this.formOptionsConfig.getMetaData&&this.getMetaData(),(null===(c=this.formData.style)||void 0===c?void 0:c.startMessage)?yield this.generateWelcomeMessage(this.formData.style.startMessage):this.startForm()}catch(e){return this.log.err(e),void(this.formOptionsConfig.onLoadedEvent&&(yield this.formOptionsConfig.onLoadedEvent({loading:!1,error:e})))}}))}formatPages(){var e;if(this.formData)switch(this.formData.identity){case\"MAGICSURVEY\":this.formData.pages=[],null===(e=this.formData.questions)||void 0===e||e.forEach((e=>{var t,i;const n=new c.PageRoute(e.id,e.ref,c.OperatorType.NOEQUAL,[],c.TransitionType.PAGE,(e.position+1).toString(),e.position.toString()),a=new d.Page(e.position.toString(),e.position,this.appId,[e],[n]);null===(i=null===(t=this.formData)||void 0===t?void 0:t.pages)||void 0===i||i.push(a)}));break;case\"MAGICFORM\":const t=new d.Page(\"1\",1,this.appId,this.formData.questions,[]);this.formData.pages=[t]}}generateContainer(){let e=document.getElementById(this.selector);if(!e&&(e=document.getElementById(\"magicfeedback-container-\"+this.appId),!e))throw new Error(`Element with ID '${this.selector}' not found.`);return e.classList.add(\"magicfeedback-container\"),e.id=\"magicfeedback-container-\"+this.appId,e.innerHTML=\"\",e}generateForm(){var e,t,i,a;return n(this,void 0,void 0,(function*(){try{if(console.log(\"Generating form for appId:\",this.appId),!this.formData||!this.formData.pages||0===this.formData.pages.length)throw new Error(\"No form data\");this.graph=new l.PageGraph(this.formData.pages.sort(((e,t)=>e.position-t.position)));let n=this.generateContainer();const s=document.createElement(\"form\");s.classList.add(\"magicfeedback-form\"),s.id=\"magicfeedback-\"+this.appId,s.addEventListener(\"submit\",(e=>e.preventDefault()));const r=document.createElement(\"div\");r.classList.add(\"magicfeedback-questions\"),r.id=\"magicfeedback-questions-\"+this.appId;const d=this.graph.getFirstPage();if(!d)throw new Error(\"No page found\");if(this.total=this.graph.findMaxDepth(),d.elements=(0,o.renderQuestions)(d.questions,this.formOptionsConfig.questionFormat,null===(e=this.formData)||void 0===e?void 0:e.lang[0],null===(t=this.formData)||void 0===t?void 0:t.product,(()=>this.send())),null===(i=d.elements)||void 0===i||i.forEach((e=>r.appendChild(e))),s.appendChild(r),this.history.enqueue(d),n.appendChild(s),this.progress=this.total-this.graph.findMaxDepth(d),this.formOptionsConfig.addButton){const e=(0,o.renderActions)(null===(a=this.formData)||void 0===a?void 0:a.identity,(()=>this.back()),this.formOptionsConfig.sendButtonText,this.formOptionsConfig.backButtonText,this.formOptionsConfig.nextButtonText);s.appendChild(e)}this.formOptionsConfig.addButton&&s.addEventListener(\"submit\",(e=>{e.preventDefault(),this.send()})),this.timeToCompleted=(new Date).getTime()/1e3,this.formOptionsConfig.onLoadedEvent&&(yield this.formOptionsConfig.onLoadedEvent({loading:!1,progress:this.progress,total:this.total,formData:this.formData}))}catch(e){return this.log.err(e),void(this.formOptionsConfig.onLoadedEvent&&this.formOptionsConfig.onLoadedEvent({loading:!1,error:e}))}}))}startForm(){this.generateForm()}generateWelcomeMessage(e){return n(this,void 0,void 0,(function*(){try{const t=this.generateContainer(),i=(0,o.renderStartMessage)(e,this.formOptionsConfig.addButton,this.formOptionsConfig.startButtonText,(()=>this.startForm()));t.appendChild(i),this.formOptionsConfig.onLoadedEvent&&(yield this.formOptionsConfig.onLoadedEvent({loading:!1,formData:this.formData}))}catch(e){return this.log.err(e),void(this.formOptionsConfig.onLoadedEvent&&this.formOptionsConfig.onLoadedEvent({loading:!1,error:e}))}}))}getMetaData(){this.feedback.metadata.push({key:\"navigator-url\",value:[window.location.href]}),this.feedback.metadata.push({key:\"navigator-origin\",value:[window.location.origin]}),this.feedback.metadata.push({key:\"navigator-pathname\",value:[window.location.pathname]}),this.feedback.metadata.push({key:\"navigator-search\",value:[window.location.search]}),this.feedback.metadata.push({key:\"navigator-user\",value:[navigator.userAgent]}),this.feedback.metadata.push({key:\"navigator-language\",value:[navigator.language]}),this.feedback.metadata.push({key:\"navigator-platform\",value:[navigator.platform]}),this.feedback.metadata.push({key:\"navigator-appVersion\",value:[navigator.appVersion]}),this.feedback.metadata.push({key:\"navigator-appName\",value:[navigator.appName]}),this.feedback.metadata.push({key:\"navigator-product\",value:[navigator.product]}),this.feedback.metadata.push({key:\"screen-width\",value:[window.screen.width.toString()]}),this.feedback.metadata.push({key:\"screen-height\",value:[window.screen.height.toString()]}),this.appId&&\"\"===this.publicKey&&this.feedback.metadata.push({key:\"MAGICFEEDBACK_SESSION\",value:[this.appId]})}send(e,t,i){return n(this,void 0,void 0,(function*(){const n=document.getElementById(\"magicfeedback-questions-\"+this.appId);try{i&&(this.feedback.profile=[...this.feedback.profile,...i]),t&&(this.feedback.metrics=[...this.feedback.metrics,...t]),e&&(this.feedback.metadata=[...this.feedback.metadata,...e]),this.answer(),this.formOptionsConfig.beforeSubmitEvent&&(yield this.formOptionsConfig.beforeSubmitEvent({loading:!0,progress:this.progress,total:this.total}));const s=this.history.back();if(!s)throw new Error(\"No page found\");for(const e of s.questions.filter((e=>e.require&&![a.FEEDBACKAPPANSWERTYPE.CONSENT,a.FEEDBACKAPPANSWERTYPE.INFO_PAGE].includes(e.type)))){const t=e.assets,i=this.feedback.answers.filter((t=>t.key.includes(e.ref)&&!t.key.includes(\"extra-option\")));if(0===i.length||i.find((e=>0===e.value.length)))throw this.log.err(`The question ${e.ref} is required`),new Error(\"No response\");if(null==t?void 0:t.minOptions){let n=[];if((null==t?void 0:t.exclusiveAnswers)&&(n=null==t?void 0:t.exclusiveAnswers),!i[0].value.find((e=>n.includes(e)))&&i[0].value.length<(null==t?void 0:t.minOptions))throw this.log.err(`The question ${e.ref} requires at least ${null==t?void 0:t.minOptions} options`),new Error(\"No response\")}}const r=yield this.pushAnswers(!1);if(!r)throw new Error(\"No response\");this.id=r,yield this.processNextQuestion(n)}catch(e){this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({loading:!1,progress:this.progress,total:this.total,error:e}))}}))}answer(){const e=document.getElementById(\"magicfeedback-\"+this.appId);if(!e)return this.log.err(`Form \"${e}\" not found.`),void(this.feedback.answers=[]);const t=this.history.back();if(!t)throw new Error(\"No page found\");const i=[];let n=!1;if(e.querySelectorAll(\".magicfeedback-input\").forEach((e=>{const s=t.questions.find((t=>{var i;return null===(i=e.name)||void 0===i?void 0:i.includes(t.ref)})),o=e.type,l=e.classList[0],d={key:e.name,value:[]},c=\"magicfeedback-consent\"===l?e.checked.toString():e.value;if(d.key&&\"\"!==d.key){switch(null==s?void 0:s.type){case a.FEEDBACKAPPANSWERTYPE.EMAIL:case a.FEEDBACKAPPANSWERTYPE.TEXT:case a.FEEDBACKAPPANSWERTYPE.LONGTEXT:case a.FEEDBACKAPPANSWERTYPE.NUMBER:case a.FEEDBACKAPPANSWERTYPE.DATE:case a.FEEDBACKAPPANSWERTYPE.CONTACT:if(\"\"!==c){if(\"email\"===o){if(!(0,r.validateEmail)(c)){this.log.err(\"Invalid email\"),n=!0;break}this.feedback.profile.push({key:\"email\",value:[c]})}d.value.push(c)}break;case a.FEEDBACKAPPANSWERTYPE.CONSENT:d.value.push(String(e.checked));break;case a.FEEDBACKAPPANSWERTYPE.POINT_SYSTEM:const t=e.id;d.value.push(`${t}:${c}%`);break;case a.FEEDBACKAPPANSWERTYPE.MULTIPLECHOICE:case a.FEEDBACKAPPANSWERTYPE.MULTIPLECHOISE_IMAGE:case a.FEEDBACKAPPANSWERTYPE.RATING_STAR:case a.FEEDBACKAPPANSWERTYPE.RADIO:case a.FEEDBACKAPPANSWERTYPE.RATING_EMOJI:case a.FEEDBACKAPPANSWERTYPE.RATING_NUMBER:(e.checked||e.id.includes(\"extra-option-\"))&&d.value.push(c);break;case a.FEEDBACKAPPANSWERTYPE.SELECT:d.value.push(c);break;case a.FEEDBACKAPPANSWERTYPE.BOOLEAN:case a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX:e.checked&&d.value.push(c);break;case a.FEEDBACKAPPANSWERTYPE.PRIORITY_LIST:d.value.push(c)}if((null==i?void 0:i.length)>0&&(null==i?void 0:i.find((e=>e.key===d.key)))){const e=i.findIndex((e=>e.key===d.key));i[e].value=[...i[e].value,...d.value]}else i.push(d)}})),n)return this.feedback.answers=[],void t.setAnswer([]);try{t.questions.filter((e=>e.type===a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX)).forEach((e=>{const t=e.ref+\"-\",n=i.filter((e=>e.key.startsWith(t)));if(0===n.length)return;const a=n.map((e=>({key:e.key.substring(t.length),value:e.value}))),s={key:e.ref,value:[JSON.stringify(a)]};for(const e of n){const t=i.findIndex((t=>t.key===e.key));-1!==t&&i.splice(t,1)}const r=i.findIndex((t=>t.key===e.ref));-1!==r?i[r]=s:i.push(s)}))}catch(e){this.log.err(\"Error agrupando MULTI_QUESTION_MATRIX\",e)}this.feedback.answers=i,t.setAnswer(i)}finish(){return n(this,void 0,void 0,(function*(){if(this.completed=!0,this.timeToCompleted=(new Date).getTime()-this.timeToCompleted,this.feedback.metadata.push({key:\"time-to-complete\",value:[this.timeToCompleted.toString()]}),this.formOptionsConfig.addSuccessScreen){const e=document.getElementById(\"magicfeedback-container-\"+this.appId);e.childNodes.length>0&&e.removeChild(e.childNodes[0]);const t=(0,o.renderSuccess)(this.formOptionsConfig.successMessage||\"Thank you for your feedback!\");e.appendChild(t)}this.answer();try{const e=yield this.pushAnswers(!0);if(!e)throw this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({loading:!1,progress:this.progress,total:this.total,completed:this.completed,error:`An error occurred while submitting the form ${this.appId}:`})),new Error(\"An error occurred while submitting the form ${this.appId}:\");this.id=e,this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({response:this.id,loading:!1,progress:this.progress,total:this.total,completed:this.completed,error:null}))}catch(e){this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({loading:!1,progress:this.progress,total:this.total,completed:this.completed,error:e}))}}))}pushAnswers(e=!1){return n(this,void 0,void 0,(function*(){try{const t=this.config.get(\"url\"),i={integration:this.appId,publicKey:this.publicKey,feedback:this.feedback,completed:e};return yield(0,r.sendFeedback)(t,this.id?Object.assign(Object.assign({},i),{sessionId:this.id}):i,this.log)}catch(e){return this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),\"\"}}))}callFollowUpQuestion(e){var t;return n(this,void 0,void 0,(function*(){if(!(null==e?void 0:e.followup))return null;try{if(0===this.feedback.answers.length)throw new Error(\"No answers provided\");const i=this.config.get(\"url\"),n=Object.assign(Object.assign(Object.assign({answer:null===(t=this.feedback.answers.find((t=>t.key===e.ref)))||void 0===t?void 0:t.value[0]},\"\"!==this.publicKey&&{publicKey:this.publicKey}),\"\"===this.publicKey&&{campaignSessionId:this.appId}),{sessionId:this.id,question:e});return yield(0,r.getFollowUpQuestion)(i,n,this.log)}catch(e){throw this.log.err(`An error occurred while submitting the form ${this.appId}:`,e),e}}))}processNextQuestion(e){var t,i,a;return n(this,void 0,void 0,(function*(){const n=this.history.back();if(!n)throw new Error(\"No page found\");const s=n.getFollowupQuestions();if(0===(null==s?void 0:s.length))return void(yield this.renderNextQuestion(e,n));const r=[];for(const e of s){const t=n.questions.find((t=>t.ref===e));if(t){const e=yield this.callFollowUpQuestion(t);e&&r.push(e)}}if(0===r.length)return void(yield this.renderNextQuestion(e,n));const l=new d.Page(n.id,n.position,this.appId,r,n.edges),c=new p.PageNode(n.id,n.position,n.edges,l,r,!0);c.elements=(0,o.renderQuestions)(r,this.formOptionsConfig.questionFormat,null===(t=this.formData)||void 0===t?void 0:t.lang[0],null===(i=this.formData)||void 0===i?void 0:i.product,(()=>this.send())),this.history.enqueue(c),this.progress+=.5,e.innerHTML=\"\",null===(a=c.elements)||void 0===a||a.forEach((t=>e.appendChild(t))),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({response:this.id,loading:!1,progress:this.progress,total:this.total,followup:c.isFollowup,completed:this.completed,error:null}))}))}renderNextQuestion(e,t){var i,s,r,l,d;return n(this,void 0,void 0,(function*(){let n=this.graph.getNextPage(t,this.feedback.answers);if(!n)return void this.finish();const u=n.edges.filter((e=>\"PRECONDITIONAL\"===e.typeCondition)).sort(((e,t)=>e.position<t.position?-1:e.position>t.position?1:0));if((null==u?void 0:u.length)>0){let t=null;const r=u.map((e=>e.questionRef));for(let e=this.history.size()-1;e>=0;e--){const n=this.history.get(e);if(n&&(t=null===(i=n.answers)||void 0===i?void 0:i.find((e=>r.includes(e.key))),t))break}let o=!u.some((e=>e.transition===c.TransitionType.ALLOW));if(t)for(const i of u){let r=!1;const l=null===(s=this.formData)||void 0===s?void 0:s.questions.find((e=>e.ref===i.questionRef)),d=Array.isArray(t.value)?t.value:[t.value],u=Array.isArray(i.value)?i.value:[i.value];if((null==l?void 0:l.type)===a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX)r=this.evaluateMatrixPreconditional(i,t);else switch(i.typeOperator){case\"EQUAL\":case\"INQ\":r=d.some((e=>u.includes(e)));break;case\"NOEQUAL\":case\"NINQ\":r=d.every((e=>!u.includes(e)));break;case\"GREATER\":r=d.some((e=>Number(e)>Number(u[0])));break;case\"LESS\":r=d.some((e=>Number(e)<Number(u[0])));break;case\"GREATEREQUAL\":r=d.some((e=>Number(e)>=Number(u[0])));break;case\"LESSEQUAL\":r=d.some((e=>Number(e)<=Number(u[0])))}if(r)switch(this.feedback.answers=[],i.transition){case c.TransitionType.NEXT:return void(n&&(yield this.renderNextQuestion(e,n)));case c.TransitionType.ALLOW:o=!0}}if(!o)return this.feedback.answers=[],void(n&&(yield this.renderNextQuestion(e,n)))}n.elements=(0,o.renderQuestions)(n.questions,this.formOptionsConfig.questionFormat,null===(r=this.formData)||void 0===r?void 0:r.lang[0],null===(l=this.formData)||void 0===l?void 0:l.product,(()=>this.send())),e.innerHTML=\"\",null===(d=n.elements)||void 0===d||d.forEach((t=>e.appendChild(t))),this.history.enqueue(n),this.progress=this.total-this.graph.findMaxDepth(n),this.formOptionsConfig.afterSubmitEvent&&(yield this.formOptionsConfig.afterSubmitEvent({response:this.id,loading:!1,progress:this.progress,total:this.total,followup:n.isFollowup,completed:this.completed,error:null}))}))}back(){var e;return n(this,void 0,void 0,(function*(){if(0===this.history.size())return;const t=document.getElementById(\"magicfeedback-questions-\"+this.appId);t&&t.childNodes.length>0&&(t.innerHTML=\"\"),this.history.rollback();const i=this.history.back();i?(null===(e=i.elements)||void 0===e||e.forEach((e=>t.appendChild(e))),this.progress=this.total-this.graph.findMaxDepth(i)):this.progress=this.history.size(),this.formOptionsConfig.onBackEvent&&(yield this.formOptionsConfig.onBackEvent({loading:!1,progress:this.progress,followup:(null==i?void 0:i.isFollowup)||!1,error:i?null:\"No page found\"}))}))}previewQuestion(e,t,i){var n,a;const s=Array.isArray(t)?t:[t];if(!s||0===s.length)throw new Error(\"[MagicFeedback] No question provided for preview\");const r=document.getElementById(e);if(!r)throw new Error(`[MagicFeedback] Element with ID '${e}' not found.`);const{format:l=this.formOptionsConfig.questionFormat||\"standard\",language:d=(null===(n=this.formData)||void 0===n?void 0:n.lang)&&this.formData.lang[0]||\"en\",product:c=(null===(a=this.formData)||void 0===a?void 0:a.product)||{customIcons:!1},clearContainer:u=!0,wrap:p=!0}=i||{};u&&(r.innerHTML=\"\");let h=[];try{h=(0,o.renderQuestions)(s,l,d,c)}catch(e){throw this.log.err(e),e}let m=r;if(p){const e=document.createElement(\"div\");e.classList.add(\"magicfeedback-preview-question\"),m.appendChild(e),m=e}return h.forEach((e=>m.appendChild(e))),r}parseMatrixAnswerPre(e){if(!e||!e.value)return[];if(1===e.value.length&&\"string\"==typeof e.value[0]&&e.value[0].trim().startsWith(\"[\"))try{const t=JSON.parse(e.value[0]);if(Array.isArray(t))return t}catch(e){return[]}return Array.isArray(e.value)&&e.value.length>0&&\"object\"==typeof e.value[0]&&null!==e.value[0]&&\"key\"in e.value[0]?e.value:[]}evaluateMatrixPreconditional(e,t){const i=Array.isArray(e.value)?e.value:[e.value],n=new Set(e.option||[]),a=this.parseMatrixAnswerPre(t);if(!a.length)return!1;const s=n.size>0?a.filter((e=>n.has(e.key))):a;if(!s.length)return!1;switch(e.typeOperator){case\"EQUAL\":case\"INQ\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.includes(e)))));case\"NOEQUAL\":case\"NINQ\":return s.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!i.includes(e)))));case\"GREATER\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>Number(t)))))));case\"LESS\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<Number(t)))))));case\"GREATEREQUAL\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>=Number(t)))))));case\"LESSEQUAL\":return s.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<=Number(t)))))));default:return!1}}}},700:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Page=void 0,t.Page=class{constructor(e,t,i,n,a){this.id=e,this.position=t,this.generatedAt=(new Date).toISOString(),this.updatedAt=(new Date).toISOString(),this.status=\"ACTIVE\",this.integrationId=i,this.integrationQuestions=n,this.integrationPageRoutes=a}}},217:(e,t,i)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageGraph=void 0;const n=i(636),a=i(558),s=i(591);t.PageGraph=class{constructor(e){this.nodes=new Map,this.buildGraph(e)}buildGraph(e){e.forEach((e=>{var t;e.integrationPageRoutes&&(e.integrationPageRoutes=(null===(t=e.integrationPageRoutes)||void 0===t?void 0:t.sort(((e,t)=>new Date((null==e?void 0:e.generatedAt)||\"\").getTime()-new Date((null==t?void 0:t.generatedAt)||\"\").getTime()?\"DIRECT\"===e.typeCondition?1:-1:0)))||[]);const i=new n.PageNode(e.id,e.position,e.integrationPageRoutes||[],e,e.integrationQuestions);this.nodes.set(i.id,i)}))}getNodeById(e){return this.nodes.get(e)}getNextEdgeByDefault(e){if(!e)return;const t=e.edges.find((e=>e.typeCondition===s.ConditionType.DIRECT));if(!t||![s.TransitionType.FINISH,s.TransitionType.REDIRECT].includes(t.transition)){if(t&&t.transitionDestiny)return t.transitionDestiny;for(const t of this.nodes.values())if(t.position===e.position+1)return t.id}}getFirstPage(){let e,t=Number.MAX_VALUE;for(const i of this.nodes.values())i.position<t&&(t=i.position,e=i);return e}getNextPage(e,t){var i;if(!e)return;e.edges.sort(((e,t)=>\"DIRECT\"===e.typeCondition?1:\"DIRECT\"===t.typeCondition?-1:0));const n=e.edges.find((i=>{const n=e.questions.find((e=>e.ref===i.questionRef)),r=null==t?void 0:t.filter((e=>e.key===i.questionRef));if(\"DIRECT\"===i.typeCondition)return!0;if(!r||0===r.length)return!1;if((null==n?void 0:n.type)===a.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX)return this.evaluateMatrixCondition(i,r);const o=Array.isArray(i.value)?i.value:[i.value];switch(i.typeOperator){case s.OperatorType.EQUAL:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.includes(e)))));case s.OperatorType.NOEQUAL:return r.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!o.includes(e)))));case s.OperatorType.GREATER:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)>Number(t)))))));case s.OperatorType.LESS:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)<Number(t)))))));case s.OperatorType.GREATEREQUAL:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)>=Number(t)))))));case s.OperatorType.LESSEQUAL:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.some((t=>Number(e)<=Number(t)))))));case s.OperatorType.INQ:return r.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>o.includes(e)))));case s.OperatorType.NINQ:return r.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!o.includes(e)))));default:return!1}}));if(!n){const t=this.getNextEdgeByDefault(e);if(!t)return;return this.getNodeById(t)}switch(n.transition){case s.TransitionType.PAGE:if(!n.transitionDestiny)return;return this.getNodeById(n.transitionDestiny);case s.TransitionType.FINISH:return;case s.TransitionType.REDIRECT:return void(window.location.href=(null===(i=n.transitionDestiny)||void 0===i?void 0:i.includes(\"?\"))?`${n.transitionDestiny}&${window.location.search.slice(1)}`:`${n.transitionDestiny}${window.location.search}`);default:return}}findDepth(e){const t=this.getNodeById(e);if(!t)return 0;const i=new Set;return this.DFSUtil(t,i,0)}findMaxDepth(e){if(e||(e=this.getFirstPage()),!e)return 0;const t=new Set;let i=1;return i=Math.max(i,this.DFSUtil(e,t,i)),i}DFSUtil(e,t,i){t.add(e);let n=i;const a=[...e.edges.filter((e=>e.typeCondition!==s.ConditionType.PRECONDITIONAL))||[]],r=this.getNextEdgeByDefault(e);if(r){const i=this.getNodeById(r);i&&!t.has(i)&&a.push(new s.PageRoute(i.id,\"\",s.OperatorType.DEFAULT,[\"\"],s.TransitionType.PAGE,i.id,e.id))}for(const e of a){if(!e.transitionDestiny)continue;const a=this.getNodeById(e.transitionDestiny);if(a&&!t.has(a)){const e=i+1,s=new Set(t),r=this.DFSUtil(a,s,e);n=Math.max(n,r)}}return n}parseMatrixAnswer(e){if(!e||!e.value)return[];if(1===e.value.length&&\"string\"==typeof e.value[0]&&e.value[0].trim().startsWith(\"[\"))try{const t=JSON.parse(e.value[0]);if(Array.isArray(t))return t}catch(e){return[]}return Array.isArray(e.value)&&e.value.length>0&&\"object\"==typeof e.value[0]&&null!==e.value[0]&&\"key\"in e.value[0]?e.value:[]}evaluateMatrixCondition(e,t){const i=Array.isArray(e.value)?e.value:[e.value],n=new Set(e.option||[]),a=t[0],r=this.parseMatrixAnswer(a);if(!r.length)return!1;const o=n.size>0?r.filter((e=>n.has(e.key))):r;if(!o.length)return!1;switch(e.typeOperator){case s.OperatorType.EQUAL:case s.OperatorType.INQ:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.includes(e)))));case s.OperatorType.NOEQUAL:case s.OperatorType.NINQ:return o.every((e=>(Array.isArray(e.value)?e.value:[e.value]).every((e=>!i.includes(e)))));case s.OperatorType.GREATER:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>Number(t)))))));case s.OperatorType.LESS:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<Number(t)))))));case s.OperatorType.GREATEREQUAL:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)>=Number(t)))))));case s.OperatorType.LESSEQUAL:return o.some((e=>(Array.isArray(e.value)?e.value:[e.value]).some((e=>i.some((t=>Number(e)<=Number(t)))))));default:return!1}}}},636:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageNode=void 0,t.PageNode=class{constructor(e,t,i,n,a,s=!1){this.answers=[],this.id=e,this.position=t,this.edges=i,this.data=n,this.questions=a.sort(((e,t)=>e.position-t.position)),this.elements=[],this.isFollowup=s}getFollowupQuestions(){return this.questions.filter((e=>e.followup)).map((e=>e.ref))}getRequiredQuestions(){return this.questions.filter((e=>e.require)).map((e=>e.ref))}setAnswer(e){this.answers=e}}},591:(e,t)=>{\"use strict\";var i,n,a,s;Object.defineProperty(t,\"__esModule\",{value:!0}),t.PageRoute=t.StatusType=t.OperatorType=t.ConditionType=t.TransitionType=void 0,(s=t.TransitionType||(t.TransitionType={})).PAGE=\"PAGE\",s.FINISH=\"FINISH\",s.REDIRECT=\"REDIRECT\",s.NEXT=\"NEXT\",s.ALLOW=\"ALLOW\",function(e){e.LOGICAL=\"LOGICAL\",e.DIRECT=\"DIRECT\",e.PRECONDITIONAL=\"PRECONDITIONAL\"}(i=t.ConditionType||(t.ConditionType={})),(a=t.OperatorType||(t.OperatorType={})).EQUAL=\"EQUAL\",a.NOEQUAL=\"NOEQUAL\",a.GREATER=\"GREATER\",a.LESS=\"LESS\",a.GREATEREQUAL=\"GREATEREQUAL\",a.LESSEQUAL=\"LESSEQUAL\",a.INQ=\"INQ\",a.NINQ=\"NINQ\",a.DEFAULT=\"DEFAULT\",function(e){e.ACTIVE=\"ACTIVE\",e.DEPRECATED=\"DEPRECATED\",e.DELETE=\"DELETE\"}(n=t.StatusType||(t.StatusType={})),t.PageRoute=class{constructor(e,t,a,s,r,o,l,d,c,u){this.id=e,this.questionRef=t,this.typeCondition=d||i.LOGICAL,this.typeOperator=a,this.value=s||[],this.transition=r,this.transitionDestiny=o,this.status=n.ACTIVE,this.generatedAt=new Date,this.updatedAt=new Date,this.integrationPageId=l,this.position=c||0,this.option=u||[]}}},558:(e,t)=>{\"use strict\";var i,n;Object.defineProperty(t,\"__esModule\",{value:!0}),t.QuestionType=t.FEEDBACKAPPANSWERTYPE=void 0,(n=t.FEEDBACKAPPANSWERTYPE||(t.FEEDBACKAPPANSWERTYPE={})).CONTACT=\"CONTACT\",n.MULTIPLECHOISE_IMAGE=\"MULTIPLECHOISE_IMAGE\",n.EMAIL=\"EMAIL\",n.RATING_STAR=\"RATING_STAR\",n.RADIO=\"RADIO\",n.MULTIPLECHOICE=\"MULTIPLECHOICE\",n.SELECT=\"SELECT\",n.TEXT=\"TEXT\",n.LONGTEXT=\"LONGTEXT\",n.NUMBER=\"NUMBER\",n.RATING_EMOJI=\"RATING_EMOJI\",n.RATING_NUMBER=\"RATING_NUMBER\",n.DATE=\"DATE\",n.BOOLEAN=\"BOOLEAN\",n.PASSWORD=\"PASSWORD\",n.CONSENT=\"CONSENT\",n.MULTI_QUESTION_MATRIX=\"MULTI_QUESTION_MATRIX\",n.POINT_SYSTEM=\"POINT_SYSTEM\",n.PRIORITY_LIST=\"PRIORITY_LIST\",n.INFO_PAGE=\"INFO_PAGE\",n.UPLOAD_FILE=\"UPLOAD_FILE\",n.UPLOAD_IMAGE=\"UPLOAD_IMAGE\",t.QuestionType=class{},function(e){e.FORM=\"form\",e.DIV=\"div\"}(i||(i={}))},857:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.endpoints=void 0,t.endpoints={sdk:{app:(e,t)=>`sdk/app/${e}/${t}`,app_info:(e,t)=>`sdk/app/${e}/${t}/info`,session:e=>`sdk/app/session/${e}/info`,feedback:\"sdk/feedback\",followUpQuestion:\"sdk/followUpQuestion\"}}},784:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.placeholder=void 0,t.placeholder={answer:e=>{switch(e){case\"en\":default:return\"Write your answer here...\";case\"es\":return\"Escribe tu respuesta aquí...\";case\"da\":return\"Skriv dit svar her...\";case\"fi\":return\"Kirjoita vastauksesi tähän...\";case\"sv\":return\"Skriv ditt svar här...\";case\"no\":return\"Skriv svaret ditt her...\";case\"ar\":return\"اكتب إجابتك هنا...\";case\"bn\":return\"এখানে আপনার\"}},number:e=>{switch(e){case\"en\":default:return\"Write your number here...\";case\"es\":return\"Escribe tu número aquí...\";case\"da\":return\"Skriv dit nummer her...\";case\"fi\":return\"Kirjoita numerosi tähän...\";case\"sv\":return\"Skriv ditt nummer här...\";case\"no\":return\"Skriv nummeret ditt her...\";case\"ar\":return\"اكتب رقمك هنا...\";case\"bn\":return\"এখানে আপনার\"}},email:e=>{switch(e){case\"en\":default:return\"Write your email here...\";case\"es\":return\"Escribe tu correo electrónico aquí...\";case\"da\":return\"Skriv din e-mail her...\";case\"fi\":return\"Kirjoita sähköpostiosoitteesi tähän...\";case\"sv\":return\"Skriv din e-post här...\";case\"no\":return\"Skriv e-posten din her...\";case\"ar\":return\"اكتب بريدك الإلكتروني هنا...\";case\"bn\":return\"এখানে আপনার\"}},date:e=>{switch(e){case\"en\":default:return\"Write your date here...\";case\"es\":return\"Escribe tu fecha aquí...\";case\"da\":return\"Skriv din dato her...\";case\"fi\":return\"Kirjoita päivämääräsi tähän...\";case\"sv\":return\"Skriv ditt datum här...\";case\"no\":return\"Skriv datoen din her...\";case\"ar\":return\"اكتب تاريخك هنا...\";case\"bn\":return\"এখানে আপনার\"}},password:e=>{switch(e){case\"en\":default:return\"Write your password here...\";case\"es\":return\"Escribe tu contraseña aquí...\";case\"da\":return\"Skriv dit kodeord her...\";case\"fi\":return\"Kirjoita salasanasi tähän...\";case\"sv\":return\"Skriv ditt lösenord här...\";case\"no\":return\"Skriv passordet ditt her...\";case\"ar\":return\"اكتب كلمة المرور الخاصة بك هنا...\";case\"bn\":return\"এখানে আপনার\"}},pointsystemerror:e=>{switch(e){case\"en\":default:return\"The total points must be 100 %\";case\"es\":return\"El total de puntos debe ser 100 %\";case\"da\":return\"Samlet antal point skal være 100 %\";case\"fi\":return\"Kokonaispisteiden on oltava 100 %\";case\"sv\":return\"Totala poäng måste vara 100 %\";case\"no\":return\"Totalt antall poeng må være 100 %\";case\"ar\":return\"يجب أن تكون النقاط الإجمالية 100 %\";case\"bn\":return\"মোট পয়েন্ট 100 % হতে হবে\"}}}},213:(e,t,i)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.renderStartMessage=t.renderSuccess=t.renderError=t.renderActions=t.renderQuestions=void 0;const n=i(558),a=i(784),s=\"https://survey-dev.magicfeedback.io/assets/emojis\";function r(e,t){return e?\"object\"==typeof e?e[t]||e.en:e:\"\"}function o(e,t,i,n,a,s=!0,r=\"ltr\",o=\"row\"){const l=document.createElement(\"div\");l.classList.add(\"magicfeedback-rating-placeholder\"),l.style.display=\"flex\",l.style.flexDirection=o,l.style.alignItems=\"center\",l.style.justifyContent=\"space-between\",l.style.width=a?`calc(100% - (100% / ${t+1}))`:\"100%\",l.style.marginRight=\"auto\",s&&window.innerWidth<600&&(l.style.flexDirection=\"column\");const d=document.createElement(\"span\");d.textContent=i,d.classList.add(\"magicfeedback-rating-placeholder-value\"),d.style.fontSize=\"15px\",d.style.textAlign=\"ltr\"===r?\"left\":\"right\",d.style.width=\"50%\",(s&&window.innerWidth<600||\"column\"===o)&&(d.textContent=`${e} = ${i}`,d.style.width=\"100%\",d.style.textAlign=\"left\",d.style.marginBottom=\"5px\");const c=document.createElement(\"span\");return c.textContent=n,c.classList.add(\"magicfeedback-rating-placeholder-value\"),c.style.fontSize=\"15px\",c.style.textAlign=\"ltr\"===r?\"right\":\"left\",c.style.width=\"50%\",(s&&window.innerWidth<600||\"column\"===o)&&(c.textContent=`${t} = ${n}`,c.style.width=\"100%\",c.style.textAlign=\"left\",c.style.marginBottom=\"5px\"),\"ltr\"===r?(i&&l.appendChild(d),n&&l.appendChild(c)):(n&&l.appendChild(c),i&&l.appendChild(d)),l}t.renderQuestions=function e(t,i=\"standard\",l=\"en\",d={customIcons:!1},c){if(!t)throw new Error(\"[MagicFeedback] No questions provided\");const u=[],{customIcons:p,id:h}=d;return t.forEach((m=>{var f,g;if((null===(g=null===(f=null==m?void 0:m.questionType)||void 0===f?void 0:f.conf)||void 0===g?void 0:g.length)>0){let t=document.createElement(\"div\");t.classList.add(\"magicfeedback-div\");const n=document.createElement(\"label\");n.setAttribute(\"for\",`magicfeedback-${m.id}`),n.textContent=r(m.title,l),n.classList.add(\"magicfeedback-label\"),t.appendChild(n),m.questionType.conf.forEach((e=>{e.ref=m.ref,m.assets[e.id]&&(e.assets={placeholder:m.assets[e.id]})})),e(m.questionType.conf,i,l,d,c).forEach((e=>{t.appendChild(e)})),u.push(t)}else{const e=function(e,t,i,l,d){var c,u,p;let h,m,{id:f,title:g,type:v,ref:y,require:E,value:b,defaultValue:A,assets:k}=e,C=document.createElement(\"div\");C.classList.add(\"magicfeedback-div\");const T=window.innerWidth<600,x=\"slim\"===t?r(g,i):null==k?void 0:k.placeholder,w=(N=y,new URLSearchParams(window.location.search).get(N)),L=(null==k?void 0:k.maxCharacters)||0,P=void 0!==(null==k?void 0:k.randomPosition)&&(null==k?void 0:k.randomPosition),S=(null==k?void 0:k.direction)||\"row\",O=(null==k?void 0:k.order)||\"ltr\";var N;switch(v){case n.FEEDBACKAPPANSWERTYPE.TEXT:h=document.createElement(\"input\"),h.type=\"text\",h.placeholder=x||a.placeholder.answer(i||\"en\"),w&&(h.value=w),h.addEventListener(\"keyup\",(e=>{e.preventDefault(),console.log(e.key,e),\"Enter\"===e.key&&d&&d()})),m=\"magicfeedback-text\";break;case n.FEEDBACKAPPANSWERTYPE.LONGTEXT:h=document.createElement(\"textarea\"),h.rows=3,L>0&&(h.maxLength=L),h.placeholder=x||a.placeholder.answer(i||\"en\"),w&&(h.value=w),m=\"magicfeedback-longtext\";break;case n.FEEDBACKAPPANSWERTYPE.NUMBER:h=document.createElement(\"input\"),h.type=\"number\",h.placeholder=\"slim\"===t?r(g,i):a.placeholder.number(i||\"en\"),m=\"magicfeedback-number\",b.length&&(b.sort(((e,t)=>Number(e)-Number(t))),h.max=b[b.length-1],h.min=b[0],h.value=b[0]),w&&!isNaN(Number(w))&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.RADIO:case n.FEEDBACKAPPANSWERTYPE.MULTIPLECHOICE:h=document.createElement(\"div\"),m=\"magicfeedback-\"+(\"MULTIPLECHOICE\"===v?\"checkbox\":\"radio\");let R=b||[];P&&(R=R.sort((()=>Math.random()-.5)));let $=(null==k?void 0:k.exclusiveAnswers)||[];(null==k?void 0:k.extraOption)&&($=$.filter((e=>e!==k.extraOptionText))),$.length>0&&(null==$||$.forEach((e=>{R.includes(e)||R.push(e)}))),(null==k?void 0:k.extraOption)&&!R.includes(null==k?void 0:k.extraOptionText)&&R.push(null==k?void 0:k.extraOptionText),R.forEach(((e,t)=>{const s=document.createElement(\"div\");s.classList.add(`magicfeedback-${\"MULTIPLECHOICE\"===v?\"checkbox\":\"radio\"}-container`);const r=document.createElement(\"label\"),o=document.createElement(\"input\");if(o.id=`rating-${y}-${t}`,o.type=\"MULTIPLECHOICE\"===v?\"checkbox\":\"radio\",o.name=y,o.value=e,o.classList.add(m),o.classList.add(\"magicfeedback-input\"),v===n.FEEDBACKAPPANSWERTYPE.MULTIPLECHOICE&&(null==k?void 0:k.maxOptions)&&(null==k?void 0:k.maxOptions)>0&&o.addEventListener(\"change\",(()=>{document.querySelectorAll(`input[name=\"${y}\"]:checked`).length>(null==k?void 0:k.maxOptions)&&(o.checked=!1)})),v===n.FEEDBACKAPPANSWERTYPE.RADIO&&d&&(!(null==k?void 0:k.extraOptionText)||(null==k?void 0:k.extraOptionText)&&e!==(null==k?void 0:k.extraOptionText))&&o.addEventListener(\"change\",(()=>{d()})),e!==A&&e!==w||(o.checked=!0),r.textContent=e,r.htmlFor=`rating-${y}-${t}`,o.addEventListener(\"change\",(t=>{const i=document.getElementById(`extra-option-${y}`);t.target.checked&&$.includes(e)?(console.log(\"exclusiveAnswers\",$,e),R.forEach((t=>{t!==e&&(document.querySelector(`input[value=\"${t}\"]`).checked=!1)})),i&&(i.style.display=\"none\")):$.forEach((t=>{t!==e&&(document.querySelector(`input[value=\"${t}\"]`).checked=!1)})),(null==k?void 0:k.extraOption)&&e===(null==k?void 0:k.extraOptionText)&&i&&(i.style.display=t.target.checked?\"block\":\"none\")})),s.appendChild(o),s.appendChild(r),h.appendChild(s),(null==k?void 0:k.extraOption)&&e===(null==k?void 0:k.extraOptionText)){const e=document.createElement(\"input\");e.type=\"text\",e.placeholder=(null==k?void 0:k.extraOptionPlaceholder)||a.placeholder.answer(i||\"en\"),e.classList.add(\"magicfeedback-extra-option\"),e.classList.add(\"magicfeedback-input\"),e.id=`extra-option-${y}`,e.name=`extra-option-${y}`,e.style.display=\"none\",h.appendChild(e)}}));break;case n.FEEDBACKAPPANSWERTYPE.BOOLEAN:h=document.createElement(\"div\"),m=\"magicfeedback-radio\";const _=document.createElement(\"div\");_.classList.add(\"magicfeedback-boolean-container\"),_.style.display=\"flex\",_.style.flexDirection=\"row\",_.style.justifyContent=\"space-between\",_.style.width=\"70%\",_.style.margin=\"auto\",((null==k?void 0:k.addIcon)?[\"👍\",\"👎\"]:function(e){switch(e){case\"es\":return[\"Sí\",\"No\"];case\"fr\":return[\"Oui\",\"Non\"];case\"de\":return[\"Ja\",\"Nein\"];case\"it\":return[\"Sì\",\"No\"];case\"pt\":return[\"Sim\",\"Não\"];case\"nl\":return[\"Ja\",\"Nee\"];case\"pl\":return[\"Tak\",\"Nie\"];case\"ru\":return[\"Да\",\"Нет\"];case\"ja\":return[\"はい\",\"いいえ\"];case\"zh\":return[\"是\",\"不\"];case\"ko\":return[\"예\",\"아니\"];case\"da\":case\"sv\":return[\"Ja\",\"Nej\"];case\"fi\":return[\"Kyllä\",\"Ei\"];case\"no\":return[\"Ja\",\"Nei\"];case\"ar\":return[\"نعم\",\"لا\"];case\"bn\":return[\"হ্যাঁ\",\"না\"];default:return[\"Yes\",\"No\"]}}(i)).forEach(((e,t)=>{const i=document.createElement(\"label\");i.classList.add(\"magicfeedback-boolean-option\"),i.htmlFor=`rating-${y}-${t}`,i.style.cursor=\"pointer\",i.style.border=\"1px solid #000\",i.style.display=\"flex\",i.style.justifyContent=\"center\",i.style.alignItems=\"center\",i.style.margin=\"auto\",i.style.padding=\"0\",i.style.width=\"45%\",i.style.height=\"38px\";const n=document.createElement(\"label\");n.htmlFor=`rating-${y}-${t}`,n.textContent=e,n.style.margin=\"0\",n.style.padding=\"0\";const a=document.createElement(\"input\");a.id=`rating-${y}-${t}`,a.type=\"radio\",a.name=y,a.value=[\"Yes\",\"No\"][t],a.classList.add(m),a.classList.add(\"magicfeedback-input\"),a.style.position=\"absolute\",a.style.opacity=\"0\",a.style.width=\"0\",a.style.height=\"0\",a.style.margin=\"0\",a.addEventListener(\"change\",(()=>{d&&d()})),w&&w.toLowerCase()===a.value.toLowerCase()&&(a.checked=!0),i.appendChild(a),i.appendChild(n),_.appendChild(i)})),h.appendChild(_);break;case n.FEEDBACKAPPANSWERTYPE.RATING_EMOJI:h=document.createElement(\"div\"),m=\"magicfeedback-rating\";const F=document.createElement(\"div\");F.classList.add(\"magicfeedback-rating-container\");const M=(null==k?void 0:k.max)?Number(null==k?void 0:k.max):5,B=(null==k?void 0:k.min)?Number(null==k?void 0:k.min):1,U=o(B,M,null==k?void 0:k.minPlaceholder,null==k?void 0:k.maxPlaceholder,null==k?void 0:k.extraOption);for(let ce=B;ce<=M;ce++){const ue=document.createElement(\"div\");ue.classList.add(\"magicfeedback-rating-option\");const pe=document.createElement(\"label\");pe.htmlFor=`rating-${y}-${ce}`,pe.classList.add(\"magicfeedback-rating-option-label-container\");const he=document.createElement(\"label\");he.htmlFor=`rating-${y}-${ce}`,he.textContent=ce.toString();const me=document.createElement(\"img\");if(me.alt=`face-${y}-${ce}`,me.className=`rating-image${ce}`,0===B&&10===M)me.src=`${l}/${ce}.svg`,me.onerror=()=>me.src=`${s}/${ce}.svg`;else if(1===B&&5===M)switch(ce){case 1:me.src=`${l}/1.svg`,me.onerror=()=>me.src=`${s}/1.svg`;break;case 2:me.src=`${l}/2.svg`,me.onerror=()=>me.src=`${s}/2.svg`;break;case 3:me.src=`${l}/6.svg`,me.onerror=()=>me.src=`${s}/6.svg`;break;case 4:me.src=`${l}/9.svg`,me.onerror=()=>me.src=`${s}/9.svg`;break;case 5:me.src=`${l}/10.svg`,me.onerror=()=>me.src=`${s}/10.svg`}else{const ge=Math.round(10/(M-B)*(ce-B));me.src=`${l}/${ge}.svg`,me.onerror=()=>me.src=`${s}/${ge}.svg`}const fe=document.createElement(\"input\");fe.id=`rating-${y}-${ce}`,fe.type=\"radio\",fe.name=y,fe.value=ce.toString(),fe.classList.add(m),fe.classList.add(\"magicfeedback-input\"),d&&fe.addEventListener(\"change\",(()=>{d()})),w&&w===fe.value&&(fe.checked=!0),pe.appendChild(fe),pe.appendChild(me),pe.appendChild(he),ue.appendChild(pe),F.appendChild(ue)}if((null==k?void 0:k.extraOption)&&(null==k?void 0:k.extraOptionText)){const ve=document.createElement(\"div\");ve.classList.add(\"magicfeedback-rating-option\");const ye=document.createElement(\"label\");ye.htmlFor=`rating-${y}-extra`,ye.classList.add(\"magicfeedback-rating-option-label-container\");const Ee=document.createElement(\"label\");Ee.htmlFor=`rating-${y}-extra`,Ee.textContent=null==k?void 0:k.extraOptionText;const be=document.createElement(\"img\");be.src=\"https://magicfeedback-c6458-dev.web.app/assets/question.svg\",be.alt=`face-${y}-extra`,be.className=\"magicfeedback-rating-image-extra\";const Ae=document.createElement(\"input\");Ae.id=`rating-${y}-extra`,Ae.type=\"radio\",Ae.name=y,Ae.value=\"-\",Ae.classList.add(m),Ae.classList.add(\"magicfeedback-input\"),d&&Ae.addEventListener(\"change\",(()=>{d()})),ye.appendChild(Ae),ye.appendChild(be),ye.appendChild(Ee),ve.appendChild(ye),F.appendChild(ve)}h.appendChild(U),h.appendChild(F);break;case n.FEEDBACKAPPANSWERTYPE.RATING_NUMBER:m=\"magicfeedback-rating-number\",h=function(e,t,i,n,a,s,r,o){const l=document.createElement(\"div\");l.classList.add(\"magicfeedback-rating-number\");const d=\"ltr\"===i?n:`${n}-reverse`,c=document.createElement(\"div\");c.classList.add(\"magicfeedback-rating-number-container\"),c.classList.add(`magicfeedback-rating-number-container-${i}`),c.classList.add(`magicfeedback-rating-number-container-${n}`),c.style.display=\"flex\",c.style.flexDirection=d,c.setAttribute(\"role\",\"radiogroup\"),c.setAttribute(\"aria-label\",(null==t?void 0:t.ariaLabel)||\"Rating\");const u=(null==t?void 0:t.max)?Number(null==t?void 0:t.max):10,p=(null==t?void 0:t.min)?Number(null==t?void 0:t.min):0,h=!(a||\"column\"===n);for(let i=p;i<=u;i++){const a=document.createElement(\"div\");a.classList.add(\"magicfeedback-rating-number-option\"),a.classList.add(`magicfeedback-rating-number-option-${n}`);const l=document.createElement(\"label\");if(l.htmlFor=`rating-${e}-${i}`,l.classList.add(\"magicfeedback-rating-number-option-label-container\"),h&&(l.style.position=\"relative\",l.style.overflow=\"visible\"),h){const e=document.createElement(\"span\");e.classList.add(\"magicfeedback-rating-number-cap\"),e.classList.add(\"magicfeedback-rating-placeholder-value\"),e.style.fontSize=\"14px\",e.style.whiteSpace=\"nowrap\",e.style.wordBreak=\"normal\",i===p&&(null==t?void 0:t.minPlaceholder)?(e.textContent=t.minPlaceholder,e.dataset.capType=\"min\"):i===u&&(null==t?void 0:t.maxPlaceholder)?(e.textContent=t.maxPlaceholder,e.dataset.capType=\"max\"):e.dataset.capType=\"mid\",l.appendChild(e)}let d=i.toString();h||(i===p&&(null==t?void 0:t.minPlaceholder)&&(d+=` = ${null==t?void 0:t.minPlaceholder}`),i===u&&(null==t?void 0:t.maxPlaceholder)&&(d+=` = ${null==t?void 0:t.maxPlaceholder}`));const m=document.createElement(\"input\");m.id=`rating-${e}-${i}`,m.type=\"radio\",m.name=e,m.value=i.toString(),m.classList.add(s),m.classList.add(\"magicfeedback-input\"),m.setAttribute(\"aria-label\",`${i}`),r&&m.addEventListener(\"change\",(()=>r())),o&&o===m.value&&(m.checked=!0);const f=document.createElement(\"label\");f.htmlFor=`rating-${e}-${i}`,f.textContent=d,f.classList.add(\"magicfeedback-rating-number-value\"),l.appendChild(m),l.appendChild(f),a.appendChild(l),c.appendChild(a)}if((null==t?void 0:t.extraOption)&&(null==t?void 0:t.extraOptionText)){const n=document.createElement(\"div\");n.classList.add(\"magicfeedback-rating-number-option\");const a=document.createElement(\"label\");if(a.htmlFor=`rating-${e}-extra`,a.classList.add(\"magicfeedback-rating-number-option-label-container\"),h&&(a.style.position=\"relative\",a.style.overflow=\"visible\"),h){const e=document.createElement(\"span\");e.classList.add(\"magicfeedback-rating-number-cap\"),e.dataset.capType=\"extra\",e.style.fontSize=\"12px\",e.style.whiteSpace=\"nowrap\",e.style.wordBreak=\"normal\",a.appendChild(e)}const o=document.createElement(\"input\");o.id=`rating-${e}-extra`,o.type=\"radio\",o.name=e,o.value=\"-\",o.classList.add(s),o.classList.add(\"magicfeedback-input\"),o.setAttribute(\"aria-label\",null==t?void 0:t.extraOptionText),r&&o.addEventListener(\"change\",(()=>r()));const l=document.createElement(\"label\");l.htmlFor=`rating-${e}-extra`,l.textContent=null==t?void 0:t.extraOptionText,l.classList.add(\"magicfeedback-rating-number-value\"),a.appendChild(o),a.appendChild(l),n.appendChild(a),\"ltr\"===i?c.appendChild(n):c.insertBefore(n,c.firstChild)}return l.appendChild(c),h&&requestAnimationFrame((()=>{const e=Array.from(c.querySelectorAll(\".magicfeedback-rating-number-cap\"));if(0===e.length)return;let t=0;e.forEach((e=>{var i;if(null===(i=e.textContent)||void 0===i?void 0:i.trim()){const i=e.getBoundingClientRect().height||0;i>t&&(t=i)}})),c.style.position=\"relative\",c.style.paddingTop=`${0===t?\"42\":t+6}px`,e.forEach((e=>{const n=e.getBoundingClientRect().height||0;console.log(t,n,6),e.style.position=\"absolute\",e.style.top=`-${0===t?\"42\":t+n}px`,e.style.zIndex=\"1\",e.style.pointerEvents=\"none\",e.style.padding=\"0\",e.style.boxSizing=\"border-box\",e.style.whiteSpace=\"nowrap\",e.style.wordBreak=\"normal\",e.style.maxWidth=\"none\",e.style.width=\"max-content\";const a=e.dataset.capType;\"min\"===a?(\"ltr\"===i?(e.style.left=\"10px\",e.style.textAlign=\"left\"):(e.style.right=\"10px\",e.style.textAlign=\"right\"),e.style.transform=\"none\"):\"max\"===a?(\"ltr\"===i?(e.style.right=\"10px\",e.style.textAlign=\"right\"):(e.style.left=\"10px\",e.style.textAlign=\"left\"),e.style.transform=\"none\"):(e.style.left=\"50%\",e.style.transform=\"translateX(-50%)\",e.style.textAlign=\"center\")})),c.style.overflow=\"visible\"})),l}(y,k,O,S,T,m,d,w);break;case n.FEEDBACKAPPANSWERTYPE.RATING_STAR:h=document.createElement(\"div\"),m=\"magicfeedback-rating-star\";const q=function(e,t,i,n=()=>{},a){const s=\"magicfeedback-rating-star-selected\",r=document.createElement(\"div\");r.classList.add(\"magicfeedback-rating-star-container\"),r.style.maxWidth=\"300px\",r.style.margin=\"auto\",r.dataset.originalSelection=\"0\";for(let t=1;t<=5;t++){const i=document.createElement(\"label\");i.classList.add(\"magicfeedback-rating-star-option\");const o=document.createElement(\"input\");o.id=`rating-${e}-${t}`,o.type=\"radio\",o.name=e,o.value=t.toString(),o.style.position=\"absolute\",o.style.opacity=\"0\",o.style.width=\"0\",o.style.height=\"0\",o.classList.add(\"magicfeedback-input\"),a&&a===o.value&&(o.checked=!0),o.addEventListener(\"change\",(()=>{const e=r.querySelectorAll(\".rating__star\");for(let t=0;t<e.length;t++)t+1<=Number(o.value)?e[t].classList.contains(s)||e[t].classList.add(s):e[t].classList.contains(s)&&e[t].classList.remove(s);r.dataset.originalSelection=o.value,n&&n()})),i.appendChild(o);const l=document.createElement(\"label\");l.htmlFor=`rating-${e}-${t}`,l.classList.add(\"rating__star\"),l.textContent=\"★\",l.style.fontSize=\"40px\",l.style.color=\"#CCCCCC\",l.style.cursor=\"pointer\",l.addEventListener(\"mouseenter\",(()=>{const e=r.querySelectorAll(\".rating__star\"),i=t-1;e.forEach(((e,t)=>{t<=i?e.classList.contains(s)||e.classList.add(s):e.classList.contains(s)&&e.classList.remove(s)}))})),l.addEventListener(\"mouseleave\",(()=>{const e=Number(r.dataset.originalSelection||\"0\");r.querySelectorAll(\".rating__star\").forEach(((t,i)=>{i<e?t.classList.contains(s)||t.classList.add(s):t.classList.contains(s)&&t.classList.remove(s)}))})),i.appendChild(l),r.appendChild(i)}return r.appendChild(o(1,5,t,i,!1,!1)),r}(y,null==k?void 0:k.minPlaceholder,null==k?void 0:k.maxPlaceholder,d,w);h.appendChild(q);break;case n.FEEDBACKAPPANSWERTYPE.MULTIPLECHOISE_IMAGE:h=document.createElement(\"div\"),m=\"magicfeedback-multiple-choice-image\";const j=document.createElement(\"div\");j.classList.add(\"magicfeedback-multiple-choice-image-container\"),j.style.display=\"flex\",j.style.flexDirection=\"row\",j.style.flexWrap=\"wrap\",j.style.justifyContent=\"center\";const Q=b.length;let W=1,K=1;if(window.innerWidth<600)W=1,K=Q;else switch(Q){case 1:case 2:case 3:W=Q,K=1;break;case 4:case 5:case 6:K=2,W=Math.ceil(Q/K);break;case 7:case 8:case 9:K=3,W=Math.ceil(Q/K);break;default:K=4,W=Math.ceil(Q/K)}const G=void 0!==(null==k?void 0:k.addTitle)&&(null==k?void 0:k.addTitle),Y=void 0!==(null==k?void 0:k.multiOption)&&(null==k?void 0:k.multiOption),H=void 0!==(null==k?void 0:k.extraOption)&&(null==k?void 0:k.extraOption);function V(e){try{const{position:t,url:i,value:n}=e,a=document.createElement(\"label\");a.classList.add(\"magicfeedback-multiple-choice-image-option\"),a.style.width=`calc( ${100/W}% - 10px)`,a.style.height=`calc( ${100/K}% - 10px)`,a.style.margin=\"5px\";const s=document.createElement(\"label\");s.htmlFor=`rating-${y}-${t}`,s.classList.add(\"magicfeedback-image-option-label-container\"),s.style.display=\"flex\",s.style.flexDirection=\"column\",s.addEventListener(\"mouseover\",(()=>{s.style.border=\"2px solid #000\"})),s.addEventListener(\"mouseout\",(()=>{s.style.border=\"none\"})),s.addEventListener(\"click\",(()=>{s.style.border=\"2px solid #000\"}));const r=document.createElement(\"label\");r.textContent=n,r.classList.add(\"magicfeedback-multiple-choice-image-label\");const o=document.createElement(\"input\");o.id=`rating-${y}-${t}`,o.type=Y?\"checkbox\":\"radio\",o.name=y,o.value=n,o.style.position=\"absolute\",o.style.opacity=\"0\",o.style.width=\"0\",o.style.height=\"0\",o.classList.add(\"magicfeedback-input\"),w&&w===o.value&&(o.checked=!0),!Y&&d&&o.addEventListener(\"change\",(()=>{console.log(\"send\"),d()}));const l=document.createElement(\"img\");l.classList.add(\"magicfeedback-multiple-choice-image-image\"),l.src=i,l.style.cursor=\"pointer\",l.style.backgroundSize=\"cover\",l.style.backgroundPosition=\"center\",l.style.width=\"100%\",l.style.height=\"100%\",l.style.objectFit=\"cover\",l.style.margin=\"auto\",s.appendChild(o),s.appendChild(l),G&&s.appendChild(r),a.appendChild(s),j.appendChild(a)}catch(e){console.error(e)}}P&&(b=b.sort((()=>Math.random()-.5))),b.forEach((e=>V(JSON.parse(e)))),H&&(null==k?void 0:k.extraOptionValue)&&(null==k?void 0:k.extraOptionValue.length)>0&&V(null==k?void 0:k.extraOptionValue[0]),h.appendChild(j);break;case n.FEEDBACKAPPANSWERTYPE.SELECT:h=document.createElement(\"select\"),m=\"magicfeedback-select\";const X=document.createElement(\"option\");X.value=\"\",X.text=\"slim\"===t?r(g,i):A||\"Select an option\",X.disabled=!0,X.selected=!0,h.appendChild(X),b.forEach((e=>{const t=document.createElement(\"option\");t.value=e,t.text=e,h.appendChild(t)})),w&&b.includes(w)&&(h.value=w),d&&h.addEventListener(\"change\",(()=>{d()}));break;case n.FEEDBACKAPPANSWERTYPE.DATE:h=document.createElement(\"input\"),h.type=\"date\",h.required=E,h.placeholder=x||a.placeholder.date(i||\"en\"),m=\"magicfeedback-date\",w&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.CONSENT:h=document.createElement(\"input\"),m=\"magicfeedback-consent\",h.type=\"checkbox\",h.id=`magicfeedback-${f}`,h.name=y,h.value=\"true\",h.required=E,h.classList.add(\"magicfeedback-consent\"),h.classList.add(\"magicfeedback-input\"),w&&b.includes(w)&&(h.checked=!0),d&&h.addEventListener(\"change\",(()=>{d()}));break;case n.FEEDBACKAPPANSWERTYPE.EMAIL:h=document.createElement(\"input\"),h.type=\"email\",h.required=E,h.placeholder=x||\"you@example.com\",m=\"magicfeedback-email\",w&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.PASSWORD:h=document.createElement(\"input\"),h.type=\"password\",h.required=E,h.placeholder=x||a.placeholder.password(i||\"en\"),m=\"magicfeedback-password\",w&&(h.value=w);break;case n.FEEDBACKAPPANSWERTYPE.MULTI_QUESTION_MATRIX:h=document.createElement(\"div\"),m=\"magicfeedback-multi-question-matrix\";const z=document.createElement(\"div\");z.classList.add(\"magicfeedback-multi-question-matrix-container\");let J=(null==k?void 0:k.options)||[],Z=[...b],ee=[];if(P&&(J=null==J?void 0:J.sort((()=>Math.random()-.5)),Z=[...Z].sort((()=>Math.random()-.5))),(null==k?void 0:k.exclusiveAnswers)&&(ee=null==k?void 0:k.exclusiveAnswers,null==ee||ee.forEach((e=>{Z.includes(e)||Z.push(e)}))),window.innerWidth<600){const ke=document.createElement(\"div\");ke.classList.add(\"magicfeedback-multi-question-matrix-list\"),null==J||J.forEach((e=>{const t=document.createElement(\"div\");t.classList.add(\"magicfeedback-multi-question-matrix-list-item\"),t.style.display=\"flex\",t.style.flexDirection=\"column\",t.style.alignItems=\"flex-start\",t.style.marginBottom=\"10px\";const i=document.createElement(\"label\");i.classList.add(\"magicfeedback-multi-question-matrix-label\"),i.style.paddingBottom=\"10px\",i.textContent=e,t.appendChild(i),Z.forEach((i=>{const n=document.createElement(\"div\");n.classList.add(\"magicfeedback-radio-container\"),n.style.display=\"flex\",n.style.alignItems=\"center\",n.style.justifyContent=\"flex-start\",n.style.width=\"99%\",n.style.margin=\"5px auto\";const a=document.createElement(\"label\"),s=document.createElement(\"input\");s.id=`${y}-${e}-${i}`,s.type=\"radio\",s.name=`${y}-${e}`,s.value=i,s.classList.add(\"magicfeedback-input\"),a.textContent=i,a.htmlFor=`${y}-${e}-${i}`,n.appendChild(s),n.appendChild(a),t.appendChild(n)})),ke.appendChild(t)})),z.appendChild(ke)}else{const Ce=document.createElement(\"table\");Ce.classList.add(\"magicfeedback-multi-question-matrix-table\");const Te=document.createElement(\"thead\");Te.classList.add(\"magicfeedback-multi-question-matrix-header\"),Te.style.paddingBottom=\"15px\";const xe=document.createElement(\"tr\"),we=document.createElement(\"th\");xe.appendChild(we),Z.forEach((e=>{const t=document.createElement(\"th\");t.textContent=e,xe.appendChild(t)})),Te.appendChild(xe),Ce.appendChild(Te);const Le=document.createElement(\"tbody\");null==J||J.forEach((e=>{const t=document.createElement(\"tr\");t.classList.add(\"magicfeedback-multi-question-matrix-row-tr\");const i=document.createElement(\"td\");i.style.minWidth=\"200px\",i.style.padding=\"10px\";const n=document.createElement(\"label\");n.classList.add(\"magicfeedback-multi-question-matrix-label\"),n.textContent=e,i.appendChild(n),t.appendChild(i),Z.forEach((i=>{const n=document.createElement(\"td\"),a=document.createElement(\"input\");a.type=\"radio\",a.name=`${y}-${e}`,a.value=i,a.id=`${y}-${e}-${i}`,a.classList.add(\"magicfeedback-input\"),n.appendChild(a),t.appendChild(n)})),Le.appendChild(t)})),Ce.appendChild(Le),z.appendChild(Ce)}h.appendChild(z);break;case n.FEEDBACKAPPANSWERTYPE.PRIORITY_LIST:h=document.createElement(\"div\"),m=\"magicfeedback-priority-list\";const te=document.createElement(\"div\");te.classList.add(\"magicfeedback-priority-list-container\");const ie=document.createElement(\"ul\");ie.classList.add(\"magicfeedback-priority-list-list\"),P&&(b=b.sort((()=>Math.random()-.5))),b.forEach(((e,t)=>{const i=document.createElement(\"li\");i.classList.add(\"magicfeedback-priority-list-item\"),i.style.display=\"flex\",i.style.justifyContent=\"space-between\",i.style.alignItems=\"center\",i.style.margin=\"5px\";const n=document.createElement(\"input\");n.classList.add(\"magicfeedback-input-magicfeedback-priority-list\"),n.classList.add(\"magicfeedback-input\"),n.type=\"hidden\",n.id=`priority-list-${y}`,n.name=y,n.value=`${t+1}. ${e}`,i.appendChild(n);const a=document.createElement(\"label\");a.classList.add(\"magicfeedback-priority-list-item-label\"),a.textContent=`${t+1}. ${e}`,i.appendChild(a);const s=document.createElement(\"div\");s.style.display=\"flex\",s.style.alignItems=\"center\",s.style.justifyContent=\"space-between\";const r=document.createElement(\"img\");r.classList.add(\"magicfeedback-priority-list-arrow-up\"),r.src=\"https://magicfeedback-c6458-dev.web.app/assets/arrow.svg\",r.style.width=\"20px\",r.style.height=\"20px\",r.style.cursor=\"pointer\",r.style.margin=\"0 5px\",r.style.color=\"#000\",r.style.visibility=0===t?\"hidden\":\"visible\",r.addEventListener(\"click\",(()=>{var t,s,l,d;const c=i.previousElementSibling;if(c){const u=Number(null===(t=n.value)||void 0===t?void 0:t.split(\".\")[0])-1;n.value=`${u}. ${e}`,a.textContent=`${u}. ${e}`,r.style.visibility=1===u?\"hidden\":\"visible\",o.style.visibility=u===b.length?\"hidden\":\"visible\";const p=c.querySelector(\".magicfeedback-input-magicfeedback-priority-list\"),h=c.querySelector(\".magicfeedback-priority-list-item-label\"),m=c.querySelector(\".magicfeedback-priority-list-arrow-up\"),f=c.querySelector(\".magicfeedback-priority-list-arrow-down\");if(p&&h&&m&&f){const e=Number(null===(s=p.value)||void 0===s?void 0:s.split(\".\")[0])+1;p.value=`${e}.${null===(l=h.textContent)||void 0===l?void 0:l.split(\".\")[1]}`,h.textContent=`${e}.${null===(d=h.textContent)||void 0===d?void 0:d.split(\".\")[1]}`,m.style.visibility=1===e?\"hidden\":\"visible\",f.style.visibility=e===b.length?\"hidden\":\"visible\"}ie.insertBefore(i,c)}})),s.appendChild(r);const o=document.createElement(\"img\");o.classList.add(\"magicfeedback-priority-list-arrow-down\"),o.src=\"https://magicfeedback-c6458-dev.web.app/assets/arrow.svg\",o.style.width=\"20px\",o.style.height=\"20px\",o.style.cursor=\"pointer\",o.style.margin=\"0 5px\",o.style.color=\"#000\",o.style.transform=\"rotate(180deg)\",o.style.visibility=t===b.length-1?\"hidden\":\"visible\",o.addEventListener(\"click\",(()=>{var t,s,l;const d=i.nextElementSibling;if(d){const c=Number(null===(t=n.value)||void 0===t?void 0:t.split(\".\")[0])+1;n.value=c.toString(),a.textContent=`${c.toString()}. ${e}`,r.style.visibility=1===c?\"hidden\":\"visible\",o.style.visibility=c===b.length?\"hidden\":\"visible\";const u=d.querySelector(\".magicfeedback-input-magicfeedback-priority-list\"),p=d.querySelector(\".magicfeedback-priority-list-item-label\"),h=d.querySelector(\".magicfeedback-priority-list-arrow-up\"),m=d.querySelector(\".magicfeedback-priority-list-arrow-down\");if(u&&p&&h&&m){const e=Number(u.value.split(\".\")[0])-1;u.value=`${e}.${null===(s=p.textContent)||void 0===s?void 0:s.split(\".\")[1]}`,p.textContent=`${e}.${null===(l=p.textContent)||void 0===l?void 0:l.split(\".\")[1]}`,h.style.visibility=1===e?\"hidden\":\"visible\",m.style.visibility=e===b.length?\"hidden\":\"visible\"}ie.insertBefore(d,i)}})),s.appendChild(o),i.appendChild(s),ie.appendChild(i)})),te.appendChild(ie),h.appendChild(te);break;case n.FEEDBACKAPPANSWERTYPE.POINT_SYSTEM:h=document.createElement(\"div\"),m=\"magicfeedback-point-system\";const ne=document.createElement(\"div\");ne.classList.add(\"magicfeedback-point-system-container\");const ae=document.createElement(\"ul\");ae.classList.add(\"magicfeedback-point-system-list\"),ae.style.padding=\"0\";const se=100,re=se/b.length,oe=document.createElement(\"div\");oe.classList.add(\"magicfeedback-error\"),oe.textContent=a.placeholder.pointsystemerror(i||\"en\"),oe.style.color=\"#C70039\",oe.style.fontSize=\"14px\",oe.style.textAlign=\"right\",oe.style.width=\"100%\",oe.style.display=\"none\";const le=document.createElement(\"div\");le.classList.add(\"magicfeedback-point-system-total\"),le.textContent=\"0 / 100 %\",le.style.textAlign=\"right\",le.style.fontSize=\"15px\",le.style.marginTop=\"5px\",b.forEach(((e,t)=>{const i=document.createElement(\"li\");i.classList.add(\"magicfeedback-point-system-item\"),i.style.display=\"flex\",i.style.justifyContent=\"space-between\",i.style.alignItems=\"center\",i.style.margin=\"5px\";const n=document.createElement(\"label\");n.textContent=e,n.style.fontSize=\"15px\",i.appendChild(n);const a=document.createElement(\"span\");a.classList.add(\"magicfeedback-point-system-input-container\");const s=document.createElement(\"input\");s.name=y,s.id=`${e}`,s.type=\"number\",s.min=\"0\",s.max=`${se}`,s.value=\"0\",s.classList.add(\"magicfeedback-input\"),s.style.width=\"40px\",s.style.border=\"0\",s.style.textAlign=\"center\",s.style.margin=\"0 5px\",s.autofocus=0===t;const r=document.createElement(\"span\");r.textContent=\"%\",r.style.color=\"#000\",s.addEventListener(\"input\",(()=>{const e=ae.querySelectorAll(\"input\");let t=0;e.forEach((e=>{t+=Number(e.value)})),t>se&&(s.value=`${re}%`,t-=Number(s.value));const i=document.getElementById(\"magicfeedback-submit\");i&&(t<100?(le.style.color=\"orange\",i.setAttribute(\"disabled\",\"true\")):(oe.style.display=\"none\",le.style.color=\"green\",i.removeAttribute(\"disabled\"))),le.textContent=`${t} / 100 %`})),s.addEventListener(\"focus\",(()=>{const e=document.getElementById(\"magicfeedback-submit\");e&&(e.setAttribute(\"disabled\",\"true\"),e.addEventListener(\"pointerover\",(()=>{const e=ae.querySelectorAll(\"input\");let t=0;e.forEach((e=>{t+=Number(e.value)})),t<100&&(oe.style.display=\"block\")})))})),a.appendChild(s),a.appendChild(r),i.appendChild(a),ae.appendChild(i)})),ne.appendChild(ae),ne.appendChild(le),ne.appendChild(oe),h.appendChild(ne);break;case n.FEEDBACKAPPANSWERTYPE.INFO_PAGE:h=document.createElement(\"div\"),m=\"magicfeedback-info-page\";const de=document.createElement(\"div\");de.classList.add(\"magicfeedback-info-message\"),de.innerHTML=x,h.appendChild(de);break;case n.FEEDBACKAPPANSWERTYPE.UPLOAD_IMAGE:h=document.createElement(\"input\"),h.type=\"file\",h.accept=\"image/*\",h.required=E,h.multiple=(null==k?void 0:k.multiple)||!1,h.maxLength=(null==k?void 0:k.maxFiles)||1,m=\"magicfeedback-upload-image\";break;case n.FEEDBACKAPPANSWERTYPE.UPLOAD_FILE:h=document.createElement(\"input\"),h.type=\"file\",h.required=E,h.multiple=(null==k?void 0:k.multiple)||!1,h.maxLength=(null==k?void 0:k.maxFiles)||1,m=\"magicfeedback-upload-file\";break;default:return C}h.id=`magicfeedback-${f}`,h.setAttribute(\"name\",y),h.classList.add(m),(void 0!==A||null!==w)&&(h.value=w||A),[\"RADIO\",\"MULTIPLECHOICE\"].includes(v)||(h.classList.add(\"magicfeedback-input\"),h.required=E);const I=document.createElement(\"label\");I.setAttribute(\"for\",`magicfeedback-${f}`),I.textContent=r(g,i),I.classList.add(\"magicfeedback-label\");const D=document.createElement(\"label\");if(D.textContent=r(null==k?void 0:k.subtitle,i),D.classList.add(\"magicfeedback-sublabel\"),(null===(c=null==k?void 0:k.subtitleStyle)||void 0===c?void 0:c.includes(\"italic\"))&&(D.style.fontStyle=\"italic\"),(null===(u=null==k?void 0:k.subtitleStyle)||void 0===u?void 0:u.includes(\"bold\"))&&(D.style.fontWeight=\"bold\"),(null===(p=null==k?void 0:k.subtitleStyle)||void 0===p?void 0:p.includes(\"underline\"))&&(D.style.textDecoration=\"underline\"),[\"CONSENT\"].includes(v))C.classList.add(\"magicfeedback-consent-container\"),C.appendChild(h),C.appendChild(I),C.appendChild(D);else{if(\"slim\"!==t&&(C.appendChild(I),C.appendChild(D),void 0!==(null==k?void 0:k.general)&&\"\"!==(null==k?void 0:k.general))){const Pe=document.createElement(\"img\");Pe.src=null==k?void 0:k.general,Pe.classList.add(\"magicfeedback-image\"),Pe.style.maxWidth=\"auto\",Pe.style.height=\"400px\",Pe.style.margin=\"10px 0\",C.appendChild(Pe)}if(\"LONGTEXT\"===v&&L>0){const Se=document.createElement(\"div\");if(Se.classList.add(\"magicfeedback-counter\"),Se.textContent=`${h.value.length}/${L}`,Se.style.textAlign=\"right\",Se.style.fontSize=\"15px\",Se.style.marginTop=\"5px\",h.addEventListener(\"input\",(()=>{Se.textContent=`${h.value.length}/${L}`})),C.appendChild(h),C.appendChild(Se),(null==k?void 0:k.extraOption)&&(null==k?void 0:k.extraOptionText)){const Oe=document.createElement(\"div\");Oe.classList.add(\"magicfeedback-skip-container\"),Oe.classList.add(\"magicfeedback-checkbox-container\"),Oe.style.display=\"flex\",Oe.style.justifyContent=\"flex-start\";const Ne=document.createElement(\"input\");Ne.classList.add(\"magicfeedback-skip\"),Ne.type=\"checkbox\",Ne.id=`skip-${y}`,Ne.name=y,Ne.value=\"-\",Ne.style.cursor=\"pointer\";const Ie=document.createElement(\"label\");Ie.htmlFor=`skip-${y}`,Ie.textContent=null==k?void 0:k.extraOptionText,Ie.style.fontSize=\"15px\",Ie.style.cursor=\"pointer\",Ie.style.margin=\"0 5px\",Ne.addEventListener(\"click\",(()=>{h.value=\"-\",d&&d()})),Oe.appendChild(Ne),Oe.appendChild(Ie),C.appendChild(Oe)}}else C.appendChild(h)}return C}(m,i,l,`${s}${p?`/${h}`:\"\"}`,1===t.length?c:void 0);u.push(e)}})),u},t.renderActions=function(e=\"\",t,i=\"Submit\",n=\"Back\",a=\"Next\"){const s=document.createElement(\"div\");s.classList.add(\"magicfeedback-action-container\");const r=document.createElement(\"button\");r.id=\"magicfeedback-submit\",r.type=\"submit\",r.classList.add(\"magicfeedback-submit\"),r.textContent=\"MAGICSURVEY\"===e?a||\"Next\":i||\"Submit\";const o=document.createElement(\"button\");return o.id=\"magicfeedback-back\",o.type=\"button\",o.classList.add(\"magicfeedback-back\"),o.textContent=n||\"Back\",o.addEventListener(\"click\",t),o.addEventListener(\"click\",(()=>{r.removeAttribute(\"disabled\")})),\"MAGICSURVEY\"===e&&s.appendChild(o),s.appendChild(r),s},t.renderError=function(e){const t=document.createElement(\"div\");return t.classList.add(\"magicfeedback-error\"),t.textContent=e,t},t.renderSuccess=function(e){const t=document.createElement(\"div\");return t.classList.add(\"magicfeedback-success\"),t.textContent=e,t},t.renderStartMessage=function(e,t=!1,i=\"Go!\",n=()=>{}){const a=document.createElement(\"div\");a.classList.add(\"magicfeedback-start-message-container\");const s=document.createElement(\"div\");if(s.classList.add(\"magicfeedback-start-message\"),s.innerHTML=e,a.appendChild(s),t){const e=document.createElement(\"button\");e.id=\"magicfeedback-start-message-button\",e.classList.add(\"magicfeedback-start-message-button\"),e.textContent=i,e.addEventListener(\"click\",(()=>n())),a.appendChild(e)}return a}},313:function(e,t,i){\"use strict\";var n=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))((function(a,s){function r(e){try{l(n.next(e))}catch(e){s(e)}}function o(e){try{l(n.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(r,o)}l((n=n.apply(e,t||[])).next())}))},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.getFollowUpQuestion=t.sendFeedback=t.getQuestions=t.getSessionForm=t.getForm=t.validateEmail=void 0;const s=a(i(945)),r=a(i(330)),o=i(857),l={Accept:\"application/json\",\"Magicfeedback-Sdk-Version\":r.default.version,\"x-magicfeedback-parameters\":window.location.search||\"\"};t.validateEmail=function(e){return/\\S+@\\S+\\.\\S+/.test(e)},t.getForm=function(e,t,i,a){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.app_info(t,i),{method:\"GET\",headers:l});return yield n.json()}catch(e){a.err(e)}}))},t.getSessionForm=function(e,t,i){return n(this,void 0,void 0,(function*(){try{const i=yield(0,s.default)(e+o.endpoints.sdk.session(t),{method:\"GET\",headers:l});return yield i.json()}catch(e){i.err(e)}}))},t.getQuestions=function(e,t,i,a){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.app(t,i),{method:\"GET\",headers:l});if(n.ok){const e=yield n.json();return a.log(`Received questions for app ${t}`,e),e}throw a.err(`Failed to get questions for app ${t}:`,n.status,n.statusText),new Error(\"[MagicFeedback] Bad response from server\")}catch(e){return a.err(e),[]}}))},t.sendFeedback=function(e,t,i){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.feedback,{method:\"POST\",headers:Object.assign({\"Content-Type\":\"application/json\"},l),body:JSON.stringify(t)});if(n.ok)return i.log(`Form ${t.integration} submitted successfully!`),(yield n.json()).sessionId;throw i.err(`Failed to submit form ${t.integration}:`,n.status,n.statusText),new Error(n.statusText)}catch(e){return i.err(e),\"\"}}))},t.getFollowUpQuestion=function(e,t,i){return n(this,void 0,void 0,(function*(){try{const n=yield(0,s.default)(e+o.endpoints.sdk.followUpQuestion,{method:\"POST\",headers:Object.assign({\"Content-Type\":\"application/json\"},l),body:JSON.stringify(t)});if(n.ok)return i.log(`Received follow up question for form ${t.integration}`),(yield n.json())||\"\";throw i.err(`Failed to get follow up question for form ${t.integration}:`,n.status,n.statusText),new Error(n.statusText)}catch(e){return i.err(e),\"\"}}))}},256:(e,t)=>{\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.Log=void 0,t.Log=class{constructor(e){this.config=e}log(...e){this.config.get(\"debug\")&&console.log(\"[MagicFeedback]:\",...e)}err(...e){console.error(\"[MagicFeedback]:\",...e)}}},330:e=>{\"use strict\";e.exports=JSON.parse('{\"name\":\"@magicfeedback/native\",\"version\":\"2.1.4\",\"main\":\"./dist/magicfeedback-sdk.node.js\",\"browser\":\"./dist/magicfeedback-sdk.browser.js\",\"types\":\"./dist/types/src/index.d.ts\",\"repository\":{\"type\":\"git\",\"url\":\"git+ssh://git@github.com/MagicFeedback/magicfeedback-sdk.git\"},\"author\":\"farias@magicfeedback.io\",\"license\":\"MIT\",\"private\":false,\"scripts\":{\"dev\":\"vite\",\"build\":\"webpack\",\"build:watch\":\"webpack --watch --mode development\",\"publish\":\"npm publish --access public\",\"publish:beta\":\"npm publish --access public --tag beta\",\"publish:alpha\":\"npm publish --access public --tag alpha\",\"test\":\"jest\",\"test:watch\":\"jest --watchAll\",\"coverage\":\"vitest run --coverage\"},\"files\":[\"dist\"],\"devDependencies\":{\"@babel/preset-typescript\":\"^7.22.5\",\"@types/node\":\"^17.0.21\",\"@types/webpack\":\"^5.28.0\",\"@types/webpack-node-externals\":\"^2.5.3\",\"c8\":\"^7.11.0\",\"copy-webpack-plugin\":\"^11.0.0\",\"jest\":\"^29.5.0\",\"jest-environment-jsdom\":\"^29.5.0\",\"jest-fetch-mock\":\"^3.0.3\",\"nock\":\"^13.2.4\",\"ts-jest\":\"^29.1.0\",\"ts-loader\":\"^9.2.7\",\"ts-node\":\"^10.7.0\",\"typescript\":\"^4.6.2\",\"vite\":\"^2.8.0\",\"vite-plugin-dts\":\"^0.9.9\",\"vitest\":\"^0.5.9\",\"webpack\":\"^5.70.0\",\"webpack-cli\":\"^4.9.2\",\"webpack-node-externals\":\"^3.0.0\"},\"dependencies\":{\"cross-fetch\":\"^3.1.5\",\"is-bundling-for-browser-or-node\":\"^1.1.1\"},\"description\":\"MagicFeedbackAI JavaScript Library for [MagicFeedback.io](https://magicfeedback.io/)\",\"bugs\":{\"url\":\"https://github.com/MagicFeedback/magicfeedback-sdk/issues\"},\"homepage\":\"https://github.com/MagicFeedback/magicfeedback-sdk#readme\",\"directories\":{\"example\":\"examples\",\"test\":\"test\"},\"style\":\"./dist/styles/magicfeedback-default.css\"}')}},t={},function i(n){var a=t[n];if(void 0!==a)return a.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,i),s.exports}(156).default;var e,t}));","export { DeepdotsPopups } from './core/deepdots-popups';\nexport type {\n DeepdotsConfig,\n TriggerConfig,\n ShowOptions,\n DeepdotsEvent,\n DeepdotsEventType,\n EventListener,\n} from './types';\n","import {DeepdotsEventType, PopupActions, FormData} from '../types';\nimport magicfeedback from \"@magicfeedback/native\";\n\n// Inserta la hoja de estilos de MagicFeedback directamente en el popup para garantizar estilos incluso si el bundler no la inyecta globalmente.\nfunction ensureMagicFeedbackStyles(popup: HTMLElement) {\n const DATA_ATTR = 'data-magicfeedback-css';\n // Evitar duplicar si ya existe en el documento (head) o dentro del popup\n if (document.querySelector(`link[${DATA_ATTR}]`) || popup.querySelector(`link[${DATA_ATTR}]`)) {\n return;\n }\n const link = document.createElement('link');\n link.rel = 'stylesheet';\n link.href = 'https://cdn.jsdelivr.net/npm/@magicfeedback/popup-sdk/dist/assets/style.css';\n link.setAttribute(DATA_ATTR, 'true');\n // Colocar al inicio del popup para cargar primero los estilos específicos\n popup.appendChild(link);\n}\n\n// Añade estilos de spinner si no existen\nfunction ensureSpinnerStyles(popup: HTMLElement) {\n if (document.getElementById('deepdots-spinner-styles')) return;\n const style = document.createElement('style');\n style.id = 'deepdots-spinner-styles';\n style.textContent = `\n @keyframes ddspin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }\n .mf-spinner { display:flex; justify-content:center; align-items:center; padding:8px 0; }\n .mf-spinner-circle { width:28px; height:28px; border:3px solid #e0e6ed; border-top-color:#1E293B; border-radius:50%; animation: ddspin 0.9s linear infinite; }\n `;\n popup.appendChild(style);\n}\n\nfunction ensureResponsiveStyles(popup: HTMLElement) {\n if (document.getElementById('deepdots-responsive-styles')) return;\n const style = document.createElement('style');\n style.id = 'deepdots-responsive-styles';\n style.textContent = `\n /* Responsive adjustments */\n @media (max-width: 640px) {\n .deepdots-popup {\n width: 100% !important;\n max-width: 100% !important;\n height: 90vh !important;\n max-height: 100vh !important;\n border-radius: 0 !important;\n padding: calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom)) 16px !important;\n box-sizing: border-box;\n }\n .deepdots-popup .mf-spinner-circle { width: 32px; height: 32px; border-width: 4px; }\n .deepdots-popup button { font-size: 16px !important; }\n .deepdots-popup-header button { width:48px; height:48px; }\n .deepdots-popup-header button svg { width:26px; height:26px; }\n .deepdots-popup-footer { flex-direction: column-reverse !important; gap: 12px !important; }\n .deepdots-popup-footer button { width: 100%; }\n }\n @media (max-width: 400px) {\n .deepdots-popup { padding: calc(12px + env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom)) 12px !important; }\n .deepdots-popup-header button { width:48px; height:48px; }\n .deepdots-popup-header button svg { width:26px; height:26px; }\n }\n @media (orientation: landscape) and (max-height: 480px) {\n .deepdots-popup {\n height: 100vh !important;\n max-height: 100vh !important;\n overflow-y: auto !important;\n }\n }\n `;\n popup.appendChild(style);\n}\n\n/**\n * Renderiza el popup dentro del contenedor dado usando MagicFeedback para la encuesta.\n */\nexport async function renderPopup(\n container: HTMLElement,\n surveyId: string,\n productId: string,\n actions: PopupActions | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n): Promise<void> {\n let surveyCompletedEmitted = false;\n let stylesInjected = false;\n // Crear popup base\n const popup = document.createElement('div');\n popup.className = 'deepdots-popup';\n popup.style.cssText = `\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n background: #fff;\n border-radius: 8px;\n padding: 24px;\n box-shadow: 0 4px 6px rgba(0,0,0,0.1);\n max-width: 600px;\n width: 90%;\n min-height: 200px;\n `;\n\n // Sección header (solo botón cerrar)\n const header = document.createElement('div');\n header.className = 'deepdots-popup-header';\n header.style.cssText = 'display:flex; justify-content:flex-end; align-items:center; width:100%;';\n\n // Botón de cierre (X)\n const closeBtn = document.createElement('button');\n closeBtn.type = 'button';\n closeBtn.setAttribute('aria-label', 'Close popup');\n closeBtn.innerHTML = `\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path d=\"M6 6L18 18M6 18L18 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n `;\n closeBtn.style.cssText = `\n background:transparent;\n border:none;\n width:32px;\n height:32px;\n display:flex;\n align-items:center;\n justify-content:center;\n border-radius: 8px;\n cursor:pointer;\n color:#111;\n padding:4px;\n transition: color .15s ease, transform .15s ease, background .15s ease;\n box-shadow: none !important;\n `;\n closeBtn.onmouseenter = () => {\n closeBtn.style.color = '#000000';\n closeBtn.style.background = 'rgba(0,0,0,0.06)';\n closeBtn.style.transform = 'scale(1.06)';\n };\n closeBtn.onmouseleave = () => {\n closeBtn.style.color = '#111';\n closeBtn.style.background = 'transparent';\n closeBtn.style.transform = 'scale(1)';\n };\n closeBtn.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'close_icon'});\n onClose();\n };\n header.appendChild(closeBtn);\n\n ensureMagicFeedbackStyles(popup);\n ensureSpinnerStyles(popup);\n ensureResponsiveStyles(popup);\n\n const containerContent = document.createElement('div');\n containerContent.className = 'deepdots-popup-container-conetent';\n containerContent.style.cssText = `\n display:flex; \n flex-direction:column; \n padding: 0 20px 12px 20px;\n max-height: 80vh; /* límite general del popup */\n overflow: hidden; /* quita scroll del contenedor principal */\n`\n\n // Sección principal (main) - Contenedor formulario + spinner\n const main = document.createElement('div');\n main.className = 'deepdots-popup-main';\n main.style.cssText = 'display:flex; flex-direction:column; width:100%; max-height:80vh; overflow-y:auto;';\n\n const formWrapper = document.createElement('div');\n formWrapper.style.cssText = 'width:100%; flex: 1 1 auto;';\n\n const spinnerEl = document.createElement('div');\n spinnerEl.className = 'mf-spinner';\n spinnerEl.setAttribute('role', 'status');\n spinnerEl.setAttribute('aria-label', 'Loading survey');\n spinnerEl.innerHTML = '<div class=\"mf-spinner-circle\"></div>';\n spinnerEl.style.cssText = 'position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);';\n\n const formDivId = `magicfeedback-form-${surveyId}`;\n const formHost = document.createElement('div');\n formHost.id = formDivId;\n formHost.style.cssText = 'width:100%; visibility:hidden;';\n\n formWrapper.appendChild(spinnerEl);\n formWrapper.appendChild(formHost);\n main.appendChild(formWrapper);\n\n // Sección footer (acciones) - botones en extremos\n const footer = document.createElement('div');\n footer.className = 'deepdots-popup-footer';\n footer.setAttribute('data-actions-wrapper', 'true');\n footer.style.cssText = 'display:flex; flex-direction: row-reverse ;justify-content:space-between; align-items:center; gap:8px; margin-top:auto; width:100%; padding-top:16px;';\n\n // Botones\n const backButton = document.createElement('button');\n backButton.textContent = 'Back';\n backButton.style.cssText = `\n background: transparent;\n color: #333;\n border: 1px solid #999;\n padding: 12px 24px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: filter .15s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n `;\n backButton.onmouseenter = () => {\n backButton.style.filter = 'brightness(0.9)';\n }\n backButton.onmouseleave = () => {\n backButton.style.filter = 'brightness(1)';\n }\n backButton.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'back'});\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (formInstance as any)?.back?.();\n };\n\n // Boton start survyes, solo aprece cuando la encuesta empieza con mensaje de inicio\n // Width de 100% para que ocupe todo el espacio disponible\n const startButton = document.createElement('button');\n startButton.textContent = actions?.start ? actions.start.label : 'Start survey';\n startButton.style.cssText = `\n background: #1E293B;\n color: #fff;\n border: none;\n padding: 12px 24px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: filter .15s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n `;\n startButton.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'start_survey'});\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (formInstance as any)?.startForm?.();\n };\n\n // Botón cerrar popup, solo aparece al terminar la encuesta\n // Width de 100% para que ocupe todo el espacio disponible\n const closeButton = document.createElement('button');\n closeButton.textContent = actions?.complete ? actions.complete.label : 'Complete survey';\n closeButton.style.cssText = `\n background: #1E293B;\n color: #fff;\n border: none;\n padding: 12px 24px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: filter .15s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n `;\n closeButton.onmouseenter = () => {\n closeButton.style.filter = 'brightness(0.9)';\n }\n closeButton.onmouseleave = () => {\n closeButton.style.filter = 'brightness(1)';\n }\n closeButton.onclick = () => {\n emit('popup_clicked', surveyId, {action: 'complete'});\n onClose();\n };\n\n // Boton send, si es primera pagina ocupara el espacio completo pero si no estara al lado derecho\n const submitButton = document.createElement('button');\n submitButton.textContent = actions?.accept ? actions.accept.label : 'Send';\n submitButton.style.cssText = `\n background: #1E293B;\n color: #fff;\n border: none;\n padding: 12px 24px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 14px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n transition: filter .15s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n `;\n submitButton.onclick = () => {\n if (!surveyCompletedEmitted) {\n emit('popup_clicked', surveyId, {action: 'manual_send'});\n // Dispara envío nativo si existe\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (formInstance as any)?.send?.();\n }\n };\n\n backButton.style.display = 'none';\n startButton.style.display = 'none';\n submitButton.style.display = 'none';\n closeButton.style.display = 'none';\n\n // Insertar botones dentro del footer en orden visual (row-reverse deja primario a la derecha)\n footer.appendChild(backButton);\n footer.appendChild(closeButton);\n footer.appendChild(submitButton);\n footer.appendChild(startButton);\n\n // Añadir footer al main y main al containerContent\n main.appendChild(footer);\n containerContent.appendChild(main);\n\n // Helper para controlar visibilidad de botones según estado\n type ViewState = 'loading' | 'start' | 'in_progress_first' | 'in_progress_next' | 'completed' | 'error';\n\n function updateButtons(state: ViewState) {\n // Por defecto, ocultar todos\n backButton.style.display = 'none';\n startButton.style.display = 'none';\n submitButton.style.display = 'none';\n closeButton.style.display = 'none';\n // Reset widths por estado\n backButton.style.width = '';\n startButton.style.width = '';\n submitButton.style.width = '';\n closeButton.style.width = '';\n\n switch (state) {\n case 'loading':\n // Footer se ocultará desde setLoading\n break;\n case 'start':\n // Solo botón Start a ancho completo\n startButton.style.display = 'inline-flex';\n startButton.style.width = '100%';\n break;\n case 'in_progress_first':\n // Solo botón Send (lado derecho), ancho auto\n submitButton.style.display = 'inline-flex';\n submitButton.style.width = '';\n setLoading(false);\n break;\n case 'in_progress_next':\n // Mostrar Back (izquierda) + Send (derecha)\n backButton.style.display = 'inline-flex';\n submitButton.style.display = 'inline-flex';\n setLoading(false);\n break;\n case 'completed':\n // Mostrar Close/Complete a ancho completo como acción principal\n closeButton.style.display = 'inline-flex';\n closeButton.style.width = '100%';\n setLoading(false);\n break;\n case 'error':\n // En error, permitir cerrar (ancho auto)\n closeButton.style.display = 'inline-flex';\n setLoading(false);\n break;\n }\n }\n\n // Ensamblar popup\n popup.appendChild(header);\n popup.appendChild(containerContent);\n\n container.innerHTML = '';\n container.appendChild(popup);\n container.style.display = 'flex';\n\n // Gestión dinámica de loading\n function setLoading(isLoading: boolean) {\n spinnerEl.style.display = isLoading ? 'flex' : 'none';\n if (!isLoading) {\n formHost.style.visibility = 'visible';\n }\n // Ocultar totalmente los botones cuando está cargando\n footer.style.display = isLoading ? 'none' : 'flex';\n // Ajustar estados de los botones por si se muestran\n backButton.disabled = isLoading;\n startButton.disabled = isLoading;\n closeButton.disabled = isLoading;\n submitButton.disabled = isLoading;\n submitButton.style.opacity = isLoading ? '0.6' : '1';\n submitButton.style.cursor = isLoading ? 'not-allowed' : 'pointer';\n // No sobrescribir el estado de botones al finalizar la carga.\n if (isLoading) {\n updateButtons('loading');\n }\n }\n\n // Estado inicial\n setLoading(true);\n\n // Entorno navegador\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n // Referencia instancia formulario\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let formInstance: any = null;\n\n try {\n if (!magicfeedback || typeof magicfeedback.form !== 'function') {\n console.warn('[MagicFeedback] form() no disponible. Fallback manual.');\n setLoading(false);\n return;\n }\n magicfeedback.init({debug: true, env: 'prod'});\n formInstance = magicfeedback.form(surveyId, productId);\n\n interface TypedGenerateOptions {\n addButton: boolean;\n getMetaData: boolean;\n onLoadedEvent?: (args: {\n formData: FormData,\n progress?: number, total?: number\n }) => void;\n beforeSubmitEvent?: () => void;\n afterSubmitEvent?: (args: { error?: string, completed: boolean, progress: number, total: number }) => void;\n onBackEvent?: (args: { error?: string, progress: number, total: number, followup: boolean }) => void;\n }\n\n const generateOptions: TypedGenerateOptions = {\n addButton: false,\n getMetaData: true,\n };\n generateOptions.onLoadedEvent = ({formData, progress}) => {\n // Calcular altura disponible y aplicarla al main (restando header + footer + paddings)\n try {\n /*\n const headerHeight = header.getBoundingClientRect().height;\n const footerHeight = footer.getBoundingClientRect().height;\n const paddingY = 48; // 24px top + 24px bottom\n const viewportLimit = window.innerHeight * 0.8; // coincide con max-height del popup\n const available = viewportLimit - headerHeight - footerHeight - paddingY;\n if (available > 120) { // asegurar un mínimo razonable\n main.style.maxHeight = available + 'px';\n } */\n } catch (e) {\n // silencioso\n }\n // Personalización del popup basada en formData.style\n const s = formData?.style;\n if (s && !stylesInjected) {\n stylesInjected = true;\n // Fondo del contenedor popup\n if (s.boxBackgroundColor) {\n popup.style.background = s.boxBackgroundColor;\n }\n // Alineación del contenido principal\n if (s.contentAlign) {\n // 'top' => start, 'center' => center\n main.style.justifyContent = s.contentAlign === 'center' ? 'center' : 'flex-start';\n }\n // Botón primario (submit, start)\n if (s.buttonPrimaryColor) {\n submitButton.style.background = s.buttonPrimaryColor;\n submitButton.style.border = 'none';\n submitButton.style.color = '#fff';\n\n startButton.style.background = s.buttonPrimaryColor;\n startButton.style.border = 'none';\n startButton.style.color = '#fff';\n\n closeButton.style.background = s.buttonPrimaryColor;\n closeButton.style.border = 'none';\n closeButton.style.color = '#fff';\n }\n // Botón secundario (back)\n if (s.buttonSecondaryColor) {\n\n backButton.style.color = '#fff';\n backButton.style.border = `1px solid ${s.buttonSecondaryColor}`;\n }\n if (s.logo) {\n if (!document.getElementById('deepdots-popup-logo')) {\n // Insertar logo si existe\n const logoImg = document.createElement('img');\n logoImg.id = 'deepdots-popup-logo';\n logoImg.src = s.logo;\n logoImg.alt = 'Logo';\n logoImg.style.cssText = 'max-height:40px; max-width:100%; object-fit:contain;';\n if (s.logoSize) {\n switch (s.logoSize) {\n case 'small':\n logoImg.style.maxHeight = '30px';\n break;\n case 'medium':\n logoImg.style.maxHeight = '50px';\n break;\n case 'large':\n logoImg.style.maxHeight = '70px';\n break;\n }\n }\n if (s.logoPosition) {\n switch (s.logoPosition) {\n case 'left':\n logoImg.style.margin = '0 16px 42px 0';\n logoImg.style.display = 'block';\n logoImg.style.marginLeft = '0';\n break;\n case 'right':\n logoImg.style.margin = '0 0 42px 16px';\n logoImg.style.display = 'block';\n logoImg.style.marginLeft = 'auto';\n break;\n case 'center':\n logoImg.style.margin = '0 auto 42px auto';\n logoImg.style.display = 'block';\n break;\n }\n }\n // Insertar antes del main si no existe ya\n containerContent.insertBefore(logoImg, main);\n }\n }\n\n if (s.startMessage && s.startMessage !== '') {\n // Si hay mensaje de inicio, mostrar botón Start inicialmente\n console.log(s.startMessage);\n updateButtons('start');\n } else {\n // Si no hay mensaje de inicio, mostrar estado de primera página (solo Send)\n updateButtons('in_progress_first');\n }\n } else {\n // Sin estilos, asumir primera página normal\n updateButtons('in_progress_first');\n }\n\n emit('popup_clicked', surveyId, {action: 'loaded'});\n setLoading(false); // hace visible el formulario y oculta el spinner\n };\n generateOptions.beforeSubmitEvent = () => {\n setLoading(true);\n emit('popup_clicked', surveyId, {action: 'before_submit'});\n };\n generateOptions.afterSubmitEvent = ({error, completed, total, progress}) => {\n // setLoading(false);\n if (error) {\n emit('popup_clicked', surveyId, {action: 'submit_error', error});\n updateButtons('error');\n return;\n }\n if (completed) {\n emit('survey_completed', surveyId, {action: 'completed'});\n surveyCompletedEmitted = true;\n updateButtons('completed');\n // El botón close permitirá cerrar manualmente\n return;\n }\n // Control de multi-página: si total > 1 y progress < total estamos en páginas siguientes\n if (total > 1 && progress > 0 && progress < total) {\n updateButtons('in_progress_next');\n } else {\n updateButtons('in_progress_first');\n }\n };\n generateOptions.onBackEvent = ({progress}) => {\n emit('popup_clicked', surveyId, {action: 'back'});\n // Si volvemos a la primera página, ocultar Back\n if (progress === 0) {\n updateButtons('in_progress_first');\n } else {\n updateButtons('in_progress_next');\n }\n };\n\n // Ejecutar generación con opciones tipadas\n formInstance.generate(formDivId, generateOptions)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .catch((err: any) => {\n console.error('[MagicFeedback] Error generating form:', err);\n setLoading(false);\n });\n } catch (e) {\n console.error('[MagicFeedback] Exception initializing form:', e);\n setLoading(false);\n }\n}","import type { TriggerConfig } from '../types';\nimport type { DeepdotsPopups } from '../core/deepdots-popups';\n\nexport function setupTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n switch (trigger.type) {\n case 'time':\n setupTimeTrigger(popups, trigger);\n break;\n case 'scroll':\n setupScrollTrigger(popups, trigger);\n break;\n case 'exit':\n setupExitTrigger(popups, trigger);\n break;\n }\n}\n\nfunction setupTimeTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n const delay = trigger.value || 5000;\n setTimeout(() => {\n popups.triggerSurvey(trigger.surveyId);\n }, delay);\n popups.debug(`Time trigger set for ${delay}ms`);\n}\n\nfunction setupScrollTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n const threshold = trigger.value || 50;\n const handler = () => {\n const scrollPercentage = (window.scrollY / (document.documentElement.scrollHeight - window.innerHeight)) * 100;\n if (scrollPercentage >= threshold) {\n popups.triggerSurvey(trigger.surveyId);\n window.removeEventListener('scroll', handler);\n }\n };\n window.addEventListener('scroll', handler);\n popups.debug(`Scroll trigger set for ${threshold}%`);\n}\n\nfunction setupExitTrigger(popups: DeepdotsPopups, trigger: TriggerConfig): void {\n const handler = (e: MouseEvent) => {\n if (e.clientY <= 0) {\n popups.triggerSurvey(trigger.surveyId);\n document.removeEventListener('mouseout', handler);\n }\n };\n document.addEventListener('mouseout', handler);\n popups.debug('Exit intent trigger set');\n}\n","import {DeepdotsConfig, DeepdotsInitParams} from '../types';\n\n/** Variables específicas por entorno derivadas de nodeEnv */\nexport interface EnvironmentVariables {\n apiBaseUrl: string;\n}\n\nconst ENVIRONMENT_MAP: Record<\"development\" | \"production\", EnvironmentVariables> = {\n development: {\n apiBaseUrl: 'https://api-dev.magicfeedback.com',\n },\n production: {\n apiBaseUrl: 'https://api.magicfeedback.com',\n },\n};\n\n/** Resuelve las variables para el entorno indicado */\nexport function resolveEnvironment(nodeEnv: DeepdotsInitParams['nodeEnv']): EnvironmentVariables {\n return ENVIRONMENT_MAP[nodeEnv || 'production'];\n}\n\n","import type { DeepdotsEventType } from '../types';\nimport type { PopupRenderer } from './renderer';\n\n/**\n * Stub de renderer para React Native.\n * NOTA: Este archivo es sólo un ejemplo y NO renderiza UI real.\n * En una app RN se debería conectar con un Context, NativeModule o bridge para mostrar un Modal.\n */\nexport class ReactNativePopupRenderer implements PopupRenderer {\n private mounted = false;\n private lastSurveyId: string | null = null;\n private emitFn: ((type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void) | null = null;\n private onCloseFn: (() => void) | null = null;\n private completed = false;\n\n init(): void {\n // Preparar cualquier estado / registro de listeners nativos.\n // Aquí se podría inicializar un NativeModule o store global.\n // No hace nada en el stub.\n }\n\n show(\n surveyId: string,\n productId: string,\n data: Record<string, unknown> | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n ): void {\n this.mounted = true;\n this.lastSurveyId = surveyId;\n this.emitFn = emit;\n this.onCloseFn = onClose;\n this.completed = false;\n // Simula primera interacción / aparición\n queueMicrotask(() => emit('popup_clicked', surveyId, data));\n console.log('[ReactNativePopupRenderer] (stub) show survey:', { surveyId, productId, data });\n }\n\n /** Completar la encuesta desde la capa nativa */\n public completeSurvey(data?: Record<string, unknown>): void {\n if (!this.mounted || this.completed || !this.lastSurveyId || !this.emitFn) return;\n this.completed = true;\n this.emitFn('survey_completed', this.lastSurveyId, data);\n // cerrar popup\n this.onCloseFn?.();\n this.mounted = false;\n console.log('[ReactNativePopupRenderer] (stub) survey completed:', { surveyId: this.lastSurveyId, data });\n this.lastSurveyId = null;\n }\n\n hide(): void {\n if (!this.mounted) return;\n this.mounted = false;\n console.log('[ReactNativePopupRenderer] (stub) hide survey:', this.lastSurveyId);\n this.lastSurveyId = null;\n }\n}\n\n/**\n * Detección simple de entorno React Native.\n * navigator.product === 'ReactNative' suele estar presente.\n */\nexport function isReactNativeEnv(): boolean {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return typeof navigator !== 'undefined' && (navigator as any).product === 'ReactNative';\n}\n\n/** Factoría opcional para crear renderer RN si detectado */\nexport function createReactNativeRenderer(): PopupRenderer {\n return new ReactNativePopupRenderer();\n}\n","import {DeepdotsEventType, PopupActions} from '../types';\nimport { renderPopup } from '../ui/renderPopup';\nimport { isReactNativeEnv, createReactNativeRenderer } from './react-native-renderer';\n\nexport interface PopupRenderer {\n /** Preparar recursos si aplica */\n init?(): void;\n /** Mostrar popup */\n show(\n surveyId: string,\n productId: string,\n actions: PopupActions | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n ): void;\n /** Ocultar popup */\n hide(): void;\n}\n\n/** Renderer que no hace nada (SSR / entornos sin DOM) */\nexport class NoopPopupRenderer implements PopupRenderer {\n show(): void { /* no-op */ }\n hide(): void { /* no-op */ }\n}\n\n/** Renderer para navegadores usando la implementación actual basada en renderPopup */\nexport class BrowserPopupRenderer implements PopupRenderer {\n private container: HTMLElement | null = null;\n\n init(): void {\n if (typeof document === 'undefined') return;\n if (!this.container) {\n this.container = document.createElement('div');\n this.container.id = 'deepdots-popup-container';\n this.container.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: none;\n z-index: 999999;\n background: rgba(0, 0, 0, 0.5);\n justify-content: center;\n align-items: center;\n `;\n document.body.appendChild(this.container);\n }\n }\n\n show(\n surveyId: string,\n productId: string,\n actions: PopupActions | undefined,\n emit: (type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>) => void,\n onClose: () => void\n ): void {\n if (!this.container) this.init();\n if (!this.container) return; // aún sin DOM\n renderPopup(this.container, surveyId, productId, actions, emit, onClose);\n }\n\n hide(): void {\n if (this.container) {\n this.container.style.display = 'none';\n this.container.innerHTML = '';\n }\n }\n}\n\n/** Factoría para obtener renderer por defecto */\nexport function createDefaultRenderer(): PopupRenderer {\n if (typeof document === 'undefined') {\n // Entorno sin DOM: probar RN primero\n if (isReactNativeEnv()) return createReactNativeRenderer();\n return new NoopPopupRenderer();\n }\n // Si estamos en React Native y hay WebView con document emulado, aún queremos RN renderer\n if (isReactNativeEnv()) return createReactNativeRenderer();\n return new BrowserPopupRenderer();\n}\n","import {\n DeepdotsConfig,\n TriggerConfig,\n DeepdotsEvent,\n DeepdotsEventType,\n EventListener, DeepdotsInitParams, PopupDefinition, PopupTriggerCondition, PopupActions\n} from '../types';\nimport {renderPopup} from '../ui/renderPopup';\nimport {setupTrigger} from '../triggers';\nimport {resolveEnvironment} from '../config/env';\nimport { PopupRenderer, createDefaultRenderer } from '../platform/renderer';\n\n/**\n * Main class for managing survey popups\n */\nexport class DeepdotsPopups {\n private config: DeepdotsConfig | null = null;\n private listeners: Map<DeepdotsEventType, Set<EventListener>> = new Map();\n private triggers: TriggerConfig[] = [];\n private initialized = false;\n private renderer: PopupRenderer = createDefaultRenderer();\n private popupContainer: HTMLElement | null = null; // deprecated: mantenido para compatibilidad interna\n private popupDefinitions: PopupDefinition[] = [];\n private popupsLoaded = false;\n private pendingAutoLaunch = false;\n\n private answeredSurveys: Set<string> = new Set();\n private lastShown: Map<string, number> = new Map(); // popupId -> timestamp mostrado\n\n /** Initialize the SDK with configuration */\n init(config: DeepdotsInitParams): void {\n if (this.initialized) {\n this.log('SDK already initialized');\n return;\n }\n\n const env = resolveEnvironment(config.nodeEnv);\n\n this.config = {\n apiKey: config.apiKey || undefined,\n baseUrl: env.apiBaseUrl,\n mode: config.mode || 'client',\n debug: config.debug || false,\n popups: config.popups || [],\n } as DeepdotsConfig;\n\n this.initialized = true;\n this.log('SDK initialized', this.config);\n // sustituimos setupPopupContainer por init del renderer\n if (this.renderer.init) this.renderer.init();\n this.setupPopupContainer(); // mantener por ahora para tests que acceden directamente al DOM\n\n // Carga de popups según modo\n if (this.config.mode === 'client') {\n this.popupDefinitions = this.config.popups || [];\n this.popupsLoaded = true;\n this.configureTriggersFromDefinitions();\n } else {\n // Modo server: simulamos fetch\n this.fetchPopupsFromServer().then(defs => {\n this.popupDefinitions = defs;\n this.popupsLoaded = true;\n this.log('Popups loaded from server (fake)', defs);\n this.configureTriggersFromDefinitions();\n if (this.pendingAutoLaunch) {\n this.startTriggers();\n }\n });\n }\n }\n\n /** Enable auto-launch functionality with configured triggers */\n autoLaunch(): void {\n if (!this.initialized) {\n throw new Error('SDK not initialized. Call init() first.');\n }\n if (!this.popupsLoaded) {\n this.pendingAutoLaunch = true;\n this.log('Auto-launch deferred until popups are loaded');\n return;\n }\n this.startTriggers();\n }\n\n /** Inicia los triggers configurados */\n private startTriggers(): void {\n this.log('Auto-launch enabled');\n this.triggers.forEach((trigger) => setupTrigger(this, trigger));\n }\n\n /** Show a popup immediately (supports legacy ShowOptions and new PopupDefinition) */\n show(options: PopupDefinition | { surveyId: string; productId: string; data?: Record<string, unknown> }): void {\n console.log('Show popup called with options:', options);\n if (!this.initialized) {\n throw new Error('SDK not initialized. Call init() first.');\n }\n // Detectar tipo\n const isDefinition = (options as PopupDefinition).id !== undefined;\n if (isDefinition) {\n const def = options as PopupDefinition;\n this.log('Showing popup (definition)', def);\n this.renderPopup(def.surveyId, def.productId, def.actions);\n this.emitEvent('popup_shown', def.surveyId);\n } else {\n const opt = options as { surveyId: string; productId: string; data?: Record<string, unknown> };\n this.log('Showing popup (legacy options)', opt);\n this.renderPopup(opt.surveyId, opt.productId, undefined);\n this.emitEvent('popup_shown', opt.surveyId);\n }\n }\n\n /** Mostrar popup por id de definición (usa surveyId interno) */\n showByPopupId(popupId: string): void {\n const def = this.popupDefinitions.find(p => p.id === popupId);\n if (!def) {\n this.log('Popup definition not found', popupId);\n return;\n }\n this.show(def);\n }\n\n /** Configure triggers for auto-launching popups (manual) */\n configureTriggers(triggers: TriggerConfig[]): void {\n if (!this.initialized) {\n throw new Error('SDK not initialized. Call init() first.');\n }\n this.triggers = triggers;\n this.log('Triggers configured', triggers);\n }\n\n /** Deriva triggers desde las definiciones de popup */\n private configureTriggersFromDefinitions(): void {\n const derived: TriggerConfig[] = [];\n const validDefs = this.validatePopupDefinitions(this.popupDefinitions);\n validDefs.forEach(def => {\n if (!def.trigger) return;\n const t = def.trigger;\n let type: TriggerConfig['type'];\n switch (t.type) {\n case 'time_on_page':\n type = 'time';\n break;\n case 'scroll':\n type = 'scroll';\n break;\n case 'exit':\n type = 'exit';\n break;\n default:\n this.debug('Unsupported trigger type', t.type);\n return;\n }\n const value = type === 'time' ? (t.value * 1000) : t.value;\n derived.push({ type, value, surveyId: def.surveyId });\n });\n if (derived.length) {\n this.configureTriggers(derived);\n }\n }\n\n /** Lógica para evaluar condiciones antes de mostrar una encuesta */\n triggerSurvey(surveyId: string): void {\n // Encontrar popup por surveyId\n const def = this.popupDefinitions.find(p => p.surveyId === surveyId);\n if (!def) {\n this.debug('No popup definition for surveyId', surveyId);\n return;\n }\n if (!this.shouldShow(def)) {\n this.debug('Conditions prevented showing popup', def.id);\n return;\n }\n this.show(def);\n this.lastShown.set(def.id, Date.now());\n }\n\n private shouldShow(def: PopupDefinition): boolean {\n // Evaluar condiciones del trigger\n const conditions = def.trigger.condition || [];\n if (!conditions.length) return true;\n return conditions.every(c => this.evaluateCondition(def, c));\n }\n\n private evaluateCondition(def: PopupDefinition, condition: PopupTriggerCondition): boolean {\n if (!condition.answered && this.answeredSurveys.has(def.surveyId)) {\n return false;\n }\n // cooldownDays: no mostrar si se mostró hace menos de cooldownDays días\n if (condition.cooldownDays) {\n const last = this.lastShown.get(def.id);\n if (last) {\n const msSince = Date.now() - last;\n const required = condition.cooldownDays * 24 * 60 * 60 * 1000;\n if (msSince < required) return false;\n }\n }\n return true;\n }\n\n /** Marcar encuesta como contestada externamente */\n public markSurveyAnswered(surveyId: string): void {\n this.answeredSurveys.add(surveyId);\n }\n\n /** Simula fetch al servidor para obtener popups */\n private async fetchPopupsFromServer(): Promise<PopupDefinition[]> {\n // Simulación: red 50ms\n await new Promise(res => setTimeout(res, 50));\n return this.generateFakePopups();\n }\n\n /** Genera datos fake para pruebas en modo server */\n private generateFakePopups(): PopupDefinition[] {\n return [\n {\n id: 'popup-123',\n title: 'Would you like to help us improve?',\n message: '<p>Take a quick survey and share your thoughts.</p>',\n trigger: { type: 'time_on_page', value: 1, condition: [{ answered: false, cooldownDays: 7 }] },\n actions: {\n accept: { label: 'Take Survey', surveyId: 'survey-abc' },\n decline: { label: 'Not Now', cooldownDays: 7 }\n },\n surveyId: 'survey-abc',\n productId: 'product-xyz',\n style: { theme: 'light', position: 'bottom-right', imageUrl: null },\n segments: { lang: ['en'], path: ['/checkout'] }\n }\n ];\n }\n\n /** Add an event listener */\n on(eventType: DeepdotsEventType, listener: EventListener): void {\n if (!this.listeners.has(eventType)) {\n this.listeners.set(eventType, new Set());\n }\n this.listeners.get(eventType)!.add(listener);\n }\n\n /** Remove an event listener */\n off(eventType: DeepdotsEventType, listener: EventListener): void {\n const listeners = this.listeners.get(eventType);\n if (listeners) {\n listeners.delete(listener);\n }\n }\n\n /** Setup popup container element */\n private setupPopupContainer(): void {\n if (typeof document === 'undefined') {\n return;\n }\n this.popupContainer = document.createElement('div');\n this.popupContainer.id = 'deepdots-popup-container';\n this.popupContainer.style.cssText = `\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n display: none;\n z-index: 999999;\n background: rgba(0, 0, 0, 0.5);\n justify-content: center;\n align-items: center;\n `;\n document.body.appendChild(this.popupContainer);\n }\n\n /** Render the popup UI */\n private renderPopup(surveyId: string, productId: string, actions?: PopupActions): void {\n // Nuevo camino: usar renderer\n if (this.renderer) {\n this.renderer.show(surveyId, productId, actions, (type, id, payload) => this.emitEvent(type, id, payload), () => this.hidePopup());\n return;\n }\n // Fallback legacy\n if (!this.popupContainer) return;\n renderPopup(this.popupContainer, surveyId,productId, actions, (type, id, payload) => this.emitEvent(type, id, payload), () => this.hidePopup());\n }\n\n /** Hide the popup */\n private hidePopup(): void {\n if (this.renderer) {\n this.renderer.hide();\n return;\n }\n if (this.popupContainer) {\n this.popupContainer.style.display = 'none';\n this.popupContainer.innerHTML = '';\n }\n }\n\n /** Emit an event */\n private emitEvent(type: DeepdotsEventType, surveyId: string, data?: Record<string, unknown>): void {\n const event: DeepdotsEvent = {type, surveyId, timestamp: Date.now(), data};\n this.log('Event emitted', event);\n if (type === 'survey_completed') {\n this.markSurveyAnswered(surveyId);\n }\n const listeners = this.listeners.get(type);\n if (listeners) {\n listeners.forEach((listener) => {\n try {\n listener(event);\n } catch (error) {\n console.error('Error in event listener:', error);\n }\n });\n }\n }\n\n /** Log debug messages */\n private log(...args: unknown[]): void {\n if (this.config?.debug) {\n console.log('[DeepdotsPopups]', ...args);\n }\n }\n\n /** External debug method for triggers */\n public debug(...args: unknown[]): void {\n this.log(...args);\n }\n\n /** Set a custom renderer */\n public setRenderer(renderer: PopupRenderer): void {\n this.renderer = renderer;\n if (this.initialized && this.renderer.init) {\n this.renderer.init();\n }\n }\n\n // Type guards\n private isPopupDefinition(value: unknown): value is PopupDefinition {\n if (typeof value !== 'object' || value === null) return false;\n const v = value as Partial<PopupDefinition>;\n return typeof v.id === 'string' && typeof v.title === 'string' && typeof v.message === 'string' && typeof v.surveyId === 'string' && typeof v.productId === 'string' && !!v.trigger; // removed redundant typeof v.trigger.type\n }\n\n private validatePopupDefinitions(defs: unknown[]): PopupDefinition[] {\n return defs.filter(d => this.isPopupDefinition(d)) as PopupDefinition[];\n }\n}\n"],"mappings":"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","names":["module","e","t","i","n","a","s","r","o","l","d","c","u","p","h","m","f","g","magicfeedback"]}
|