pushfeedback 0.0.8 → 0.0.9
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/cjs/feedback-button_2.cjs.entry.js +1049 -1
- package/dist/cjs/index-d5ac8167.js +1469 -1
- package/dist/cjs/index.cjs.js +2 -1
- package/dist/cjs/loader.cjs.js +22 -1
- package/dist/cjs/pushfeedback.cjs.js +23 -1
- package/dist/collection/components/feedback-button/feedback-button.js +343 -1
- package/dist/collection/components/feedback-modal/feedback-modal.js +529 -1
- package/dist/collection/index.js +1 -1
- package/dist/components/feedback-button.js +104 -1
- package/dist/components/feedback-modal.js +6 -1
- package/dist/components/feedback-modal2.js +1023 -1
- package/dist/components/index.js +3 -1
- package/dist/esm/feedback-button_2.entry.js +1044 -1
- package/dist/esm/index-74109694.js +1441 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +18 -1
- package/dist/esm/polyfills/core-js.js +11 -1
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/polyfills/dom.js +79 -1
- package/dist/esm/polyfills/es5-html-element.js +1 -1
- package/dist/esm/polyfills/index.js +34 -1
- package/dist/esm/polyfills/system.js +6 -1
- package/dist/esm/pushfeedback.js +18 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.js +1 -1
- package/dist/pushfeedback/p-09647793.entry.js +1 -0
- package/dist/pushfeedback/p-38d135e1.js +2 -1
- package/dist/pushfeedback/pushfeedback.esm.js +1 -1
- package/package.json +2 -2
- package/dist/pushfeedback/p-9ac3c49b.entry.js +0 -1
|
@@ -1 +1,1049 @@
|
|
|
1
|
-
'use strict';var _0x253a64=_0x24c7;(function(_0x2b6175,_0x536d82){var _0x11f016=_0x24c7,_0x59438b=_0x2b6175();while(!![]){try{var _0x2d10c2=-parseInt(_0x11f016(0x2de))/0x1*(-parseInt(_0x11f016(0x1db))/0x2)+-parseInt(_0x11f016(0x266))/0x3+-parseInt(_0x11f016(0x364))/0x4*(-parseInt(_0x11f016(0x241))/0x5)+parseInt(_0x11f016(0x194))/0x6+parseInt(_0x11f016(0x317))/0x7+parseInt(_0x11f016(0x270))/0x8+-parseInt(_0x11f016(0x230))/0x9;if(_0x2d10c2===_0x536d82)break;else _0x59438b['push'](_0x59438b['shift']());}catch(_0x33b7d4){_0x59438b['push'](_0x59438b['shift']());}}}(_0x2c19,0x6b4f6));Object[_0x253a64(0x2e4)](exports,'__esModule',{'value':!![]});const index=require(_0x253a64(0x154)),feedbackButtonCss=_0x253a64(0x330),FeedbackButton=class{constructor(_0x48f326){var _0x4ee949=_0x253a64,_0x5b3f59={'AzZmX':_0x4ee949(0x171),'YtGUU':_0x4ee949(0x366),'JWBxP':_0x4ee949(0x21a),'eOhVE':_0x4ee949(0x35f),'yAlKr':_0x4ee949(0x1c3),'pJepU':_0x4ee949(0x36b),'DVVdr':_0x4ee949(0x17f),'bKBix':_0x4ee949(0x1b5)},_0x33757c='0|14|9|4|5|10|1|8|12|2|13|15|11|7|3|6'[_0x4ee949(0x2d0)]('|'),_0x4dd3d1=0x0;while(!![]){switch(_0x33757c[_0x4dd3d1++]){case'0':index[_0x4ee949(0x29d)](this,_0x48f326);continue;case'1':this[_0x4ee949(0x1d2)]='';continue;case'2':this[_0x4ee949(0x19e)]='';continue;case'3':this[_0x4ee949(0x1ac)]=![];continue;case'4':this[_0x4ee949(0x369)]=_0x4ee949(0x1f4);continue;case'5':this[_0x4ee949(0x290)]=_0x5b3f59['AzZmX'];continue;case'6':this[_0x4ee949(0x299)]=![];continue;case'7':this['buttonPosition']=_0x4ee949(0x35f);continue;case'8':this[_0x4ee949(0x280)]=_0x4ee949(0x29f);continue;case'9':this[_0x4ee949(0x33c)]=_0x5b3f59[_0x4ee949(0x355)];continue;case'10':this[_0x4ee949(0x1ba)]=_0x5b3f59[_0x4ee949(0x1f9)];continue;case'11':this[_0x4ee949(0x252)]=_0x5b3f59['eOhVE'];continue;case'12':this['screenshotTopbarText']=_0x5b3f59[_0x4ee949(0x1a1)];continue;case'13':this[_0x4ee949(0x20a)]=_0x5b3f59[_0x4ee949(0x17b)];continue;case'14':this[_0x4ee949(0x197)]=_0x5b3f59['DVVdr'];continue;case'15':this[_0x4ee949(0x2af)]=_0x5b3f59[_0x4ee949(0x321)];continue;}break;}}['connectedCallback'](){var _0x3143ee=_0x253a64,_0x18ee8d={'KlvcR':_0x3143ee(0x2dc),'KUJaE':_0x3143ee(0x290),'czlOD':'project','SLyVr':_0x3143ee(0x280),'ngrIh':_0x3143ee(0x209),'RrnMu':_0x3143ee(0x20a),'LuNic':_0x3143ee(0x2af),'SPIKd':_0x3143ee(0x299)};this[_0x3143ee(0x224)]=document[_0x3143ee(0x2d4)](_0x18ee8d[_0x3143ee(0x26a)]);const _0x5e5e32=['modalTitle',_0x3143ee(0x33c),_0x3143ee(0x369),_0x18ee8d[_0x3143ee(0x226)],_0x3143ee(0x1ba),_0x18ee8d[_0x3143ee(0x343)],_0x18ee8d[_0x3143ee(0x205)],_0x18ee8d[_0x3143ee(0x2bb)],_0x3143ee(0x19e),_0x18ee8d[_0x3143ee(0x37e)],_0x18ee8d[_0x3143ee(0x186)],_0x18ee8d[_0x3143ee(0x1ec)]];_0x5e5e32[_0x3143ee(0x339)](_0x3d6167=>{var _0x36a04a=_0x3143ee;this[_0x36a04a(0x224)][_0x3d6167]=this[_0x3d6167];}),document[_0x3143ee(0x2f0)]['appendChild'](this[_0x3143ee(0x224)]);}['disconnectedCallback'](){var _0xbc2c7d=_0x253a64;document['body'][_0xbc2c7d(0x297)](this[_0xbc2c7d(0x224)]);}['componentDidLoad'](){var _0x578456=_0x253a64,_0x412bae={'AFHfG':function(_0x183798,_0xf0ffdc){return _0x183798===_0xf0ffdc;},'EFkLX':_0x578456(0x27e),'kHOnp':function(_0x11fe95,_0x1068f3){return _0x11fe95*_0x1068f3;},'sviSK':function(_0x5457b5,_0x1a046c){return _0x5457b5/_0x1a046c;}};if(_0x412bae[_0x578456(0x2e7)](this[_0x578456(0x255)],'center-right')){const _0x329e68=this['el'][_0x578456(0x341)][_0x578456(0x22c)](_0x412bae[_0x578456(0x23d)]);_0x329e68[_0x578456(0x25d)][_0x578456(0x2c6)]=_0x412bae['kHOnp'](_0x412bae[_0x578456(0x199)](_0x329e68['offsetWidth'],0x2),-0x1)+'px';}}['showModal'](){var _0x3a5537=_0x253a64;this[_0x3a5537(0x224)][_0x3a5537(0x16a)]=!![];}['render'](){var _0x2a1fe5=_0x253a64,_0x5acd17={'iNHfJ':_0x2a1fe5(0x215),'oAeZR':'span','QiXUG':_0x2a1fe5(0x2dd),'FnFuW':'http://www.w3.org/2000/svg','sJcRn':_0x2a1fe5(0x169),'mtWja':_0x2a1fe5(0x166),'QfvpH':_0x2a1fe5(0x17e),'xnDKP':_0x2a1fe5(0x170),'VQtfT':_0x2a1fe5(0x1fc),'ovGwg':_0x2a1fe5(0x213),'pQIsO':_0x2a1fe5(0x30d),'ALFnC':_0x2a1fe5(0x2d5),'WexGV':_0x2a1fe5(0x242),'FJZEJ':function(_0x18eeb5,_0x2c9a72){return _0x18eeb5===_0x2c9a72;},'cAQSZ':_0x2a1fe5(0x1f3),'wUXwk':_0x2a1fe5(0x379),'SCspY':'none','YiEZn':_0x2a1fe5(0x26e),'wQlli':_0x2a1fe5(0x159)};return index['h'](index[_0x2a1fe5(0x36d)],null,index['h']('a',{'class':_0x2a1fe5(0x314)+this['buttonStyle']+_0x2a1fe5(0x2cc)+this[_0x2a1fe5(0x255)],'onClick':()=>this[_0x2a1fe5(0x16a)]()},!this['hideIcon']&&this[_0x2a1fe5(0x252)]===_0x5acd17[_0x2a1fe5(0x192)]&&index['h'](_0x5acd17['oAeZR'],{'class':_0x5acd17[_0x2a1fe5(0x315)]},index['h'](_0x2a1fe5(0x379),{'xmlns':_0x5acd17[_0x2a1fe5(0x20d)],'width':'16','height':'16','viewBox':_0x5acd17[_0x2a1fe5(0x1aa)],'fill':_0x2a1fe5(0x254),'stroke':_0x5acd17['mtWja'],'stroke-width':'2','stroke-linecap':_0x5acd17['QfvpH'],'stroke-linejoin':'round','class':_0x5acd17[_0x2a1fe5(0x2cd)]},index['h'](_0x5acd17[_0x2a1fe5(0x1ae)],{'points':'17\x201\x2021\x205\x2017\x209'}),index['h'](_0x5acd17['ovGwg'],{'d':_0x5acd17[_0x2a1fe5(0x1eb)]}),index['h'](_0x5acd17[_0x2a1fe5(0x1ae)],{'points':_0x5acd17[_0x2a1fe5(0x2b9)]}),index['h'](_0x5acd17[_0x2a1fe5(0x2f3)],{'d':_0x5acd17[_0x2a1fe5(0x2c2)]}))),!this[_0x2a1fe5(0x1ac)]&&_0x5acd17[_0x2a1fe5(0x1b3)](this['buttonStyle'],_0x5acd17[_0x2a1fe5(0x245)])&&index['h'](_0x5acd17[_0x2a1fe5(0x15f)],{'class':_0x5acd17[_0x2a1fe5(0x315)]},index['h'](_0x5acd17[_0x2a1fe5(0x32f)],{'xmlns':_0x5acd17[_0x2a1fe5(0x20d)],'width':'16','height':'16','viewBox':_0x5acd17[_0x2a1fe5(0x1aa)],'fill':_0x5acd17[_0x2a1fe5(0x1ca)],'stroke':_0x2a1fe5(0x2d6),'stroke-width':'2','stroke-linecap':_0x5acd17[_0x2a1fe5(0x16e)],'stroke-linejoin':_0x2a1fe5(0x17e),'class':_0x5acd17[_0x2a1fe5(0x2cd)]},index['h'](_0x5acd17[_0x2a1fe5(0x1ae)],{'points':_0x5acd17[_0x2a1fe5(0x306)]}),index['h'](_0x5acd17[_0x2a1fe5(0x2f3)],{'d':_0x5acd17[_0x2a1fe5(0x1eb)]}),index['h'](_0x5acd17[_0x2a1fe5(0x1ae)],{'points':_0x5acd17[_0x2a1fe5(0x2b9)]}),index['h'](_0x2a1fe5(0x213),{'d':_0x5acd17['WexGV']}))),index['h'](_0x5acd17[_0x2a1fe5(0x33f)],null)));}get['el'](){return index['getElement'](this);}};function _0x24c7(_0x421ddb,_0x38384c){var _0x2c19a2=_0x2c19();return _0x24c7=function(_0x24c718,_0x4c3212){_0x24c718=_0x24c718-0x14b;var _0x253c8b=_0x2c19a2[_0x24c718];return _0x253c8b;},_0x24c7(_0x421ddb,_0x38384c);}FeedbackButton['style']=feedbackButtonCss;function createCommonjsModule(_0x4ed6e5,_0x4dbb3d,_0x391bb0){var _0x263020=_0x253a64,_0x39b463={'YMZRK':function(_0x1d5058){return _0x1d5058();},'wAsFX':function(_0x36a49c,_0x1b297f,_0x547d1c){return _0x36a49c(_0x1b297f,_0x547d1c);}};return _0x391bb0={'path':_0x4dbb3d,'exports':{},'require':function(_0x4ee55e,_0x56c0d1){var _0x3e665c=_0x24c7;return _0x39b463[_0x3e665c(0x261)](commonjsRequire);}},_0x39b463[_0x263020(0x374)](_0x4ed6e5,_0x391bb0,_0x391bb0[_0x263020(0x24e)]),_0x391bb0[_0x263020(0x24e)];}function commonjsRequire(){var _0x1d50b6={'yOeam':'Dynamic\x20requires\x20are\x20not\x20currently\x20supported\x20by\x20@rollup/plugin-commonjs'};throw new Error(_0x1d50b6['yOeam']);}function _0x2c19(){var _0x37b8c3=['Oops,\x20something\x20went\x20wrong!','POST','WLYDW','options','MINdU','length','random','pQIsO','SPIKd','DaELk','LLctO','submit','oeQwr','src','resetOverflow','light','Oops!\x20We\x20didn\x27t\x20receive\x20your\x20feedback.\x20Please\x20try\x20again\x20later.','url(#footer-logo)','feedback-modal-screenshot-overlay','GiNTC','feedback-modal-body','JWBxP','cssRules','gNiBS','polyline','gGriT','\x5c$1','dHGSP','HIOJR','ufDnV','EJTJf','tURlr','arWaL','SLyVr','YdsHc','lVuid','asTaG','screenshotTopbarText','emailPlaceholder','canvasToBlob','clientX','FnFuW','MUWah','</foreignObject>','EmjPE','rGgqF','image/tiff','path','inlineAll','dark','modalTitleError','GET','uid','toString','Send','obmbE','defs','airYm','100vh','overlay','createTextNode','\x20active','hsjxG','setProperty','feedbackModal','XrmiZ','KUJaE','getContext','handleMessageInput','onerror','feedback-modal-header','rgba(0,\x200,\x200,\x200.3)','querySelector','delay','NCptd','handleEmailInput','16943931tXVWOq','ZsGoG','DkjGA','implementation','childNodes','ynvKz','getComputedStyle','FqLyK','aYpHz','MrWEd','OVGTC','overflow','itXZL','EFkLX','width','top','fxtBm','159805pqqIzY','M21\x2013v2a4\x204\x200\x200\x201-4\x204H3','kEleH','MlWts','cAQSZ','GIVcR','DHUdq','nPGnJ','MSnjq','xmlns','#ccc','feedback-modal-screenshot-element-selected','handleSubmit','exports',',\x20status:\x20','map','radialGradient','buttonStyle','elementSelected','none','buttonPosition','feedback-modal-screenshot-header','modalTitleError404','http://www.w3.org/2000/svg','position','nUcih','bgcolor','25.871%','style','.text-center{text-align:center;flex-grow:1}.feedback-modal{display:inline-block;position:relative}.feedback-modal-content{background-color:var(--feedback-modal-content-bg-color);border-color:1px\x20solid\x20var(--feedback-modal-header-text-color);border-radius:var(--feedback-modal-content-border-radius);box-shadow:0px\x201px\x202px\x200px\x20rgba(60,\x2064,\x2067,\x20.30),\x200px\x202px\x206px\x202px\x20rgba(60,\x2064,\x2067,\x20.15);box-sizing:border-box;color:var(--feedback-modal-content-text-color);display:flex;flex-direction:column;font-family:var(--feedback-modal-content-font-family);max-width:300px;padding:20px;position:fixed;width:100%;z-index:300;left:50%;top:50%;transform:translate(-50%,\x20-50%)}@media\x20screen\x20and\x20(min-width:\x20768px){.feedback-modal-content.feedback-modal-content--bottom-right{top:initial;left:initial;transform:initial;bottom:var(--feedback-modal-content-position-bottom);right:var(--feedback-modal-content-position-right)}.feedback-modal-content.feedback-modal-content--bottom-left{top:initial;transform:initial;bottom:var(--feedback-modal-content-position-bottom);left:var(--feedback-modal-content-position-left)}.feedback-modal-content.feedback-modal-content--top-right{top:initial;transform:initial;right:var(--feedback-modal-content-position-right);top:var(--fedback-modal-content-position-top)}.feedback-modal-content.feedback-modal-content--top-left{transform:initial;left:var(--feedback-modal-content-position-left);top:var(--fedback-modal-content-position-top)}}.feedback-modal-header{align-items:center;color:var(--feedback-modal-header-text-color);font-family:var(--feedback-modal-header-font-family);display:flex;font-size:var(--feedback-header-font-size);justify-content:space-between;margin-bottom:20px}.feedback-modal-text{margin-bottom:20px}.feedback-modal-text\x20textarea{border:1px\x20solid\x20var(--feedback-modal-input-border-color);border-radius:4px;box-sizing:border-box;font-family:var(--feedback-modal-content-font-family);font-size:var(--feedback-modal-input-font-size);height:100px;padding:10px;resize:none;width:100%}.feedback-modal-email{margin-bottom:20px}.feedback-modal-email\x20input{border:1px\x20solid\x20var(--feedback-modal-input-border-color);border-radius:4px;box-sizing:border-box;font-family:var(--feedback-modal-content-font-family);font-size:var(--feedback-modal-input-font-size);height:40px;padding:10px;width:100%}.feedback-modal-text\x20textarea:focus,.feedback-modal-email\x20input:focus{border:1px\x20solid\x20var(--feedback-modal-input-border-color-focused);outline:none}.feedback-modal-buttons{display:flex;justify-content:space-between}.feedback-modal-buttons.single{justify-content:flex-end}.button{background-color:transparent;border:1px\x20solid\x20var(--feedback-modal-button-border-color);border-radius:var(--feedback-modal-button-border-radius);color:var(--feedback-modal-button-text-color);cursor:pointer;font-size:var(--feedback-modal-button-font-size);padding:5px\x2010px;min-height:20px}.button:hover,.button.active{color:var(--feedback-modal-button-text-color-active);background-color:var(--feedback-modal-button-bg-color-active);border:1px\x20solid\x20var(--feedback-modal-button-border-color-active)}.feedback-modal-footer{font-size:12px;margin-top:5px\x200;text-align:center}.feedback-modal-footer\x20a{color:#191919;text-decoration:none}.feedback-logo{display:flex;align-items:center;justify-content:center;margin-top:5px}.feedback-logo\x20svg{max-width:12px;margin-right:5px}.feedback-modal-close{background-color:var(--feedback-modal-close-bg-color);border:0;border-radius:50%;cursor:pointer;margin-left:auto;padding:0;width:24px;height:24px}.feedback-modal-screenshot{background-color:var(--feedback-modal-screenshot-bg-color);box-shadow:0px\x200px\x200px\x205px\x20var(--feedback-modal-screenshot-element-selected-bg-color)\x20inset;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:100}.feedback-modal-screenshot-header{align-items:center;background-color:var(--feedback-modal-screenshot-header-bg-color);color:var(--feedback-modal-screenshot-element-selected-text-color);cursor:pointer;display:flex;padding:5px;position:fixed;justify-content:center;width:100%;z-index:200}.feedback-modal-screenshot-header\x20span{padding-left:10px;padding-right:10px}.feedback-modal-screenshot-overlay{background-color:transparent;cursor:unset;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:100}.feedback-modal-message{font-size:var(--fedback-modal-message-font-size)}.feedback-modal-element-hover{cursor:pointer;background-color:transparent;border:4px\x20dashed\x20var(--feedback-modal-screenshot-element-hover-border-color)}.feedback-modal-element-selected{border:4px\x20solid\x20var(--feedback-modal-screenshot-element-selected-border-color)}','open','handleMouseOverScreenShot','YMZRK','ioHLm','atob','isDataUrl','hUJpH','1348779xxjqSM','display','location','qHfTm','KlvcR','modalTitleError403','filter','eYtHM','17\x201\x2021\x205\x2017\x209','sAouQ','6262064XuQBne','qJNue','0px','NHBuq','UZSij','innerHTML','yZNSq','bottom-side','iMPBY','piIah','tHJDC','JOqgd','kfLvw','Error\x20while\x20reading\x20CSS\x20rules\x20from\x20','.feedback-button-content','RgEWc','screenshotButtonTooltipText','exec','TUOhW','dWCGX','blob','opbOV','imagePlaceholder','gysNd','UKhzH','qEtIG','value','slice','serializeToString','MAzir','ABEdX','readyState','modalPosition','head','OrkDR','span','OaUny','UcsFQ','handleMouseClickedSelectedElement','removeChild','eQapz','hideScreenshotButton','getPropertyValue','BZKBX','iUlIM','registerInstance','styleSheets','Take\x20a\x20Screenshot','kQRgF','nibCq','getAndEncode','bBtYl','formEmail','mOuPO','impl','GSzmS','formError','cacheBust','image/svg+xml','className','DKbTJ','openScreenShot','UATMh','messagePlaceholder','button','fillRect','left-side','clientY','mGmTF','CZKJi','modalTitleSuccess','vypmV','DDAZG','ALFnC','AyDaV','ngrIh','UOWbZ','HgNXl','error','\x22\x20height=\x22','leftSide','xiGnO','WexGV','timeout','PrZlL','getPropertyPriority','right','content','screenshotModal','single','https://app.pushfeedback.com/api/feedback/','DdoHE','\x20feedback-button-content--','xnDKP','dataAsUrl','lhpJC','split','TgKaN','inline','#338CF5','createElement','7\x2023\x203\x2019\x207\x2015','#0070F4','pageYOffset','Oops!\x20We\x20could\x20not\x20find\x20the\x20provided\x20project\x20id\x20in\x20PushFeedback.','border-bottom-width','rwsXQ','modalContent','feedback-modal','feedback-button-content-icon','183215NrBkKa','application/vnd.ms-fontobject','sJAmH','lDNJd','cPrrP','PzSZS','defineProperty','APKgf','qceIU','AFHfG','vERkn','catch','pow','FoYUD','resolveUrl','jdbTh','2|1|4|3|0','ms\x20occured\x20while\x20fetching\x20resource:\x20','body','LnBsn','toBlob','ovGwg','BzsjW','text-center','WeBUk','bottom','<foreignObject\x20x=\x220\x22\x20y=\x220\x22\x20width=\x22100%\x22\x20height=\x22100%\x22>','#81E6D9','VWoRm','NGHSa','aScLO','zqaUD','brFYE','FWAyf','DCMGx','fCEMS','data:','OAXWp','VTntF','0\x200\x2032\x2032','YiEZn','TAxcg','jjDcu','WTzRJ','RDggF','feedback-modal-buttons\x20','yydbp','M3\x2011V9a4\x204\x200\x200\x201\x204-4h14','rnBfp','lvgAR','quality','VKmjU','WXHTF','formErrorStatus','feedback-button-content\x20feedback-button-content--','QiXUG','feedback-modal-email','4686654cAYEER','JUEll','image/gif','WMCsx','block','application/font-woff','EPZYp','cFlSk','test','toDataURL','bKBix','ZZeQT','resolve','add','fJYom','nonzero','HWzhk','backgroundColor','log','tVRcw','rJYdm','mTrrr','dYGip','left','wUXwk','.feedback-button-content{cursor:pointer;z-index:300}.feedback-button-content--light{align-items:center;background-color:var(--feedback-white-color);border-radius:20px;box-shadow:rgba(60,\x2064,\x2067,\x200.3)\x200px\x201px\x202px\x200px,\x20rgba(60,\x2064,\x2067,\x200.15)\x200px\x202px\x206px\x202px;box-sizing:border-box;display:flex;font-family:var(--feedback-font-family);color:var(--feedback-primary-color);font-weight:bold;padding:8px\x2015px;font-size:var(--feedback-text-font-size)}.feedback-button-content--dark{align-items:center;background-color:var(--feedback-primary-color);border-radius:20px;box-shadow:rgba(60,\x2064,\x2067,\x200.3)\x200px\x201px\x202px\x200px,\x20rgba(60,\x2064,\x2067,\x200.15)\x200px\x202px\x206px\x202px;box-sizing:border-box;display:flex;font-family:var(--feedback-font-family);color:var(--feedback-white-color);font-weight:bold;padding:8px\x2015px;font-size:16px}.feedback-button-content--bottom-right{position:fixed;bottom:10px;right:10px}.feedback-button-content--center-right{position:fixed;top:50%;transform:rotate(-90deg)\x20translateY(-50%)}.feedback-button-content--center-right.feedback-button-content--dark,.feedback-button-content--center-right.feedback-button-content--light{border-radius:4px;border-bottom-right-radius:0px;border-bottom-left-radius:0px}.feedback-button-content-icon{margin-right:5px;height:16px;width:16px}','feedback-modal-footer','HzAFW','stringify','FfXuP','https://pushfeedback.com','NTRIG','TsfFq','jGjYc','forEach','div','createHTMLDocument','successModalTitle','mimeType',':before','wQlli','resolveAll','shadowRoot','iUbXK','czlOD','w-8\x20h-8','TnpSH','</svg>','SyuCO','KGKKe','onloadend','undefined','rect','then','MkeOY','KElBK','stop','scrollWidth','FONT_FACE_RULE','gYFtl','4|3|1|0|2|5','\x20content:\x20','YtGUU','drawImage','cssText','encodedScreenshot','showScreenshotMode','INkyt','html','feedback-modal-element-selected','100%','topSide','default','QQUyD','QAike','86.063%','height','72FMPSxj','scrollHeight','Thanks\x20for\x20your\x20feedback!','status','join','errorModalTitle','PwpuB','Email\x20address\x20(optional)','aIqAX','Host','MfOFg','absolute','appendChild','background','JUhkD','uZWWz','wAsFX','bottomSide','canvas','LOVYn','eSxgi','svg','ugJVr','preventDefault','bGIlQ','classList','RrnMu','wxAYi','%0A','hasSelectedElement','skZnR','feedback-modal-wrapper','TVMun','mILTl','woOcF','NVHwI','uOdBP','./index-d5ac8167.js','inherit','base','bind','JAijz','slot','%23','rjSCP','jSwQh','BypHJ','PxUcl','oAeZR','zkTfJ','footer-logo','asArray','UbfrO','aluZw','1|0|2|4|3','#fff','application/font-truetype','textarea','0\x200\x2024\x2024','showModal','kJMoI','KlCQn','aZtWs','QfvpH','keNpC','feather\x20feather-repeat','center','onload','replace','close','gvOmt','PcWBO','eAbTK','qiIRf','(url\x5c([\x27\x22]?)(','getAttribute','pJepU','feedback-modal-text','formSuccess','round','Share\x20your\x20feedback','setAttribute','type','parentStyleSheet','closeScreenShot','formMessage','wigTo','LuNic','zSfwX','79.941%','SYbBO','nHPgU','AgEKv','cloneNode','IlhGM','send','response','target','readAsDataURL','iNHfJ','BKzBk','68136rmdGzN','ZdPjW','all','modalTitle','toLowerCase','sviSK','duTQd','lrfUK','NMStF','PdBaw','email','feedback-logo','rightSide','yAlKr','OOrPn','cannot\x20fetch\x20resource:\x20','GIaVp','line','MerEm','YCTss','YsKuv','form','sJcRn','SnEVs','hideIcon','escape','VQtfT','SStSg','OlnUx','uBIkx','ouiao','FJZEJ','zZYUo','How\x20could\x20this\x20page\x20be\x20more\x20helpful?','OfCih','getBoundingClientRect','LICrp','izeLv','sendButtonText','aFoqZ','smuOq','KwqSy','qCcsE','xEtqw','data:image/svg+xml;charset=utf-8,','ZMBtc','top-side','SELECT\x20AN\x20ELEMENT\x20ON\x20THE\x20PAGE','iECPz',':after','border-left-width','onreadystatechange','RfgzZ','0000','SCspY','application/json','image/jpeg','gQGRA',';base64,','iGHHt','eCuNL','makeImage','project','getImageData','border-right-width','fillStyle','YJZvh','NkALI','currentColor','NpAML','rkNwU','8IIFVYA','KgtXG','sending','image/png','charCodeAt','search','href','elementFromPoint','jQonK'];_0x2c19=function(){return _0x37b8c3;};return _0x2c19();}var domToImage=createCommonjsModule(function(_0x22c7de){var _0x28eac7=_0x253a64,_0x12d382={'wigTo':function(_0x12928a,_0x509e11,_0x5eaf97,_0x1152a1){return _0x12928a(_0x509e11,_0x5eaf97,_0x1152a1);},'nUcih':function(_0x16d46b,_0x23a135){return _0x16d46b||_0x23a135;},'aluZw':function(_0x340a93,_0x172d87,_0x1e2bfa){return _0x340a93(_0x172d87,_0x1e2bfa);},'sHXvx':function(_0x21ab95,_0x44a632,_0x59290d){return _0x21ab95(_0x44a632,_0x59290d);},'ynvKz':_0x28eac7(0x34a),'gGriT':_0x28eac7(0x1f1),'zZYUo':function(_0xd5d6e5,_0x5d32eb){return _0xd5d6e5+_0x5d32eb;},'UbfrO':_0x28eac7(0x27d),'kJMoI':_0x28eac7(0x1cc),'GyOXU':_0x28eac7(0x2c7),'SscaD':'none','MerEm':_0x28eac7(0x1c5),'iECPz':function(_0x5bed76,_0x4d1ece){return _0x5bed76 instanceof _0x4d1ece;},'DCMGx':_0x28eac7(0x24a),'AyDaV':'http://www.w3.org/2000/svg','dHhUx':_0x28eac7(0x23e),'eQapz':_0x28eac7(0x363),'piIah':_0x28eac7(0x2f8),'NTRIG':_0x28eac7(0x31c),'DOMRT':_0x28eac7(0x167),'bLmos':_0x28eac7(0x1de),'aYpHz':_0x28eac7(0x212),'nPGnJ':_0x28eac7(0x2aa),'QQUyD':function(_0x4bd5f5){return _0x4bd5f5();},'xdJIb':_0x28eac7(0x165),'GiNTC':function(_0x1188b1,_0x38f769){return _0x1188b1!==_0x38f769;},'Euszw':function(_0x5a8d12,_0x4e1f2c){return _0x5a8d12(_0x4e1f2c);},'DEGtj':function(_0xdbd6d0,_0x296170){return _0xdbd6d0(_0x296170);},'UZSij':_0x28eac7(0x24f),'NCptd':_0x28eac7(0x2ef),'eCuNL':_0x28eac7(0x1fe),'ZdPjW':'border-top-width','VKmjU':function(_0x407ae5,_0x3c65c1){return _0x407ae5+_0x3c65c1;},'hVIIr':function(_0xa27a7d,_0x5bcefa){return _0xa27a7d<_0x5bcefa;},'gYFtl':function(_0x5541ae,_0x2eb828){return _0x5541ae(_0x2eb828);},'lhpJC':_0x28eac7(0x156),'WMCsx':_0x28eac7(0x302),'LLctO':_0x28eac7(0x1ce),'YfmNx':function(_0x42af3b,_0x58b62d){return _0x42af3b(_0x58b62d);},'VDeGJ':')([\x27\x22]?\x5c))','zqaUD':_0x28eac7(0x371),'MIoxR':function(_0x27f77c){return _0x27f77c();}};(function(_0x4e967a){var _0x36c0d1=_0x28eac7,_0x29a3d4={'aIqAX':function(_0x305825,_0x2cc643){var _0x1b73af=_0x24c7;return _0x12d382[_0x1b73af(0x1b4)](_0x305825,_0x2cc643);},'PrZlL':function(_0x4fc6f4,_0x5552ac){return _0x4fc6f4+_0x5552ac;},'HWzhk':_0x12d382[_0x36c0d1(0x16b)],'aScLO':function(_0x5a0a80,_0x4b96e0){return _0x5a0a80||_0x4b96e0;},'mTrrr':function(_0x2f6cf2,_0x3f035c){return _0x2f6cf2(_0x3f035c);},'VWoRm':_0x36c0d1(0x376),'ulQGp':function(_0x2aaefd,_0xee605a,_0x1bca0a){return _0x2aaefd(_0xee605a,_0x1bca0a);},'HgNXl':function(_0x23e726,_0x4b69e4,_0x30cb1c,_0x567a81){return _0x23e726(_0x4b69e4,_0x30cb1c,_0x567a81);},'bGIlQ':function(_0x90666c,_0x286c13,_0x2cd8c0){var _0x2ec5da=_0x36c0d1;return _0x12d382[_0x2ec5da(0x164)](_0x90666c,_0x286c13,_0x2cd8c0);},'rJYdm':_0x12d382['GyOXU'],'NMStF':_0x12d382['SscaD'],'vypmV':_0x12d382[_0x36c0d1(0x1a6)],'UcsFQ':function(_0x3b8206,_0x1d860d){var _0x21663f=_0x36c0d1;return _0x12d382[_0x21663f(0x1c4)](_0x3b8206,_0x1d860d);},'lvgAR':_0x12d382[_0x36c0d1(0x300)],'aFoqZ':_0x12d382[_0x36c0d1(0x2ba)],'PwpuB':_0x12d382['dHhUx'],'ZMBtc':_0x12d382[_0x36c0d1(0x298)],'ciElw':function(_0x167365,_0x2bd1e3){return _0x167365&&_0x2bd1e3;},'YsKuv':'http://www.w3.org/1999/xhtml','bBtYl':_0x12d382[_0x36c0d1(0x279)],'MwZqb':function(_0x40894f,_0x1bc2b1){return _0x12d382['zZYUo'](_0x40894f,_0x1bc2b1);},'tURlr':'<svg\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x20width=\x22','LfLQt':_0x36c0d1(0x346),'CGrBF':_0x12d382[_0x36c0d1(0x336)],'ugJVr':_0x12d382['DOMRT'],'kfLvw':_0x12d382['bLmos'],'iUbXK':_0x12d382[_0x36c0d1(0x238)],'xbPJD':_0x12d382[_0x36c0d1(0x248)],'eSxgi':function(_0x312ce0){var _0x573206=_0x36c0d1;return _0x12d382[_0x573206(0x360)](_0x312ce0);},'FfXuP':function(_0x1ddf58,_0x44df13){return _0x1ddf58<<_0x44df13;},'ZZeQT':_0x12d382['xdJIb'],'OaUny':function(_0x3e0c9b,_0x635892){var _0x254def=_0x36c0d1;return _0x12d382[_0x254def(0x1f7)](_0x3e0c9b,_0x635892);},'wWtGj':function(_0x2e860c,_0x35a321){return _0x12d382['Euszw'](_0x2e860c,_0x35a321);},'woOcF':function(_0x2e0f0a,_0x2c0d6d){return _0x12d382['DEGtj'](_0x2e0f0a,_0x2c0d6d);},'mILTl':_0x12d382[_0x36c0d1(0x274)],'fCEMS':_0x12d382[_0x36c0d1(0x22e)],'ouiao':_0x12d382[_0x36c0d1(0x1d0)],'GSzmS':function(_0x16a2b5,_0x4b157d){return _0x16a2b5<_0x4b157d;},'iUlIM':_0x36c0d1(0x14b),'izeLv':function(_0x5c33c3,_0x437461,_0x1bf34){return _0x5c33c3(_0x437461,_0x1bf34);},'itXZL':_0x36c0d1(0x1d4),'TAxcg':function(_0x46f925,_0x282335){return _0x46f925+_0x282335;},'KQpiX':function(_0x22dd94,_0x32633e,_0x5018de){var _0x1dc0da=_0x36c0d1;return _0x12d382[_0x1dc0da(0x164)](_0x22dd94,_0x32633e,_0x5018de);},'TxnXb':_0x12d382[_0x36c0d1(0x195)],'TsfFq':function(_0x51755b,_0x53721f){var _0x131dd4=_0x36c0d1;return _0x12d382[_0x131dd4(0x311)](_0x51755b,_0x53721f);},'aJNPG':function(_0x1a15e5,_0x57ab6a){return _0x12d382['hVIIr'](_0x1a15e5,_0x57ab6a);},'BypHJ':function(_0xef49c,_0x37278b){var _0x109ac0=_0x36c0d1;return _0x12d382[_0x109ac0(0x352)](_0xef49c,_0x37278b);},'dYGip':_0x12d382[_0x36c0d1(0x2cf)],'lgWzU':_0x12d382[_0x36c0d1(0x31a)],'sAouQ':_0x12d382[_0x36c0d1(0x1ee)],'NGHSa':function(_0x587b18){var _0x659583=_0x36c0d1;return _0x12d382[_0x659583(0x360)](_0x587b18);},'asTaG':function(_0x1aae31,_0x1de944){return _0x12d382['YfmNx'](_0x1aae31,_0x1de944);},'AgEKv':_0x12d382['VDeGJ'],'DKbTJ':_0x12d382[_0x36c0d1(0x2fd)]},_0x4cce23=_0x425872(),_0x5602a0=_0x12d382['QQUyD'](_0x5f216d),_0x10b4c7=_0x12d382[_0x36c0d1(0x360)](_0x10ba6c),_0x472f5e=_0x12d382['MIoxR'](_0x5deec6),_0x313e98={'imagePlaceholder':undefined,'cacheBust':![]},_0x23c61a={'toSvg':_0x5aa515,'toPng':_0x518c0e,'toJpeg':_0x357f03,'toBlob':_0x1fb067,'toPixelData':_0x8cd51e,'impl':{'fontFaces':_0x10b4c7,'images':_0x472f5e,'util':_0x4cce23,'inliner':_0x5602a0,'options':{}}};_0x22c7de[_0x36c0d1(0x24e)]=_0x23c61a;function _0x5aa515(_0xdb40dc,_0x2852cf){var _0x2dd503=_0x36c0d1,_0x426367={'dHGSP':function(_0x271298,_0x55bb64,_0x14010b,_0x3131d7){var _0x26c7a0=_0x24c7;return _0x12d382[_0x26c7a0(0x185)](_0x271298,_0x55bb64,_0x14010b,_0x3131d7);}};_0x2852cf=_0x12d382[_0x2dd503(0x25a)](_0x2852cf,{}),_0xfc0fef(_0x2852cf);return Promise[_0x2dd503(0x323)](_0xdb40dc)[_0x2dd503(0x34c)](function(_0x5b764e){var _0x192628=_0x2dd503;return _0x426367[_0x192628(0x1ff)](_0x2aea33,_0x5b764e,_0x2852cf[_0x192628(0x26c)],!![]);})[_0x2dd503(0x34c)](_0x3526cd)['then'](_0x3634a6)[_0x2dd503(0x34c)](_0xaf23c0)['then'](function(_0x26a1eb){var _0x5cb521=_0x2dd503;return _0x2f5f78(_0x26a1eb,_0x2852cf[_0x5cb521(0x23e)]||_0x4cce23['width'](_0xdb40dc),_0x2852cf[_0x5cb521(0x363)]||_0x4cce23[_0x5cb521(0x363)](_0xdb40dc));});function _0xaf23c0(_0x4b618a){var _0x4bbd60=_0x2dd503;if(_0x2852cf[_0x4bbd60(0x25b)])_0x4b618a[_0x4bbd60(0x25d)][_0x4bbd60(0x328)]=_0x2852cf['bgcolor'];if(_0x2852cf[_0x4bbd60(0x23e)])_0x4b618a['style']['width']=_0x29a3d4[_0x4bbd60(0x36c)](_0x2852cf[_0x4bbd60(0x23e)],'px');if(_0x2852cf[_0x4bbd60(0x363)])_0x4b618a[_0x4bbd60(0x25d)][_0x4bbd60(0x363)]=_0x29a3d4['PrZlL'](_0x2852cf['height'],'px');if(_0x2852cf['style'])Object['keys'](_0x2852cf[_0x4bbd60(0x25d)])[_0x4bbd60(0x339)](function(_0x2402d2){var _0x2c6f16=_0x4bbd60;_0x4b618a[_0x2c6f16(0x25d)][_0x2402d2]=_0x2852cf['style'][_0x2402d2];});return _0x4b618a;}}function _0x8cd51e(_0x1b4293,_0x33ede7){var _0x134df3=_0x36c0d1;return _0x8f32e9(_0x1b4293,_0x33ede7||{})[_0x134df3(0x34c)](function(_0x5c26f6){var _0x12daef=_0x134df3;return _0x5c26f6[_0x12daef(0x227)]('2d')[_0x12daef(0x1d3)](0x0,0x0,_0x4cce23[_0x12daef(0x23e)](_0x1b4293),_0x4cce23[_0x12daef(0x363)](_0x1b4293))['data'];});}function _0x518c0e(_0xd9717a,_0x240bb3){var _0x258a94=_0x36c0d1;return _0x12d382[_0x258a94(0x164)](_0x8f32e9,_0xd9717a,_0x12d382['nUcih'](_0x240bb3,{}))['then'](function(_0x15ebe3){var _0x413d82=_0x258a94;return _0x15ebe3[_0x413d82(0x320)]();});}function _0x357f03(_0x4fec4f,_0x100220){var _0x3f752d=_0x36c0d1;return _0x100220=_0x100220||{},_0x12d382['sHXvx'](_0x8f32e9,_0x4fec4f,_0x100220)[_0x3f752d(0x34c)](function(_0x1d8440){var _0x389c0e=_0x3f752d;return _0x1d8440[_0x389c0e(0x320)](_0x29a3d4[_0x389c0e(0x327)],_0x100220[_0x389c0e(0x310)]||0x1);});}function _0x1fb067(_0x3e86df,_0x538f34){var _0x4c4d51=_0x36c0d1;return _0x8f32e9(_0x3e86df,_0x29a3d4[_0x4c4d51(0x2fc)](_0x538f34,{}))['then'](_0x4cce23[_0x4c4d51(0x20b)]);}function _0xfc0fef(_0x2d2c73){var _0x4330ac=_0x36c0d1;typeof _0x2d2c73[_0x4330ac(0x286)]===_0x12d382[_0x4330ac(0x235)]?_0x23c61a['impl'][_0x4330ac(0x1e7)]['imagePlaceholder']=_0x313e98[_0x4330ac(0x286)]:_0x23c61a[_0x4330ac(0x2a6)][_0x4330ac(0x1e7)][_0x4330ac(0x286)]=_0x2d2c73[_0x4330ac(0x286)],typeof _0x2d2c73['cacheBust']===_0x12d382['ynvKz']?_0x23c61a[_0x4330ac(0x2a6)][_0x4330ac(0x1e7)][_0x4330ac(0x2a9)]=_0x313e98[_0x4330ac(0x2a9)]:_0x23c61a[_0x4330ac(0x2a6)][_0x4330ac(0x1e7)]['cacheBust']=_0x2d2c73[_0x4330ac(0x2a9)];}function _0x8f32e9(_0x5435a2,_0x488dd4){var _0x274625=_0x36c0d1;return _0x29a3d4['ulQGp'](_0x5aa515,_0x5435a2,_0x488dd4)[_0x274625(0x34c)](_0x4cce23[_0x274625(0x1d1)])[_0x274625(0x34c)](_0x4cce23[_0x274625(0x22d)](0x64))[_0x274625(0x34c)](function(_0x56cf2b){var _0x4e8789=_0x274625,_0x1134ca=_0x29a3d4['mTrrr'](_0x56edc5,_0x5435a2);return _0x1134ca[_0x4e8789(0x227)]('2d')[_0x4e8789(0x356)](_0x56cf2b,0x0,0x0),_0x1134ca;});function _0x56edc5(_0x1174e9){var _0xd9a3b0=_0x274625,_0x3072be='2|3|0|1|4'[_0xd9a3b0(0x2d0)]('|'),_0x468fe9=0x0;while(!![]){switch(_0x3072be[_0x468fe9++]){case'0':_0x4cc3bd[_0xd9a3b0(0x363)]=_0x488dd4[_0xd9a3b0(0x363)]||_0x4cce23[_0xd9a3b0(0x363)](_0x1174e9);continue;case'1':if(_0x488dd4[_0xd9a3b0(0x25b)]){var _0x3782b1=_0x4cc3bd[_0xd9a3b0(0x227)]('2d');_0x3782b1[_0xd9a3b0(0x1d5)]=_0x488dd4['bgcolor'],_0x3782b1[_0xd9a3b0(0x2b1)](0x0,0x0,_0x4cc3bd[_0xd9a3b0(0x23e)],_0x4cc3bd['height']);}continue;case'2':var _0x4cc3bd=document[_0xd9a3b0(0x2d4)](_0x29a3d4[_0xd9a3b0(0x2fa)]);continue;case'3':_0x4cc3bd[_0xd9a3b0(0x23e)]=_0x488dd4['width']||_0x4cce23[_0xd9a3b0(0x23e)](_0x1174e9);continue;case'4':return _0x4cc3bd;}break;}}}function _0x2aea33(_0x9af13a,_0x2030e4,_0x235b45){var _0x84f905=_0x36c0d1,_0x56a033={'airYm':function(_0x142a27,_0x5e5855,_0x1db737){var _0x3971f2=_0x24c7;return _0x29a3d4[_0x3971f2(0x37c)](_0x142a27,_0x5e5855,_0x1db737);},'EJTJf':function(_0x7a64ed,_0x4e0081,_0xdb3f41){var _0x5391f4=_0x24c7;return _0x29a3d4[_0x5391f4(0x37c)](_0x7a64ed,_0x4e0081,_0xdb3f41);},'zkTfJ':function(_0x12c04e,_0xb115c8){var _0x397e35=_0x24c7;return _0x29a3d4[_0x397e35(0x32c)](_0x12c04e,_0xb115c8);},'hUJpH':function(_0x4db49e,_0x470260){return _0x4db49e+_0x470260;},'oeQwr':_0x29a3d4[_0x84f905(0x32b)],'ePcjg':function(_0x1371a6,_0x1202eb){return _0x1371a6===_0x1202eb;},'WXHTF':_0x29a3d4[_0x84f905(0x19c)],'CyExI':_0x29a3d4[_0x84f905(0x2b7)],'mGmTF':function(_0x349d14,_0x24b251){var _0x23770a=_0x84f905;return _0x29a3d4[_0x23770a(0x295)](_0x349d14,_0x24b251);},'auHpF':_0x84f905(0x28a),'DHUdq':_0x29a3d4[_0x84f905(0x30f)],'tHJDC':_0x29a3d4[_0x84f905(0x1bb)],'OfCih':_0x29a3d4[_0x84f905(0x36a)],'XrmiZ':_0x29a3d4[_0x84f905(0x1c1)]};if(_0x29a3d4['ciElw'](!_0x235b45,_0x2030e4)&&!_0x29a3d4[_0x84f905(0x32c)](_0x2030e4,_0x9af13a))return Promise[_0x84f905(0x323)]();return Promise[_0x84f905(0x323)](_0x9af13a)[_0x84f905(0x34c)](_0x48424d)[_0x84f905(0x34c)](function(_0x35f8f6){var _0x5da860=_0x84f905;return _0x29a3d4[_0x5da860(0x2bd)](_0x5bf0b0,_0x9af13a,_0x35f8f6,_0x2030e4);})['then'](function(_0x2ded8f){var _0x54a6f0=_0x84f905;return _0x56a033[_0x54a6f0(0x21d)](_0x44be19,_0x9af13a,_0x2ded8f);});function _0x48424d(_0xfad487){var _0x3fe0dd=_0x84f905;if(_0xfad487 instanceof HTMLCanvasElement)return _0x4cce23[_0x3fe0dd(0x1d1)](_0xfad487['toDataURL']());return _0xfad487['cloneNode'](![]);}function _0x5bf0b0(_0x42838f,_0x2ed706,_0x3104b5){var _0x350e2f=_0x84f905,_0x3c4a9b={'FqLyK':function(_0x2fa3a6,_0x3b09db,_0x28cd70){return _0x2fa3a6(_0x3b09db,_0x28cd70);}},_0x73d540=_0x42838f[_0x350e2f(0x234)];if(_0x73d540['length']===0x0)return Promise[_0x350e2f(0x323)](_0x2ed706);return _0x12e506(_0x2ed706,_0x4cce23[_0x350e2f(0x162)](_0x73d540),_0x3104b5)[_0x350e2f(0x34c)](function(){return _0x2ed706;});function _0x12e506(_0x459c91,_0x3bc6d3,_0x5efbe0){var _0x3dd9e3=_0x350e2f,_0xf800a1={'nibCq':function(_0x27fd25,_0x2b497e,_0x457236){var _0x44b880=_0x24c7;return _0x3c4a9b[_0x44b880(0x237)](_0x27fd25,_0x2b497e,_0x457236);}},_0x242346=Promise[_0x3dd9e3(0x323)]();return _0x3bc6d3[_0x3dd9e3(0x339)](function(_0x21d763){var _0x1f8cc3=_0x3dd9e3;_0x242346=_0x242346[_0x1f8cc3(0x34c)](function(){var _0x7c9789=_0x1f8cc3;return _0xf800a1[_0x7c9789(0x2a1)](_0x2aea33,_0x21d763,_0x5efbe0);})[_0x1f8cc3(0x34c)](function(_0x548ad1){var _0x139c6a=_0x1f8cc3;if(_0x548ad1)_0x459c91[_0x139c6a(0x370)](_0x548ad1);});}),_0x242346;}}function _0x44be19(_0x3bd9dc,_0x2f680f){var _0x2dcc16=_0x84f905,_0x187e60={'DaELk':function(_0x12ae66,_0x4856b1,_0x1281ed){var _0x24d536=_0x24c7;return _0x56a033[_0x24d536(0x202)](_0x12ae66,_0x4856b1,_0x1281ed);},'jdbTh':function(_0x4ab361,_0x213643){var _0x4f4a9e=_0x24c7;return _0x56a033[_0x4f4a9e(0x160)](_0x4ab361,_0x213643);},'rnBfp':function(_0x829ec3,_0xa95242){var _0x3a5c2a=_0x24c7;return _0x56a033[_0x3a5c2a(0x265)](_0x829ec3,_0xa95242);},'UOWbZ':function(_0x471691,_0x11af95){return _0x56a033['hUJpH'](_0x471691,_0x11af95);},'QAike':_0x56a033[_0x2dcc16(0x1f0)],'ABEdX':function(_0x578e7d,_0x9ac568){return _0x56a033['ePcjg'](_0x578e7d,_0x9ac568);},'OVGTC':_0x56a033[_0x2dcc16(0x312)],'zkIgv':_0x2dcc16(0x33e),'FoYUD':_0x56a033['CyExI'],'MAzir':function(_0x2da044,_0x38ebec){var _0x47d271=_0x2dcc16;return _0x56a033[_0x47d271(0x2b4)](_0x2da044,_0x38ebec);},'jQonK':function(_0x5d41dd,_0x538170){var _0xd14718=_0x2dcc16;return _0x56a033[_0xd14718(0x2b4)](_0x5d41dd,_0x538170);},'LCCiz':_0x56a033['auHpF'],'rwdoS':_0x56a033[_0x2dcc16(0x247)],'Pmpnu':_0x56a033[_0x2dcc16(0x27a)],'cPrrP':_0x56a033[_0x2dcc16(0x1b6)],'uOdBP':_0x56a033[_0x2dcc16(0x225)]};if(!(_0x2f680f instanceof Element))return _0x2f680f;return Promise['resolve']()['then'](_0x471b28)['then'](_0x3e21b6)[_0x2dcc16(0x34c)](_0x28d520)[_0x2dcc16(0x34c)](_0x3c3f29)[_0x2dcc16(0x34c)](function(){return _0x2f680f;});function _0x471b28(){var _0x58ad88=_0x2dcc16,_0x2bc3f8={'MHLxc':function(_0x427c0a,_0x4a44a5,_0x3bd787){return _0x427c0a(_0x4a44a5,_0x3bd787);}};_0x187e60[_0x58ad88(0x1ed)](_0x1c1382,window[_0x58ad88(0x236)](_0x3bd9dc),_0x2f680f[_0x58ad88(0x25d)]);function _0x1c1382(_0x2c47d7,_0x1e4b77){var _0x474254=_0x58ad88;if(_0x2c47d7['cssText'])_0x1e4b77[_0x474254(0x357)]=_0x2c47d7['cssText'];else _0x2bc3f8['MHLxc'](_0x31961a,_0x2c47d7,_0x1e4b77);function _0x31961a(_0x589683,_0x26d07c){var _0x50588b=_0x474254;_0x4cce23[_0x50588b(0x162)](_0x589683)['forEach'](function(_0x447d4f){var _0x163341=_0x50588b;_0x26d07c[_0x163341(0x223)](_0x447d4f,_0x589683['getPropertyValue'](_0x447d4f),_0x589683[_0x163341(0x2c5)](_0x447d4f));});}}}function _0x3e21b6(){var _0x1e5d2a=_0x2dcc16,_0x1d0e63={'RDggF':function(_0x3f4383,_0x39a06f){var _0x54ec1b=_0x24c7;return _0x187e60[_0x54ec1b(0x30e)](_0x3f4383,_0x39a06f);},'OAXWp':function(_0x2c820b,_0x1895fe){var _0x45bef2=_0x24c7;return _0x187e60[_0x45bef2(0x30e)](_0x2c820b,_0x1895fe);},'cFlSk':function(_0x5aa37c,_0x5c701d){return _0x5aa37c(_0x5c701d);},'DaEoh':function(_0x420c5f,_0xb975e1){return _0x420c5f(_0xb975e1);},'eYtHM':function(_0x36b27c,_0x593fe8){var _0x7b6750=_0x24c7;return _0x187e60[_0x7b6750(0x2bc)](_0x36b27c,_0x593fe8);},'vERkn':function(_0x2b118a,_0x3c32d1){return _0x2b118a+_0x3c32d1;},'VTntF':_0x1e5d2a(0x354),'WeBUk':_0x187e60[_0x1e5d2a(0x361)],'fJYom':function(_0xc1a954,_0x1a2d58){var _0x5b79a8=_0x1e5d2a;return _0x187e60[_0x5b79a8(0x28e)](_0xc1a954,_0x1a2d58);},'TVMun':_0x187e60[_0x1e5d2a(0x23a)],'HIOJR':function(_0x13e9ff,_0x359559){var _0x282791=_0x1e5d2a;return _0x187e60[_0x282791(0x30e)](_0x13e9ff,_0x359559);},'UATMh':'style','PxUcl':function(_0x277c98,_0x23df66,_0xe946ce,_0x3146ad){return _0x277c98(_0x23df66,_0xe946ce,_0x3146ad);}};[_0x187e60['zkIgv'],_0x187e60[_0x1e5d2a(0x2eb)]][_0x1e5d2a(0x339)](function(_0x1124d1){var _0x20a066=_0x1e5d2a;_0x187e60[_0x20a066(0x2ed)](_0x18bafc,_0x1124d1);});function _0x18bafc(_0x5425dd){var _0x408713=_0x1e5d2a,_0x25e173={'HzAFW':'content','KwqSy':function(_0x18ea4d,_0x7a01e8){return _0x18ea4d+_0x7a01e8;},'EPZYp':function(_0x3f8e4f,_0xf1ac52){var _0x21c78d=_0x24c7;return _0x1d0e63[_0x21c78d(0x2e8)](_0x3f8e4f,_0xf1ac52);},'OOrPn':_0x1d0e63[_0x408713(0x304)]},_0x24abc5=window[_0x408713(0x236)](_0x3bd9dc,_0x5425dd),_0x4d4eb9=_0x24abc5[_0x408713(0x29a)](_0x1d0e63[_0x408713(0x2f6)]);if(_0x1d0e63[_0x408713(0x325)](_0x4d4eb9,'')||_0x1d0e63[_0x408713(0x325)](_0x4d4eb9,_0x1d0e63[_0x408713(0x14f)]))return;var _0x27aa88=_0x4cce23[_0x408713(0x218)]();_0x2f680f[_0x408713(0x2ab)]=_0x1d0e63[_0x408713(0x200)](_0x2f680f['className'],'\x20')+_0x27aa88;var _0x1d3600=document[_0x408713(0x2d4)](_0x1d0e63[_0x408713(0x2ae)]);_0x1d3600[_0x408713(0x370)](_0x1d0e63[_0x408713(0x15e)](_0x488ac5,_0x27aa88,_0x5425dd,_0x24abc5)),_0x2f680f[_0x408713(0x370)](_0x1d3600);function _0x488ac5(_0x438f1b,_0x140d9b,_0x55a45b){var _0x46c284=_0x408713,_0x1ea3f4={'qGiZM':function(_0x55af28,_0x1eaf8f){var _0x410ebc=_0x24c7;return _0x1d0e63[_0x410ebc(0x30a)](_0x55af28,_0x1eaf8f);},'gNiBS':function(_0x35875f,_0x44701b){var _0x337ee3=_0x24c7;return _0x1d0e63[_0x337ee3(0x303)](_0x35875f,_0x44701b);}},_0x5bcb74=_0x1d0e63[_0x46c284(0x303)](_0x1d0e63[_0x46c284(0x303)](_0x1d0e63['RDggF']('.',_0x438f1b),':'),_0x140d9b),_0x21bc17=_0x55a45b[_0x46c284(0x357)]?_0x1d0e63[_0x46c284(0x31e)](_0x5b2c75,_0x55a45b):_0x1d0e63['DaEoh'](_0x25d889,_0x55a45b);return document['createTextNode'](_0x1d0e63[_0x46c284(0x30a)](_0x1d0e63[_0x46c284(0x26d)](_0x1d0e63[_0x46c284(0x303)](_0x5bcb74,'{'),_0x21bc17),'}'));function _0x5b2c75(_0x10f980){var _0x168875=_0x46c284,_0x4a4719=_0x10f980[_0x168875(0x29a)](_0x25e173[_0x168875(0x332)]);return _0x25e173[_0x168875(0x1bd)](_0x25e173[_0x168875(0x31d)](_0x10f980[_0x168875(0x357)]+_0x25e173[_0x168875(0x1a2)],_0x4a4719),';');}function _0x25d889(_0x11f6e4){var _0x2bba09=_0x46c284,_0x3e4503={'WTzRJ':function(_0x196db7,_0x2848a2){return _0x1ea3f4['qGiZM'](_0x196db7,_0x2848a2);},'qCcsE':'\x20!important'};return _0x1ea3f4[_0x2bba09(0x1fb)](_0x4cce23['asArray'](_0x11f6e4)['map'](_0x53c3f1)['join'](';\x20'),';');function _0x53c3f1(_0x570986){var _0x4740de=_0x2bba09;return _0x3e4503[_0x4740de(0x309)](_0x3e4503['WTzRJ'](_0x570986,':\x20')+_0x11f6e4[_0x4740de(0x29a)](_0x570986),_0x11f6e4[_0x4740de(0x2c5)](_0x570986)?_0x3e4503[_0x4740de(0x1be)]:'');}}}}}function _0x28d520(){var _0x3975d6=_0x2dcc16;if(_0x187e60[_0x3975d6(0x28d)](_0x3bd9dc,HTMLTextAreaElement))_0x2f680f[_0x3975d6(0x275)]=_0x3bd9dc[_0x3975d6(0x28a)];if(_0x187e60[_0x3975d6(0x1e3)](_0x3bd9dc,HTMLInputElement))_0x2f680f[_0x3975d6(0x180)](_0x187e60['LCCiz'],_0x3bd9dc[_0x3975d6(0x28a)]);}function _0x3c3f29(){var _0x6400d=_0x2dcc16;if(!_0x187e60[_0x6400d(0x28d)](_0x2f680f,SVGElement))return;_0x2f680f['setAttribute'](_0x187e60['rwdoS'],_0x187e60['Pmpnu']);if(!(_0x2f680f instanceof SVGRectElement))return;[_0x187e60[_0x6400d(0x2e2)],_0x187e60[_0x6400d(0x153)]]['forEach'](function(_0x2135cf){var _0x4fb495=_0x6400d,_0x890574=_0x2f680f[_0x4fb495(0x17a)](_0x2135cf);if(!_0x890574)return;_0x2f680f['style'][_0x4fb495(0x223)](_0x2135cf,_0x890574);});}}}function _0x3526cd(_0xfb7691){var _0xf5624=_0x36c0d1,_0x45a815={'lrfUK':_0xf5624(0x25d)};return _0x10b4c7[_0xf5624(0x340)]()['then'](function(_0x1851f2){var _0x105658=_0xf5624,_0x604c19=document[_0x105658(0x2d4)](_0x45a815[_0x105658(0x19b)]);return _0xfb7691[_0x105658(0x370)](_0x604c19),_0x604c19['appendChild'](document[_0x105658(0x220)](_0x1851f2)),_0xfb7691;});}function _0x3634a6(_0x220d9d){var _0x24aac3=_0x36c0d1;return _0x472f5e[_0x24aac3(0x214)](_0x220d9d)[_0x24aac3(0x34c)](function(){return _0x220d9d;});}function _0x2f5f78(_0xf1b750,_0x1cb087,_0x597ec5){var _0x237840=_0x36c0d1,_0x10dd2f={'PzSZS':_0x29a3d4[_0x237840(0x1a8)],'rwsXQ':function(_0x2eaf8b,_0xb0b5e2){var _0x2215c6=_0x237840;return _0x29a3d4[_0x2215c6(0x2c4)](_0x2eaf8b,_0xb0b5e2);},'brFYE':_0x29a3d4[_0x237840(0x2a3)],'MINdU':function(_0x5868f3,_0x1deaee){return _0x29a3d4['MwZqb'](_0x5868f3,_0x1deaee);},'gQGRA':_0x29a3d4[_0x237840(0x203)],'rjSCP':_0x29a3d4['LfLQt'],'JUhkD':_0x237840(0x1c0)};return Promise['resolve'](_0xf1b750)[_0x237840(0x34c)](function(_0xff38f6){var _0x553287=_0x237840;return _0xff38f6['setAttribute'](_0x553287(0x24a),_0x10dd2f[_0x553287(0x2e3)]),new XMLSerializer()[_0x553287(0x28c)](_0xff38f6);})[_0x237840(0x34c)](_0x4cce23['escapeXhtml'])['then'](function(_0x4fcda6){var _0x5511d1=_0x237840;return _0x10dd2f[_0x5511d1(0x2da)](_0x10dd2f[_0x5511d1(0x2fe)],_0x4fcda6)+_0x5511d1(0x20f);})[_0x237840(0x34c)](function(_0x504ece){var _0x3644b2=_0x237840;return _0x10dd2f[_0x3644b2(0x2da)](_0x10dd2f[_0x3644b2(0x2da)](_0x10dd2f[_0x3644b2(0x1e8)](_0x10dd2f[_0x3644b2(0x1cd)]+_0x1cb087,_0x3644b2(0x2bf))+_0x597ec5+'\x22>',_0x504ece),_0x10dd2f[_0x3644b2(0x15b)]);})[_0x237840(0x34c)](function(_0x57273c){var _0x261cce=_0x237840;return _0x10dd2f[_0x261cce(0x372)]+_0x57273c;});}function _0x425872(){var _0x4e5115=_0x36c0d1,_0x5de3d8={'VTPEx':function(_0x3567a6,_0x59e7b1){return _0x29a3d4['aJNPG'](_0x3567a6,_0x59e7b1);},'RgEWc':function(_0x559d1e,_0x53fff6){var _0x1511ca=_0x24c7;return _0x29a3d4[_0x1511ca(0x15d)](_0x559d1e,_0x53fff6);},'DDAZG':_0x29a3d4[_0x4e5115(0x27c)],'APKgf':_0x29a3d4[_0x4e5115(0x32d)],'aZtWs':_0x4e5115(0x284),'iGHHt':_0x4e5115(0x217),'LOVYn':function(_0x27c296,_0xcdacb1){return _0x29a3d4['TAxcg'](_0x27c296,_0xcdacb1);},'buXJb':function(_0x510e75,_0x56063a){var _0x1da4f0=_0x4e5115;return _0x29a3d4[_0x1da4f0(0x337)](_0x510e75,_0x56063a);},'qEtIG':_0x29a3d4['lgWzU'],'FUGuB':_0x29a3d4[_0x4e5115(0x26f)]};return{'escape':_0x437d7a,'parseExtension':_0x531982,'mimeType':_0x3c491f,'dataAsUrl':_0x387110,'isDataUrl':_0x42956c,'canvasToBlob':_0x4bc9b4,'resolveUrl':_0x5a75ca,'getAndEncode':_0x196d8c,'uid':_0x29a3d4[_0x4e5115(0x378)](_0x26b158),'delay':_0x15a352,'asArray':_0x3482e3,'escapeXhtml':_0x5beb91,'makeImage':_0x1b7704,'width':_0x46d17,'height':_0xa3b30a};function _0x3f3502(){var _0x399024=_0x4e5115,_0x12d7e2=_0x29a3d4['CGrBF'],_0x2ac8fc=_0x29a3d4['HWzhk'];return{'woff':_0x12d7e2,'woff2':_0x12d7e2,'ttf':_0x29a3d4[_0x399024(0x37a)],'eot':_0x399024(0x2df),'png':_0x29a3d4[_0x399024(0x27c)],'jpg':_0x2ac8fc,'jpeg':_0x2ac8fc,'gif':_0x399024(0x319),'tiff':_0x29a3d4[_0x399024(0x342)],'svg':_0x29a3d4['xbPJD']};}function _0x531982(_0x3a1e15){var _0x3a377e=_0x4e5115,_0x1967dc=/\.([^\.\/]*?)$/g[_0x3a377e(0x281)](_0x3a1e15);if(_0x1967dc)return _0x1967dc[0x1];else return'';}function _0x3c491f(_0x2653bd){var _0x2aa554=_0x4e5115,_0x499d8e=_0x29a3d4['mTrrr'](_0x531982,_0x2653bd)[_0x2aa554(0x198)]();return _0x29a3d4[_0x2aa554(0x378)](_0x3f3502)[_0x499d8e]||'';}function _0x42956c(_0x1890e4){var _0x4ff54c=_0x4e5115;return _0x1890e4[_0x4ff54c(0x1e0)](/^(data:)/)!==-0x1;}function _0x4dfb70(_0x51d3c0){return new Promise(function(_0x1d5abf){var _0x58e5ca=_0x24c7,_0x2ee981=window[_0x58e5ca(0x263)](_0x51d3c0[_0x58e5ca(0x320)]()[_0x58e5ca(0x2d0)](',')[0x1]),_0x2440dd=_0x2ee981[_0x58e5ca(0x1e9)],_0x3b88fc=new Uint8Array(_0x2440dd);for(var _0x233a95=0x0;_0x5de3d8['VTPEx'](_0x233a95,_0x2440dd);_0x233a95++)_0x3b88fc[_0x233a95]=_0x2ee981[_0x58e5ca(0x1df)](_0x233a95);_0x5de3d8[_0x58e5ca(0x27f)](_0x1d5abf,new Blob([_0x3b88fc],{'type':_0x5de3d8[_0x58e5ca(0x2b8)]}));});}function _0x4bc9b4(_0x205730){var _0x1a97cf=_0x4e5115;if(_0x205730['toBlob'])return new Promise(function(_0x17ac5a){var _0x2e690a=_0x24c7;_0x205730[_0x2e690a(0x2f2)](_0x17ac5a);});return _0x29a3d4[_0x1a97cf(0x32c)](_0x4dfb70,_0x205730);}function _0x5a75ca(_0x515885,_0x4b30dc){var _0x10dd24=_0x4e5115,_0x3fc937=document[_0x10dd24(0x233)][_0x10dd24(0x33b)](),_0x1b98d6=_0x3fc937[_0x10dd24(0x2d4)](_0x5de3d8[_0x10dd24(0x2e5)]);_0x3fc937[_0x10dd24(0x291)][_0x10dd24(0x370)](_0x1b98d6);var _0x18ef5b=_0x3fc937[_0x10dd24(0x2d4)]('a');return _0x3fc937[_0x10dd24(0x2f0)][_0x10dd24(0x370)](_0x18ef5b),_0x1b98d6[_0x10dd24(0x1e1)]=_0x4b30dc,_0x18ef5b[_0x10dd24(0x1e1)]=_0x515885,_0x18ef5b[_0x10dd24(0x1e1)];}function _0x26b158(){var _0x3d1910={'ufDnV':function(_0x570425,_0x5196e4){return _0x29a3d4['aIqAX'](_0x570425,_0x5196e4);},'JAijz':function(_0x418f39,_0x3be793){var _0x12557b=_0x24c7;return _0x29a3d4[_0x12557b(0x334)](_0x418f39,_0x3be793);}},_0x1f9fee=0x0;return function(){var _0x4013ca=_0x24c7;return _0x3d1910[_0x4013ca(0x201)](_0x3d1910[_0x4013ca(0x201)]('u',_0x4cedad()),_0x1f9fee++);function _0x4cedad(){var _0x3c7748=_0x4013ca;return _0x3d1910[_0x3c7748(0x201)](_0x3c7748(0x1c9),_0x3d1910[_0x3c7748(0x158)](Math[_0x3c7748(0x1ea)]()*Math[_0x3c7748(0x2ea)](0x24,0x4),0x0)[_0x3c7748(0x219)](0x24))[_0x3c7748(0x28b)](-0x4);}};}function _0x1b7704(_0x433eab){var _0x5e476a={'DqtWg':function(_0x2ad3d7,_0x5cbc6b){return _0x29a3d4['mTrrr'](_0x2ad3d7,_0x5cbc6b);}};return new Promise(function(_0x372d23,_0x48e2e5){var _0x36b2ed=_0x24c7,_0x26a1b5=new Image();_0x26a1b5[_0x36b2ed(0x172)]=function(){_0x5e476a['DqtWg'](_0x372d23,_0x26a1b5);},_0x26a1b5[_0x36b2ed(0x229)]=_0x48e2e5,_0x26a1b5[_0x36b2ed(0x1f1)]=_0x433eab;});}function _0x196d8c(_0x1d8ce3){var _0x497ab5=_0x4e5115,_0x46aba8={'XdGNy':_0x29a3d4[_0x497ab5(0x322)],'skZnR':function(_0x39f9d4,_0x36eae9){return _0x29a3d4['OaUny'](_0x39f9d4,_0x36eae9);},'kswcE':function(_0xf53656,_0x398d82){return _0x29a3d4['wWtGj'](_0xf53656,_0x398d82);},'RfgzZ':function(_0x43ec66,_0x222410){var _0x3c1b2f=_0x497ab5;return _0x29a3d4[_0x3c1b2f(0x151)](_0x43ec66,_0x222410);},'arWaL':function(_0x4245d0,_0x1d5b20){return _0x4245d0+_0x1d5b20;},'jSwQh':_0x29a3d4[_0x497ab5(0x150)],'kQRgF':function(_0x161fd1,_0x11de69){var _0x373743=_0x497ab5;return _0x29a3d4[_0x373743(0x2c4)](_0x161fd1,_0x11de69);},'uBIkx':_0x29a3d4[_0x497ab5(0x301)]},_0x3aec49=0x7530;return _0x23c61a[_0x497ab5(0x2a6)][_0x497ab5(0x1e7)][_0x497ab5(0x2a9)]&&(_0x1d8ce3+=(/\?/[_0x497ab5(0x31f)](_0x1d8ce3)?'&':'?')+new Date()['getTime']()),new Promise(function(_0x546878){var _0x14b20f=_0x497ab5,_0x2824ad={'brdMu':function(_0x23b2c8,_0xd42e87){return _0x23b2c8(_0xd42e87);}},_0x4111e2=new XMLHttpRequest();_0x4111e2[_0x14b20f(0x1c7)]=_0x318ae0,_0x4111e2['ontimeout']=_0x34e8fd,_0x4111e2['responseType']=_0x5de3d8[_0x14b20f(0x16d)],_0x4111e2[_0x14b20f(0x2c3)]=_0x3aec49,_0x4111e2[_0x14b20f(0x25f)](_0x5de3d8[_0x14b20f(0x1cf)],_0x1d8ce3,!![]),_0x4111e2[_0x14b20f(0x18e)]();var _0x1eea7c;if(_0x23c61a[_0x14b20f(0x2a6)][_0x14b20f(0x1e7)]['imagePlaceholder']){var _0x2f420b=_0x23c61a[_0x14b20f(0x2a6)][_0x14b20f(0x1e7)][_0x14b20f(0x286)][_0x14b20f(0x2d0)](/,/);_0x2f420b&&_0x2f420b[0x1]&&(_0x1eea7c=_0x2f420b[0x1]);}function _0x318ae0(){var _0xa4f3b3=_0x14b20f,_0x24b260=_0x46aba8['XdGNy'][_0xa4f3b3(0x2d0)]('|'),_0x2ab6f0=0x0;while(!![]){switch(_0x24b260[_0x2ab6f0++]){case'0':if(_0x46aba8[_0xa4f3b3(0x14d)](_0x4111e2[_0xa4f3b3(0x367)],0xc8)){_0x1eea7c?_0x46aba8['kswcE'](_0x546878,_0x1eea7c):_0x46aba8[_0xa4f3b3(0x1c8)](_0x5df66f,_0x46aba8[_0xa4f3b3(0x204)](_0xa4f3b3(0x1a3),_0x1d8ce3)+_0x46aba8[_0xa4f3b3(0x15c)]+_0x4111e2[_0xa4f3b3(0x367)]);return;}continue;case'1':if(_0x46aba8[_0xa4f3b3(0x14d)](_0x4111e2[_0xa4f3b3(0x28f)],0x4))return;continue;case'2':var _0x4a5281=new FileReader();continue;case'3':_0x4a5281[_0xa4f3b3(0x191)](_0x4111e2[_0xa4f3b3(0x18f)]);continue;case'4':_0x4a5281[_0xa4f3b3(0x349)]=function(){var _0x4f3a74=_0x4a5281['result']['split'](/,/)[0x1];_0x2824ad['brdMu'](_0x546878,_0x4f3a74);};continue;}break;}}function _0x34e8fd(){var _0x26d4a7=_0x14b20f;_0x1eea7c?_0x46aba8[_0x26d4a7(0x1c8)](_0x546878,_0x1eea7c):_0x5df66f(_0x46aba8['arWaL'](_0x46aba8[_0x26d4a7(0x2a0)]('timeout\x20of\x20',_0x3aec49)+_0x46aba8[_0x26d4a7(0x1b1)],_0x1d8ce3));}function _0x5df66f(_0x12e08b){var _0x5ae60f=_0x14b20f;console[_0x5ae60f(0x2be)](_0x12e08b),_0x46aba8[_0x5ae60f(0x1c8)](_0x546878,'');}});}function _0x387110(_0x3e8d3a,_0x5f2bf3){var _0xa02346=_0x4e5115;return _0x5de3d8[_0xa02346(0x377)](_0x5de3d8['buXJb'](_0x5de3d8[_0xa02346(0x289)]+_0x5f2bf3,_0x5de3d8['FUGuB']),_0x3e8d3a);}function _0x437d7a(_0x295b08){var _0x13c49e=_0x4e5115;return _0x295b08['replace'](/([.*+?^${}()|\[\]\/\\])/g,_0x29a3d4[_0x13c49e(0x1b2)]);}function _0x15a352(_0x5ec209){return function(_0x41432e){return new Promise(function(_0x530c03){setTimeout(function(){_0x530c03(_0x41432e);},_0x5ec209);});};}function _0x3482e3(_0x5a48e0){var _0x5394fc=_0x4e5115,_0x29aaff=[],_0x34774f=_0x5a48e0['length'];for(var _0x2e5978=0x0;_0x29a3d4[_0x5394fc(0x2a7)](_0x2e5978,_0x34774f);_0x2e5978++)_0x29aaff['push'](_0x5a48e0[_0x2e5978]);return _0x29aaff;}function _0x5beb91(_0x56c363){var _0x2efa26=_0x4e5115;return _0x56c363['replace'](/#/g,_0x2efa26(0x15a))[_0x2efa26(0x173)](/\n/g,_0x29a3d4[_0x2efa26(0x29c)]);}function _0x46d17(_0x577ec5){var _0x56939=_0x4e5115,_0x83ca00=_0x3bfee6(_0x577ec5,_0x56939(0x1c6)),_0x3b3d03=_0x29a3d4[_0x56939(0x1b9)](_0x3bfee6,_0x577ec5,_0x29a3d4[_0x56939(0x23c)]);return _0x29a3d4['TAxcg'](_0x29a3d4['TAxcg'](_0x577ec5[_0x56939(0x350)],_0x83ca00),_0x3b3d03);}function _0xa3b30a(_0x1242be){var _0x596dd=_0x4e5115,_0x4a5ea2=_0x29a3d4['KQpiX'](_0x3bfee6,_0x1242be,_0x29a3d4['TxnXb']),_0x10dfed=_0x3bfee6(_0x1242be,_0x596dd(0x2d9));return _0x29a3d4[_0x596dd(0x307)](_0x29a3d4[_0x596dd(0x337)](_0x1242be[_0x596dd(0x365)],_0x4a5ea2),_0x10dfed);}function _0x3bfee6(_0x36d07b,_0x2c5138){var _0x1493c6=_0x4e5115,_0x379937=window[_0x1493c6(0x236)](_0x36d07b)[_0x1493c6(0x29a)](_0x2c5138);return parseFloat(_0x379937[_0x1493c6(0x173)]('px',''));}}function _0x5f216d(){var _0x110026=_0x36c0d1,_0x589af4={'DkjGA':function(_0x1c5dc3,_0xf94c45){var _0x597cc7=_0x24c7;return _0x29a3d4[_0x597cc7(0x294)](_0x1c5dc3,_0xf94c45);},'opbOV':function(_0x130166,_0x2793d7){var _0x5bc261=_0x24c7;return _0x29a3d4[_0x5bc261(0x208)](_0x130166,_0x2793d7);},'JUEll':function(_0x1eb379,_0x5b4df5){var _0x4a142f=_0x24c7;return _0x29a3d4[_0x4a142f(0x337)](_0x1eb379,_0x5b4df5);},'nTyjC':function(_0x2684bf,_0x2d4652){var _0x3d63ce=_0x24c7;return _0x29a3d4[_0x3d63ce(0x2c4)](_0x2684bf,_0x2d4652);},'hsjxG':function(_0x558760,_0x32375d){return _0x558760+_0x32375d;},'TUOhW':_0x29a3d4[_0x110026(0x18b)],'aXKQE':function(_0x44e80b,_0x483f3c){var _0x265aad=_0x110026;return _0x29a3d4[_0x265aad(0x151)](_0x44e80b,_0x483f3c);}},_0x5a5708=/url\(['"]?([^'"]+?)['"]?\)/g;return{'inlineAll':_0x1a6cdd,'shouldProcess':_0x2c920,'impl':{'readUrls':_0x41de85,'inline':_0x3f9eba}};function _0x2c920(_0xfa8d6a){var _0xc9c1cb=_0x110026;return _0x589af4[_0xc9c1cb(0x232)](_0xfa8d6a['search'](_0x5a5708),-0x1);}function _0x41de85(_0x4ff7ec){var _0x292fc3=_0x110026,_0x4ee5ac=[],_0xa48bd9;while((_0xa48bd9=_0x5a5708['exec'](_0x4ff7ec))!==null){_0x4ee5ac['push'](_0xa48bd9[0x1]);}return _0x4ee5ac[_0x292fc3(0x26c)](function(_0x10e146){var _0x48106f=_0x292fc3;return!_0x4cce23[_0x48106f(0x264)](_0x10e146);});}function _0x3f9eba(_0x395fb4,_0x581523,_0xe6d093,_0x456685){var _0x290ba6=_0x110026,_0x3098df={'qJNue':function(_0x262b26,_0x1cf8a4){var _0x49878f=_0x24c7;return _0x589af4[_0x49878f(0x285)](_0x262b26,_0x1cf8a4);},'QHTii':function(_0x34faca,_0x588d15){var _0x471b44=_0x24c7;return _0x589af4[_0x471b44(0x318)](_0x34faca,_0x588d15);},'NpAML':function(_0x40bd54,_0x3f7619){return _0x589af4['JUEll'](_0x40bd54,_0x3f7619);},'ZsGoG':function(_0x31b6db,_0x5eefe2){return _0x589af4['nTyjC'](_0x31b6db,_0x5eefe2);},'xEtqw':function(_0x53087b,_0x21966d){var _0x26272c=_0x24c7;return _0x589af4[_0x26272c(0x222)](_0x53087b,_0x21966d);},'MlWts':_0x589af4[_0x290ba6(0x282)]};return Promise[_0x290ba6(0x323)](_0x581523)['then'](function(_0x59203a){var _0x10eece=_0x290ba6;return _0xe6d093?_0x4cce23[_0x10eece(0x2ec)](_0x59203a,_0xe6d093):_0x59203a;})[_0x290ba6(0x34c)](_0x456685||_0x4cce23['getAndEncode'])['then'](function(_0x34a274){return _0x4cce23['dataAsUrl'](_0x34a274,_0x4cce23['mimeType'](_0x581523));})[_0x290ba6(0x34c)](function(_0x327fd7){var _0x3d76df=_0x290ba6;return _0x395fb4[_0x3d76df(0x173)](_0x3098df[_0x3d76df(0x271)](_0x2eb6f9,_0x581523),_0x3098df['QHTii'](_0x3098df[_0x3d76df(0x1d9)]('$1',_0x327fd7),'$3'));});function _0x2eb6f9(_0x231206){var _0x386c49=_0x290ba6;return new RegExp(_0x3098df[_0x386c49(0x231)](_0x3098df[_0x386c49(0x1bf)](_0x386c49(0x179),_0x4cce23[_0x386c49(0x1ad)](_0x231206)),_0x3098df[_0x386c49(0x244)]),'g');}}function _0x1a6cdd(_0x3640b2,_0x3f90d8,_0x5368a0){var _0x56b505=_0x110026;if(_0x29a3d4[_0x56b505(0x2fb)](_0x4c4ae5))return Promise[_0x56b505(0x323)](_0x3640b2);return Promise[_0x56b505(0x323)](_0x3640b2)['then'](_0x41de85)[_0x56b505(0x34c)](function(_0x12d710){var _0x57dbbb=_0x56b505,_0x4de0bd=Promise[_0x57dbbb(0x323)](_0x3640b2);return _0x12d710['forEach'](function(_0x2e895b){var _0x1e8dff=_0x57dbbb;_0x4de0bd=_0x4de0bd[_0x1e8dff(0x34c)](function(_0x30d151){return _0x3f9eba(_0x30d151,_0x2e895b,_0x3f90d8,_0x5368a0);});}),_0x4de0bd;});function _0x4c4ae5(){return!_0x589af4['aXKQE'](_0x2c920,_0x3640b2);}}}function _0x10ba6c(){var _0x3402c8=_0x36c0d1,_0x350a18={'PpvHr':function(_0x460601,_0x2c3649){return _0x460601===_0x2c3649;},'PcWBO':_0x12d382[_0x3402c8(0x1fd)],'duTQd':function(_0x488968,_0x55a6b6){var _0x295fb9=_0x3402c8;return _0x12d382[_0x295fb9(0x1b4)](_0x488968,_0x55a6b6);},'BUmHf':_0x12d382[_0x3402c8(0x163)]};return{'resolveAll':_0x14e7b5,'impl':{'readAll':_0x3f7dec}};function _0x14e7b5(){var _0x48cafd=_0x3402c8;return _0x3f7dec()[_0x48cafd(0x34c)](function(_0x59c8d5){var _0x3c5b7b=_0x48cafd;return Promise[_0x3c5b7b(0x196)](_0x59c8d5['map'](function(_0xf49dd4){var _0x3c5a52=_0x3c5b7b;return _0xf49dd4[_0x3c5a52(0x323)]();}));})[_0x48cafd(0x34c)](function(_0x5aa8fc){var _0x2c2551=_0x48cafd;return _0x5aa8fc[_0x2c2551(0x368)]('\x0a');});}function _0x3f7dec(){var _0xfe6aca=_0x3402c8,_0x13dd8e={'CEzyw':function(_0x2a0c4f,_0x5447a1){return _0x350a18['PpvHr'](_0x2a0c4f,_0x5447a1);},'YCTss':_0x350a18[_0xfe6aca(0x176)],'kEleH':function(_0x40b0ef,_0x58d02e){var _0x399fd8=_0xfe6aca;return _0x350a18[_0x399fd8(0x19a)](_0x40b0ef,_0x58d02e);},'xJSXq':_0x350a18['BUmHf']};return Promise[_0xfe6aca(0x323)](_0x4cce23['asArray'](document[_0xfe6aca(0x29e)]))[_0xfe6aca(0x34c)](_0x3d226b)['then'](_0x17798a)[_0xfe6aca(0x34c)](function(_0x4f76a5){var _0x5578cc=_0xfe6aca;return _0x4f76a5[_0x5578cc(0x250)](_0x3b8634);});function _0x17798a(_0x2d3494){var _0x1e801c=_0xfe6aca;return _0x2d3494[_0x1e801c(0x26c)](function(_0x4c7579){var _0x50ecf6=_0x1e801c;return _0x13dd8e['CEzyw'](_0x4c7579[_0x50ecf6(0x181)],CSSRule[_0x50ecf6(0x351)]);})[_0x1e801c(0x26c)](function(_0x716e85){var _0x244425=_0x1e801c;return _0x5602a0['shouldProcess'](_0x716e85[_0x244425(0x25d)][_0x244425(0x29a)](_0x13dd8e[_0x244425(0x1a7)]));});}function _0x3d226b(_0x2369f8){var _0x7ec2f=_0xfe6aca,_0x4bfae2={'xiGnO':function(_0x4e3413,_0x5400ff){var _0x454e9d=_0x24c7;return _0x13dd8e[_0x454e9d(0x243)](_0x4e3413,_0x5400ff);},'KlCQn':_0x13dd8e['xJSXq']},_0x18c80f=[];return _0x2369f8[_0x7ec2f(0x339)](function(_0x2fdbc4){var _0x24794a=_0x7ec2f;try{_0x4cce23['asArray'](_0x2fdbc4[_0x24794a(0x1fa)]||[])[_0x24794a(0x339)](_0x18c80f['push'][_0x24794a(0x157)](_0x18c80f));}catch(_0x35ab55){console[_0x24794a(0x329)](_0x4bfae2[_0x24794a(0x2c1)](_0x4bfae2[_0x24794a(0x16c)],_0x2fdbc4['href']),_0x35ab55[_0x24794a(0x219)]());}}),_0x18c80f;}function _0x3b8634(_0x57aa95){var _0x11deda=_0xfe6aca,_0x220901={'bdQws':_0x13dd8e[_0x11deda(0x1a7)]};return{'resolve':function _0x157927(){var _0x22835f=_0x11deda,_0x465236=(_0x57aa95[_0x22835f(0x182)]||{})[_0x22835f(0x1e1)];return _0x5602a0[_0x22835f(0x214)](_0x57aa95['cssText'],_0x465236);},'src':function(){var _0x55b9d5=_0x11deda;return _0x57aa95[_0x55b9d5(0x25d)][_0x55b9d5(0x29a)](_0x220901['bdQws']);}};}}}function _0x5deec6(){var _0xca134d=_0x36c0d1,_0x7fb203={'dyyKh':function(_0x181c76,_0x21970e){return _0x181c76 instanceof _0x21970e;},'gysNd':function(_0xe16941,_0x32792c){return _0xe16941(_0x32792c);},'OrkDR':_0x29a3d4[_0xca134d(0x2ac)]};return{'inlineAll':_0x5b8482,'impl':{'newImage':_0xd89d7c}};function _0xd89d7c(_0x58223f){return{'inline':_0x1c32cd};function _0x1c32cd(_0x485b01){var _0x5a13c2=_0x24c7;if(_0x4cce23[_0x5a13c2(0x264)](_0x58223f[_0x5a13c2(0x1f1)]))return Promise[_0x5a13c2(0x323)]();return Promise['resolve'](_0x58223f['src'])[_0x5a13c2(0x34c)](_0x485b01||_0x4cce23[_0x5a13c2(0x2a2)])[_0x5a13c2(0x34c)](function(_0xda415a){var _0x330951=_0x5a13c2;return _0x4cce23[_0x330951(0x2ce)](_0xda415a,_0x4cce23[_0x330951(0x33d)](_0x58223f['src']));})['then'](function(_0x3c90b7){return new Promise(function(_0x2879e2,_0x470ecc){var _0x115e2d=_0x24c7;_0x58223f[_0x115e2d(0x172)]=_0x2879e2,_0x58223f[_0x115e2d(0x229)]=_0x470ecc,_0x58223f[_0x115e2d(0x1f1)]=_0x3c90b7;});});}}function _0x5b8482(_0x3bba97){var _0x12bffd=_0xca134d,_0x354f65={'YdsHc':_0x7fb203[_0x12bffd(0x292)]};if(!_0x7fb203['dyyKh'](_0x3bba97,Element))return Promise['resolve'](_0x3bba97);return _0x7fb203[_0x12bffd(0x287)](_0xb95c4,_0x3bba97)[_0x12bffd(0x34c)](function(){var _0x95967c=_0x12bffd;if(_0x7fb203['dyyKh'](_0x3bba97,HTMLImageElement))return _0x7fb203[_0x95967c(0x287)](_0xd89d7c,_0x3bba97)[_0x95967c(0x2d2)]();else return Promise[_0x95967c(0x196)](_0x4cce23[_0x95967c(0x162)](_0x3bba97[_0x95967c(0x234)])[_0x95967c(0x250)](function(_0x1fb1c9){return _0x5b8482(_0x1fb1c9);}));});function _0xb95c4(_0x65ebf4){var _0x3f78f6=_0x12bffd,_0x4123b0=_0x65ebf4[_0x3f78f6(0x25d)][_0x3f78f6(0x29a)]('background');if(!_0x4123b0)return Promise['resolve'](_0x65ebf4);return _0x5602a0[_0x3f78f6(0x214)](_0x4123b0)[_0x3f78f6(0x34c)](function(_0x1bd3d4){var _0x3bd2de=_0x3f78f6;_0x65ebf4['style'][_0x3bd2de(0x223)](_0x354f65[_0x3bd2de(0x206)],_0x1bd3d4,_0x65ebf4[_0x3bd2de(0x25d)][_0x3bd2de(0x2c5)](_0x354f65[_0x3bd2de(0x206)]));})['then'](function(){return _0x65ebf4;});}}}}());});const feedbackModalCss=_0x253a64(0x25e),FeedbackModal=class{constructor(_0xba31d2){var _0x96a40a=_0x253a64,_0xa8b86c={'GIVcR':function(_0x5cfbc9,_0x5f5d88,_0x3bf49d){return _0x5cfbc9(_0x5f5d88,_0x3bf49d);},'BKzBk':_0x96a40a(0x1e5),'SuxiN':_0x96a40a(0x1cb),'INkyt':_0x96a40a(0x2ee),'KElBK':_0x96a40a(0x254),'GIaVp':_0x96a40a(0x36f),'NHBuq':'feedback-modal-element-hover','nHPgU':_0x96a40a(0x272),'smuOq':_0x96a40a(0x22b),'sJAmH':_0x96a40a(0x21e),'gvOmt':function(_0x53d99b,_0x520d8b){return _0x53d99b+_0x520d8b;},'jGjYc':_0x96a40a(0x35d),'WLYDW':'transparent','lDNJd':_0x96a40a(0x1e4),'bLWLm':_0x96a40a(0x35c),'TgKaN':'html','lVuid':'hidden','fxtBm':_0x96a40a(0x17f),'yZNSq':_0x96a40a(0x366),'LnBsn':_0x96a40a(0x2d8),'MfOFg':_0x96a40a(0x171),'MSnjq':_0x96a40a(0x1c3),'tTVPl':_0x96a40a(0x36b)};index[_0x96a40a(0x29d)](this,_0xba31d2),this[_0x96a40a(0x24d)]=async _0x229af3=>{var _0x339b1a=_0x96a40a;_0x229af3['preventDefault'](),this['resetOverflow'](),this[_0x339b1a(0x359)]=![],this[_0x339b1a(0x16a)]=![],this[_0x339b1a(0x1dd)]=!![];let _0x517978='';this[_0x339b1a(0x358)]&&await this[_0x339b1a(0x358)]['then'](_0x13d6be=>{_0x517978=_0x13d6be;})[_0x339b1a(0x2e9)](_0x1c4899=>{var _0x5d6d76=_0x339b1a;console[_0x5d6d76(0x329)](_0x1c4899);});try{const _0x174056=await _0xa8b86c[_0x339b1a(0x246)](fetch,_0x339b1a(0x2ca),{'method':_0xa8b86c[_0x339b1a(0x193)],'body':JSON[_0x339b1a(0x333)]({'url':window[_0x339b1a(0x268)][_0x339b1a(0x1e1)],'message':this[_0x339b1a(0x184)],'email':this[_0x339b1a(0x2a4)],'project':this[_0x339b1a(0x1d2)],'screenshot':_0x517978}),'headers':{'Content-Type':_0xa8b86c['SuxiN']}});_0x174056[_0x339b1a(0x367)]===0xc9?(this[_0x339b1a(0x17d)]=!![],this[_0x339b1a(0x2a8)]=![]):(this[_0x339b1a(0x17d)]=![],this[_0x339b1a(0x2a8)]=!![],this[_0x339b1a(0x313)]=_0x174056[_0x339b1a(0x367)]);}catch(_0x36135e){console['log'](_0x36135e),this[_0x339b1a(0x17d)]=![],this[_0x339b1a(0x2a8)]=!![],this[_0x339b1a(0x313)]=0x1f4;}finally{this[_0x339b1a(0x1dd)]=![],this[_0x339b1a(0x16a)]=!![];}},this[_0x96a40a(0x174)]=()=>{var _0x113c6f=_0x96a40a;this[_0x113c6f(0x1dd)]=![],this[_0x113c6f(0x16a)]=![],this[_0x113c6f(0x359)]=![],this[_0x113c6f(0x14c)]=![],this[_0x113c6f(0x358)]=null,this[_0x113c6f(0x17d)]=![],this[_0x113c6f(0x2a8)]=![],this[_0x113c6f(0x313)]=0x1f4,this[_0x113c6f(0x184)]='',this[_0x113c6f(0x2a4)]='',this[_0x113c6f(0x1f2)]();},this[_0x96a40a(0x2ad)]=()=>{var _0x4b880f=_0x96a40a,_0x3a07e9=_0xa8b86c[_0x4b880f(0x35a)][_0x4b880f(0x2d0)]('|'),_0x4e7b78=0x0;while(!![]){switch(_0x3a07e9[_0x4e7b78++]){case'0':this[_0x4b880f(0x1f2)]();continue;case'1':this['showModal']=![];continue;case'2':this[_0x4b880f(0x14c)]=![];continue;case'3':this[_0x4b880f(0x358)]=null;continue;case'4':this['showScreenshotMode']=!![];continue;}break;}},this['closeScreenShot']=()=>{var _0x4a4f59=_0x96a40a,_0x4aaa89=_0x4a4f59(0x353)['split']('|'),_0x246604=0x0;while(!![]){switch(_0x4aaa89[_0x246604++]){case'0':this[_0x4a4f59(0x358)]=null;continue;case'1':this[_0x4a4f59(0x14c)]=![];continue;case'2':this[_0x4a4f59(0x21f)][_0x4a4f59(0x25d)]['display']=_0xa8b86c[_0x4a4f59(0x34e)];continue;case'3':this[_0x4a4f59(0x359)]=![];continue;case'4':this[_0x4a4f59(0x16a)]=![];continue;case'5':this['resetOverflow']();continue;}break;}},this[_0x96a40a(0x260)]=_0x187723=>{var _0x3d2338=_0x96a40a;_0x187723[_0x3d2338(0x37b)]();if(this[_0x3d2338(0x14c)])return;this[_0x3d2338(0x21f)][_0x3d2338(0x25d)]['display']=_0xa8b86c[_0x3d2338(0x34e)],this[_0x3d2338(0x2c8)][_0x3d2338(0x25d)][_0x3d2338(0x267)]=_0xa8b86c['KElBK'];const _0x351706=document[_0x3d2338(0x1e2)](_0x187723[_0x3d2338(0x20c)],_0x187723[_0x3d2338(0x2b3)]),_0x562c1d=_0x351706[_0x3d2338(0x1b7)]();this['screenshotModal'][_0x3d2338(0x25d)][_0x3d2338(0x267)]='',this['elementSelected'][_0x3d2338(0x25d)]['position']=_0xa8b86c[_0x3d2338(0x1a4)],this[_0x3d2338(0x253)][_0x3d2338(0x25d)][_0x3d2338(0x32e)]=_0x562c1d['left']+'px',this[_0x3d2338(0x253)][_0x3d2338(0x25d)][_0x3d2338(0x23f)]=_0x562c1d[_0x3d2338(0x23f)]+'px',this[_0x3d2338(0x253)][_0x3d2338(0x25d)][_0x3d2338(0x23e)]=_0x562c1d['width']+'px',this[_0x3d2338(0x253)][_0x3d2338(0x25d)][_0x3d2338(0x363)]=_0x562c1d[_0x3d2338(0x363)]+'px',this[_0x3d2338(0x253)][_0x3d2338(0x37d)][_0x3d2338(0x324)](_0xa8b86c[_0x3d2338(0x273)]),this[_0x3d2338(0x35e)][_0x3d2338(0x25d)][_0x3d2338(0x259)]=_0xa8b86c[_0x3d2338(0x1a4)],this[_0x3d2338(0x35e)][_0x3d2338(0x25d)][_0x3d2338(0x32e)]=_0x562c1d[_0x3d2338(0x32e)]+'px',this['topSide'][_0x3d2338(0x25d)][_0x3d2338(0x23f)]=_0xa8b86c[_0x3d2338(0x18a)],this[_0x3d2338(0x35e)][_0x3d2338(0x25d)][_0x3d2338(0x23e)]=_0x562c1d['width']+0x8+'px',this[_0x3d2338(0x35e)][_0x3d2338(0x25d)]['height']=_0x562c1d['top']+'px',this[_0x3d2338(0x35e)][_0x3d2338(0x25d)][_0x3d2338(0x328)]=_0xa8b86c[_0x3d2338(0x1bc)],this['leftSide'][_0x3d2338(0x25d)][_0x3d2338(0x259)]=_0xa8b86c['GIaVp'],this['leftSide'][_0x3d2338(0x25d)][_0x3d2338(0x32e)]=_0xa8b86c['nHPgU'],this[_0x3d2338(0x2c0)][_0x3d2338(0x25d)]['top']=_0xa8b86c[_0x3d2338(0x18a)],this['leftSide']['style'][_0x3d2338(0x23e)]=_0x562c1d[_0x3d2338(0x32e)]+'px',this[_0x3d2338(0x2c0)][_0x3d2338(0x25d)][_0x3d2338(0x363)]=_0xa8b86c[_0x3d2338(0x2e0)],this['leftSide'][_0x3d2338(0x25d)][_0x3d2338(0x328)]=_0xa8b86c[_0x3d2338(0x1bc)],this[_0x3d2338(0x375)][_0x3d2338(0x25d)][_0x3d2338(0x259)]=_0xa8b86c[_0x3d2338(0x1a4)],this[_0x3d2338(0x375)][_0x3d2338(0x25d)][_0x3d2338(0x32e)]=_0x562c1d[_0x3d2338(0x32e)]+'px',this[_0x3d2338(0x375)][_0x3d2338(0x25d)][_0x3d2338(0x23f)]=_0xa8b86c[_0x3d2338(0x175)](_0x562c1d[_0x3d2338(0x2f7)],0x8)+'px',this['bottomSide'][_0x3d2338(0x25d)][_0x3d2338(0x23e)]=_0xa8b86c[_0x3d2338(0x175)](_0x562c1d[_0x3d2338(0x23e)],0x8)+'px',this[_0x3d2338(0x375)][_0x3d2338(0x25d)][_0x3d2338(0x363)]=_0xa8b86c[_0x3d2338(0x2e0)],this[_0x3d2338(0x375)][_0x3d2338(0x25d)][_0x3d2338(0x328)]=_0xa8b86c[_0x3d2338(0x1bc)],this[_0x3d2338(0x1a0)][_0x3d2338(0x25d)][_0x3d2338(0x259)]=_0xa8b86c['GIaVp'],this[_0x3d2338(0x1a0)][_0x3d2338(0x25d)][_0x3d2338(0x32e)]=_0xa8b86c[_0x3d2338(0x175)](_0x562c1d[_0x3d2338(0x2c6)],0x8)+'px',this[_0x3d2338(0x1a0)][_0x3d2338(0x25d)][_0x3d2338(0x23f)]=_0xa8b86c[_0x3d2338(0x18a)],this[_0x3d2338(0x1a0)][_0x3d2338(0x25d)][_0x3d2338(0x23e)]=_0xa8b86c[_0x3d2338(0x338)],this['rightSide'][_0x3d2338(0x25d)][_0x3d2338(0x363)]=_0xa8b86c[_0x3d2338(0x2e0)],this[_0x3d2338(0x1a0)][_0x3d2338(0x25d)]['backgroundColor']=_0xa8b86c[_0x3d2338(0x1bc)],this[_0x3d2338(0x2c8)][_0x3d2338(0x25d)][_0x3d2338(0x328)]=_0xa8b86c[_0x3d2338(0x1e6)];},this['handleMouseClickedSelectedElement']=_0x17f57f=>{var _0xb4c53=_0x96a40a;_0x17f57f[_0xb4c53(0x37b)]();if(this[_0xb4c53(0x253)])this['elementSelected'][_0xb4c53(0x37d)]['add'](_0xa8b86c['bLWLm']);let _0x216674=this[_0xb4c53(0x253)][_0xb4c53(0x1b7)]()[_0xb4c53(0x23f)];this['elementSelected'][_0xb4c53(0x25d)][_0xb4c53(0x23f)]=_0xa8b86c[_0xb4c53(0x175)](_0x216674,window[_0xb4c53(0x2d7)])+'px';const _0x8956c1=this[_0xb4c53(0x253)][_0xb4c53(0x18c)](!![]);document[_0xb4c53(0x2f0)][_0xb4c53(0x370)](_0x8956c1),this[_0xb4c53(0x253)][_0xb4c53(0x25d)][_0xb4c53(0x23f)]=_0x216674+'px',this[_0xb4c53(0x358)]=domToImage['toPng'](document[_0xb4c53(0x2f0)],{'cacheBust':!![]})[_0xb4c53(0x34c)](function(_0x23b50b){var _0x2459c2=_0xb4c53;return document[_0x2459c2(0x2f0)][_0x2459c2(0x297)](_0x8956c1),_0x23b50b;})[_0xb4c53(0x2e9)](function(_0x2e404d){var _0x4a79fd=_0xb4c53;return console[_0x4a79fd(0x2be)](_0xa8b86c[_0x4a79fd(0x2e1)],_0x2e404d),'';});const _0x672c63=document['getElementsByTagName'](_0xa8b86c[_0xb4c53(0x2d1)])[0x0];_0x672c63['style'][_0xb4c53(0x23b)]=_0xa8b86c[_0xb4c53(0x207)],this['hasSelectedElement']=!![],this[_0xb4c53(0x21f)][_0xb4c53(0x25d)][_0xb4c53(0x267)]=_0xb4c53(0x31b),this['showModal']=!![];},this['sending']=![],this[_0x96a40a(0x184)]='',this['formEmail']='',this[_0x96a40a(0x17d)]=![],this[_0x96a40a(0x2a8)]=![],this['formErrorStatus']=0x1f4,this[_0x96a40a(0x358)]=undefined,this[_0x96a40a(0x197)]=_0xa8b86c[_0x96a40a(0x240)],this[_0x96a40a(0x2b6)]=_0xa8b86c[_0x96a40a(0x276)],this[_0x96a40a(0x216)]=_0x96a40a(0x1f4),this[_0x96a40a(0x26b)]='Oops!\x20The\x20request\x20URL\x20does\x20not\x20match\x20the\x20one\x20defined\x20in\x20PushFeedback\x20for\x20this\x20project.',this[_0x96a40a(0x257)]=_0xa8b86c[_0x96a40a(0x2f1)],this[_0x96a40a(0x290)]=_0xa8b86c[_0x96a40a(0x36e)],this['sendButtonText']=_0x96a40a(0x21a),this[_0x96a40a(0x1d2)]='',this[_0x96a40a(0x280)]='Take\x20a\x20Screenshot',this[_0x96a40a(0x209)]=_0xa8b86c[_0x96a40a(0x249)],this[_0x96a40a(0x19e)]='',this[_0x96a40a(0x20a)]=_0xa8b86c['tTVPl'],this[_0x96a40a(0x2af)]=_0x96a40a(0x1b5),this[_0x96a40a(0x16a)]=![],this[_0x96a40a(0x359)]=![],this['hasSelectedElement']=![],this['hideScreenshotButton']=![];}['componentWillLoad'](){var _0x2a3016=_0x253a64;this[_0x2a3016(0x2a4)]=this[_0x2a3016(0x19e)];}['resetOverflow'](){var _0x37ce9f=_0x253a64,_0x50fdf3={'EmjPE':_0x37ce9f(0x35b),'CZKJi':_0x37ce9f(0x155)};const _0x1de839=document['getElementsByTagName'](_0x50fdf3[_0x37ce9f(0x210)])[0x0];_0x1de839['style'][_0x37ce9f(0x23b)]=_0x50fdf3[_0x37ce9f(0x2b5)];}[_0x253a64(0x228)](_0x712b4e){var _0x3c6748=_0x253a64;this[_0x3c6748(0x184)]=_0x712b4e['target'][_0x3c6748(0x28a)];}['handleEmailInput'](_0x29a080){var _0x4930db=_0x253a64;this[_0x4930db(0x2a4)]=_0x29a080[_0x4930db(0x190)][_0x4930db(0x28a)];}['render'](){var _0x2ce349=_0x253a64,_0x42d5fa={'mOuPO':_0x2ce349(0x33a),'KGKKe':'feedback-modal-screenshot','kVwkZ':_0x2ce349(0x24c),'KgtXG':_0x2ce349(0x1c2),'SyuCO':_0x2ce349(0x2b2),'TnpSH':_0x2ce349(0x277),'rkNwU':'right-side','LICrp':_0x2ce349(0x293),'obmbE':_0x2ce349(0x258),'UKhzH':'0\x200\x2024\x2024','BZKBX':'none','qiIRf':_0x2ce349(0x166),'FWAyf':_0x2ce349(0x17e),'iMPBY':'feather\x20feather-x','PdBaw':_0x2ce349(0x1a5),'uZWWz':_0x2ce349(0x1f6),'SYbBO':_0x2ce349(0x22a),'jjDcu':_0x2ce349(0x2f5),'tVRcw':function(_0x1adea6,_0x1e6cb9){return _0x1adea6==_0x1e6cb9;},'MUWah':'button','IlhGM':'feedback-modal-close','UeTSt':_0x2ce349(0x24b),'NVHwI':_0x2ce349(0x1f8),'yydbp':_0x2ce349(0x17c),'DdoHE':'input','ioHLm':'email','HvbkI':_0x2ce349(0x379),'MkeOY':_0x2ce349(0x1d8),'rGgqF':'feather\x20feather-camera','dWCGX':_0x2ce349(0x213),'SnEVs':'circle','MrWEd':_0x2ce349(0x1ef),'zIbHe':_0x2ce349(0x331),'dDmoI':_0x2ce349(0x19f),'qHfTm':_0x2ce349(0x344),'keNpC':_0x2ce349(0x305),'JOqgd':_0x2ce349(0x362),'JvDzF':'21.152%','SStSg':_0x2ce349(0x188),'YyKlx':_0x2ce349(0x34f),'wxAYi':'#4FD1C5','NkALI':_0x2ce349(0x2f9),'qceIU':_0x2ce349(0x25c),'OlnUx':_0x2ce349(0x2d3),'eAbTK':_0x2ce349(0x35d),'zSfwX':_0x2ce349(0x34b),'BzsjW':_0x2ce349(0x1f5),'VLVyV':_0x2ce349(0x326),'YJZvh':'PushFeedback'};return index['h'](_0x2ce349(0x33a),{'class':_0x2ce349(0x14e)},this[_0x2ce349(0x359)]&&index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa[_0x2ce349(0x348)],'ref':_0x36ebf6=>this[_0x2ce349(0x2c8)]=_0x36ebf6,'onMouseMove':this[_0x2ce349(0x260)]},index['h'](_0x2ce349(0x33a),{'class':_0x42d5fa['kVwkZ'],'ref':_0x43e6ee=>this[_0x2ce349(0x253)]=_0x43e6ee,'onClick':this[_0x2ce349(0x296)]}),index['h'](_0x2ce349(0x33a),{'class':_0x42d5fa[_0x2ce349(0x1dc)],'ref':_0x3b9901=>this[_0x2ce349(0x35e)]=_0x3b9901}),index['h'](_0x42d5fa['mOuPO'],{'class':_0x42d5fa[_0x2ce349(0x347)],'ref':_0x2e7dcc=>this[_0x2ce349(0x2c0)]=_0x2e7dcc}),index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa[_0x2ce349(0x345)],'ref':_0x9ce103=>this[_0x2ce349(0x375)]=_0x9ce103}),index['h'](_0x2ce349(0x33a),{'class':_0x42d5fa[_0x2ce349(0x1da)],'ref':_0x1af3c0=>this[_0x2ce349(0x1a0)]=_0x1af3c0}),index['h']('div',{'class':_0x2ce349(0x256),'onClick':this[_0x2ce349(0x183)]},index['h'](_0x42d5fa[_0x2ce349(0x1b8)],null,this['screenshotTopbarText']),index['h'](_0x42d5fa[_0x2ce349(0x1b8)],{'class':'feedback-modal-screenshot-close'},index['h'](_0x2ce349(0x379),{'xmlns':_0x42d5fa[_0x2ce349(0x21b)],'width':'24','height':'24','viewBox':_0x42d5fa['UKhzH'],'fill':_0x42d5fa['BZKBX'],'stroke':_0x42d5fa[_0x2ce349(0x178)],'stroke-width':'2','stroke-linecap':_0x42d5fa[_0x2ce349(0x2ff)],'stroke-linejoin':_0x2ce349(0x17e),'class':_0x42d5fa[_0x2ce349(0x278)]},index['h'](_0x42d5fa[_0x2ce349(0x19d)],{'x1':'18','y1':'6','x2':'6','y2':'18'}),index['h'](_0x42d5fa[_0x2ce349(0x19d)],{'x1':'6','y1':'6','x2':'18','y2':'18'})))),index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa[_0x2ce349(0x373)],'ref':_0x295f47=>this[_0x2ce349(0x21f)]=_0x295f47})),this[_0x2ce349(0x16a)]&&index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':'feedback-modal-content\x20feedback-modal-content--'+this[_0x2ce349(0x290)],'ref':_0x4c8862=>this[_0x2ce349(0x2db)]=_0x4c8862},index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa[_0x2ce349(0x189)]},!this[_0x2ce349(0x17d)]&&!this[_0x2ce349(0x2a8)]?index['h'](_0x42d5fa['LICrp'],null,this[_0x2ce349(0x197)]):this[_0x2ce349(0x17d)]?index['h'](_0x42d5fa[_0x2ce349(0x1b8)],{'class':_0x42d5fa[_0x2ce349(0x308)]},this[_0x2ce349(0x2b6)]):this[_0x2ce349(0x2a8)]&&_0x42d5fa[_0x2ce349(0x32a)](this[_0x2ce349(0x313)],0x1f4)?index['h'](_0x2ce349(0x293),{'class':_0x2ce349(0x2f5)},this['modalTitleError']):this[_0x2ce349(0x2a8)]&&this[_0x2ce349(0x313)]==0x193?index['h'](_0x42d5fa[_0x2ce349(0x1b8)],{'class':_0x42d5fa[_0x2ce349(0x308)]},this[_0x2ce349(0x26b)]):this[_0x2ce349(0x2a8)]&&_0x42d5fa[_0x2ce349(0x32a)](this[_0x2ce349(0x313)],0x194)?index['h'](_0x2ce349(0x293),{'class':_0x42d5fa['jjDcu']},this['modalTitleError404']):index['h'](_0x42d5fa['LICrp'],null),index['h'](_0x42d5fa[_0x2ce349(0x20e)],{'class':_0x42d5fa[_0x2ce349(0x18d)],'onClick':this[_0x2ce349(0x174)]},index['h']('svg',{'xmlns':_0x42d5fa[_0x2ce349(0x21b)],'width':'24','height':'24','viewBox':_0x42d5fa[_0x2ce349(0x288)],'fill':_0x42d5fa['BZKBX'],'stroke':_0x42d5fa['UeTSt'],'stroke-width':'2','stroke-linecap':_0x42d5fa[_0x2ce349(0x2ff)],'stroke-linejoin':_0x42d5fa[_0x2ce349(0x2ff)],'class':'feather\x20feather-x'},index['h'](_0x2ce349(0x1a5),{'x1':'18','y1':'6','x2':'6','y2':'18'}),index['h'](_0x2ce349(0x1a5),{'x1':'6','y1':'6','x2':'18','y2':'18'})))),index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa[_0x2ce349(0x152)]},!this[_0x2ce349(0x17d)]&&!this[_0x2ce349(0x2a8)]?index['h'](_0x2ce349(0x1a9),{'onSubmit':this[_0x2ce349(0x24d)]},index['h'](_0x2ce349(0x33a),{'class':_0x42d5fa[_0x2ce349(0x30c)]},index['h'](_0x2ce349(0x168),{'placeholder':this['messagePlaceholder'],'value':this['formMessage'],'onInput':_0x1c9942=>this[_0x2ce349(0x228)](_0x1c9942),'required':!![]})),!this['email']&&index['h'](_0x42d5fa['mOuPO'],{'class':_0x2ce349(0x316)},index['h'](_0x42d5fa[_0x2ce349(0x2cb)],{'type':_0x42d5fa[_0x2ce349(0x262)],'placeholder':this[_0x2ce349(0x20a)],'onInput':_0x58efcb=>this[_0x2ce349(0x22f)](_0x58efcb),'value':this[_0x2ce349(0x2a4)]})),index['h'](_0x2ce349(0x33a),{'class':_0x2ce349(0x30b)+(this[_0x2ce349(0x299)]?_0x2ce349(0x2c9):'')},!this[_0x2ce349(0x299)]&&index['h'](_0x42d5fa[_0x2ce349(0x20e)],{'type':_0x42d5fa[_0x2ce349(0x20e)],'class':_0x2ce349(0x2b0)+(this[_0x2ce349(0x358)]?_0x2ce349(0x221):''),'title':this[_0x2ce349(0x280)],'onClick':this[_0x2ce349(0x2ad)],'disabled':this[_0x2ce349(0x1dd)]},index['h'](_0x42d5fa['HvbkI'],{'xmlns':_0x42d5fa[_0x2ce349(0x21b)],'width':'24','height':'24','viewBox':_0x42d5fa[_0x2ce349(0x288)],'fill':_0x42d5fa[_0x2ce349(0x29b)],'stroke':_0x42d5fa[_0x2ce349(0x34d)],'stroke-width':'2','stroke-linecap':_0x42d5fa[_0x2ce349(0x2ff)],'stroke-linejoin':_0x2ce349(0x17e),'class':_0x42d5fa[_0x2ce349(0x211)]},index['h'](_0x42d5fa[_0x2ce349(0x283)],{'d':'M23\x2019a2\x202\x200\x200\x201-2\x202H3a2\x202\x200\x200\x201-2-2V8a2\x202\x200\x200\x201\x202-2h4l2-3h6l2\x203h4a2\x202\x200\x200\x201\x202\x202z'}),index['h'](_0x42d5fa[_0x2ce349(0x1ab)],{'cx':'12','cy':'13','r':'4'}))),index['h'](_0x2ce349(0x2b0),{'class':_0x42d5fa[_0x2ce349(0x20e)],'type':_0x42d5fa[_0x2ce349(0x239)],'disabled':this[_0x2ce349(0x1dd)]},this[_0x2ce349(0x1ba)]))):index['h'](_0x2ce349(0x293),null)),index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa['zIbHe']},index['h'](_0x42d5fa[_0x2ce349(0x2a5)],{'class':_0x42d5fa['dDmoI']},index['h'](_0x2ce349(0x379),{'class':_0x42d5fa[_0x2ce349(0x269)],'viewBox':_0x42d5fa[_0x2ce349(0x16f)],'xmlns':_0x42d5fa[_0x2ce349(0x21b)]},index['h'](_0x2ce349(0x21c),null,index['h'](_0x2ce349(0x251),{'cx':'21.152%','cy':_0x42d5fa[_0x2ce349(0x27b)],'fx':_0x42d5fa['JvDzF'],'fy':_0x42d5fa[_0x2ce349(0x27b)],'r':_0x42d5fa[_0x2ce349(0x1af)],'id':_0x2ce349(0x161)},index['h'](_0x42d5fa['YyKlx'],{'stop-color':_0x42d5fa[_0x2ce349(0x37f)],'offset':'0%'}),index['h'](_0x42d5fa['YyKlx'],{'stop-color':_0x42d5fa[_0x2ce349(0x1d7)],'offset':_0x42d5fa[_0x2ce349(0x2e6)]}),index['h'](_0x42d5fa['YyKlx'],{'stop-color':_0x42d5fa[_0x2ce349(0x1b0)],'offset':_0x42d5fa[_0x2ce349(0x177)]}))),index['h'](_0x42d5fa[_0x2ce349(0x187)],{'width':'32','height':'32','rx':'16','fill':_0x42d5fa[_0x2ce349(0x2f4)],'fill-rule':_0x42d5fa['VLVyV']})),'\x20',index['h']('a',{'href':_0x2ce349(0x335)},_0x42d5fa[_0x2ce349(0x1d6)])))));}};FeedbackModal[_0x253a64(0x25d)]=feedbackModalCss,exports['feedback_button']=FeedbackButton,exports['feedback_modal']=FeedbackModal;
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-d5ac8167.js');
|
|
6
|
+
|
|
7
|
+
const feedbackButtonCss = ".feedback-button-content{cursor:pointer;z-index:300}.feedback-button-content--light{align-items:center;background-color:var(--feedback-white-color);border-radius:20px;box-shadow:rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;box-sizing:border-box;display:flex;font-family:var(--feedback-font-family);color:var(--feedback-primary-color);font-weight:bold;padding:8px 15px;font-size:var(--feedback-text-font-size)}.feedback-button-content--dark{align-items:center;background-color:var(--feedback-primary-color);border-radius:20px;box-shadow:rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;box-sizing:border-box;display:flex;font-family:var(--feedback-font-family);color:var(--feedback-white-color);font-weight:bold;padding:8px 15px;font-size:16px}.feedback-button-content--bottom-right{position:fixed;bottom:10px;right:10px}.feedback-button-content--center-right{position:fixed;top:50%;transform:rotate(-90deg) translateY(-50%)}.feedback-button-content--center-right.feedback-button-content--dark,.feedback-button-content--center-right.feedback-button-content--light{border-radius:4px;border-bottom-right-radius:0px;border-bottom-left-radius:0px}.feedback-button-content-icon{margin-right:5px;height:16px;width:16px}";
|
|
8
|
+
|
|
9
|
+
const FeedbackButton = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
this.modalTitle = 'Share your feedback';
|
|
13
|
+
this.successModalTitle = 'Thanks for your feedback!';
|
|
14
|
+
this.errorModalTitle = "Oops! We didn't receive your feedback. Please try again later.";
|
|
15
|
+
this.modalPosition = 'center';
|
|
16
|
+
this.sendButtonText = 'Send';
|
|
17
|
+
this.project = '';
|
|
18
|
+
this.screenshotButtonTooltipText = 'Take a Screenshot';
|
|
19
|
+
this.screenshotTopbarText = 'SELECT AN ELEMENT ON THE PAGE';
|
|
20
|
+
this.email = '';
|
|
21
|
+
this.emailPlaceholder = 'Email address (optional)';
|
|
22
|
+
this.messagePlaceholder = 'How could this page be more helpful?';
|
|
23
|
+
this.buttonStyle = 'default';
|
|
24
|
+
this.buttonPosition = 'default';
|
|
25
|
+
this.hideIcon = false;
|
|
26
|
+
this.hideScreenshotButton = false;
|
|
27
|
+
}
|
|
28
|
+
connectedCallback() {
|
|
29
|
+
this.feedbackModal = document.createElement('feedback-modal');
|
|
30
|
+
const props = [
|
|
31
|
+
'modalTitle',
|
|
32
|
+
'successModalTitle',
|
|
33
|
+
'errorModalTitle',
|
|
34
|
+
'modalPosition',
|
|
35
|
+
'sendButtonText',
|
|
36
|
+
'project',
|
|
37
|
+
'screenshotButtonTooltipText',
|
|
38
|
+
'screenshotTopbarText',
|
|
39
|
+
'email',
|
|
40
|
+
'emailPlaceholder',
|
|
41
|
+
'messagePlaceholder',
|
|
42
|
+
'hideScreenshotButton'
|
|
43
|
+
];
|
|
44
|
+
props.forEach(prop => {
|
|
45
|
+
this.feedbackModal[prop] = this[prop];
|
|
46
|
+
});
|
|
47
|
+
document.body.appendChild(this.feedbackModal);
|
|
48
|
+
}
|
|
49
|
+
disconnectedCallback() {
|
|
50
|
+
document.body.removeChild(this.feedbackModal);
|
|
51
|
+
}
|
|
52
|
+
componentDidLoad() {
|
|
53
|
+
if (this.buttonPosition === 'center-right') {
|
|
54
|
+
const buttonContent = this.el.shadowRoot.querySelector('.feedback-button-content');
|
|
55
|
+
buttonContent.style.right = `${buttonContent.offsetWidth / 2 * -1}px`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
showModal() {
|
|
59
|
+
this.feedbackModal.showModal = true;
|
|
60
|
+
}
|
|
61
|
+
render() {
|
|
62
|
+
return (index.h(index.Host, null, index.h("a", { class: `feedback-button-content feedback-button-content--${this.buttonStyle} feedback-button-content--${this.buttonPosition}`, onClick: () => this.showModal() }, !this.hideIcon && this.buttonStyle === 'dark' && (index.h("span", { class: "feedback-button-content-icon" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-repeat" }, index.h("polyline", { points: "17 1 21 5 17 9" }), index.h("path", { d: "M3 11V9a4 4 0 0 1 4-4h14" }), index.h("polyline", { points: "7 23 3 19 7 15" }), index.h("path", { d: "M21 13v2a4 4 0 0 1-4 4H3" })))), !this.hideIcon && this.buttonStyle === 'light' && (index.h("span", { class: "feedback-button-content-icon" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "#0070F4", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-repeat" }, index.h("polyline", { points: "17 1 21 5 17 9" }), index.h("path", { d: "M3 11V9a4 4 0 0 1 4-4h14" }), index.h("polyline", { points: "7 23 3 19 7 15" }), index.h("path", { d: "M21 13v2a4 4 0 0 1-4 4H3" })))), index.h("slot", null))));
|
|
63
|
+
}
|
|
64
|
+
get el() { return index.getElement(this); }
|
|
65
|
+
};
|
|
66
|
+
FeedbackButton.style = feedbackButtonCss;
|
|
67
|
+
|
|
68
|
+
function createCommonjsModule(fn, basedir, module) {
|
|
69
|
+
return module = {
|
|
70
|
+
path: basedir,
|
|
71
|
+
exports: {},
|
|
72
|
+
require: function (path, base) {
|
|
73
|
+
return commonjsRequire();
|
|
74
|
+
}
|
|
75
|
+
}, fn(module, module.exports), module.exports;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function commonjsRequire () {
|
|
79
|
+
throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var domToImage = createCommonjsModule(function (module) {
|
|
83
|
+
(function (global) {
|
|
84
|
+
|
|
85
|
+
var util = newUtil();
|
|
86
|
+
var inliner = newInliner();
|
|
87
|
+
var fontFaces = newFontFaces();
|
|
88
|
+
var images = newImages();
|
|
89
|
+
|
|
90
|
+
// Default impl options
|
|
91
|
+
var defaultOptions = {
|
|
92
|
+
// Default is to fail on error, no placeholder
|
|
93
|
+
imagePlaceholder: undefined,
|
|
94
|
+
// Default cache bust is false, it will use the cache
|
|
95
|
+
cacheBust: false
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
var domtoimage = {
|
|
99
|
+
toSvg: toSvg,
|
|
100
|
+
toPng: toPng,
|
|
101
|
+
toJpeg: toJpeg,
|
|
102
|
+
toBlob: toBlob,
|
|
103
|
+
toPixelData: toPixelData,
|
|
104
|
+
impl: {
|
|
105
|
+
fontFaces: fontFaces,
|
|
106
|
+
images: images,
|
|
107
|
+
util: util,
|
|
108
|
+
inliner: inliner,
|
|
109
|
+
options: {}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
module.exports = domtoimage;
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* @param {Node} node - The DOM Node object to render
|
|
118
|
+
* @param {Object} options - Rendering options
|
|
119
|
+
* @param {Function} options.filter - Should return true if passed node should be included in the output
|
|
120
|
+
* (excluding node means excluding it's children as well). Not called on the root node.
|
|
121
|
+
* @param {String} options.bgcolor - color for the background, any valid CSS color value.
|
|
122
|
+
* @param {Number} options.width - width to be applied to node before rendering.
|
|
123
|
+
* @param {Number} options.height - height to be applied to node before rendering.
|
|
124
|
+
* @param {Object} options.style - an object whose properties to be copied to node's style before rendering.
|
|
125
|
+
* @param {Number} options.quality - a Number between 0 and 1 indicating image quality (applicable to JPEG only),
|
|
126
|
+
defaults to 1.0.
|
|
127
|
+
* @param {String} options.imagePlaceholder - dataURL to use as a placeholder for failed images, default behaviour is to fail fast on images we can't fetch
|
|
128
|
+
* @param {Boolean} options.cacheBust - set to true to cache bust by appending the time to the request url
|
|
129
|
+
* @return {Promise} - A promise that is fulfilled with a SVG image data URL
|
|
130
|
+
* */
|
|
131
|
+
function toSvg(node, options) {
|
|
132
|
+
options = options || {};
|
|
133
|
+
copyOptions(options);
|
|
134
|
+
return Promise.resolve(node)
|
|
135
|
+
.then(function (node) {
|
|
136
|
+
return cloneNode(node, options.filter, true);
|
|
137
|
+
})
|
|
138
|
+
.then(embedFonts)
|
|
139
|
+
.then(inlineImages)
|
|
140
|
+
.then(applyOptions)
|
|
141
|
+
.then(function (clone) {
|
|
142
|
+
return makeSvgDataUri(clone,
|
|
143
|
+
options.width || util.width(node),
|
|
144
|
+
options.height || util.height(node)
|
|
145
|
+
);
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
function applyOptions(clone) {
|
|
149
|
+
if (options.bgcolor) clone.style.backgroundColor = options.bgcolor;
|
|
150
|
+
|
|
151
|
+
if (options.width) clone.style.width = options.width + 'px';
|
|
152
|
+
if (options.height) clone.style.height = options.height + 'px';
|
|
153
|
+
|
|
154
|
+
if (options.style)
|
|
155
|
+
Object.keys(options.style).forEach(function (property) {
|
|
156
|
+
clone.style[property] = options.style[property];
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
return clone;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* @param {Node} node - The DOM Node object to render
|
|
165
|
+
* @param {Object} options - Rendering options, @see {@link toSvg}
|
|
166
|
+
* @return {Promise} - A promise that is fulfilled with a Uint8Array containing RGBA pixel data.
|
|
167
|
+
* */
|
|
168
|
+
function toPixelData(node, options) {
|
|
169
|
+
return draw(node, options || {})
|
|
170
|
+
.then(function (canvas) {
|
|
171
|
+
return canvas.getContext('2d').getImageData(
|
|
172
|
+
0,
|
|
173
|
+
0,
|
|
174
|
+
util.width(node),
|
|
175
|
+
util.height(node)
|
|
176
|
+
).data;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* @param {Node} node - The DOM Node object to render
|
|
182
|
+
* @param {Object} options - Rendering options, @see {@link toSvg}
|
|
183
|
+
* @return {Promise} - A promise that is fulfilled with a PNG image data URL
|
|
184
|
+
* */
|
|
185
|
+
function toPng(node, options) {
|
|
186
|
+
return draw(node, options || {})
|
|
187
|
+
.then(function (canvas) {
|
|
188
|
+
return canvas.toDataURL();
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* @param {Node} node - The DOM Node object to render
|
|
194
|
+
* @param {Object} options - Rendering options, @see {@link toSvg}
|
|
195
|
+
* @return {Promise} - A promise that is fulfilled with a JPEG image data URL
|
|
196
|
+
* */
|
|
197
|
+
function toJpeg(node, options) {
|
|
198
|
+
options = options || {};
|
|
199
|
+
return draw(node, options)
|
|
200
|
+
.then(function (canvas) {
|
|
201
|
+
return canvas.toDataURL('image/jpeg', options.quality || 1.0);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* @param {Node} node - The DOM Node object to render
|
|
207
|
+
* @param {Object} options - Rendering options, @see {@link toSvg}
|
|
208
|
+
* @return {Promise} - A promise that is fulfilled with a PNG image blob
|
|
209
|
+
* */
|
|
210
|
+
function toBlob(node, options) {
|
|
211
|
+
return draw(node, options || {})
|
|
212
|
+
.then(util.canvasToBlob);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
function copyOptions(options) {
|
|
216
|
+
// Copy options to impl options for use in impl
|
|
217
|
+
if(typeof(options.imagePlaceholder) === 'undefined') {
|
|
218
|
+
domtoimage.impl.options.imagePlaceholder = defaultOptions.imagePlaceholder;
|
|
219
|
+
} else {
|
|
220
|
+
domtoimage.impl.options.imagePlaceholder = options.imagePlaceholder;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if(typeof(options.cacheBust) === 'undefined') {
|
|
224
|
+
domtoimage.impl.options.cacheBust = defaultOptions.cacheBust;
|
|
225
|
+
} else {
|
|
226
|
+
domtoimage.impl.options.cacheBust = options.cacheBust;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
function draw(domNode, options) {
|
|
231
|
+
return toSvg(domNode, options)
|
|
232
|
+
.then(util.makeImage)
|
|
233
|
+
.then(util.delay(100))
|
|
234
|
+
.then(function (image) {
|
|
235
|
+
var canvas = newCanvas(domNode);
|
|
236
|
+
canvas.getContext('2d').drawImage(image, 0, 0);
|
|
237
|
+
return canvas;
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
function newCanvas(domNode) {
|
|
241
|
+
var canvas = document.createElement('canvas');
|
|
242
|
+
canvas.width = options.width || util.width(domNode);
|
|
243
|
+
canvas.height = options.height || util.height(domNode);
|
|
244
|
+
|
|
245
|
+
if (options.bgcolor) {
|
|
246
|
+
var ctx = canvas.getContext('2d');
|
|
247
|
+
ctx.fillStyle = options.bgcolor;
|
|
248
|
+
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
return canvas;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function cloneNode(node, filter, root) {
|
|
256
|
+
if (!root && filter && !filter(node)) return Promise.resolve();
|
|
257
|
+
|
|
258
|
+
return Promise.resolve(node)
|
|
259
|
+
.then(makeNodeCopy)
|
|
260
|
+
.then(function (clone) {
|
|
261
|
+
return cloneChildren(node, clone, filter);
|
|
262
|
+
})
|
|
263
|
+
.then(function (clone) {
|
|
264
|
+
return processClone(node, clone);
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
function makeNodeCopy(node) {
|
|
268
|
+
if (node instanceof HTMLCanvasElement) return util.makeImage(node.toDataURL());
|
|
269
|
+
return node.cloneNode(false);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
function cloneChildren(original, clone, filter) {
|
|
273
|
+
var children = original.childNodes;
|
|
274
|
+
if (children.length === 0) return Promise.resolve(clone);
|
|
275
|
+
|
|
276
|
+
return cloneChildrenInOrder(clone, util.asArray(children), filter)
|
|
277
|
+
.then(function () {
|
|
278
|
+
return clone;
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
function cloneChildrenInOrder(parent, children, filter) {
|
|
282
|
+
var done = Promise.resolve();
|
|
283
|
+
children.forEach(function (child) {
|
|
284
|
+
done = done
|
|
285
|
+
.then(function () {
|
|
286
|
+
return cloneNode(child, filter);
|
|
287
|
+
})
|
|
288
|
+
.then(function (childClone) {
|
|
289
|
+
if (childClone) parent.appendChild(childClone);
|
|
290
|
+
});
|
|
291
|
+
});
|
|
292
|
+
return done;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function processClone(original, clone) {
|
|
297
|
+
if (!(clone instanceof Element)) return clone;
|
|
298
|
+
|
|
299
|
+
return Promise.resolve()
|
|
300
|
+
.then(cloneStyle)
|
|
301
|
+
.then(clonePseudoElements)
|
|
302
|
+
.then(copyUserInput)
|
|
303
|
+
.then(fixSvg)
|
|
304
|
+
.then(function () {
|
|
305
|
+
return clone;
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
function cloneStyle() {
|
|
309
|
+
copyStyle(window.getComputedStyle(original), clone.style);
|
|
310
|
+
|
|
311
|
+
function copyStyle(source, target) {
|
|
312
|
+
if (source.cssText) target.cssText = source.cssText;
|
|
313
|
+
else copyProperties(source, target);
|
|
314
|
+
|
|
315
|
+
function copyProperties(source, target) {
|
|
316
|
+
util.asArray(source).forEach(function (name) {
|
|
317
|
+
target.setProperty(
|
|
318
|
+
name,
|
|
319
|
+
source.getPropertyValue(name),
|
|
320
|
+
source.getPropertyPriority(name)
|
|
321
|
+
);
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
function clonePseudoElements() {
|
|
328
|
+
[':before', ':after'].forEach(function (element) {
|
|
329
|
+
clonePseudoElement(element);
|
|
330
|
+
});
|
|
331
|
+
|
|
332
|
+
function clonePseudoElement(element) {
|
|
333
|
+
var style = window.getComputedStyle(original, element);
|
|
334
|
+
var content = style.getPropertyValue('content');
|
|
335
|
+
|
|
336
|
+
if (content === '' || content === 'none') return;
|
|
337
|
+
|
|
338
|
+
var className = util.uid();
|
|
339
|
+
clone.className = clone.className + ' ' + className;
|
|
340
|
+
var styleElement = document.createElement('style');
|
|
341
|
+
styleElement.appendChild(formatPseudoElementStyle(className, element, style));
|
|
342
|
+
clone.appendChild(styleElement);
|
|
343
|
+
|
|
344
|
+
function formatPseudoElementStyle(className, element, style) {
|
|
345
|
+
var selector = '.' + className + ':' + element;
|
|
346
|
+
var cssText = style.cssText ? formatCssText(style) : formatCssProperties(style);
|
|
347
|
+
return document.createTextNode(selector + '{' + cssText + '}');
|
|
348
|
+
|
|
349
|
+
function formatCssText(style) {
|
|
350
|
+
var content = style.getPropertyValue('content');
|
|
351
|
+
return style.cssText + ' content: ' + content + ';';
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
function formatCssProperties(style) {
|
|
355
|
+
|
|
356
|
+
return util.asArray(style)
|
|
357
|
+
.map(formatProperty)
|
|
358
|
+
.join('; ') + ';';
|
|
359
|
+
|
|
360
|
+
function formatProperty(name) {
|
|
361
|
+
return name + ': ' +
|
|
362
|
+
style.getPropertyValue(name) +
|
|
363
|
+
(style.getPropertyPriority(name) ? ' !important' : '');
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
function copyUserInput() {
|
|
371
|
+
if (original instanceof HTMLTextAreaElement) clone.innerHTML = original.value;
|
|
372
|
+
if (original instanceof HTMLInputElement) clone.setAttribute("value", original.value);
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
function fixSvg() {
|
|
376
|
+
if (!(clone instanceof SVGElement)) return;
|
|
377
|
+
clone.setAttribute('xmlns', 'http://www.w3.org/2000/svg');
|
|
378
|
+
|
|
379
|
+
if (!(clone instanceof SVGRectElement)) return;
|
|
380
|
+
['width', 'height'].forEach(function (attribute) {
|
|
381
|
+
var value = clone.getAttribute(attribute);
|
|
382
|
+
if (!value) return;
|
|
383
|
+
|
|
384
|
+
clone.style.setProperty(attribute, value);
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
function embedFonts(node) {
|
|
391
|
+
return fontFaces.resolveAll()
|
|
392
|
+
.then(function (cssText) {
|
|
393
|
+
var styleNode = document.createElement('style');
|
|
394
|
+
node.appendChild(styleNode);
|
|
395
|
+
styleNode.appendChild(document.createTextNode(cssText));
|
|
396
|
+
return node;
|
|
397
|
+
});
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
function inlineImages(node) {
|
|
401
|
+
return images.inlineAll(node)
|
|
402
|
+
.then(function () {
|
|
403
|
+
return node;
|
|
404
|
+
});
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
function makeSvgDataUri(node, width, height) {
|
|
408
|
+
return Promise.resolve(node)
|
|
409
|
+
.then(function (node) {
|
|
410
|
+
node.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');
|
|
411
|
+
return new XMLSerializer().serializeToString(node);
|
|
412
|
+
})
|
|
413
|
+
.then(util.escapeXhtml)
|
|
414
|
+
.then(function (xhtml) {
|
|
415
|
+
return '<foreignObject x="0" y="0" width="100%" height="100%">' + xhtml + '</foreignObject>';
|
|
416
|
+
})
|
|
417
|
+
.then(function (foreignObject) {
|
|
418
|
+
return '<svg xmlns="http://www.w3.org/2000/svg" width="' + width + '" height="' + height + '">' +
|
|
419
|
+
foreignObject + '</svg>';
|
|
420
|
+
})
|
|
421
|
+
.then(function (svg) {
|
|
422
|
+
return 'data:image/svg+xml;charset=utf-8,' + svg;
|
|
423
|
+
});
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
function newUtil() {
|
|
427
|
+
return {
|
|
428
|
+
escape: escape,
|
|
429
|
+
parseExtension: parseExtension,
|
|
430
|
+
mimeType: mimeType,
|
|
431
|
+
dataAsUrl: dataAsUrl,
|
|
432
|
+
isDataUrl: isDataUrl,
|
|
433
|
+
canvasToBlob: canvasToBlob,
|
|
434
|
+
resolveUrl: resolveUrl,
|
|
435
|
+
getAndEncode: getAndEncode,
|
|
436
|
+
uid: uid(),
|
|
437
|
+
delay: delay,
|
|
438
|
+
asArray: asArray,
|
|
439
|
+
escapeXhtml: escapeXhtml,
|
|
440
|
+
makeImage: makeImage,
|
|
441
|
+
width: width,
|
|
442
|
+
height: height
|
|
443
|
+
};
|
|
444
|
+
|
|
445
|
+
function mimes() {
|
|
446
|
+
/*
|
|
447
|
+
* Only WOFF and EOT mime types for fonts are 'real'
|
|
448
|
+
* see http://www.iana.org/assignments/media-types/media-types.xhtml
|
|
449
|
+
*/
|
|
450
|
+
var WOFF = 'application/font-woff';
|
|
451
|
+
var JPEG = 'image/jpeg';
|
|
452
|
+
|
|
453
|
+
return {
|
|
454
|
+
'woff': WOFF,
|
|
455
|
+
'woff2': WOFF,
|
|
456
|
+
'ttf': 'application/font-truetype',
|
|
457
|
+
'eot': 'application/vnd.ms-fontobject',
|
|
458
|
+
'png': 'image/png',
|
|
459
|
+
'jpg': JPEG,
|
|
460
|
+
'jpeg': JPEG,
|
|
461
|
+
'gif': 'image/gif',
|
|
462
|
+
'tiff': 'image/tiff',
|
|
463
|
+
'svg': 'image/svg+xml'
|
|
464
|
+
};
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
function parseExtension(url) {
|
|
468
|
+
var match = /\.([^\.\/]*?)$/g.exec(url);
|
|
469
|
+
if (match) return match[1];
|
|
470
|
+
else return '';
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
function mimeType(url) {
|
|
474
|
+
var extension = parseExtension(url).toLowerCase();
|
|
475
|
+
return mimes()[extension] || '';
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
function isDataUrl(url) {
|
|
479
|
+
return url.search(/^(data:)/) !== -1;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
function toBlob(canvas) {
|
|
483
|
+
return new Promise(function (resolve) {
|
|
484
|
+
var binaryString = window.atob(canvas.toDataURL().split(',')[1]);
|
|
485
|
+
var length = binaryString.length;
|
|
486
|
+
var binaryArray = new Uint8Array(length);
|
|
487
|
+
|
|
488
|
+
for (var i = 0; i < length; i++)
|
|
489
|
+
binaryArray[i] = binaryString.charCodeAt(i);
|
|
490
|
+
|
|
491
|
+
resolve(new Blob([binaryArray], {
|
|
492
|
+
type: 'image/png'
|
|
493
|
+
}));
|
|
494
|
+
});
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
function canvasToBlob(canvas) {
|
|
498
|
+
if (canvas.toBlob)
|
|
499
|
+
return new Promise(function (resolve) {
|
|
500
|
+
canvas.toBlob(resolve);
|
|
501
|
+
});
|
|
502
|
+
|
|
503
|
+
return toBlob(canvas);
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
function resolveUrl(url, baseUrl) {
|
|
507
|
+
var doc = document.implementation.createHTMLDocument();
|
|
508
|
+
var base = doc.createElement('base');
|
|
509
|
+
doc.head.appendChild(base);
|
|
510
|
+
var a = doc.createElement('a');
|
|
511
|
+
doc.body.appendChild(a);
|
|
512
|
+
base.href = baseUrl;
|
|
513
|
+
a.href = url;
|
|
514
|
+
return a.href;
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
function uid() {
|
|
518
|
+
var index = 0;
|
|
519
|
+
|
|
520
|
+
return function () {
|
|
521
|
+
return 'u' + fourRandomChars() + index++;
|
|
522
|
+
|
|
523
|
+
function fourRandomChars() {
|
|
524
|
+
/* see http://stackoverflow.com/a/6248722/2519373 */
|
|
525
|
+
return ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);
|
|
526
|
+
}
|
|
527
|
+
};
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
function makeImage(uri) {
|
|
531
|
+
return new Promise(function (resolve, reject) {
|
|
532
|
+
var image = new Image();
|
|
533
|
+
image.onload = function () {
|
|
534
|
+
resolve(image);
|
|
535
|
+
};
|
|
536
|
+
image.onerror = reject;
|
|
537
|
+
image.src = uri;
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
function getAndEncode(url) {
|
|
542
|
+
var TIMEOUT = 30000;
|
|
543
|
+
if(domtoimage.impl.options.cacheBust) {
|
|
544
|
+
// Cache bypass so we dont have CORS issues with cached images
|
|
545
|
+
// Source: https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Bypassing_the_cache
|
|
546
|
+
url += ((/\?/).test(url) ? "&" : "?") + (new Date()).getTime();
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
return new Promise(function (resolve) {
|
|
550
|
+
var request = new XMLHttpRequest();
|
|
551
|
+
|
|
552
|
+
request.onreadystatechange = done;
|
|
553
|
+
request.ontimeout = timeout;
|
|
554
|
+
request.responseType = 'blob';
|
|
555
|
+
request.timeout = TIMEOUT;
|
|
556
|
+
request.open('GET', url, true);
|
|
557
|
+
request.send();
|
|
558
|
+
|
|
559
|
+
var placeholder;
|
|
560
|
+
if(domtoimage.impl.options.imagePlaceholder) {
|
|
561
|
+
var split = domtoimage.impl.options.imagePlaceholder.split(/,/);
|
|
562
|
+
if(split && split[1]) {
|
|
563
|
+
placeholder = split[1];
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
function done() {
|
|
568
|
+
if (request.readyState !== 4) return;
|
|
569
|
+
|
|
570
|
+
if (request.status !== 200) {
|
|
571
|
+
if(placeholder) {
|
|
572
|
+
resolve(placeholder);
|
|
573
|
+
} else {
|
|
574
|
+
fail('cannot fetch resource: ' + url + ', status: ' + request.status);
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
return;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
var encoder = new FileReader();
|
|
581
|
+
encoder.onloadend = function () {
|
|
582
|
+
var content = encoder.result.split(/,/)[1];
|
|
583
|
+
resolve(content);
|
|
584
|
+
};
|
|
585
|
+
encoder.readAsDataURL(request.response);
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
function timeout() {
|
|
589
|
+
if(placeholder) {
|
|
590
|
+
resolve(placeholder);
|
|
591
|
+
} else {
|
|
592
|
+
fail('timeout of ' + TIMEOUT + 'ms occured while fetching resource: ' + url);
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
|
|
596
|
+
function fail(message) {
|
|
597
|
+
console.error(message);
|
|
598
|
+
resolve('');
|
|
599
|
+
}
|
|
600
|
+
});
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
function dataAsUrl(content, type) {
|
|
604
|
+
return 'data:' + type + ';base64,' + content;
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
function escape(string) {
|
|
608
|
+
return string.replace(/([.*+?^${}()|\[\]\/\\])/g, '\\$1');
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
function delay(ms) {
|
|
612
|
+
return function (arg) {
|
|
613
|
+
return new Promise(function (resolve) {
|
|
614
|
+
setTimeout(function () {
|
|
615
|
+
resolve(arg);
|
|
616
|
+
}, ms);
|
|
617
|
+
});
|
|
618
|
+
};
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
function asArray(arrayLike) {
|
|
622
|
+
var array = [];
|
|
623
|
+
var length = arrayLike.length;
|
|
624
|
+
for (var i = 0; i < length; i++) array.push(arrayLike[i]);
|
|
625
|
+
return array;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
function escapeXhtml(string) {
|
|
629
|
+
return string.replace(/#/g, '%23').replace(/\n/g, '%0A');
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
function width(node) {
|
|
633
|
+
var leftBorder = px(node, 'border-left-width');
|
|
634
|
+
var rightBorder = px(node, 'border-right-width');
|
|
635
|
+
return node.scrollWidth + leftBorder + rightBorder;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
function height(node) {
|
|
639
|
+
var topBorder = px(node, 'border-top-width');
|
|
640
|
+
var bottomBorder = px(node, 'border-bottom-width');
|
|
641
|
+
return node.scrollHeight + topBorder + bottomBorder;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
function px(node, styleProperty) {
|
|
645
|
+
var value = window.getComputedStyle(node).getPropertyValue(styleProperty);
|
|
646
|
+
return parseFloat(value.replace('px', ''));
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
function newInliner() {
|
|
651
|
+
var URL_REGEX = /url\(['"]?([^'"]+?)['"]?\)/g;
|
|
652
|
+
|
|
653
|
+
return {
|
|
654
|
+
inlineAll: inlineAll,
|
|
655
|
+
shouldProcess: shouldProcess,
|
|
656
|
+
impl: {
|
|
657
|
+
readUrls: readUrls,
|
|
658
|
+
inline: inline
|
|
659
|
+
}
|
|
660
|
+
};
|
|
661
|
+
|
|
662
|
+
function shouldProcess(string) {
|
|
663
|
+
return string.search(URL_REGEX) !== -1;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
function readUrls(string) {
|
|
667
|
+
var result = [];
|
|
668
|
+
var match;
|
|
669
|
+
while ((match = URL_REGEX.exec(string)) !== null) {
|
|
670
|
+
result.push(match[1]);
|
|
671
|
+
}
|
|
672
|
+
return result.filter(function (url) {
|
|
673
|
+
return !util.isDataUrl(url);
|
|
674
|
+
});
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
function inline(string, url, baseUrl, get) {
|
|
678
|
+
return Promise.resolve(url)
|
|
679
|
+
.then(function (url) {
|
|
680
|
+
return baseUrl ? util.resolveUrl(url, baseUrl) : url;
|
|
681
|
+
})
|
|
682
|
+
.then(get || util.getAndEncode)
|
|
683
|
+
.then(function (data) {
|
|
684
|
+
return util.dataAsUrl(data, util.mimeType(url));
|
|
685
|
+
})
|
|
686
|
+
.then(function (dataUrl) {
|
|
687
|
+
return string.replace(urlAsRegex(url), '$1' + dataUrl + '$3');
|
|
688
|
+
});
|
|
689
|
+
|
|
690
|
+
function urlAsRegex(url) {
|
|
691
|
+
return new RegExp('(url\\([\'"]?)(' + util.escape(url) + ')([\'"]?\\))', 'g');
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
function inlineAll(string, baseUrl, get) {
|
|
696
|
+
if (nothingToInline()) return Promise.resolve(string);
|
|
697
|
+
|
|
698
|
+
return Promise.resolve(string)
|
|
699
|
+
.then(readUrls)
|
|
700
|
+
.then(function (urls) {
|
|
701
|
+
var done = Promise.resolve(string);
|
|
702
|
+
urls.forEach(function (url) {
|
|
703
|
+
done = done.then(function (string) {
|
|
704
|
+
return inline(string, url, baseUrl, get);
|
|
705
|
+
});
|
|
706
|
+
});
|
|
707
|
+
return done;
|
|
708
|
+
});
|
|
709
|
+
|
|
710
|
+
function nothingToInline() {
|
|
711
|
+
return !shouldProcess(string);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
function newFontFaces() {
|
|
717
|
+
return {
|
|
718
|
+
resolveAll: resolveAll,
|
|
719
|
+
impl: {
|
|
720
|
+
readAll: readAll
|
|
721
|
+
}
|
|
722
|
+
};
|
|
723
|
+
|
|
724
|
+
function resolveAll() {
|
|
725
|
+
return readAll()
|
|
726
|
+
.then(function (webFonts) {
|
|
727
|
+
return Promise.all(
|
|
728
|
+
webFonts.map(function (webFont) {
|
|
729
|
+
return webFont.resolve();
|
|
730
|
+
})
|
|
731
|
+
);
|
|
732
|
+
})
|
|
733
|
+
.then(function (cssStrings) {
|
|
734
|
+
return cssStrings.join('\n');
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
function readAll() {
|
|
739
|
+
return Promise.resolve(util.asArray(document.styleSheets))
|
|
740
|
+
.then(getCssRules)
|
|
741
|
+
.then(selectWebFontRules)
|
|
742
|
+
.then(function (rules) {
|
|
743
|
+
return rules.map(newWebFont);
|
|
744
|
+
});
|
|
745
|
+
|
|
746
|
+
function selectWebFontRules(cssRules) {
|
|
747
|
+
return cssRules
|
|
748
|
+
.filter(function (rule) {
|
|
749
|
+
return rule.type === CSSRule.FONT_FACE_RULE;
|
|
750
|
+
})
|
|
751
|
+
.filter(function (rule) {
|
|
752
|
+
return inliner.shouldProcess(rule.style.getPropertyValue('src'));
|
|
753
|
+
});
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
function getCssRules(styleSheets) {
|
|
757
|
+
var cssRules = [];
|
|
758
|
+
styleSheets.forEach(function (sheet) {
|
|
759
|
+
try {
|
|
760
|
+
util.asArray(sheet.cssRules || []).forEach(cssRules.push.bind(cssRules));
|
|
761
|
+
} catch (e) {
|
|
762
|
+
console.log('Error while reading CSS rules from ' + sheet.href, e.toString());
|
|
763
|
+
}
|
|
764
|
+
});
|
|
765
|
+
return cssRules;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
function newWebFont(webFontRule) {
|
|
769
|
+
return {
|
|
770
|
+
resolve: function resolve() {
|
|
771
|
+
var baseUrl = (webFontRule.parentStyleSheet || {}).href;
|
|
772
|
+
return inliner.inlineAll(webFontRule.cssText, baseUrl);
|
|
773
|
+
},
|
|
774
|
+
src: function () {
|
|
775
|
+
return webFontRule.style.getPropertyValue('src');
|
|
776
|
+
}
|
|
777
|
+
};
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
|
|
782
|
+
function newImages() {
|
|
783
|
+
return {
|
|
784
|
+
inlineAll: inlineAll,
|
|
785
|
+
impl: {
|
|
786
|
+
newImage: newImage
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
|
|
790
|
+
function newImage(element) {
|
|
791
|
+
return {
|
|
792
|
+
inline: inline
|
|
793
|
+
};
|
|
794
|
+
|
|
795
|
+
function inline(get) {
|
|
796
|
+
if (util.isDataUrl(element.src)) return Promise.resolve();
|
|
797
|
+
|
|
798
|
+
return Promise.resolve(element.src)
|
|
799
|
+
.then(get || util.getAndEncode)
|
|
800
|
+
.then(function (data) {
|
|
801
|
+
return util.dataAsUrl(data, util.mimeType(element.src));
|
|
802
|
+
})
|
|
803
|
+
.then(function (dataUrl) {
|
|
804
|
+
return new Promise(function (resolve, reject) {
|
|
805
|
+
element.onload = resolve;
|
|
806
|
+
element.onerror = reject;
|
|
807
|
+
element.src = dataUrl;
|
|
808
|
+
});
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
function inlineAll(node) {
|
|
814
|
+
if (!(node instanceof Element)) return Promise.resolve(node);
|
|
815
|
+
|
|
816
|
+
return inlineBackground(node)
|
|
817
|
+
.then(function () {
|
|
818
|
+
if (node instanceof HTMLImageElement)
|
|
819
|
+
return newImage(node).inline();
|
|
820
|
+
else
|
|
821
|
+
return Promise.all(
|
|
822
|
+
util.asArray(node.childNodes).map(function (child) {
|
|
823
|
+
return inlineAll(child);
|
|
824
|
+
})
|
|
825
|
+
);
|
|
826
|
+
});
|
|
827
|
+
|
|
828
|
+
function inlineBackground(node) {
|
|
829
|
+
var background = node.style.getPropertyValue('background');
|
|
830
|
+
|
|
831
|
+
if (!background) return Promise.resolve(node);
|
|
832
|
+
|
|
833
|
+
return inliner.inlineAll(background)
|
|
834
|
+
.then(function (inlined) {
|
|
835
|
+
node.style.setProperty(
|
|
836
|
+
'background',
|
|
837
|
+
inlined,
|
|
838
|
+
node.style.getPropertyPriority('background')
|
|
839
|
+
);
|
|
840
|
+
})
|
|
841
|
+
.then(function () {
|
|
842
|
+
return node;
|
|
843
|
+
});
|
|
844
|
+
}
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
})();
|
|
848
|
+
});
|
|
849
|
+
|
|
850
|
+
const feedbackModalCss = ".text-center{text-align:center;flex-grow:1}.feedback-modal{display:inline-block;position:relative}.feedback-modal-content{background-color:var(--feedback-modal-content-bg-color);border-color:1px solid var(--feedback-modal-header-text-color);border-radius:var(--feedback-modal-content-border-radius);box-shadow:0px 1px 2px 0px rgba(60, 64, 67, .30), 0px 2px 6px 2px rgba(60, 64, 67, .15);box-sizing:border-box;color:var(--feedback-modal-content-text-color);display:flex;flex-direction:column;font-family:var(--feedback-modal-content-font-family);max-width:300px;padding:20px;position:fixed;width:100%;z-index:300;left:50%;top:50%;transform:translate(-50%, -50%)}@media screen and (min-width: 768px){.feedback-modal-content.feedback-modal-content--bottom-right{top:initial;left:initial;transform:initial;bottom:var(--feedback-modal-content-position-bottom);right:var(--feedback-modal-content-position-right)}.feedback-modal-content.feedback-modal-content--bottom-left{top:initial;transform:initial;bottom:var(--feedback-modal-content-position-bottom);left:var(--feedback-modal-content-position-left)}.feedback-modal-content.feedback-modal-content--top-right{top:initial;transform:initial;right:var(--feedback-modal-content-position-right);top:var(--fedback-modal-content-position-top)}.feedback-modal-content.feedback-modal-content--top-left{transform:initial;left:var(--feedback-modal-content-position-left);top:var(--fedback-modal-content-position-top)}}.feedback-modal-header{align-items:center;color:var(--feedback-modal-header-text-color);font-family:var(--feedback-modal-header-font-family);display:flex;font-size:var(--feedback-header-font-size);justify-content:space-between;margin-bottom:20px}.feedback-modal-text{margin-bottom:20px}.feedback-modal-text textarea{border:1px solid var(--feedback-modal-input-border-color);border-radius:4px;box-sizing:border-box;font-family:var(--feedback-modal-content-font-family);font-size:var(--feedback-modal-input-font-size);height:100px;padding:10px;resize:none;width:100%}.feedback-modal-email{margin-bottom:20px}.feedback-modal-email input{border:1px solid var(--feedback-modal-input-border-color);border-radius:4px;box-sizing:border-box;font-family:var(--feedback-modal-content-font-family);font-size:var(--feedback-modal-input-font-size);height:40px;padding:10px;width:100%}.feedback-modal-text textarea:focus,.feedback-modal-email input:focus{border:1px solid var(--feedback-modal-input-border-color-focused);outline:none}.feedback-modal-buttons{display:flex;justify-content:space-between}.feedback-modal-buttons.single{justify-content:flex-end}.button{background-color:transparent;border:1px solid var(--feedback-modal-button-border-color);border-radius:var(--feedback-modal-button-border-radius);color:var(--feedback-modal-button-text-color);cursor:pointer;font-size:var(--feedback-modal-button-font-size);padding:5px 10px;min-height:20px}.button:hover,.button.active{color:var(--feedback-modal-button-text-color-active);background-color:var(--feedback-modal-button-bg-color-active);border:1px solid var(--feedback-modal-button-border-color-active)}.feedback-modal-footer{font-size:12px;margin-top:5px 0;text-align:center}.feedback-modal-footer a{color:#191919;text-decoration:none}.feedback-logo{display:flex;align-items:center;justify-content:center;margin-top:5px}.feedback-logo svg{max-width:12px;margin-right:5px}.feedback-modal-close{background-color:var(--feedback-modal-close-bg-color);border:0;border-radius:50%;cursor:pointer;margin-left:auto;padding:0;width:24px;height:24px}.feedback-modal-screenshot{background-color:var(--feedback-modal-screenshot-bg-color);box-shadow:0px 0px 0px 5px var(--feedback-modal-screenshot-element-selected-bg-color) inset;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:100}.feedback-modal-screenshot-header{align-items:center;background-color:var(--feedback-modal-screenshot-header-bg-color);color:var(--feedback-modal-screenshot-element-selected-text-color);cursor:pointer;display:flex;padding:5px;position:fixed;justify-content:center;width:100%;z-index:200}.feedback-modal-screenshot-header span{padding-left:10px;padding-right:10px}.feedback-modal-screenshot-overlay{background-color:transparent;cursor:unset;height:100vh;left:0;position:fixed;top:0;width:100%;z-index:100}.feedback-modal-message{font-size:var(--fedback-modal-message-font-size)}.feedback-modal-element-hover{cursor:pointer;background-color:transparent;border:4px dashed var(--feedback-modal-screenshot-element-hover-border-color)}.feedback-modal-element-selected{border:4px solid var(--feedback-modal-screenshot-element-selected-border-color)}";
|
|
851
|
+
|
|
852
|
+
const FeedbackModal = class {
|
|
853
|
+
constructor(hostRef) {
|
|
854
|
+
index.registerInstance(this, hostRef);
|
|
855
|
+
this.handleSubmit = async (event) => {
|
|
856
|
+
event.preventDefault();
|
|
857
|
+
this.resetOverflow();
|
|
858
|
+
this.showScreenshotMode = false;
|
|
859
|
+
this.showModal = false;
|
|
860
|
+
this.sending = true;
|
|
861
|
+
let encodedScreenshot = "";
|
|
862
|
+
if (this.encodedScreenshot) {
|
|
863
|
+
await this.encodedScreenshot.then((data) => {
|
|
864
|
+
encodedScreenshot = data;
|
|
865
|
+
}).catch((error) => {
|
|
866
|
+
console.log(error);
|
|
867
|
+
});
|
|
868
|
+
}
|
|
869
|
+
try {
|
|
870
|
+
const res = await fetch('https://app.pushfeedback.com/api/feedback/', {
|
|
871
|
+
method: 'POST',
|
|
872
|
+
body: JSON.stringify({
|
|
873
|
+
url: window.location.href,
|
|
874
|
+
message: this.formMessage,
|
|
875
|
+
email: this.formEmail,
|
|
876
|
+
project: this.project,
|
|
877
|
+
screenshot: encodedScreenshot
|
|
878
|
+
}),
|
|
879
|
+
headers: {
|
|
880
|
+
'Content-Type': 'application/json'
|
|
881
|
+
}
|
|
882
|
+
});
|
|
883
|
+
if (res.status === 201) {
|
|
884
|
+
this.formSuccess = true;
|
|
885
|
+
this.formError = false;
|
|
886
|
+
}
|
|
887
|
+
else {
|
|
888
|
+
this.formSuccess = false;
|
|
889
|
+
this.formError = true;
|
|
890
|
+
this.formErrorStatus = res.status;
|
|
891
|
+
}
|
|
892
|
+
}
|
|
893
|
+
catch (error) {
|
|
894
|
+
console.log(error);
|
|
895
|
+
this.formSuccess = false;
|
|
896
|
+
this.formError = true;
|
|
897
|
+
this.formErrorStatus = 500;
|
|
898
|
+
}
|
|
899
|
+
finally {
|
|
900
|
+
this.sending = false;
|
|
901
|
+
this.showModal = true;
|
|
902
|
+
}
|
|
903
|
+
};
|
|
904
|
+
this.close = () => {
|
|
905
|
+
this.sending = false;
|
|
906
|
+
this.showModal = false;
|
|
907
|
+
this.showScreenshotMode = false;
|
|
908
|
+
this.hasSelectedElement = false;
|
|
909
|
+
this.encodedScreenshot = null;
|
|
910
|
+
this.formSuccess = false;
|
|
911
|
+
this.formError = false;
|
|
912
|
+
this.formErrorStatus = 500;
|
|
913
|
+
this.formMessage = '';
|
|
914
|
+
this.formEmail = '';
|
|
915
|
+
this.resetOverflow();
|
|
916
|
+
};
|
|
917
|
+
this.openScreenShot = () => {
|
|
918
|
+
this.hasSelectedElement = false;
|
|
919
|
+
this.showModal = false;
|
|
920
|
+
this.showScreenshotMode = true;
|
|
921
|
+
this.encodedScreenshot = null;
|
|
922
|
+
this.resetOverflow();
|
|
923
|
+
};
|
|
924
|
+
this.closeScreenShot = () => {
|
|
925
|
+
this.showModal = false;
|
|
926
|
+
this.showScreenshotMode = false;
|
|
927
|
+
this.hasSelectedElement = false;
|
|
928
|
+
this.encodedScreenshot = null;
|
|
929
|
+
this.overlay.style.display = 'none';
|
|
930
|
+
this.resetOverflow();
|
|
931
|
+
};
|
|
932
|
+
this.handleMouseOverScreenShot = (event) => {
|
|
933
|
+
event.preventDefault();
|
|
934
|
+
if (this.hasSelectedElement)
|
|
935
|
+
return;
|
|
936
|
+
this.overlay.style.display = 'none';
|
|
937
|
+
this.screenshotModal.style.display = 'none';
|
|
938
|
+
const elementUnder = document.elementFromPoint(event.clientX, event.clientY);
|
|
939
|
+
const rect = elementUnder.getBoundingClientRect();
|
|
940
|
+
this.screenshotModal.style.display = '';
|
|
941
|
+
// Get the bounding box of the element selected
|
|
942
|
+
this.elementSelected.style.position = "absolute";
|
|
943
|
+
this.elementSelected.style.left = `${rect.left}px`;
|
|
944
|
+
this.elementSelected.style.top = `${rect.top}px`;
|
|
945
|
+
this.elementSelected.style.width = `${rect.width}px`;
|
|
946
|
+
this.elementSelected.style.height = `${rect.height}px`;
|
|
947
|
+
this.elementSelected.classList.add('feedback-modal-element-hover');
|
|
948
|
+
// Set the background color of nonselected areas
|
|
949
|
+
// Top
|
|
950
|
+
this.topSide.style.position = "absolute";
|
|
951
|
+
this.topSide.style.left = `${rect.left}px`;
|
|
952
|
+
this.topSide.style.top = '0px';
|
|
953
|
+
this.topSide.style.width = `${rect.width + 8}px`;
|
|
954
|
+
this.topSide.style.height = `${rect.top}px`;
|
|
955
|
+
this.topSide.style.backgroundColor = "rgba(0, 0, 0, 0.3)";
|
|
956
|
+
// Left
|
|
957
|
+
this.leftSide.style.position = "absolute";
|
|
958
|
+
this.leftSide.style.left = '0px';
|
|
959
|
+
this.leftSide.style.top = '0px';
|
|
960
|
+
this.leftSide.style.width = `${rect.left}px`;
|
|
961
|
+
this.leftSide.style.height = '100vh';
|
|
962
|
+
this.leftSide.style.backgroundColor = "rgba(0, 0, 0, 0.3)";
|
|
963
|
+
// Bottom
|
|
964
|
+
this.bottomSide.style.position = "absolute";
|
|
965
|
+
this.bottomSide.style.left = `${rect.left}px`;
|
|
966
|
+
this.bottomSide.style.top = `${rect.bottom + 8}px`;
|
|
967
|
+
this.bottomSide.style.width = `${rect.width + 8}px`;
|
|
968
|
+
this.bottomSide.style.height = '100vh';
|
|
969
|
+
this.bottomSide.style.backgroundColor = "rgba(0, 0, 0, 0.3)";
|
|
970
|
+
// Right
|
|
971
|
+
this.rightSide.style.position = "absolute";
|
|
972
|
+
this.rightSide.style.left = `${rect.right + 8}px`;
|
|
973
|
+
this.rightSide.style.top = '0px';
|
|
974
|
+
this.rightSide.style.width = '100%';
|
|
975
|
+
this.rightSide.style.height = '100vh';
|
|
976
|
+
this.rightSide.style.backgroundColor = "rgba(0, 0, 0, 0.3)";
|
|
977
|
+
// Restore the visibility of the screenshot-modal
|
|
978
|
+
this.screenshotModal.style.backgroundColor = 'transparent';
|
|
979
|
+
};
|
|
980
|
+
this.handleMouseClickedSelectedElement = (event) => {
|
|
981
|
+
event.preventDefault();
|
|
982
|
+
if (this.elementSelected)
|
|
983
|
+
this.elementSelected.classList.add('feedback-modal-element-selected');
|
|
984
|
+
let top = this.elementSelected.getBoundingClientRect().top;
|
|
985
|
+
this.elementSelected.style.top = `${top + window.pageYOffset}px`;
|
|
986
|
+
const clonedElementSelected = this.elementSelected.cloneNode(true);
|
|
987
|
+
document.body.appendChild(clonedElementSelected);
|
|
988
|
+
this.elementSelected.style.top = `${top}px`;
|
|
989
|
+
this.encodedScreenshot = domToImage.toPng(document.body, { cacheBust: true })
|
|
990
|
+
.then(function (dataUrl) {
|
|
991
|
+
document.body.removeChild(clonedElementSelected);
|
|
992
|
+
return dataUrl;
|
|
993
|
+
})
|
|
994
|
+
.catch(function (error) {
|
|
995
|
+
console.log(error);
|
|
996
|
+
return "";
|
|
997
|
+
});
|
|
998
|
+
const page = document.getElementsByTagName('html')[0];
|
|
999
|
+
page.style.overflow = 'hidden';
|
|
1000
|
+
this.hasSelectedElement = true;
|
|
1001
|
+
this.overlay.style.display = 'block';
|
|
1002
|
+
this.showModal = true;
|
|
1003
|
+
};
|
|
1004
|
+
this.sending = false;
|
|
1005
|
+
this.formMessage = '';
|
|
1006
|
+
this.formEmail = '';
|
|
1007
|
+
this.formSuccess = false;
|
|
1008
|
+
this.formError = false;
|
|
1009
|
+
this.formErrorStatus = 500;
|
|
1010
|
+
this.encodedScreenshot = undefined;
|
|
1011
|
+
this.modalTitle = 'Share your feedback';
|
|
1012
|
+
this.modalTitleSuccess = 'Thanks for your feedback!';
|
|
1013
|
+
this.modalTitleError = "Oops! We didn't receive your feedback. Please try again later.";
|
|
1014
|
+
this.modalTitleError403 = "Oops! The request URL does not match the one defined in PushFeedback for this project.";
|
|
1015
|
+
this.modalTitleError404 = "Oops! We could not find the provided project id in PushFeedback.";
|
|
1016
|
+
this.modalPosition = 'center';
|
|
1017
|
+
this.sendButtonText = 'Send';
|
|
1018
|
+
this.project = '';
|
|
1019
|
+
this.screenshotButtonTooltipText = 'Take a Screenshot';
|
|
1020
|
+
this.screenshotTopbarText = 'SELECT AN ELEMENT ON THE PAGE';
|
|
1021
|
+
this.email = '';
|
|
1022
|
+
this.emailPlaceholder = 'Email address (optional)';
|
|
1023
|
+
this.messagePlaceholder = 'How could this page be more helpful?';
|
|
1024
|
+
this.showModal = false;
|
|
1025
|
+
this.showScreenshotMode = false;
|
|
1026
|
+
this.hasSelectedElement = false;
|
|
1027
|
+
this.hideScreenshotButton = false;
|
|
1028
|
+
}
|
|
1029
|
+
componentWillLoad() {
|
|
1030
|
+
this.formEmail = this.email;
|
|
1031
|
+
}
|
|
1032
|
+
resetOverflow() {
|
|
1033
|
+
const page = document.getElementsByTagName('html')[0];
|
|
1034
|
+
page.style.overflow = 'inherit';
|
|
1035
|
+
}
|
|
1036
|
+
handleMessageInput(event) {
|
|
1037
|
+
this.formMessage = event.target.value;
|
|
1038
|
+
}
|
|
1039
|
+
handleEmailInput(event) {
|
|
1040
|
+
this.formEmail = event.target.value;
|
|
1041
|
+
}
|
|
1042
|
+
render() {
|
|
1043
|
+
return (index.h("div", { class: "feedback-modal-wrapper" }, this.showScreenshotMode && (index.h("div", { class: "feedback-modal-screenshot", ref: el => (this.screenshotModal = el), onMouseMove: this.handleMouseOverScreenShot }, index.h("div", { class: "feedback-modal-screenshot-element-selected", ref: el => (this.elementSelected = el), onClick: this.handleMouseClickedSelectedElement }), index.h("div", { class: "top-side", ref: el => (this.topSide = el) }), index.h("div", { class: "left-side", ref: el => (this.leftSide = el) }), index.h("div", { class: "bottom-side", ref: el => (this.bottomSide = el) }), index.h("div", { class: "right-side", ref: el => (this.rightSide = el) }), index.h("div", { class: "feedback-modal-screenshot-header", onClick: this.closeScreenShot }, index.h("span", null, this.screenshotTopbarText), index.h("span", { class: "feedback-modal-screenshot-close" }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "#fff", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-x" }, index.h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), index.h("line", { x1: "6", y1: "6", x2: "18", y2: "18" })))), index.h("div", { class: "feedback-modal-screenshot-overlay", ref: el => (this.overlay = el) }))), this.showModal && (index.h("div", { class: `feedback-modal-content feedback-modal-content--${this.modalPosition}`, ref: el => (this.modalContent = el) }, index.h("div", { class: "feedback-modal-header" }, !this.formSuccess && !this.formError ? (index.h("span", null, this.modalTitle)) : this.formSuccess ? (index.h("span", { class: "text-center" }, this.modalTitleSuccess)) : this.formError && this.formErrorStatus == 500 ? (index.h("span", { class: "text-center" }, this.modalTitleError)) : this.formError && this.formErrorStatus == 403 ? (index.h("span", { class: "text-center" }, this.modalTitleError403)) : this.formError && this.formErrorStatus == 404 ? (index.h("span", { class: "text-center" }, this.modalTitleError404)) : index.h("span", null), index.h("button", { class: "feedback-modal-close", onClick: this.close }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "#ccc", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-x" }, index.h("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), index.h("line", { x1: "6", y1: "6", x2: "18", y2: "18" })))), index.h("div", { class: "feedback-modal-body" }, !this.formSuccess && !this.formError ? (index.h("form", { onSubmit: this.handleSubmit }, index.h("div", { class: "feedback-modal-text" }, index.h("textarea", { placeholder: this.messagePlaceholder, value: this.formMessage, onInput: (event) => this.handleMessageInput(event), required: true })), !this.email && (index.h("div", { class: "feedback-modal-email" }, index.h("input", { type: "email", placeholder: this.emailPlaceholder, onInput: (event) => this.handleEmailInput(event), value: this.formEmail }))), index.h("div", { class: `feedback-modal-buttons ${this.hideScreenshotButton ? 'single' : ''}` }, !this.hideScreenshotButton && (index.h("button", { type: "button", class: `button${this.encodedScreenshot ? " active" : ""}`, title: this.screenshotButtonTooltipText, onClick: this.openScreenShot, disabled: this.sending }, index.h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", class: "feather feather-camera" }, index.h("path", { d: "M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z" }), index.h("circle", { cx: "12", cy: "13", r: "4" })))), index.h("button", { class: "button", type: "submit", disabled: this.sending }, this.sendButtonText)))) : index.h("span", null)), index.h("div", { class: "feedback-modal-footer" }, index.h("div", { class: "feedback-logo" }, index.h("svg", { class: "w-8 h-8", viewBox: "0 0 32 32", xmlns: "http://www.w3.org/2000/svg" }, index.h("defs", null, index.h("radialGradient", { cx: "21.152%", cy: "86.063%", fx: "21.152%", fy: "86.063%", r: "79.941%", id: "footer-logo" }, index.h("stop", { "stop-color": "#4FD1C5", offset: "0%" }), index.h("stop", { "stop-color": "#81E6D9", offset: "25.871%" }), index.h("stop", { "stop-color": "#338CF5", offset: "100%" }))), index.h("rect", { width: "32", height: "32", rx: "16", fill: "url(#footer-logo)", "fill-rule": "nonzero" })), " ", index.h("a", { href: "https://pushfeedback.com" }, "PushFeedback")))))));
|
|
1044
|
+
}
|
|
1045
|
+
};
|
|
1046
|
+
FeedbackModal.style = feedbackModalCss;
|
|
1047
|
+
|
|
1048
|
+
exports.feedback_button = FeedbackButton;
|
|
1049
|
+
exports.feedback_modal = FeedbackModal;
|