@zoho_apptics/apptics-js-sdk 1.0.2 → 2.0.0-beta

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.
Files changed (226) hide show
  1. package/CHANGELOG.md +87 -0
  2. package/LICENSE +13 -0
  3. package/README.md +747 -11
  4. package/dist/apptics.esm.min.js +3 -0
  5. package/dist/apptics.esm.min.js.map +1 -0
  6. package/dist/apptics.min.js +3 -0
  7. package/dist/apptics.min.js.map +1 -0
  8. package/dist/chunks/batch-BU_mTpm1.min.js +3 -0
  9. package/dist/chunks/batch-BU_mTpm1.min.js.map +1 -0
  10. package/dist/chunks/logs-Bea5zUW_.min.js +3 -0
  11. package/dist/chunks/logs-Bea5zUW_.min.js.map +1 -0
  12. package/dist/cjs/auto-init.d.ts +8 -0
  13. package/dist/cjs/auto-init.js +32 -0
  14. package/dist/cjs/core/attempts.d.ts +28 -0
  15. package/dist/cjs/core/attempts.js +113 -0
  16. package/dist/cjs/core/batch.d.ts +32 -0
  17. package/dist/cjs/core/batch.js +115 -0
  18. package/dist/cjs/core/callsite.d.ts +28 -0
  19. package/dist/cjs/core/callsite.js +93 -0
  20. package/dist/cjs/core/consent.d.ts +23 -0
  21. package/dist/cjs/core/consent.js +130 -0
  22. package/dist/cjs/core/constants.d.ts +212 -0
  23. package/dist/cjs/core/constants.js +299 -0
  24. package/dist/cjs/core/db.d.ts +40 -0
  25. package/dist/cjs/core/db.js +334 -0
  26. package/dist/cjs/core/debug.d.ts +22 -0
  27. package/dist/cjs/core/debug.js +88 -0
  28. package/dist/cjs/core/env.d.ts +28 -0
  29. package/dist/cjs/core/env.js +267 -0
  30. package/dist/cjs/core/framework-id.d.ts +1 -0
  31. package/dist/cjs/core/framework-id.js +9 -0
  32. package/dist/cjs/core/guard.d.ts +2 -0
  33. package/dist/cjs/core/guard.js +72 -0
  34. package/dist/cjs/core/hooks.d.ts +41 -0
  35. package/dist/cjs/core/hooks.js +23 -0
  36. package/dist/cjs/core/logger.d.ts +16 -0
  37. package/dist/cjs/core/logger.js +86 -0
  38. package/dist/cjs/core/state.d.ts +69 -0
  39. package/dist/cjs/core/state.js +78 -0
  40. package/dist/cjs/core/storage.d.ts +46 -0
  41. package/dist/cjs/core/storage.js +229 -0
  42. package/dist/cjs/core/transport.d.ts +83 -0
  43. package/dist/cjs/core/transport.js +441 -0
  44. package/dist/cjs/core/utils.d.ts +26 -0
  45. package/dist/cjs/core/utils.js +175 -0
  46. package/dist/cjs/core/validate.d.ts +18 -0
  47. package/dist/cjs/core/validate.js +233 -0
  48. package/dist/cjs/device/appversion.d.ts +20 -0
  49. package/dist/cjs/device/appversion.js +158 -0
  50. package/dist/cjs/device/index.d.ts +23 -0
  51. package/dist/cjs/device/index.js +372 -0
  52. package/dist/cjs/engagement/api-rules.d.ts +84 -0
  53. package/dist/cjs/engagement/api-rules.js +219 -0
  54. package/dist/cjs/engagement/auto-api.d.ts +7 -0
  55. package/dist/cjs/engagement/auto-api.js +200 -0
  56. package/dist/cjs/engagement/auto-screen.d.ts +16 -0
  57. package/dist/cjs/engagement/auto-screen.js +241 -0
  58. package/dist/cjs/engagement/defined-events.d.ts +23 -0
  59. package/dist/cjs/engagement/defined-events.js +58 -0
  60. package/dist/cjs/engagement/send.d.ts +6 -0
  61. package/dist/cjs/engagement/send.js +99 -0
  62. package/dist/cjs/engagement/session.d.ts +42 -0
  63. package/dist/cjs/engagement/session.js +327 -0
  64. package/dist/cjs/engagement/track.d.ts +56 -0
  65. package/dist/cjs/engagement/track.js +350 -0
  66. package/dist/cjs/errors/send.d.ts +6 -0
  67. package/dist/cjs/errors/send.js +73 -0
  68. package/dist/cjs/errors/track.d.ts +4 -0
  69. package/dist/cjs/errors/track.js +127 -0
  70. package/dist/cjs/feedback/controls.d.ts +31 -0
  71. package/dist/cjs/feedback/controls.js +286 -0
  72. package/dist/cjs/feedback/index.d.ts +8 -0
  73. package/dist/cjs/feedback/index.js +37 -0
  74. package/dist/cjs/feedback/logs.d.ts +40 -0
  75. package/dist/cjs/feedback/logs.js +202 -0
  76. package/dist/cjs/feedback/send.d.ts +25 -0
  77. package/dist/cjs/feedback/send.js +178 -0
  78. package/dist/cjs/feedback/template.d.ts +2 -0
  79. package/dist/cjs/feedback/template.js +162 -0
  80. package/dist/cjs/feedback/ui.d.ts +55 -0
  81. package/dist/cjs/feedback/ui.js +631 -0
  82. package/dist/cjs/heatmap/index.d.ts +16 -0
  83. package/dist/cjs/heatmap/index.js +22 -0
  84. package/dist/cjs/heatmap/send.d.ts +13 -0
  85. package/dist/cjs/heatmap/send.js +82 -0
  86. package/dist/cjs/heatmap/track.d.ts +4 -0
  87. package/dist/cjs/heatmap/track.js +377 -0
  88. package/dist/cjs/index.d.ts +68 -0
  89. package/dist/cjs/index.js +150 -0
  90. package/dist/cjs/lifecycle.d.ts +14 -0
  91. package/dist/cjs/lifecycle.js +538 -0
  92. package/dist/cjs/package.json +3 -0
  93. package/dist/cjs/remoteconfig/custom.d.ts +10 -0
  94. package/dist/cjs/remoteconfig/custom.js +78 -0
  95. package/dist/cjs/remoteconfig/evaluate.d.ts +24 -0
  96. package/dist/cjs/remoteconfig/evaluate.js +171 -0
  97. package/dist/cjs/remoteconfig/fetch.d.ts +24 -0
  98. package/dist/cjs/remoteconfig/fetch.js +214 -0
  99. package/dist/cjs/remoteconfig/index.d.ts +13 -0
  100. package/dist/cjs/remoteconfig/index.js +90 -0
  101. package/dist/cjs/remoteconfig/store.d.ts +18 -0
  102. package/dist/cjs/remoteconfig/store.js +98 -0
  103. package/dist/cjs/remotelog/gate.d.ts +11 -0
  104. package/dist/cjs/remotelog/gate.js +54 -0
  105. package/dist/cjs/remotelog/index.d.ts +25 -0
  106. package/dist/cjs/remotelog/index.js +55 -0
  107. package/dist/cjs/remotelog/logger.d.ts +28 -0
  108. package/dist/cjs/remotelog/logger.js +139 -0
  109. package/dist/cjs/remotelog/send.d.ts +13 -0
  110. package/dist/cjs/remotelog/send.js +153 -0
  111. package/dist/cjs/scheduler.d.ts +8 -0
  112. package/dist/cjs/scheduler.js +78 -0
  113. package/dist/cjs/types.d.ts +312 -0
  114. package/dist/cjs/user/index.d.ts +33 -0
  115. package/dist/cjs/user/index.js +178 -0
  116. package/dist/esm/auto-init.d.ts +8 -0
  117. package/dist/esm/auto-init.js +29 -0
  118. package/dist/esm/core/attempts.d.ts +28 -0
  119. package/dist/esm/core/attempts.js +106 -0
  120. package/dist/esm/core/batch.d.ts +32 -0
  121. package/dist/esm/core/batch.js +108 -0
  122. package/dist/esm/core/callsite.d.ts +28 -0
  123. package/dist/esm/core/callsite.js +89 -0
  124. package/dist/esm/core/consent.d.ts +23 -0
  125. package/dist/esm/core/consent.js +120 -0
  126. package/dist/esm/core/constants.d.ts +212 -0
  127. package/dist/esm/core/constants.js +277 -0
  128. package/dist/esm/core/db.d.ts +40 -0
  129. package/dist/esm/core/db.js +324 -0
  130. package/dist/esm/core/debug.d.ts +22 -0
  131. package/dist/esm/core/debug.js +81 -0
  132. package/dist/esm/core/env.d.ts +28 -0
  133. package/dist/esm/core/env.js +251 -0
  134. package/dist/esm/core/framework-id.d.ts +1 -0
  135. package/dist/esm/core/framework-id.js +7 -0
  136. package/dist/esm/core/guard.d.ts +2 -0
  137. package/dist/esm/core/guard.js +70 -0
  138. package/dist/esm/core/hooks.d.ts +41 -0
  139. package/dist/esm/core/hooks.js +21 -0
  140. package/dist/esm/core/logger.d.ts +16 -0
  141. package/dist/esm/core/logger.js +82 -0
  142. package/dist/esm/core/state.d.ts +69 -0
  143. package/dist/esm/core/state.js +73 -0
  144. package/dist/esm/core/storage.d.ts +46 -0
  145. package/dist/esm/core/storage.js +219 -0
  146. package/dist/esm/core/transport.d.ts +83 -0
  147. package/dist/esm/core/transport.js +425 -0
  148. package/dist/esm/core/utils.d.ts +26 -0
  149. package/dist/esm/core/utils.js +161 -0
  150. package/dist/esm/core/validate.d.ts +18 -0
  151. package/dist/esm/core/validate.js +226 -0
  152. package/dist/esm/device/appversion.d.ts +20 -0
  153. package/dist/esm/device/appversion.js +153 -0
  154. package/dist/esm/device/index.d.ts +23 -0
  155. package/dist/esm/device/index.js +362 -0
  156. package/dist/esm/engagement/api-rules.d.ts +84 -0
  157. package/dist/esm/engagement/api-rules.js +211 -0
  158. package/dist/esm/engagement/auto-api.d.ts +7 -0
  159. package/dist/esm/engagement/auto-api.js +198 -0
  160. package/dist/esm/engagement/auto-screen.d.ts +16 -0
  161. package/dist/esm/engagement/auto-screen.js +238 -0
  162. package/dist/esm/engagement/defined-events.d.ts +23 -0
  163. package/dist/esm/engagement/defined-events.js +55 -0
  164. package/dist/esm/engagement/send.d.ts +6 -0
  165. package/dist/esm/engagement/send.js +96 -0
  166. package/dist/esm/engagement/session.d.ts +42 -0
  167. package/dist/esm/engagement/session.js +315 -0
  168. package/dist/esm/engagement/track.d.ts +56 -0
  169. package/dist/esm/engagement/track.js +340 -0
  170. package/dist/esm/errors/send.d.ts +6 -0
  171. package/dist/esm/errors/send.js +70 -0
  172. package/dist/esm/errors/track.d.ts +4 -0
  173. package/dist/esm/errors/track.js +123 -0
  174. package/dist/esm/feedback/controls.d.ts +31 -0
  175. package/dist/esm/feedback/controls.js +280 -0
  176. package/dist/esm/feedback/index.d.ts +8 -0
  177. package/dist/esm/feedback/index.js +30 -0
  178. package/dist/esm/feedback/logs.d.ts +40 -0
  179. package/dist/esm/feedback/logs.js +188 -0
  180. package/dist/esm/feedback/send.d.ts +25 -0
  181. package/dist/esm/feedback/send.js +175 -0
  182. package/dist/esm/feedback/template.d.ts +2 -0
  183. package/dist/esm/feedback/template.js +159 -0
  184. package/dist/esm/feedback/ui.d.ts +55 -0
  185. package/dist/esm/feedback/ui.js +626 -0
  186. package/dist/esm/heatmap/index.d.ts +16 -0
  187. package/dist/esm/heatmap/index.js +17 -0
  188. package/dist/esm/heatmap/send.d.ts +13 -0
  189. package/dist/esm/heatmap/send.js +79 -0
  190. package/dist/esm/heatmap/track.d.ts +4 -0
  191. package/dist/esm/heatmap/track.js +374 -0
  192. package/dist/esm/index.d.ts +68 -0
  193. package/dist/esm/index.js +122 -0
  194. package/dist/esm/lifecycle.d.ts +14 -0
  195. package/dist/esm/lifecycle.js +534 -0
  196. package/dist/esm/package.json +3 -0
  197. package/dist/esm/remoteconfig/custom.d.ts +10 -0
  198. package/dist/esm/remoteconfig/custom.js +74 -0
  199. package/dist/esm/remoteconfig/evaluate.d.ts +24 -0
  200. package/dist/esm/remoteconfig/evaluate.js +166 -0
  201. package/dist/esm/remoteconfig/fetch.d.ts +24 -0
  202. package/dist/esm/remoteconfig/fetch.js +210 -0
  203. package/dist/esm/remoteconfig/index.d.ts +13 -0
  204. package/dist/esm/remoteconfig/index.js +85 -0
  205. package/dist/esm/remoteconfig/store.d.ts +18 -0
  206. package/dist/esm/remoteconfig/store.js +91 -0
  207. package/dist/esm/remotelog/gate.d.ts +11 -0
  208. package/dist/esm/remotelog/gate.js +48 -0
  209. package/dist/esm/remotelog/index.d.ts +25 -0
  210. package/dist/esm/remotelog/index.js +51 -0
  211. package/dist/esm/remotelog/logger.d.ts +28 -0
  212. package/dist/esm/remotelog/logger.js +136 -0
  213. package/dist/esm/remotelog/send.d.ts +13 -0
  214. package/dist/esm/remotelog/send.js +149 -0
  215. package/dist/esm/scheduler.d.ts +8 -0
  216. package/dist/esm/scheduler.js +74 -0
  217. package/dist/esm/types.d.ts +312 -0
  218. package/dist/esm/user/index.d.ts +33 -0
  219. package/dist/esm/user/index.js +170 -0
  220. package/dist/feedback.esm.min.js +3 -0
  221. package/dist/feedback.esm.min.js.map +1 -0
  222. package/dist/heatmap.esm.min.js +3 -0
  223. package/dist/heatmap.esm.min.js.map +1 -0
  224. package/dist/style.css +1 -0
  225. package/package.json +124 -7
  226. package/src/appticssdk.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback.esm.min.js","sources":["../src/feedback/template.ts","../src/feedback/send.ts","../src/feedback/controls.ts","../src/feedback/ui.ts","../src/feedback/index.ts","../src/core/stylesheet.ts","../src/feedback/cdn.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":["SUCCESS_MESSAGE","FAILURE_MESSAGE","DYNINFO_EXCLUDED_KEYS","sendFeedbackData","obj","is_apptics_disabled","Promise","resolve","navigator","onLine","Console","warn","_attachment","isEmpty","attachment","_attachment_count","length","_logsFiles","logsFiles","_logsFiles_count","time","nowMs","all","collectStoredFiles","getBatteryPercent","then","stored","battery","sendformdata","FormData","feedinfoObj","networkstatus","getNetworkStatus","orientation","getOrientation","edge","getConnectionType","screenname","_ZAP","_current_screen","screen","sessionstarttime","_current_session","starttime","report","message","type","source","attachmentcount","logfilecount","logFile","happendat","quartzid","append","JSON","stringify","feedinfo","meta","getMetaObj","ready","fileList","reads","i","file","push","reject","reader","FileReader","onload","event","fileContent","target","result","File","onerror","error","readAsArrayBuffer","readAttachments","files","forEach","dyninfoFile","appendLogsAndDyninfo","data","sentIds","ids","_payload","label","blocked","rejectIfDisabled","rejectIfNoDeviceIds","log","sizeof","postToApptics","apiHeaders","_sending","log_transactions_remove","ok","catch","err","wantLog","includeLog","dyninfo","includeDyninfo","wantDyninfo","hasDiagnostics","toLogFile","wanted","toDyninfoFile","cloneMapExcludingKeys","_device_info","e","deviceInfoText","dyn","concat","ANONYMOUS","ANONYMOUS_LABEL","userChoice","anonymous","userid","groupid","logChoice","SVG_NS","wireUserPicker","modal","forceAnonymous","trigger","querySelector","panel","list","dropdown","users","user_defaults","item","Array","isArray","storedUsers","items","value","seen","user","mam","String","pickerItems","selected","active","status","select","addEventListener","stopPropagation","open","style","display","render","option","closest","getAttribute","setAttribute","contains","relatedTarget","matched","textContent","innerHTML","empty","document","createElement","className","appendChild","isSelected","text","svg","createElementNS","path","tickIcon","openViewer","title","content","viewer","viewerTitle","viewerContent","hooks","feedbackUser","QUARTZ_NOOP","startRecording","previewVideo","editVideo","clearFeedback","endRecording","setVideoContent","submitRecording","QUARTZ_CONSTANTS_NOOP","ErrorType","FeedbackState","hasQuartz","Quartz","quartz","quartzConstants","QuartzConstants","submitFeedback","dataobj","feedback","handleStatusmsg","setTimeout","close","buildFeedbackRequest","seltype","typeObj","_opts","attachments","logFiles","newTransfer","DataTransfer","feedbackUIHtml","timerHtml","uploadFileAry","fileInput","selectedFiles","isScaled","isHidden","timerDisplay","recordButton","TOTAL_TIME","remainingTime","isRecording","timerInterval","uploadTotalSize","MaxFileSize","bug","help","init","opts","getElementById","tempContainer","id","body","defaultoption","_defaultoptions","qz_ws_key","quartz_workspace_key","qz_dp_key","quartz_department_key","qz_dc_key","DC","Local","US","EU","IN","AU","CN","CA","JP","SA","AE","closeBtn","feedbackTypes","querySelectorAll","quartzrecbtn","submitbtn","submitbtncnt","checkbox","preivewButton","videoEditButton","deleteVideoButton","feedbackbox","descriptionField","box","header","startX","startY","boxLeft","boxTop","dragging","left","rect","getBoundingClientRect","right","bottom","top","clientX","clientY","parseInt","cursor","preventDefault","Math","max","min","window","innerWidth","offsetWidth","innerHeight","offsetHeight","wireDrag","isAnonymous","logToggle","diagToggle","section","separator","viewLogs","viewDiag","viewerClose","logRow","diagRow","undefined","hasLogLines","anyLogs","anyDiagnostics","checked","logText","diagnosticsText","wireLogControls","removeEventListener","bindQuartzEvent","handleErrorQuartzEvent","recordingAvailable","propertyName","toggleWindowAnimation","onclick","stopImmediatePropagation","recordingDetails","workspaceLinkName","departmentLinkName","recordingDomain","quartzBranding","classList","remove","validateFeedbackField","async","disabled","add","videoElement","offsetParent","trim","this","t","Object","keys","filter","name","wantedTab","updateLeftCount","onchange","self","chosen","filesize","size","fileAttachment","elem","val","maxLength","counterElem","parentElement","isSuccess","stsmsg","stscnt","successmsgclass","successmsg","errorType","detail","errorMessage","RECORDING_INTERRUPTED","FEEDBACK_TIMEOUT","stopRecording","feedbackState","RECORDING_IN_PROGRESS","feedbacktimer","tempDiv","node","firstElementChild","toggleRecording","transform","uploadedFiles","sizeInfo","fileUl","fileLimitExceeded","totalSize","fileName","fName","substring","lastIndexOf","extension","fileLi","elementCreator","span1","innerText","slice","span2","span3","limitReached","formatFileSize","clearFile","from","element","removeFileFromList","elType","filesLengthReached","infoMsg","listItem","indexToRemove","children","indexOf","newFiles","bytes","k","sizeInKB","sizeInMB","sizeInGB","toFixed","setInterval","updateTimer","clearInterval","videoElem","picked","_user_info","userEmail","subject","test","opt_in_status","AP_TRACKING_STATUS","USAGE_TRACKING_WITH_PII","email","response","zqrecid","isEmptyObj","hasOwnProperty","feedbackLink","updateDisplay","minutes","floor","seconds","toString","padStart","attachmentField","sendButton","descriptionFilled","errorElements","getVisibleErrorCount","elements","feedbackOpen","guard","feedbackClose","sendFeedback","args","started","Error","feedbackType","feedbackMessage","sendFeedbackImpl","scriptUrl","href","URL","links","link","rel","head","documentElement","loadStylesheet","url"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ import{C as e,q as t,n,a as r,t as a,v as i,w as o,x as s,_ as c,b as l,e as u,c as d,y as m,z as p,B as h,A as f,D as g,E as _,F as w,k as v,i as b,G as y,H as M,I as k,J as H,K as A,L as x,M as E,N as T,O as L,P as N,m as S}from"./chunks/batch-BU_mTpm1.min.js";var P=!1,O=0,C=[],Y=0,z=0,I=0,X=null,j=0,D=0;function q(){var t=o("heatmap_max_per_session");return("number"!=typeof t||t<=0)&&(t=s.heatmap_max_per_session),!(O>=t)||(O===t&&(O++,e.log("apptics.heatmap: reached "+t+" records for this session, pausing capture")),!1)}function G(){var e=document.documentElement,t=document.body;return Math.max(e?e.scrollHeight:0,t?t.scrollHeight:0,e?e.clientHeight:0)}function W(e,t){if(!t||t<=0)return 0;var n=e/t;return n<0&&(n=0),n>1&&(n=1),Math.round(1e3*n)/1e3}function K(e){if(!e)return"";for(var t=["data-ap-label","apeventaction","aria-label","name","id","title"],n=0;n<t.length;n++){var a=e.getAttribute?e.getAttribute(t[n]):null;if(!r(a))return String(a).slice(0,80)}var i=e.tagName?e.tagName.toLowerCase():"element";if(h()!==f.USAGE_TRACKING_WITH_PII){var o=e.getAttribute?e.getAttribute("role"):null;return r(o)?i:i+"["+o+"]"}var s=(e.textContent||"").replace(/\s+/g," ").trim();return r(s)?i:s.slice(0,80)}function B(e){if(!e)return 0;for(var t="",n=e,r=0;n&&r<12;){var a=n.parentElement,i=0;if(a)for(var o=a.children,s=0;s<o.length;s++)if(o[s]===n){i=s;break}t="/"+(n.tagName||"?")+":"+i+t,n=a,r++}for(var c=2166136261,l=0;l<t.length;l++)c=16777619*(c^=t.charCodeAt(l))>>>0;return c}function F(e,t,n){return(C=C.filter(function(e){return n-e.at<=1e3})).push({at:n,x:e,y:t}),C.filter(function(n){return Math.abs(n.x-e)<=30&&Math.abs(n.y-t)<=30}).length>=3}function J(){return{id:p(),session_start_time:c._current_session.starttime||n(),triggered_time:n(),screen:String(m()).slice(0,500),url_path:String(window.location.pathname).slice(0,500),screen_width:window.screen?window.screen.width:0,screen_height:window.screen?window.screen.height:0,content_height:G(),orientation:d(),network_status:u(),edge_type:c._device_info.connectionType||l(),scroll_offset_x:Math.round(window.scrollX||window.pageXOffset||0),scroll_offset_y:Math.round(window.scrollY||window.pageYOffset||0)}}function R(t){O++,g(),_(),w.add(t),e.dir(t)}function U(e){if(t("heatmap")&&q())try{var o=n(),s=e.target,c=function(e){for(var t=0;e&&t<10;){var n=e.tagName?e.tagName.toLowerCase():"",r=e.getAttribute?e.getAttribute("role"):null;if("a"===n||"button"===n||"input"===n||"select"===n||"textarea"===n||"summary"===n||"label"===n||"button"===r||"link"===r||"tab"===r||"menuitem"===r||e.hasAttribute&&e.hasAttribute("onclick"))return e;e=e.parentElement,t++}return null}(s),l=c||s,u=Math.round(e.clientX),d=Math.round(e.clientY),m=G()||1,p=e.pointerType,h=Object.assign(J(),{triggered_type:"default",gesture_type:"click",gesture_duration:0,input_type:r(p)?"mouse":String(p),element_label:K(l),triggered_id:B(l),coordinate_x:u,coordinate_y:d,normalized_x:W(u,window.innerWidth||(document.documentElement?document.documentElement.clientWidth:0)||1),normalized_y:W((window.scrollY||0)+d,m),velocity:0,is_clickable:c?1:0,is_rage_click:F(u,d,o)?1:0,is_dead_click:0});R(h),function(e){if(1===e.is_clickable||"function"!=typeof MutationObserver)return;var t=!1,n=window.location.href,r=new MutationObserver(function(){t=!0});try{r.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!0})}catch(e){return}setTimeout(function(){r.disconnect(),t||window.location.href!==n||(e.is_dead_click=1,w.update(e))},1500)}(h)}catch(e){a(i.HEATMAP,"apptics.heatmap: click capture failed: "+String(e))}}function Q(){t("heatmap")&&q()&&(null===X?(Y=n(),z=j,I=D):clearTimeout(X),X=setTimeout(V,150))}function V(){X=null;try{var e=Math.round(window.scrollX||0),t=Math.round(window.scrollY||0),r=e-z,o=t-I;if(j=e,D=t,0===r&&0===o)return;var s=Math.max(1,n()-Y),c=Math.sqrt(r*r+o*o),l=Math.abs(o)>=Math.abs(r)?o>0?"down-scroll":"up-scroll":r>0?"right-scroll":"left-scroll",u=G()||1;R(Object.assign(J(),{triggered_type:"default",gesture_type:l,gesture_duration:Math.round(s),element_label:"",triggered_id:0,coordinate_x:e,coordinate_y:t,normalized_x:0,normalized_y:W(t+(window.innerHeight||0),u),velocity:Math.round(c/s*1e3),is_clickable:0,is_rage_click:0,is_dead_click:0}))}catch(e){a(i.HEATMAP,"apptics.heatmap: scroll capture failed: "+String(e))}}function Z(t){var n="boolean"!=typeof t||t;if(n!==P){if(n)return j=Math.round(window.scrollX||0),D=Math.round(window.scrollY||0),window.addEventListener("pointerdown",U,{capture:!0,passive:!0}),window.addEventListener("scroll",Q,{capture:!0,passive:!0}),P=!0,void e.log("apptics.heatmap: capturing clicks and scrolls");window.removeEventListener("pointerdown",U,!0),window.removeEventListener("scroll",Q,!0),null!==X&&(clearTimeout(X),X=null),P=!1,e.log("apptics.heatmap: capture stopped")}}v.enableHeatmap=Z,v.resetHeatmap=function(){O=0,C=[],j=0,D=0},v.sendHeatmaps=function t(n){return!b()&&y()&&c._heatmapTracking?0==navigator.onLine?(e.warn("sendHeatmapData: No Network"),Promise.resolve()):c._sending?(M(t),Promise.resolve()):(c._sending=!0,k(),H("heatmaps",function(){return A(w,function(){return!0},function(e){return e.triggered_time||e.session_start_time}).then(function(e){if(0!=e.length){var t=[],r=[];return x(e).forEach(function(e){r.push({...e}),delete e.id,t.push(e)}),E(function(e,t){return N("heatmap","requestToSendHeatmaps",e,t)}({data:t},n).then(function(){return w.remove(r)},function(e){return T(e)?(L("apptics: the server refused these heatmap records, so they were dropped: "+String(e&&e.message)),w.remove(r)):Promise.reject(e)}),n,"sendHeatmapData")}})}).catch(function(t){e.log("sendHeatmapData:"+t)}).then(function(){c._sending=!1})):Promise.resolve()};const $=S("enableHeatmap",Z),ee={enableHeatmap:$};export{ee as default,$ as enableHeatmap};
3
+ //# sourceMappingURL=heatmap.esm.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heatmap.esm.min.js","sources":["../src/heatmap/track.ts","../src/heatmap/send.ts","../src/heatmap/index.ts"],"sourcesContent":[null,null,null],"names":["installed","recorded","recentClicks","scrollStart","scrollStartX","scrollStartY","scrollTimer","lastX","lastY","underCap","cap","getConfig","AP_CONFIG","heatmap_max_per_session","Console","log","contentHeight","doc","document","documentElement","body","Math","max","scrollHeight","clientHeight","fraction","part","whole","value","round","labelFor","node","attributes","i","length","getAttribute","isEmpty","String","slice","tag","tagName","toLowerCase","getTrackingStatus","AP_TRACKING_STATUS","USAGE_TRACKING_WITH_PII","role","text","textContent","replace","trim","triggeredId","path","current","depth","parent","parentElement","index","children","hash","c","charCodeAt","isRageClick","x","y","at","filter","click","push","abs","common","id","getNewUUID","session_start_time","_ZAP","_current_session","starttime","nowMs","triggered_time","screen","screenForRecord","url_path","window","location","pathname","screen_width","width","screen_height","height","content_height","orientation","getOrientation","network_status","getNetworkStatus","edge_type","_device_info","connectionType","getConnectionType","scroll_offset_x","scrollX","pageXOffset","scroll_offset_y","scrollY","pageYOffset","store","record","noteDebugActivity","commitPendingSession","heatmap_transactions","add","dir","onPointerDown","event","canTrackHeatmap","target","clickable","hasAttribute","clickableAncestor","named","clientX","clientY","pointerType","Object","assign","triggered_type","gesture_type","gesture_duration","input_type","element_label","triggered_id","coordinate_x","coordinate_y","normalized_x","innerWidth","clientWidth","normalized_y","velocity","is_clickable","is_rage_click","is_dead_click","MutationObserver","changed","url","href","observer","observe","childList","subtree","err","setTimeout","disconnect","update","watchForDeadClick","logFailure","AP_LOG_MODULE","HEATMAP","onScroll","clearTimeout","endScrollGesture","endX","endY","dx","dy","duration","distance","sqrt","direction","innerHeight","enableHeatmap","status","wanted","addEventListener","capture","passive","removeEventListener","hooks","resetHeatmap","sendHeatmaps","sendHeatmapData","forget","is_apptics_disabled","shouldTrackOrSendData","_heatmapTracking","navigator","onLine","warn","Promise","resolve","_sending","defer","clearDefer","withSendLock","freshItems","item","then","items","data","sent","cloneObject","forEach","awaitUnlessClosing","_payload","sendBatch","requestToSendHeatmaps","remove","isPermanentRefusal","warnAlways","message","reject","catch","guard","enableHeatmapImpl","heatmap"],"mappings":"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"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .zasdk-modal{color:var(--zasdk-text-color);margin:0;padding:0;font-family:inherit;line-height:normal}.zasdk-modal p{margin:0}.zasdk-modal ul{margin:0;padding:0;list-style:none}.zasdk-modal,.zasdk-timer-container{--zasdk-background-color:#fff;--zasdk-text-color:#333;--zasdk-border-color:#ddd;--zasdk-modal-background:#0006;--zasdk-close-color:#aaa;--zasdk-close-hover-color:#000;--zasdk-input-background:#fff;--zasdk-button-background:#f0f0f0;--zasdk-primary-color:#007bff;--zasdk-primary-text-color:#000;--zasdk-button-text-color:#fff;--zasdk-secondary-background:#ddd;--zasdk-icon-border-color:#ccc;--zasdk-dropdown-hover:#f0f0f0}.zasdk-modal.zasdk-dark-theme,.zasdk-timer-container.zasdk-dark-theme{--zasdk-background-color:#1a1a1a;--zasdk-text-color:#f0f0f0;--zasdk-border-color:#444;--zasdk-modal-background:#ffffff1a;--zasdk-close-color:#888;--zasdk-close-hover-color:#fff;--zasdk-input-background:#2a2a2a;--zasdk-button-background:#333;--zasdk-primary-color:#0056b3;--zasdk-primary-text-color:#fff;--zasdk-secondary-background:#333;--zasdk-icon-border-color:#555;--zasdk-dropdown-hover:#2a2a2a}.zasdk-modal-content *{box-sizing:border-box;font-size:14px}.zasdk-modal{z-index:214748364;pointer-events:none;width:100%;height:100%;color:var(--zasdk-primary-text-color);background:0 0;position:fixed;top:0;left:0;overflow:visible}.zasdk-modal-content{background-color:var(--zasdk-background-color);border:1px solid var(--zasdk-border-color);pointer-events:auto;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;width:500px;max-width:calc(100% - 40px);max-height:calc(100% - 40px);padding:10px 0 20px;transition:none;display:flex;position:fixed;inset:auto 20px 20px auto;box-shadow:0 8px 24px #0000002e}.zasdk-header{cursor:grab;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 20px;display:flex}.zasdk-title{margin:0;font-size:24px;font-weight:700}.zasdk-close{color:var(--zasdk-close-color);cursor:pointer;font-size:28px;font-weight:700}.zasdk-close:hover,.zasdk-close:focus{color:var(--zasdk-close-hover-color);cursor:pointer;text-decoration:none}.zasdk-feedback-types{text-align:center;justify-content:space-evenly;margin-bottom:20px;font-size:14px;display:flex}.zasdk-feedback-type{cursor:pointer;display:inline-block}.zasdk-iconcnt{background-color:var(--zasdk-background-color);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:5px;font-weight:700;display:inline-block}.zasdk-form{max-height:calc(100% - 190px);padding:0 20px;position:relative;overflow-y:auto}.zasdk-form select,.zasdk-form input,.zasdk-form textarea{border:1px solid var(--zasdk-border-color);background-color:var(--zasdk-input-background);width:100%;color:var(--zasdk-text-color);border-radius:4px;margin-bottom:15px;padding:8px;font-size:14px}.zasdk-form textarea{resize:none;height:100px}.zasdkdesclbl{margin-bottom:5px;font-weight:700;display:block}.zasdkmadfeld{color:#f33558;padding-left:3px}.zaleftcharspan{float:right}.zaleftchartxt{margin-left:3px;font-weight:400}.zasdk_submit_btncnt{justify-content:end;align-items:center;margin-top:20px;padding:0 20px;display:flex}.zasdkstsmsg{text-align:end;margin-right:20px;font-size:14px;display:none}.zasdkstserror{color:#f33155}.zasdkstssucs{color:#009c08}.zasdk-buttons{margin-top:20px}.zasdk-btn{cursor:pointer;text-align:center;border:none;border-radius:4px;padding:7px 20px;font-size:14px}.zasdk-send-btn{background-color:var(--zasdk-primary-color);color:var(--zasdk-button-text-color);min-width:81px;height:34px}.zasdk-attach-btn{background-color:var(--zasdk-button-background);vertical-align:middle;justify-content:center;align-items:center;height:40px;margin-bottom:0;margin-right:10px;padding:10px 15px 10px 5px;font-size:14px;font-weight:400;display:inline-flex}.zasdkfilesizeinf{vertical-align:middle;margin-top:10px;font-size:13px;display:inline-block}.zasdkattachinf{vertical-align:middle;margin-bottom:10px;font-size:13px;display:inline-block}input[type=file].zasdk-file-input{display:none}.zasdkfeedback__icon{border:1px solid var(--zasdk-icon-border-color);vertical-align:middle;text-align:center;box-sizing:border-box;border-radius:100%;width:32px;height:32px;transition:all .5s;display:inline-block}.zasdk-feedback-types svg{width:inherit;height:inherit;vertical-align:middle;display:inline-block}.zasdkfeedback__icon-report .zasdkfeedback__icon{fill:#ff4122}.zasdkfeedback__icon-report svg{width:28px;height:100%}.zasdk-feedback-type{text-align:center;border:1px solid #0000;width:90px;padding:10px 0;transition:all .5s}.zasdk-selected{background-color:#f0f0f0;border:1px solid #ddd;border-radius:6px}.zasdk-selected .zasdkfeedback__icon-report .zasdkfeedback__icon{fill:#fff;background:#ff4122;border-color:#ff4122}.zasdk-feedback-type:hover .zasdkfeedback__icon-report .zasdkfeedback__icon{border-color:#ff4122}.zasdkfeedback__icon-reqest .zasdkfeedback__icon{fill:#a63cff}.zasdkfeedback__icon-reqest svg{width:24px;height:100%}.zasdk-feedback-type:hover .zasdkfeedback__icon-reqest .zasdkfeedback__icon{border-color:#a63cff}.zasdk-selected .zasdkfeedback__icon-reqest .zasdkfeedback__icon{fill:#fff;background:#a63cff;border-color:#a63cff}.zasdkfeedback__icon-help .zasdkfeedback__icon{fill:#fba400}.zasdkfeedback__icon-help svg{width:28px;height:100%}.zasdk-feedback-type:hover .zasdkfeedback__icon-help .zasdkfeedback__icon{border-color:#fba400}.zasdk-selected .zasdkfeedback__icon-help .zasdkfeedback__icon{fill:#fff;background:#fba400;border-color:#fba400}.zasdkfeedback__icon-appreciate .zasdkfeedback__icon{fill:#ff297a}.zasdkfeedback__icon-appreciate svg{width:25px;height:28px}.zasdk-feedback-type:hover .zasdkfeedback__icon-appreciate .zasdkfeedback__icon{border-color:#ff297a}.zasdk-selected .zasdkfeedback__icon-appreciate .zasdkfeedback__icon{fill:#fff;background:#ff297a;border-color:#ff297a}.zasdk-btncnt{margin-bottom:10px}.zasdk-dropdown{width:100%;margin-bottom:15px;position:relative}.zasdk-dropdown-header{border:1px solid var(--zasdk-border-color);cursor:pointer;background-color:var(--zasdk-input-background);color:var(--zasdk-text-color);border-radius:4px;padding:5px 10px}.zasdk-dropdown-options{background-color:var(--zasdk-background-color);border:1px solid var(--zasdk-border-color);z-index:1;border-radius:5px;display:none;position:absolute;top:35px;left:0;right:0}.zasdk-dropdown-option{cursor:pointer;padding:5px 10px}.zasdk-dropdown-option:hover{background-color:var(--zasdk-dropdown-hover)}.zasdkqz-container{width:100%;color:var(--zasdk-text-color);background:var(--zasdk-secondary-background);box-sizing:border-box;border-radius:8px;padding:15px;font-size:14px}.zasdkqz-checkbox-wrapper{align-items:flex-start;display:flex;position:relative}input[type=checkbox].zasdkqz-checkbox{opacity:0;width:auto;margin:0;position:absolute}.zasdkqz-checkbox+label{cursor:pointer;margin:0;padding-left:30px;font-weight:400;line-height:1.5;display:inline-block;position:relative}.zasdkqz-checkbox+label:before{content:"";border:1px solid var(--zasdk-primary-color);border-radius:4px;width:18px;height:18px;position:absolute;top:2px;left:0}.zasdkqz-checkbox:focus+label:before{border:2px solid var(--zasdk-primary-color)}.zasdkqz-content .zasdkqz-prop-content{margin-top:10px;padding-left:30px}.zasdkqz-checkbox:checked+label:before{background:var(--zasdk-primary-color)}.zasdkqz-checkbox:checked+label:after{content:"";border:0 solid #fff;border-width:0 0 1px 1px;width:10px;height:5px;transition:transform .3s;position:absolute;top:6px;left:10px;transform:rotate(-40deg)translate(-50%,-50%)scale(1)}.zasdkqz-content{max-height:0;transition:max-height .5s;overflow:hidden}.zasdkqz-content.zasdkqz-show{max-height:250px;display:block}.zasdkqz-button{background:var(--zasdk-primary-color);color:var(--zasdk-button-text-color);cursor:pointer;border:none;border-radius:4px;margin-top:16px;padding:10px 20px;text-decoration:none;transition:background-color .3s;display:inline-block}.zasdkqz-button:hover{background:var(--zasdk-primary-color)}.zasdkqz-info{margin-top:5px;font-size:14px}.zasdkqz-icon{vertical-align:middle;width:20px;height:20px;margin-left:4px;display:inline-block}.zasdk-modal .zasakfilelstcnt{margin-top:10px;list-style:none}.zasdk-modal .zasakfilelstcnt li{border:1px solid var(--zasdk-border-color);vertical-align:middle;cursor:default;background:var(--zasdk-secondary-background);border-radius:3px;margin:0 5px 5px 0;padding:2px 20px 2px 5px;font-size:1.1rem;display:inline-flex;position:relative}.zaskFdBckFlName{box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;max-width:120px;display:inline-block;overflow:hidden}.zasdkFdBckFlCls{background:var(--zasdk-secondary-background);cursor:pointer;border-radius:0 3px 3px 0;padding:0 3px;font-size:14px;line-height:22px;position:absolute;top:0;bottom:0;right:2px}.zasdkmaxerror{color:#f33155;font-size:14px}.zasdk-timer-container{background-color:var(--zasdk-secondary-background);z-index:11111;cursor:pointer;border-radius:50px;align-items:center;gap:8px;padding:8px 10px;display:inline-flex;position:fixed;bottom:10px;right:10px;box-shadow:0 4px 15px #0000001a}.zasdk-timer-stopcricle{cursor:pointer;background-color:#f33155;border:none;border-radius:50%;width:12px;height:12px;padding:0;animation:1s infinite alternate blink}@keyframes blink{0%{opacity:1}to{opacity:.3}}.zasdk-timer-control{border:1px solid #f33155;border-radius:100%;padding:3px}.zasdk-timer-display{color:var(--zasdk-text-color);text-align:left;min-width:55px;font-size:14px;font-weight:500}.zasdk_videoPrev{justify-content:center;display:flex}.zasdk_videoPrev video{opacity:.4}.zasdk_recordedClipArea{border:1px solid var(--zasdk-border-color);border-radius:6px;display:none;position:relative}.zasdk_recordedClipArea .zasdk_rec_hdr{background-color:var(--zasdk-secondary-background);color:var(--zasdk-text-color);border-radius:3px 3px 0 0;padding:5px 10px}.zasdk_rec_hdr_icon{vertical-align:middle;display:inline-block;position:relative}.zasdk_rec_hdr i{vertical-align:middle;line-height:normal}.zasdk_rec_hdr svg{width:20px}.zasdk_playEdit{z-index:1;justify-content:space-between;align-items:stretch;width:180px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.zasdk_clipAreaButtonCnt,.zasdk_submit_btnsubcnt{position:relative}.zasdk_clipAreaButton{background:var(--zasdk-background-color);border:1px solid var(--zasdk-border-color);box-sizing:border-box;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:50px;height:40px;display:flex;box-shadow:0 0 9px #0003}.zasdk_clipAreaButton:hover{background:var(--zasdk-dropdown-hover)}.zasdk_clipAreaButton svg{width:28px}.zasdk-send-btn.zasdkbtndisableclr{filter:grayscale();pointer-events:none;opacity:.5}.zasdk-send-btn.zasdkbtndisabled{cursor:not-allowed;position:relative}.zasdkbtndisabled:after{content:"";border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;margin:auto;animation:1s ease-in-out infinite zasdkbuttonspin;position:absolute;inset:0}@keyframes zasdkbuttonspin{to{transform:rotate(360deg)}}.zasdk-tooltip,.zasdk-tooltip-top{visibility:hidden;color:#fff;opacity:0;z-index:111111;background-color:#000;border-radius:4px;width:max-content;max-width:200px;margin-top:8px;padding:8px 12px;font-size:14px;transition:opacity .2s;position:absolute;top:100%;left:50%;transform:translate(-50%)}.zasdk-tooltip:after,.zasdk-tooltip-top:after{content:"";border:5px solid #0000;border-bottom-color:#000;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.zasdk-tooltip-container:hover .zasdk-tooltip,.zasdk-tooltip-container:hover .zasdk-tooltip-top{visibility:visible;opacity:1}.zasdk-tooltip-top{margin-top:0;margin-bottom:8px;top:auto;bottom:100%}.zasdk-tooltip-top:after{border-color:#000 #0000 #0000;top:100%}.zasdk-prop-info{max-width:320px}.zasdk-prop-info li{font-size:13px}.zasdkqz-content:has(.zasdk_rec_hdr:hover){overflow:visible}@media (width<=450px){.zasdk-modal-content{width:calc(100% - 10px);bottom:5px;left:5px;right:5px}}@media (height<=600px){.zasdk-modal-content{max-height:100%;top:auto}}@media (width<=370px){.zasdk-feedback-type{width:70px}.zasdk-iconcnt,.zasdkfeedback__icon{width:25px;height:25px}.zasdkfeedback__icon-report svg{width:20px;height:100%}.zasdkfeedback__icon-reqest svg{width:18px}.zasdkfeedback__icon-help svg{width:18px;height:22px}.zasdkfeedback__icon-appreciate svg{width:20px;height:20px}.zasdk-feedback-type *{word-break:break-word;font-size:12px}.zasdk-buttons{margin-top:0}}.zasdk-custom-select{width:100%;margin-bottom:15px;font-size:14px;position:relative}.zasdk-select-trigger{border:1px solid var(--zasdk-border-color);cursor:pointer;color:#333;-webkit-user-select:none;user-select:none;background:#fff;border-radius:4px;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.zasdk-select-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.zasdk-select-arrow{flex-shrink:0;margin-left:8px}.zasdk-select-panel{border:1px solid var(--zasdk-border-color);z-index:99;background:#fff;border-radius:8px;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow:hidden;box-shadow:0 6px 20px #0000001a}.zasdk-select-list{max-height:180px;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.zasdk-select-option{cursor:pointer;color:#333;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;display:flex}.zasdk-select-option:hover{background:#f5f5f5}.zasdk-select-option.zasdk-option-selected{color:#0078d4;font-weight:500}.zasdk-select-empty{color:#999;text-align:center;padding:10px 16px;font-size:13px;font-style:italic}.zasdk-toggles-section{margin:5px 16px}.zasdk-toggle-row{border-top:1px solid var(--zasdk-border-color);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.zasdk-toggle-info{flex-direction:row;flex:1;align-items:center;gap:8px;display:flex}.zasdk-toggle-label{color:#333;font-size:14px;font-weight:600}.zasdk-view-link{color:#0078d4;cursor:pointer;white-space:nowrap;font-size:12px}.zasdk-view-link:hover{text-decoration:underline}.zasdk-toggle-separator{background:#e8e8e8;margin:0 16px}.zasdk-switch{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.zasdk-switch input{opacity:0;width:0;height:0}.zasdk-slider{cursor:pointer;background:#ccc;border-radius:24px;transition:all .3s;position:absolute;inset:0}.zasdk-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .3s;position:absolute;bottom:3px;left:3px}.zasdk-switch input:checked+.zasdk-slider{background:#0078d4}.zasdk-switch input:checked+.zasdk-slider:before{transform:translate(20px)}.zasdk-data-viewer{z-index:100;background:#fff;border-radius:12px;flex-direction:column;position:absolute;inset:0;overflow:hidden}.zasdk-viewer-hdr{border-bottom:1px solid #e8e8e8;flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.zasdk-viewer-back{cursor:pointer;flex-shrink:0;align-items:center;padding:2px;display:flex}.zasdk-viewer-back:hover svg path{stroke:#0078d4}.zasdk-viewer-title{color:#222;flex:1;font-size:16px;font-weight:600}.zasdk-viewer-content{color:#333;white-space:pre-wrap;word-break:break-word;background:#f8f8f8;border-radius:6px;flex:1;margin:8px;padding:16px;font-family:monospace;font-size:12px;overflow-y:auto}
package/package.json CHANGED
@@ -1,23 +1,140 @@
1
1
  {
2
2
  "name": "@zoho_apptics/apptics-js-sdk",
3
- "version": "1.0.2",
3
+ "version": "2.0.0-beta",
4
+ "type": "commonjs",
4
5
  "description": "JavaScript SDK for Zoho Apptics",
5
- "main": "src/appticssdk.js",
6
6
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1"
7
+ "clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
8
+ "build": "npm run clean && rollup -c && tsc -p tsconfig.build.json && node scripts/copy-types.mjs",
9
+ "postbuild": "node -e \"require('fs').writeFileSync('version.txt', require('./package.json').version + '\\n')\"",
10
+ "dev": "rollup -c -w",
11
+ "typecheck": "tsc --noEmit",
12
+ "pack:check": "node scripts/check-pack.mjs",
13
+ "prepublishOnly": "npm run typecheck && npm test && npm run build && npm run pack:check",
14
+ "test": "vitest run",
15
+ "test:watch": "vitest",
16
+ "prepack": "node scripts/license.mjs add && node scripts/register-version.mjs && npm run build",
17
+ "postpack": "node scripts/license.mjs remove",
18
+ "register": "node scripts/register-version.mjs"
8
19
  },
9
20
  "keywords": [
10
21
  "apptics",
22
+ "zoho apptics",
23
+ "javascript",
24
+ "typescript",
25
+ "web",
26
+ "browser",
11
27
  "analytics",
12
28
  "sdk",
13
- "javascript",
14
29
  "tracking",
15
- "feedback"
30
+ "event tracking",
31
+ "screen tracking",
32
+ "error tracking",
33
+ "api tracking",
34
+ "remote config",
35
+ "remote logger",
36
+ "logger",
37
+ "feedback",
38
+ "in-app feedback",
39
+ "heatmap"
16
40
  ],
17
41
  "author": "Zoho Apptics",
18
- "license": "MIT",
42
+ "license": "SEE LICENSE IN LICENSE",
19
43
  "homepage": "https://www.zoho.com/apptics/",
44
+ "engines": {
45
+ "node": ">=18"
46
+ },
20
47
  "publishConfig": {
21
- "registry": "https://registry.npmjs.org/"
48
+ "registry": "https://registry.npmjs.org/",
49
+ "tag": "beta"
50
+ },
51
+ "devDependencies": {
52
+ "@rollup/plugin-terser": "^1.0.0",
53
+ "@rollup/plugin-typescript": "^12.3.0",
54
+ "fake-indexeddb": "^6.2.5",
55
+ "jsdom": "^27.0.1",
56
+ "lightningcss": "^1.33.0",
57
+ "rollup": "^4.63.4",
58
+ "tslib": "^2.8.1",
59
+ "typescript": "^5.9.3",
60
+ "vitest": "^4.1.11"
61
+ },
62
+ "main": "./dist/cjs/index.js",
63
+ "module": "./dist/esm/index.js",
64
+ "types": "./dist/cjs/index.d.ts",
65
+ "unpkg": "./dist/apptics.min.js",
66
+ "jsdelivr": "./dist/apptics.min.js",
67
+ "exports": {
68
+ ".": {
69
+ "import": {
70
+ "types": "./dist/esm/index.d.ts",
71
+ "default": "./dist/esm/index.js"
72
+ },
73
+ "require": {
74
+ "types": "./dist/cjs/index.d.ts",
75
+ "default": "./dist/cjs/index.js"
76
+ }
77
+ },
78
+ "./feedback": {
79
+ "import": {
80
+ "types": "./dist/esm/feedback/index.d.ts",
81
+ "default": "./dist/esm/feedback/index.js"
82
+ },
83
+ "require": {
84
+ "types": "./dist/cjs/feedback/index.d.ts",
85
+ "default": "./dist/cjs/feedback/index.js"
86
+ }
87
+ },
88
+ "./heatmap": {
89
+ "import": {
90
+ "types": "./dist/esm/heatmap/index.d.ts",
91
+ "default": "./dist/esm/heatmap/index.js"
92
+ },
93
+ "require": {
94
+ "types": "./dist/cjs/heatmap/index.d.ts",
95
+ "default": "./dist/cjs/heatmap/index.js"
96
+ }
97
+ },
98
+ "./remote-config": {
99
+ "import": {
100
+ "types": "./dist/esm/remoteconfig/index.d.ts",
101
+ "default": "./dist/esm/remoteconfig/index.js"
102
+ },
103
+ "require": {
104
+ "types": "./dist/cjs/remoteconfig/index.d.ts",
105
+ "default": "./dist/cjs/remoteconfig/index.js"
106
+ }
107
+ },
108
+ "./style.css": "./dist/style.css",
109
+ "./package.json": "./package.json"
110
+ },
111
+ "files": [
112
+ "dist",
113
+ "README.md",
114
+ "LICENSE",
115
+ "CHANGELOG.md"
116
+ ],
117
+ "sideEffects": [
118
+ "*.css",
119
+ "./dist/apptics.min.js"
120
+ ],
121
+ "typesVersions": {
122
+ "*": {
123
+ "feedback": [
124
+ "./dist/cjs/feedback/index.d.ts"
125
+ ],
126
+ "heatmap": [
127
+ "./dist/cjs/heatmap/index.d.ts"
128
+ ],
129
+ "remote-config": [
130
+ "./dist/cjs/remoteconfig/index.d.ts"
131
+ ],
132
+ "*": [
133
+ "./dist/cjs/index.d.ts"
134
+ ]
135
+ }
136
+ },
137
+ "apptics": {
138
+ "serviceUrl": "https://sdk-apptics.zoho.com"
22
139
  }
23
140
  }
package/src/appticssdk.js DELETED
@@ -1 +0,0 @@
1
- !function(e,t){var i=console,n=function(){if(f.verbose&&i)try{i.log.apply(i,arguments)}catch(e){ye(arguments,(function(e){i.log(e)}))}},a=function(){if(f.verbose&&i&&f.verbose&&i)try{i.warn.apply(i,arguments)}catch(e){ye(arguments,(function(e){i.warn(e)}))}},r=function(){if(f.verbose&&i&&f.verbose&&i)try{i.error.apply(i,arguments)}catch(e){ye(arguments,(function(e){i.error(e)}))}},s=function(e){f.verbose&&i&&f.verbose&&i&&i.dir(e)};if(!e.localStorage)return void a("apptics: localStorage not supported");if(!e.Promise)return void a("apptics: Promise not supported (try adding a polyfill)");var o=!1,d=[],c=[],l=!1,u=null,p={},f={},v={},m="",g="",h="",k="",y="",z=5781,b=5573,_=!0,S=0,w="",I="",E="",O={},T={},A={},q={},N={},M=null,B=null;const F=new class{constructor(){this.queue=[],this.currentRequest=Promise.resolve()}addRequest(e,t,i,n){return this.queue.push((()=>function(e,t,i,n){return new Promise(((a,r)=>{let s=new XMLHttpRequest;s.open(t,e),n&&Object.keys(n).forEach((e=>{s.setRequestHeader(e,n[e])})),s.withCredentials=!1,s.onreadystatechange=function(){4===s.readyState&&(200==s.status?a(s.responseText):r(s.statusText))},s.onerror=function(){r("makeRequest: Network Error")},s.send(i)}))}(e,t,i,n))),this}processQueue(){return this.currentRequest=this.queue.reduce(((e,t)=>e.then(t)),Promise.resolve()),this.queue=[],this.currentRequest}};var P=e.navigator.userAgent,x=!1,D=!0,C={regdevice:"device/add",reguser:"user/registerwithorg",engagement:"engagement/add",error:"exception/error",feedback:"feedback/add"};const L=Object.freeze({USAGE_TRACKING_WITH_PII:2,USAGE_TRACKING_WITHOUT_PII:5,NO_TRACKING:-1}),R=Object.freeze({BUG:0,FEEDBACK:1,HELP:2,REPORT:3});var J={endpoint:"/sdk/web/v1/",method:"POST",transport:"XHR",mode:1,default_group_name:"default",default_optin_status:L.USAGE_TRACKING_WITHOUT_PII,enable_pageview_tracking:!1,save_referrer:!0,verbose:!1,track_link_timeout:300,cookie_expiration_days:365,track_by_default:!0,storage_type:"localStorage",ignore_do_not_track:!1,enable_batch_requests:!0,batch_size:50,batch_flush_interval:3e4,batch_request_timeout:7,auto_starts_batch:!0,debug:"",base_domain:"",identifier:"",projectID:"",token:"",zsoid:"",aaID:""},U=["endpoint","method","transport","track_link_timeout","cookie_expiration_days","storage_type","enable_batch_requests","batch_size","batch_request_timeout","auto_starts_batch"],Z=["ahrefsbot","ahrefssiteaudit","baiduspider","bingbot","bingpreview","chrome-lighthouse","facebookexternal","petalbot","pinterest","screaming frog","yahoo! slurp","yandexbot","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleweblight","mediapartners-google","storebot-google"],W={_key:"apptics-tracking-preference",_tracking_status:"tracking_status",all:function(){return JSON.parse(localStorage.getItem(W._key)||JSON.stringify({}))},opt_in_status:function(){return W.all()[W._tracking_status]||L.USAGE_TRACKING_WITHOUT_PII},opt_in_tracking_without_pii:function(){var e=W.all();e[W._tracking_status]=L.USAGE_TRACKING_WITHOUT_PII,localStorage.setItem(W._key,JSON.stringify(e))},opt_in_tracking_with_pii:function(){var e=W.all();e[W._tracking_status]=L.USAGE_TRACKING_WITH_PII,localStorage.setItem(W._key,JSON.stringify(e))},opt_out_tracking:function(){var e=W.all();e[W._tracking_status]=L.NO_TRACKING,localStorage.setItem(W._key,JSON.stringify(e))},update_status:function(e){var t=W.all();t[W._tracking_status]=e,localStorage.setItem(W._key,JSON.stringify(t))},clear:function(){localStorage.setItem(W._key,JSON.stringify({}))}},j={_key:"apptics-engagements-transactions",_maxSize:1,all:function(){return JSON.parse(localStorage.getItem(j._key)||JSON.stringify([]))},payload:function(){let e=0;const t=[];var i=j.all().slice(0,V("batch_size"));for(const n of i){const i=pe(JSON.stringify(n));if(e+i>1048576)break;t.push(n),e+=i}return t},add:function(e){var t=j.all();t.push(e),localStorage.setItem(j._key,JSON.stringify(t))},update:function(e,t){var i=j.all(),n=i.findIndex((function(t){return t.type===e.type&&t.starttime===e.starttime}));-1!==n&&(i[n]=t),localStorage.setItem(j._key,JSON.stringify(i))},remove:function(e){var t=(e||[]).map((function(e){return e.id})),i=j.all().filter((function(e){return-1===t.indexOf(e.id)}));localStorage.setItem(j._key,JSON.stringify(i))},clear:function(){localStorage.setItem(j._key,JSON.stringify([]))}},G={_key:"apptics-errors-transactions",_maxLength:100,all:function(){return JSON.parse(localStorage.getItem(G._key)||JSON.stringify([]))},payload:function(){let e=0;const t=[];var i=G.all().slice(0,V("batch_size"));for(const n of i){const i=pe(JSON.stringify(n));if(e+i>1048576)break;t.push(n),e+=i}return t},add:function(e){var t=G.all();t.push(e),localStorage.setItem(G._key,JSON.stringify(t))},update:function(e,t){var i=G.all(),n=i.findIndex((function(t){return t.type===e.type&&t.starttime===e.starttime}));-1!==n&&(i[n]=t),localStorage.setItem(G._key,JSON.stringify(i))},remove:function(e){var t=(e||[]).map((function(e){return e._id})),i=G.all().filter((function(e){return-1===t.indexOf(e._id)}));localStorage.setItem(G._key,JSON.stringify(i))},clear:function(){localStorage.setItem(G._key,JSON.stringify([]))}},H={_key:"apptics-device-info",_maxLength:100,all:function(){return JSON.parse(localStorage.getItem(H._key)||JSON.stringify({}))},item:function(e){return H.all()[e]},add:function(e,t){var i=H.all();i[e]=t,localStorage.setItem(H._key,JSON.stringify(i))},addorupdatedeviceinfo:function(e,t){var i="device_info",n=H.item(i)||{};n[e]=t,H.add(i,n)},remove:function(e){var t=H.all();delete t[e],localStorage.setItem(H._key,JSON.stringify(t))},clear:function(){localStorage.setItem(H._key,JSON.stringify({}))}};function K(){return function(e){var t;for(e=e.toLowerCase(),t=0;t<Z.length;t++)if(-1!==e.indexOf(Z[t]))return!0;return!1}(P)}function Q(){if(x)return!1;var t=e.navigator||{},i=!1;return ye([t.doNotTrack,t.msDoNotTrack,e.doNotTrack],(function(e){ke([!0,1,"1","yes"],e)&&(i=!0,Oe(L.NO_TRACKING))})),i}function V(e){return f[e]}function Y(e){return"zak"==e?g:"uuid"==e?w:"apid"==e?I||be(e):"mapid"==e?E||be(e):""}function $(e){return v.base_domain+V("endpoint")+k+"/"+y+"/"+C[e]+function(e){let t="";return"regdevice"==e?(t="?identifier="+h+"&platform=Browser&appversion=1.3&isanonrequired="+_+"&devicestatus="+S,_&&!Ae(O.anonymousid)&&(t+="&anondeviceid="+O.anonymousid),_||Ae(O.deviceid)||(t+="&deviceid="+O.deviceid),t):Ae(O.deviceid)||Ae(O.anonymousid)?(Fe(),t):(!_&&!Ae(O.deviceid)||"reguser"==e?(t="?deviceid="+O.deviceid,Ie()==L.USAGE_TRACKING_WITH_PII&&"reguser"==e&&T.hasOwnProperty("userid")&&!Ae(T.userid)&&(t+="&userid="+T.userid)):_&&!Ae(O.anonymousid)&&(t="?anondeviceid="+O.anonymousid),"reguser"!=e&&Ie()==L.USAGE_TRACKING_WITH_PII&&(T.hasOwnProperty("userid")&&!Ae(T.userid)&&(t+="&userid="+T.userid),T.hasOwnProperty("groupid")&&!Ae(T.groupid)&&(t+="&customergroupid="+T.groupid)),t)}(e)}function X(e){if(!e||""===e)return!1;return/^[a-zA-Z][a-zA-Z0-9_]{0,99}$/.test(e)}function ee(e){if(Ae(e)||qe(e))return{};if(Object.keys(e).length>=25)return a("validateJSON: Property limit exceeds, you can add only a maximum of 25 key-value pairs to the jsonObject"),{isvalid:!1,message:{code:102}};return JSON.stringify(e).length>7666?(a("validateJSON: Property limit exceeds, the overall length should be below 7666 characters"),{isvalid:!1,message:{code:101}}):function(e){let t={},i=e,n={isvalid:!1,message:{code:[],keys:[],valuekeys:[]}},r=/^[a-zA-Z][a-zA-Z0-9_]{0,49}$/;for(let e in i){if(!e.match(r)){let t=e.substring(0,50);n.message.keys.push(t),a("jsonKeyvalueValidation: Invalid property, the key '"+e+"' does not comply with the requirements, please refer to our SDK guide."),n.message.code.includes(103)||n.message.code.push(103)}let t=i[e];JSON.stringify(t).length>250&&(a("jsonKeyvalueValidation: Property limit exceeds, '"+e+"' value length should be below 250"),n.message.valuekeys.push(e),n.message.code.includes(104)||n.message.code.push(104))}t=0===n.message.keys.length&&0===n.message.valuekeys.length?function(e){let t={},i=/^[a-zA-Z][a-zA-Z0-9_]{0,49}$/,n={},r={},s=[];for(let t in e){let o,d=t.match(i)?t.match(i).length:0,c=e[t];if("number"==typeof c?(o="Number",1!==c&&0!==c||(o="Boolean")):o="string"==typeof c?"String":"Unkown",d>0)if("Unkown"===o){let e=JSON.stringify(c);n[t]=e,r[t]="String"}else n[t]=c,r[t]=o;else a("checkForJsonRegex: Invalid property, the key '"+t+"' does not comply with the requirements, please refer to our SDK guide."),s.push(t)}let o={data:n,datatype:r,isvalid:!0},d={isvalid:!1,message:{code:[103],keys:s}};s.length>0?t=d:Object.keys(n).length>0&&(t=o);return t}(i):n;return t}(e)}function te(){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};return e.effectiveType||e.type||""}function ie(){H.clear(),j.clear(),G.clear(),W.clear(),we(m,v),n("apptics.reset()")}function ne(){var e=Math.round((new Date).getTime()),t=function(){var e=j.all();if(-1===e.length)return null;var t=e.filter((function(e){if("screen"==e.type&&0===e.endtime)return e})),i=(t=t.sort((function(e,t){return t.starttime-e.starttime})))[0];return i&&n("currentScreen: ("+JSON.stringify(i||{})+")"),s(i),i}();if(t&&0==t.endtime){var i=t,a=Object.assign({},i);a.endtime=e,j.update(i,a)}}function ae(){var e=j.all();if(-1===e.length)return null;var t=e.filter((function(e){if("session"==e.type&&0===e.endtime)return e})),i=(t=t.sort((function(e,t){return t.starttime-e.starttime})))[0];return i&&(n("currentSession: ("+JSON.stringify(i||{})+")"),s(i)),i}function re(e){var t;_e();q={id:ze(),type:"session",starttime:e,endtime:0,edge:te(),orientation:ve(),firstsession:"false",networkstatus:fe(),lastactivetime:e},t=q,m?K()||Ee()&&(t&&"object"!=typeof t?a("apptics.trackSession: sessionData param must be an object"):(j.add(t),t&&n("apptics.trackSession("+JSON.stringify(t||{})+")"),s(t))):a("apptics.trackScreen: You must call apptics.init(token) first")}function se(t,i){if(m){if(!K()&&Ee())if(Ae(t))a("apptics.trackError: Invalid error");else{var r=ee(i),o=t.error?.stack||"",d=function(e){let t="";if(Ae(e))return t;const i=e.split("\n");if(i.length<2)return t;const n=/at (\S+) \(/,a=/^(\w+)@/;for(let e of i){const i=e.match(n),r=e.match(a);if(i&&i[1]){const n=/\((.*)\)/.exec(e),a=n?n[1]:"Unknown URL";t=i[1],fileNameAndLine=a.split("/").pop(),t=t;break}if(r&&r[1]){t=r[1],fileNameAndLine=e.split("@")[1].split("/").pop(),t=t;break}}return t}(o),c=t.type||"",l=Ae(o)?t.toString():t.message+" at "+d,u=Math.round((new Date).getTime()),p={id:ze(),type:"error",edge:O.connectionType||te(),networkstatus:fe(),happenedat:u,issuename:l,message:o,screenname:A.screen||e.location.pathname,sessionstarttime:q.starttime||u,customproperties:r};G.add(p),n("apptics.trackError('"+c+"','"+l+"',"+JSON.stringify(r||{})+")"),s(p)}}else a("apptics.trackScreen: You must call apptics.init(token) first")}function oe(){if(K())return;if(!Ee())return;if(0==navigator.onLine)return void a("sendEngagementData: No Network");if(l)return u&&clearTimeout(u),void(u=setTimeout(oe,500));var e=j.payload().filter((function(e){if(0!=e.endtime){var t=Math.round((new Date).getTime()),i=t-24*V("batch_request_timeout")*60*60*1e3;if(e.starttime>=i&&e.starttime<=t)return e;j.remove([e])}}));if(0==e.length)return;l=!0,u&&(clearTimeout(u),u=null);let t=[],i=[],r=[];var s={},o=[];ue(e).filter((function(e){const n={...e};return"event"==e.type?(r.push(e),o.push(n)):"screen"==e.type?(i.push(e),o.push(n)):"session"==e.type&&(t.push(e),o.push(n)),delete e.id,delete e.type,e}));!(r.length>0)||(s.events=r),!(i.length>0)||(s.screens=i),!(t.length>0)||(s.sessions=t),qe(s)||function(e){if(K())return;if(!Ee())return;if(qe(e))return;if(Ae(Y("apid"))&&Ae(Y("mapid")))return Fe(),new Promise(((e,t)=>{t("requestToSendEngagements: You must call apptics.init() first")}));e.hasOwnProperty("meta")||(e.meta=Be());let t=pe(e);return n("requestToSendEngagements: Engagement Payload size : "+t/1024),new Promise(((t,i)=>{var n=JSON.stringify(e),a={apid:Y("apid"),mapid:Y("mapid")};F.addRequest($("engagement"),V("method"),n,a).processQueue().then((e=>{var n=JSON.parse(e);n&&"success"==n.result?t(n):i("requestToSendEngagements: "+n.result)})).catch((e=>{i("requestToSendEngagements: "+e)}))}))}(s).then((function(e){e&&"success"==e.result&&(j.remove(o),l=!1)})).catch((function(e){n("sendEngagementData:"+e),l=!1}))}function de(){if(K())return;if(!Ee())return;if(0==navigator.onLine)return void a("sendErrorData: No Network");if(l)return u&&clearTimeout(u),void(u=setTimeout(de,500));var e=G.payload().filter((function(e){if(0!=e.happenedat){var t=Math.round((new Date).getTime()),i=t-24*V("batch_request_timeout")*60*60*1e3;if(e.happenedat>=i&&e.happenedat<=t)return e;G.remove([e])}}));if(0==e.length)return;l=!0,u&&(clearTimeout(u),u=null);let t=[];var i={},r=[];ue(e).filter((function(e){const i={...e};return e.hasOwnProperty("screenname")||(e.screenname=""),t.push(e),r.push(i),delete e.id,delete e.type,e}));!(t.length>0)||(i.exceptiondetails=t),qe(i)||function(e){if(K())return;if(!Ee())return;if(qe(e))return;if(Ae(Y("apid"))&&Ae(Y("mapid")))return Fe(),new Promise(((e,t)=>{t("requestToSendErrors: You must call apptics.init() first")}));e.hasOwnProperty("meta")||(e.meta=Be());let t=pe(e);return n("requestToSendErrors: Error Payload size : "+t/1024),new Promise(((t,i)=>{var n=JSON.stringify(e),a={apid:Y("apid"),mapid:Y("mapid")};F.addRequest($("error"),V("method"),n,a).processQueue().then((e=>{var n=JSON.parse(e);n&&"success"==n.result?t(n):i("requestToSendErrors: "+n.result)})).catch((e=>{i("requestToSendErrors: "+e)}))}))}(i).then((function(e){e&&"success"==e.result&&(G.remove(r),l=!1)})).catch((function(e){n("sendErrorData:"+e),l=!1}))}function ce(e){if(!K())if(0!=navigator.onLine){var t=e?.attachment||null,i=e?.attachment?.length||0,n=Math.round((new Date).getTime()),r=new FormData,s={feedinfo:{networkstatus:fe(),orientation:ve(),edge:te(),ram:"",screenname:A.screenName||"",sessionstarttime:q.starttime||n,report:e.message,type:e.type,source:0,attachmentcount:i||0,logfilecount:0,tag:"",happendat:n,quartzid:e.quartzid},meta:Be()};if(r.append("feedinfo",JSON.stringify(s)),!Ae(t)&&i>0&&i<=5){let e=0;const i=t;for(let t=0;t<i.length;t++){const n=new FileReader;var o=i[t];n.readAsArrayBuffer(o),n.onload=function(n){const a=n.target.result,s=new File([a],"image_"+(t+1),{type:o.type});r.append("attachment",s),e++,e===i.length&&le(r)}}}else le(r)}else a("sendFeedbackData: No Network")}function le(e){(function(e){if(K())return;if(qe(e))return;if(Ae(Y("apid"))&&Ae(Y("mapid")))return Fe(),new Promise(((e,t)=>{t("requestToFeedback: You must call apptics.init() first")}));let t=pe(e);return n("requestToFeedback: Feedback Payload size : "+t/1024),new Promise(((t,i)=>{var n=e,a={apid:Y("apid"),mapid:Y("mapid")};F.addRequest($("feedback"),V("method"),n,a).processQueue().then((e=>{var n=JSON.parse(e);n&&"success"==n.result?t(n):i("requestToFeedback: "+n.result)})).catch((e=>{i("requestToFeedback: "+e)}))}))})(e).then((function(e){e&&"success"==e.result?(l=!1,De.handleStatusmsg(!0,"Feedback sent successfully"),setTimeout((()=>{De.close()}),2e3)):(De.handleStatusmsg(!1,"Something went wrong. Send feedback again"),l=!1,n("sendFeedbackData:"+e))})).catch((function(e){De.handleStatusmsg(!1,"Something went wrong. Send feedback again"),l=!1,n("sendFeedbackData:"+e)}))}function ue(e){return JSON.parse(JSON.stringify(e))}function pe(e){let t=0;return function e(i){if(null!==i&&"object"==typeof i)for(const n in i)i.hasOwnProperty(n)&&(t+=2*n.length,e(i[n]));else"string"==typeof i?t+=2*i.length:"number"==typeof i?t+=8:"boolean"==typeof i&&(t+=4)}(e),t}function fe(){return e.navigator.onLine?0:-1}function ve(){var t=e.screen.orientation.type;return ke(t,"portrait-primary")?0:ke(t,"landscape-primary")?1:ke(t,"landscape-secondary")?2:ke(t,"portrait-secondary")?3:-1}function me(){var e=navigator.userAgent;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":/Mac/i.test(e)?"Mac":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome":""}function ge(){var t=navigator.userAgent,i=navigator.vendor||"";return e.opera||ke(t," OPR/")?ke(t,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(t)?"BlackBerry":ke(t,"IEMobile")||ke(t,"WPDesktop")?"Internet Explorer Mobile":ke(t,"SamsungBrowser/")?"Samsung Internet":ke(t,"Edge")||ke(t,"Edg/")?"Microsoft Edge":ke(t,"FBIOS")?"Facebook Mobile":ke(t,"Chrome")?"object"==typeof ulaa?"Ulaa":null!=e.navigator.brave&&"isBrave"==e.navigator.brave.isBrave.name?"Brave":"Chrome":ke(t,"CriOS")?"Chrome iOS":ke(t,"UCWEB")||ke(t,"UCBrowser")?"UC Browser":ke(t,"FxiOS")?"Firefox iOS":ke(i,"Apple")?ke(t,"Mobile")?"Mobile Safari":"Safari":ke(t,"Android")?"Android Mobile":ke(t,"Konqueror")?"Konqueror":ke(t,"Firefox")?"Firefox":ke(t,"MSIE")||ke(t,"Trident/")?"Internet Explorer":ke(t,"Gecko")?"Mozilla":""}function he(){var e=ge(),t=navigator.userAgent;if("Ulaa"===e&&"object"==typeof ulaa)return ulaa.getVersion();var i={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edg\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,Brave:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[e];if(void 0===i)return"";var n=t.match(i);return n?parseFloat(n[n.length-2]):""}function ke(e,t){return-1!==e.indexOf(t)}function ye(e,t,i){if(null!=e)if(Array.prototype.forEach&&e.forEach===Array.prototype.forEach)e.forEach(t,i);else if(e.length===+e.length){for(var n=0,a=e.length;n<a;n++)if(n in e&&t.call(i,e[n],n,e)===p)return}else for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t.call(i,e[r],r,e)===p)return}function ze(){var e=function(){for(var e=1*new Date,t=0;e==1*new Date;)t++;return e.toString(16)+t.toString(16)},t=(screen.height*screen.width).toString(16);return e()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,t,i=navigator.userAgent,n=[],a=0;function r(e,t){var i,a=0;for(i=0;i<t.length;i++)a|=n[i]<<8*i;return e^a}for(e=0;e<i.length;e++)t=i.charCodeAt(e),n.unshift(255&t),n.length>=4&&(a=r(a,n),n=[]);return n.length>0&&(a=r(a,n)),a.toString(16)}()+"-"+t+"-"+e()}function be(e){var t=null,i=H.item("device_info");return Ae(i)||Ae(i[e])||(t=i[e]),t}function _e(){for(var e=0,t=0;t<localStorage.length;t++){var i=localStorage.key(t),n=localStorage.getItem(i);e+=pe(i)+pe(n)}var a=e/1024,r=a/1024;return{totalSize:e,totalSizeKB:a.toFixed(2)+" KB",totalSizeMB:r.toFixed(2)+" MB"}}var Se={trackEvent:function(e,t,i){if(m){if(!K()&&Ee())if(X(e)){t=X(t)?t:J.default_group_name;var r=ee(i=i||{}),o=Math.round((new Date).getTime()),d={id:ze(),type:"event",group:t,event:e,starttime:o,endtime:o,edge:O.connectionType||te(),networkstatus:fe(),screen:A.screen||"",sessionstarttime:q.starttime||o,customproperties:r};j.add(d),n("apptics.trackEvent('"+e+"','"+t+"',"+JSON.stringify(r||{})+")"),s(d)}else a("apptics.trackEvent: Invalid eventName")}else a("apptics.trackEvent: You must call apptics.init() first")},trackScreen:function(e,t){if(m){if(!K()&&Ee())if((i=e)&&""!==i&&/^[\w\s.\-_&/:]{0,99}$/.test(i)){var i,r=ee(t=t||{}),o=Math.round((new Date).getTime()),d={id:ze(),type:"screen",screen:e,starttime:o,endtime:o,edge:O.connectionType||te(),networkstatus:fe(),orientation:ve(),sessionstarttime:q.starttime||o,customproperties:r};j.add(d),A=d,n("apptics.trackScreen('"+e+"',"+JSON.stringify(r||{})+")"),s(d)}else a("apptics.trackScreen: Invalid screenName")}else a("apptics.trackScreen: You must call apptics.init(token) first")},enableGlobalErrorHandler:function(e){D="boolean"!=typeof e||e},trackError:se,feedbackOpen:function(){De.init()},feedbackClose:function(){De.close()},sendFeedback:function(e,t,i){dataobj={type:Ae(e)?1:e,message:t||"",attachment:i||null,quartzid:""},ce(dataobj)},setUser:function(e,t,i){if(!m)return void a("apptics.setUser: You must call apptics.init(token) first");if(K())return;if(!Ee())return;if(Ae(e))return void a("apptics.setUser: Invalid userid");if(Ae(t))return void a("apptics.setUser: Invalid groupid");let r=ee(i=i||{});var s={mam:e,customergroupid:t,appversionid:O.appversionid||"",status:1,happendat:Math.round((new Date).getTime())};(r.hasOwnProperty("isvalid")||1==r.isvalid)&&(s.userproperties=r),function(e){if(K())return;if(!Ee())return;if(0==navigator.onLine)return a("registerUserWithApptics: No Network"),new Promise(((e,t)=>{t("registerUserWithApptics: No Network")}));if(qe(e))return;if(Ae(Y("apid"))&&Ae(Y("mapid")))return Fe(),new Promise(((e,t)=>{t("registerUserWithApptics: You must call apptics.init() first")}));return new Promise(((t,i)=>{let n=Me(e,["userid","groupid","happendat"]);var a=JSON.stringify(n),r={apid:Y("apid"),mapid:Y("mapid")};F.addRequest($("reguser"),V("method"),a,r).processQueue().then((n=>{var a=JSON.parse(n);if(a&&"success"==a.result){var r=a.data;e.userid=r.userid,e.groupid=r.customergroupid,T=e,Oe(L.USAGE_TRACKING_WITH_PII),function(e){if(!Ee())return;var t=H.item("users")||[],i=t.findIndex((function(t){return t.userid===e.userid}));-1!==i?t[i]=e:t=[e];H.add("users",t)}(e),t(r)}else i("registerUserWithApptics: "+a.result)})).catch((e=>{i("registerUserWithApptics: "+e)}))}))}(s).then((function(e){n("setUser: "+JSON.stringify(e))})).catch((function(e){n(e)}))},setTrackingStatus:Oe,getTrackingStatus:function(){return Ie()},flush:function(){m?K()||Ee()&&(l=!1,oe(),de()):a("apptics.flush: You must call apptics.init(token) first")},reset:ie,clear:function(){j.clear(),G.clear(),n("apptics.clear()")},AP_TRACKING_STATUS:L,AP_FEEDBACK_TYPE:R};function we(t,i){if(f=J,ye(i=i||{},(function(e,t){f.hasOwnProperty(t)?U.includes(t)?a("apptics.init: Reserved key '"+t+"' cannot be overridden"):f[t]=e:a("apptics.init: unsupported key '"+t+"'")})),t&&""!==t){m=t,z=v.base_domain.includes("local")?5573:z;var n=H.item("token"),r=H.item("fw_id");if((Ae(n)||Ae(r))&&(H.add("token",m),H.add("fw_id",z),n=H.item("token"),r=H.item("fw_id")),n!=m||r!=z)return void ie()}if(i.token&&""!==i.token&&(g=i.token),i.zsoid&&""!==i.zsoid&&(k=i.zsoid),i.projectID&&""!==i.projectID&&(y=i.projectID),i.identifier&&""!==i.identifier&&(h=i.identifier),i.base_domain&&""!==i.base_domain&&(_base_domain=i.base_domain),""!==m){_=!0,x=f.ignore_do_not_track,S=f.default_optin_status,W.update_status(S);var s=H.item("uuid");null!=s&&""!=s||(s=ze(),H.add("uuid",s)),w=s,Fe(),O.connectionType=te();var o=navigator.connection||navigator.mozConnection||navigator.webkitConnection;o&&o.addEventListener&&o.addEventListener("change",(function(){O.connectionType=te()})),N.orientation=ve(),Ne(),e.appticsReadyStatus=!0,"function"==typeof e.appticsReady&&e.appticsReady(),Te()}else a("apptics.init: invalid token")}function Ie(){if(Q())return a('opt_in_status: It seems "Do Not Track" is enabled in this browser. To ignore the "Do Not Track" browser setting, init Apptics with the config "ignore_do_not_track: true"'),L.NO_TRACKING;var e=W.opt_in_status();return-1==e&&a("opt_in_status: You are opted out of Apptics tracking. This will prevent the our SDK from sending no data to our server."),e}function Ee(){return Ie()>-1}function Oe(e){if(Ae(e))return void n("setTrackingStatus: trackingStatus is Empty");let t=!1;W.opt_in_status()!=e&&(t=!0),t&&(W.update_status(e),S=W.opt_in_status(),_=W.opt_in_status()!=L.USAGE_TRACKING_WITH_PII&&_,W.opt_in_status()!=L.NO_TRACKING&&xe(O))}function Te(){M=setInterval((()=>{n("scheduleToSendDataToServer: Scheduling to send engagement data to the server after sometime"),oe(),de()}),V("batch_flush_interval"))}function Ae(e){return null==e||""===e}function qe(e){return e&&0===Object.keys(e).length&&e.constructor===Object}function Ne(){if(m){if(!K()&&Ee()){var e=Math.round((new Date).getTime()),t=ae();if(t)if(q=t,e-t.lastactivetime>6e4){n("checkAndUpdateSession: User is inactive for the past 1 minutes so starting a new session");var i=t;(r=Object.assign({},i)).endtime=e;_e();r&&n("checkAndUpdateSession: ("+JSON.stringify(r||{})+")"),s(r),j.update(i,r),re(e)}else{n("checkAndUpdateSession: User is back before 1 minutes so updating the lastactivitytime - "+e);var r;i=t;(r=Object.assign({},i)).lastactivetime=e,q=r,j.update(i,r)}else re(e)}}else a("checkAndUpdateSession: You must call apptics.init(token) first")}function Me(e,t){const i={};for(let n in e)t.includes(n)||(i[n]=e[n]);return i}function Be(){return{frameworkid:be("frameworkid"),aaid:be("aaid"),apid:be("apid"),appversionid:be("appversionid"),osversionid:be("osversionid"),timezoneid:be("timezoneid"),platformid:be("platformid"),devicetypeid:be("devicetypeid")}}function Fe(){var t,i;O={osversion:(i=navigator.userAgent,/Windows/i.test(i)?/Phone/.test(i)||/WPDesktop/.test(i)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(i)?"iOS":/Android/.test(i)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(i)?"BlackBerry":/Mac/i.test(i)?"Mac OS X":/Linux/.test(i)?"Linux":/CrOS/.test(i)?"Chrome OS":""),browser:ge(),browserversion:String(he()),donottrackenabled:Q()?1:0,devicetype:me(),screenheight:screen.height,screenwidth:screen.width,referrer:(t=String(e.location.href||"").split(e.location.pathname),t.length>=2?t[1].length>500?t[1].substring(0,500):t[1]:""),connectionType:te(),referringdomain:e.location.hostname||"",deviceid:be("deviceid"),anonymousid:be("anonymousid"),frameworkid:be("frameworkid"),mapid:be("mapid"),aaid:be("aaid"),apid:be("apid"),appversionid:be("appversionid"),platformid:be("platformid"),devicetypeid:be("devicetypeid"),osversionid:be("osversionid"),timezoneid:be("timezoneid"),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone},H.add("device_info",O),function(e){var t=H.item("device_info");z=v.base_domain.includes("local")?b:z,null==e.deviceid||null==e.frameworkid||null==e.anonymousid?(e.frameworkid=z,n("addOrUpdateDeviceID: Register the device"),Pe().then((function(e){n("addOrUpdateDeviceID: "+JSON.stringify(e.data)),s(e.data)})).catch((function(e){n(e)}))):function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let i in e)if(!t.hasOwnProperty(i))return!1;for(let a in e)if(i=e[a],n=t[a],JSON.stringify(i)!==JSON.stringify(n))return!1;var i,n;return!0}(e,t)||(xe(e),n("addOrUpdateDeviceID: Device info changed, so updating new changes"),s(e))}(O)}function Pe(){if(!K())return m?0==navigator.onLine?(a("registerDeviceWithApptics: No Network"),new Promise(((e,t)=>{t("registerDeviceWithApptics: No Network")}))):O.deviceid&&O.anonymousid?new Promise(((e,t)=>{e(O)})):new Promise(((e,t)=>{if(0==o){o=!0;let a=Me(O,["deviceid","anonymousid","aaid","apid","mapid","devicetypeid","osversionid","platformid","appversionid","timezoneid","connectionType"]);var i=JSON.stringify(a),n={zak:Y("zak"),uuid:Y("uuid")};F.addRequest($("regdevice"),V("method"),i,n).processQueue().then((i=>{var n=JSON.parse(i);if(n&&"success"==n.result){var a=n.data;O.anonymousid=a.anonymousid,O.deviceid=a.deviceid,O.aaid=a.aaid,O.apid=a.apid,O.mapid=a.mapid,I=a.apid,E=a.mapid,O.appversionid=a.appversionid,O.osversionid=a.osversionid,O.timezoneid=a.timezoneid,O.platformid=a.platformid,O.devicetypeid=a.devicetypeid,H.add("device_info",O),d.forEach((function(e){e(n)})),e(n)}else c.forEach((function(e){e("registerDeviceWithApptics: "+n.result)})),t("registerDeviceWithApptics: "+n.result);o=!1})).catch((e=>{c.forEach((function(t){t("registerDeviceWithApptics: "+e)})),t("registerDeviceWithApptics: "+e),o=!1}))}else o=!1,d.push(e),c.push(t)})):(a("registerDeviceWithApptics: You must call apptics.init(token) first"),new Promise(((e,t)=>{t("registerDeviceWithApptics: You must call apptics.init(token) first")})))}function xe(e){if(!K())return 0==navigator.onLine?(a("updateDeviceWithApptics: No Network"),new Promise(((e,t)=>{t("updateDeviceWithApptics: No Network")}))):new Promise(((t,i)=>{let n=Me(e,["deviceid","anonymousid","aaid","apid","mapid","appversionid","devicetypeid","osversionid","platformid","timezoneid","connectionType"]);var a=JSON.stringify(n),r={zak:Y("zak"),uuid:Y("uuid"),apid:Y("apid"),mapid:Y("mapid")};F.addRequest($("regdevice"),V("method"),a,r).processQueue().then((n=>{var a=JSON.parse(n);if(a&&"success"==a.result){var r=a.data;e.deviceid=r.deviceid,r.hasOwnProperty("anonymousid")&&!Ae(r.anonymousid)&&(e.anonymousid=r.anonymousid),e.aaid=r.aaid,e.apid=r.apid,e.mapid=r.mapid,I=r.apid,E=r.mapid,e.appversionid=r.appversionid,e.osversionid=r.osversionid,e.timezoneid=r.timezoneid,e.platformid=r.platformid,e.devicetypeid=r.devicetypeid,H.add("device_info",e),t(e)}else i("updateDeviceWithApptics: "+a.result)})).catch((e=>{i("updateDeviceWithApptics: "+e)}))}))}e.apptics=Se,v=e.appticssettings._defaultoptions,Ae(m=e.appticssettings._defaultoptions.aaID)||Ae(v)||we(m,v),e.addEventListener("blur",(function(){n("Window lost focus, user switched to another window or application"),function(){clearTimeout(B);var e=Math.round((new Date).getTime()),t=ae();if(t){n("updateLastActiveTimeOfSession: Updating the lastactivitytime - "+e);var i=t,a=Object.assign({},i);a.lastactivetime=e,q=a,j.update(i,a)}}()})),e.addEventListener("focus",(function(){n("Window regained focus, user switched back to the window"),m?K()||Ee()&&(clearTimeout(B),B=setTimeout(Ne,10)):a("scheduleToCheckAndUpdateSession: You must call apptics.init(token) first"),m?null==M&&Te():a("checkAndScheduleToSendData: You must call apptics.init(token) first")})),e.addEventListener("beforeunload",(function(){ne(),n("update lastactivetime upon page unload")})),e.addEventListener(e.cordova?"deviceready":"load",Ne,{passive:!0}),e.addEventListener("online",Te,{passive:!0}),e.screen.orientation.addEventListener("change",(function(){N.orientation=ve()})),e.addEventListener("unhandledrejection",(function(e){D&&se(e)})),e.addEventListener("error",(function(e){D&&se(e)}));var De={feedbackUIHtml:'<div id="zasdkFeedbackconatiner" class="zasdk-modal-content">\n <div class="zasdk-header">\n <h2 class="zasdk-title">Share feedback</h2>\n <span id="appticsfeedbackclose" class="zasdk-close"><svg viewBox="0 0 24 24" style=" width: 20px; "><path d="M19.92,19.08c.23.23.23.61,0,.85-.12.12-.27.18-.42.18s-.31-.06-.42-.18l-7.08-7.08-7.08,7.08c-.12.12-.27.18-.42.18s-.31-.06-.42-.18c-.23-.23-.23-.61,0-.85l7.08-7.08-7.08-7.08c-.23-.23-.23-.61,0-.85s.61-.23.85,0l7.08,7.08,7.08-7.08c.23-.23.61-.23.85,0s.23.61,0,.85l-7.08,7.08,7.08,7.08Z"/></svg></span>\n </div>\n <div class="zasdk-feedback-types" data-type="">\n <div class="zasdk-feedback-type zasdk-selected" data-type="bug">\n <div class="zasdk-iconcnt zasdkfeedback__icon-report">\n <i class="zasdkfeedback__icon"><svg viewBox="0 0 24 24"><path d="M15.6,6.58c-.13-.37-.3-.7-.5-.97l1.23-1.18c.24-.23.25-.61.02-.85-.23-.24-.61-.25-.85-.02l-1.26,1.21c-.66-.45-1.37-.62-1.79-.68-.25-.04-.51-.04-.76-.02-.83.08-1.45.35-1.93.7l-1.22-1.2c-.24-.23-.62-.23-.85,0-.23.24-.23.62,0,.85l1.21,1.19c-.24.34-.41.68-.51.96-2.02,1.37-3.27,3.82-3.27,6.44,0,4.18,3.08,7.58,6.87,7.58s6.87-3.4,6.87-7.58c0-2.62-1.25-5.06-3.26-6.44ZM11.82,5.27c.15-.02.31-.01.47.01.69.1,1.86.48,2.26,1.9-.17.17-.51.44-1.14.65-1.08.36-2.31.28-3.36-.23-.24-.11-.44-.23-.6-.36,0-.01,0-.03.01-.04.18-.65.73-1.77,2.36-1.93ZM12,19.4c-3.12,0-5.67-2.86-5.67-6.38,0-1.98.82-3.82,2.19-5.02.26.25.59.48,1.01.68.78.38,1.65.57,2.5.57.6,0,1.19-.09,1.76-.28.88-.29,1.39-.7,1.67-1,1.38,1.2,2.21,3.06,2.21,5.05,0,3.52-2.54,6.38-5.67,6.38ZM9.12,9.86c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM9.12,11.99c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47ZM14.88,9.86c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM14.88,11.99c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47ZM12,14.49c-.92,0-1.67.75-1.67,1.67s.75,1.67,1.67,1.67,1.67-.75,1.67-1.67-.75-1.67-1.67-1.67ZM12,16.62c-.26,0-.47-.21-.47-.47s.21-.47.47-.47.47.21.47.47-.21.47-.47.47Z"/></svg></i>\n </div>\n <div>Bug</div>\n </div>\n <div class="zasdk-feedback-type" data-type="feedback">\n <div class="zasdk-iconcnt zasdkfeedback__icon-reqest">\n <i class="zasdkfeedback__icon"><svg viewBox="0 0 24 24"><path d="M6.69,9.25h10.81c.41,0,.75-.34.75-.75s-.34-.75-.75-.75H6.69c-.41,0-.75.34-.75.75s.34.75.75.75Z"/><path d="M6.69,13.07h8.11c.41,0,.75-.34.75-.75s-.34-.75-.75-.75H6.69c-.41,0-.75.34-.75.75s.34.75.75.75Z"/><path d="M20.72,5.17c0-.68-.55-1.23-1.23-1.23H4.48c-.68,0-1.23.55-1.23,1.23v11.84c0,.68.55,1.23,1.23,1.23h13.49l1.25,1.51c.17.2.41.31.67.31.1,0,.2-.02.3-.05.34-.13.57-.46.56-.83l-.03-14.01ZM19.22,17.39l-.17-.2c-.24-.29-.58-.45-.95-.45H4.75V5.44h14.47v11.95Z"/></svg></i>\n </div>\n <div>Feedback</div>\n </div>\n <div class="zasdk-feedback-type" data-type="help">\n <div class="zasdk-iconcnt zasdkfeedback__icon-help">\n <i class="zasdkfeedback__icon"><svg viewBox="0 0 24 24"><path d="M12.45,16.47c-.33,0-.6-.27-.6-.6v-2.7c0-.43.25-.82.64-.99.95-.42,3.15-1.62,3.15-3.51,0-1.6-1.01-3.03-2.51-3.55-.95-.33-1.97-.28-2.87.16-.91.43-1.59,1.2-1.92,2.14-.11.31-.45.48-.77.37-.31-.11-.48-.45-.37-.77.44-1.25,1.34-2.25,2.54-2.83,1.2-.57,2.54-.65,3.79-.21,1.99.7,3.32,2.58,3.31,4.69,0,2.46-2.34,3.91-3.79,4.57v2.63c0,.33-.27.6-.6.6ZM13.21,19.1c0-.66-.54-1.2-1.2-1.2h-.03c-.66,0-1.19.54-1.19,1.2s.55,1.2,1.21,1.2,1.2-.54,1.2-1.2Z"/></svg></i>\n </div>\n <div>Help</div>\n </div>\n <div class="zasdk-feedback-type" data-type="report">\n <div class="zasdk-iconcnt zasdkfeedback__icon-appreciate">\n <i class="zasdkfeedback__icon"><svg viewBox="0 0 24 24"><path d="M20.47,16.72l-6.66-11.53c-.37-.65-1.07-1.05-1.81-1.05s-1.44.4-1.81,1.05l-6.66,11.53c-.37.65-.37,1.45,0,2.09.37.65,1.07,1.05,1.81,1.05h13.32c.75,0,1.44-.4,1.81-1.05.37-.64.37-1.45,0-2.09ZM19.17,18.06c-.11.18-.3.3-.51.3H5.34c-.21,0-.41-.11-.51-.3-.1-.18-.1-.41,0-.59l6.66-11.53h0c.11-.18.3-.3.51-.3s.41.11.51.3l6.66,11.53c.11.18.11.41,0,.59Z"/><path d="M12.35,13.9s.37-4.72.37-4.72c.05-1.08-1.58-1.06-1.5.02l.48,4.71c.03.38.62.37.64,0Z"/><path d="M11.97,15.06c-.52,0-.94.42-.94.94s.42.94.94.94.94-.42.94-.94-.42-.94-.94-.94Z"/></svg></i>\n </div>\n <div>Report</div>\n </div>\n </div>\n <div id="zasdkFeedbackForm" class="zasdk-form">\n <label class="zasdkdesclbl" for="zasdkDescription">Add details here<span class="zasdkmadfeld">*</span> <span class="zaleftcharspan"><span class="zaleftcharcnt">5000</span><span class="zaleftchartxt">character left</span></span></label>\n <textarea id="zasdkDescription" name="description" placeholder="Please provide more details for us to help you better." reqname="name" maxlength="5000"></textarea>\n <div id="zasdkreccheckcnt" class="zasdkqz-container">\n <div class="zasdkqz-checkbox-wrapper">\n <input type="checkbox" id="zasdkqz-consent" class="zasdkqz-checkbox">\n <label for="zasdkqz-consent">By agreeing to record screen, I allow the collection of the required information for further analysis.</label>\n </div>\n <div id="zasdkqz-content" class="zasdkqz-content">\n <div class="zasdkqz-prop-content">Data collected while screen recording.\n <div class="zasdk_rec_hdr_icon zasdk-tooltip-container zasdk_rec_hdr">\n <i><svg viewBox="0 0 24 24"><path d="M12,20.6c-4.74,0-8.6-3.86-8.6-8.6S7.26,3.4,12,3.4s8.6,3.86,8.6,8.6-3.86,8.6-8.6,8.6ZM12,4.6c-4.08,0-7.4,3.32-7.4,7.4s3.32,7.4,7.4,7.4,7.4-3.32,7.4-7.4-3.32-7.4-7.4-7.4ZM12.6,15.97v-4.91c0-.33-.27-.6-.6-.6s-.6.27-.6.6v4.91c0,.33.27.6.6.6s.6-.27.6-.6ZM12.61,9.03c0-.33-.27-.6-.6-.6h-.01c-.33,0-.59.27-.59.6s.28.6.61.6.6-.27.6-.6Z"/></svg></i>\n <div class="zasdk-tooltip-top zasdk-prop-info">\n <ul>\n <li>- A recording of the window or region specified.</li>\n <li>- Audio captured during recording. (You can mute or re-record)</li>\n <li>- IP address.</li>\n <li>- Browser console logs generated while recording.</li>\n <li>- Device details (screen resolution, OS, and browser version).</li>\n <li>- Client-side performance metrics (DNS lookup time, TCP connection time, etc.).</li>\n </ul>\n </div>\n </div>\n </div>\n <div id="zasdkqz_rec_button" class="zasdkqz-button">Start screen recording</div>\n </div>\n </div>\n <div id="editRecordedVideo" class="zasdk_recordedClipArea" style="">\n <div id="recordScreenDesc" class="zasdk_rec_hdr"> Recorded Clip\n <div class="zasdk_rec_hdr_icon zasdk-tooltip-container">\n <i><svg viewBox="0 0 24 24"><path d="M12,20.6c-4.74,0-8.6-3.86-8.6-8.6S7.26,3.4,12,3.4s8.6,3.86,8.6,8.6-3.86,8.6-8.6,8.6ZM12,4.6c-4.08,0-7.4,3.32-7.4,7.4s3.32,7.4,7.4,7.4,7.4-3.32,7.4-7.4-3.32-7.4-7.4-7.4ZM12.6,15.97v-4.91c0-.33-.27-.6-.6-.6s-.6.27-.6.6v4.91c0,.33.27.6.6.6s.6-.27.6-.6ZM12.61,9.03c0-.33-.27-.6-.6-.6h-.01c-.33,0-.59.27-.59.6s.28.6.61.6.6-.27.6-.6Z"/></svg></i>\n <div class="zasdk-tooltip">This recording will be sent along with your feedback for further analysis.</div>\n </div>\n </div>\n <div class="zasdk_playEdit">\n <div class="zasdk_clipAreaButtonCnt zasdk-tooltip-container">\n <div id="preivewPlayButton" class="zasdk_clipAreaButton" title="Preview">\n <svg viewBox="0 0 24 24"><path d="M6.24,20.6c-.2,0-.39-.05-.57-.15-.38-.21-.62-.61-.62-1.05V4.59c0-.44.24-.84.62-1.05.38-.21.85-.19,1.22.04l11.52,7.41c.34.22.55.6.55,1,0,.41-.2.78-.55,1l-11.52,7.41c-.2.13-.42.19-.64.19ZM6.56,4.1l-.33.5v14.81s11.52-7.41,11.52-7.41L6.23,4.6l.33-.5Z"/></svg>\n </div>\n <div class="zasdk-tooltip">Preview</div>\n </div>\n <div class="zasdk_clipAreaButtonCnt zasdk-tooltip-container">\n <div id="videoEditButton" class="zasdk_clipAreaButton">\n <svg id="Layer_2" viewBox="0 0 24 24"><path d="M20.6,7.18c0-.58-.23-1.13-.65-1.54l-1.53-1.51c-.83-.83-2.29-.83-3.12,0l-1.31,1.3h0S4.88,14.41,4.88,14.41c-.12.12-.21.27-.26.44l-1.19,4.4c-.09.34,0,.7.26.95.19.18.44.29.7.29.09,0,.17-.01.26-.04l4.44-1.2c.16-.05.31-.13.44-.25l8.54-8.43h0s1.88-1.86,1.88-1.86c.06-.06.12-.12.17-.19h0c.31-.39.48-.86.48-1.36ZM8.72,18.12l-4.03,1.09,1.08-3.98L13.97,7.12l2.88,2.97-8.13,8.03ZM17.71,9.25l-2.88-2.97,1.32-1.3c.38-.38,1.04-.38,1.43,0l1.53,1.51c.19.18.29.43.29.69,0,.22-.08.43-.21.6h0s-.04.05-.08.08l-1.4,1.39Z"/></svg>\n </div>\n <div class="zasdk-tooltip">Edit</div>\n </div>\n <div class="zasdk_clipAreaButtonCnt zasdk-tooltip-container">\n <div id="videoDelButton" class="zasdk_clipAreaButton">\n <svg id="Layer_2" viewBox="0 0 24 24"><path d="M19.2,6.6h-3.4v-1c0-1.21-.99-2.2-2.2-2.2h-3.2c-1.21,0-2.2.99-2.2,2.2v1h-3.4c-.33,0-.6.27-.6.6s.27.6.6.6h1v10.6c0,1.21.99,2.2,2.2,2.2h8c1.21,0,2.2-.99,2.2-2.2V7.8h1c.33,0,.6-.27.6-.6s-.27-.6-.6-.6ZM9.4,5.6c0-.55.45-1,1-1h3.2c.55,0,1,.45,1,1v1h-5.2v-1ZM17,18.4c0,.55-.45,1-1,1h-8c-.55,0-1-.45-1-1V7.8h10v10.6ZM11,11.2v4.8c0,.33-.27.6-.6.6s-.6-.27-.6-.6v-4.8c0-.33.27-.6.6-.6s.6.27.6.6ZM14.2,11.2v4.8c0,.33-.27.6-.6.6s-.6-.27-.6-.6v-4.8c0-.33.27-.6.6-.6s.6.27.6.6Z"/></svg>\n </div>\n <div class="zasdk-tooltip">Delete</div>\n </div>\n </div>\n <div class="zasdk_videoPrev">\n <video id="previewVideoElemId" width="320" height="240" src=""></video>\n </div>\n </div>\n \n <div class="zasdk-buttons">\n <div class="zasdk-btncnt">\n <div id="zasdkattachinfo" class="zasdkattachinf">Maximum 5 attachments with a total file size of 10MB is allowed</div>\n <input type="file" id="zasdkFileInput" class="zasdk-file-input" multiple accept=".png, .jpg">\n <label id="zasdkAttachBtn" class="zasdk-btn zasdk-attach-btn" for="zasdkFileInput">\n <svg id="Layer_2" viewBox="0 0 24 24" style=" width: 25px; "><path d="M12,20.6c-2.63,0-4.78-2.14-4.78-4.78V6.78c0-1.87,1.52-3.38,3.38-3.38s3.38,1.52,3.38,3.38v9.04c0,1.1-.9,1.99-2,1.99s-1.99-.89-1.99-1.99V7.48c0-.33.27-.6.6-.6h0c.33,0,.6.27.6.6v8.35c0,.44.35.79.79.79s.79-.36.79-.79V6.78c0-1.2-.98-2.18-2.18-2.18s-2.18.98-2.18,2.18v9.04c0,1.97,1.6,3.58,3.58,3.58s3.58-1.6,3.58-3.58V6.78c0-.33.27-.6.6-.6s.6.27.6.6v9.04c0,2.63-2.14,4.78-4.78,4.78Z"/></svg>\n <span>Attachments</span>\n </label>\n <div id="zasdkfilesizeinfo" class="zasdkfilesizeinf"></div>\n <ul id="zasakfileList" class="zasakfilelstcnt"></ul>\n </div>\n </div>\n </div>\n <div class="zasdk_submit_btncnt">\n <div id="zasdksubmitstatus" class="zasdkstsmsg" style="display:none;" ></div>\n <div id="zasdk_submit_btnsubcnt" class="zasdk_submit_btnsubcnt">\n <input type="button" id="zasdk_submit_btn" class="zasdk-btn zasdk-send-btn zasdkbtndisableclr" value="Send">\n </div>\n </div>\n </div>',timerHtml:'<div id="zasdkrectimer" class="zasdk-timer-container zasdk-tooltip-container">\n <div class="zasdk-timer-control" id="zasdkRecordButton"><div class="zasdk-timer-stopcricle"></div></div>\n <span class="zasdk-timer-display" id="zasdkTimerDisplay">05:00</span>\n <div class="zasdk-tooltip-top">Stop Recording</div>\n </div>',typeObj:{bug:0,feedback:1,help:2,report:3},init:function(){if(!Ae(n=t.getElementById("zasdkFeedbackModal")))return;const i=t.createElement("div");De.uploadFileAry=[],i.id="zasdkFeedbackModal",i.className="zasdk-modal",i.innerHTML=De.feedbackUIHtml,t.body.appendChild(i);var n=t.getElementById("zasdkFeedbackModal"),a=e.appticssettings._defaultoptions,s=a.quartz_workspace_key,o=a.quartz_department_key,d="-"!==a.DC?{Local:"https://quartz.localzoho.com",US:"https://quartz.zoho.com",EU:"https://quartz.zoho.eu",IN:"https://quartz.zoho.in",AU:"https://quartz.zoho.com.au",CN:"https://quartz.zoho.com.cn",CA:"https://quartz.zohocloud.ca",JP:"https://quartz.zoho.jp",SA:"https://quartz.zoho.sa",AE:"https://quartz.zoho.ae"}[a.DC]:[],c=n.querySelector("#appticsfeedbackclose"),l=n.querySelectorAll(".zasdk-feedback-type");De.fileInput=n.querySelector("#zasdkFileInput");var u=n.querySelector("#zasdkqz_rec_button"),p=n.querySelector("#zasdk_submit_btn"),f=n.querySelector("#zasdk_submit_btnsubcnt");const v=n.querySelector("#zasdkqz-consent"),m=n.querySelector("#zasdkqz-content"),g=n.querySelector("#preivewPlayButton"),h=n.querySelector("#videoEditButton"),k=n.querySelector("#videoDelButton"),y=n.querySelector("#zasdkFeedbackconatiner"),z=n.querySelector("#zasdkDescription");De.isScaled=!1,De.isHidden=!1,t.removeEventListener("quartz-feedback-state",De.bindQuartzEvent),t.addEventListener("quartz-feedback-state",De.bindQuartzEvent),t.removeEventListener("quartz-feedback-error",De.handleErrorQuartzEvent),t.addEventListener("quartz-feedback-error",De.handleErrorQuartzEvent),n.querySelector("#zasdkreccheckcnt").style.display="block","-"!=s&&"-"!=o&&"-"!=d||(n.querySelector("#zasdkreccheckcnt").style.display="none"),y.addEventListener("transitionend",(function(e){"transform"===e.propertyName&&De.isScaled&&De.toggleWindowAnimation()})),u.onclick=function(e){e.stopImmediatePropagation();let t={workspaceLinkName:s,departmentLinkName:o,recordingDomain:d};De.handleStatusmsg(),Quartz.startRecording(t)},c.onclick=function(){De.close()},g.addEventListener("click",(function(){Quartz.previewVideo()})),h.addEventListener("click",(function(){Quartz.editVideo({quartzBranding:!1})})),k.addEventListener("click",(function(){var e=t.getElementById("zasdkFeedbackModal");Quartz.clearFeedback(),v.checked=!1,m.classList.remove("zasdkqz-show"),e.querySelector("#editRecordedVideo").style.display="none",e.querySelector("#zasdkreccheckcnt").style.display="block",De.validateFeedbackField()})),p.addEventListener("click",(async()=>{De.validateFeedbackField(),p.disabled=!0,f.classList.add("zasdkbtndisabled"),p.value="";try{let e=n.querySelector("#previewVideoElemId");if(e&&null!==e.offsetParent)De.submitRecording();else{let e={},t=n.querySelector(".zasdk-selected").getAttribute("data-type"),i=Ae(t)?1:De.typeObj[t],a=n.querySelector("#zasdkFileInput").files,r=n.querySelector("#zasdkDescription").value.trim();r.length>0?(e={type:i,message:r,attachment:a,quartzid:""},ce(e)):De.handleStatusmsg(!1,"Please provide more details for us to help you better.")}}catch(e){r("sendFeedbackData : "+e)}})),v.addEventListener("change",(function(){this.checked?m.classList.add("zasdkqz-show"):m.classList.remove("zasdkqz-show")})),z.addEventListener("input",De.validateFeedbackField),l.forEach((function(e){e.addEventListener("click",(function(){l.forEach((function(e){e.classList.remove("zasdk-selected")})),this.classList.add("zasdk-selected")}))})),De.selectedFiles=new DataTransfer,De.fileInput.onchange=function(){if(De.selectedFiles.files.length+this.files.length>5)return De.handleStatusmsg(!1,"Maximum 5 attachments is allowed"),De.fileInput.files=De.selectedFiles.files,void(this.files=De.selectedFiles.files);if(this.files.length>0){let e=0;for(let t of this.files){if(e+=t.size,e>10485760)return De.handleStatusmsg(!1,"Maximum limit reached. The total file size cannot exceed 10MB."),void(this.files=De.selectedFiles.files);De.selectedFiles.items.add(t)}this.files=De.selectedFiles.files,De.fileAttachment()}else De.selectedFiles.files.length>0&&(this.files=De.selectedFiles.files)},De.handleStatusmsg(),De.updateLeftCount()},updateLeftCount:function(){t.querySelectorAll("[reqname]").forEach((function(e){let t=e.value,i=parseInt(e.getAttribute("maxlength"),10),n=e.parentElement.querySelector(".zaleftcharcnt");n&&(n.textContent=i-t.length)}))},handleStatusmsg:function(e,i){var n=t.getElementById("zasdkFeedbackModal");if(!Ae(n)){var a=n.querySelector("#zasdksubmitstatus"),r=n.querySelector("#zasdk_submit_btn"),s=n.querySelector("#zasdk_submit_btnsubcnt"),o="",d="";a.style.display="none",Ae(e)||(o=e?"zasdkstssucs":"zasdkstserror",d=Ae(i)?"":i,a.textContent=d,a.classList.add(o),a.style.display="block",s.classList.remove("zasdkbtndisabled"),r.disabled=!1,r.value="Send")}},handleErrorQuartzEvent:function(e){let t=e.detail.error.name,i=e.detail.error.message;t!=QuartzConstants.ErrorType.RECORDING_INTERRUPTED&&t!=QuartzConstants.ErrorType.FEEDBACK_TIMEOUT||De.stopRecording(),De.handleStatusmsg(!1,i)},bindQuartzEvent:function(e){if(e.detail.feedbackState==QuartzConstants.FeedbackState.RECORDING_IN_PROGRESS){Ae(i=t.getElementById("zasdkrectimer"))||i.remove();const e=t.createElement("div");e.innerHTML=De.timerHtml;const n=e.firstElementChild;t.body.appendChild(n);var i=t.getElementById("zasdkrectimer");De.timerDisplay=i.querySelector("#zasdkTimerDisplay"),De.recordButton=i,De.TOTAL_TIME=300,De.remainingTime=De.TOTAL_TIME,De.isRecording=!0,De.timerInterval,De.recordButton.addEventListener("click",De.toggleRecording),De.startRecording(),De.toggleWindowAnimation()}},close:function(){var e=t.getElementById("zasdkFeedbackModal");t.removeEventListener("quartz-feedback-state",De.bindQuartzEvent),Quartz.clearFeedback(),Ae(e)||e.remove()},toggleWindowAnimation:function(){var e=t.getElementById("zasdkFeedbackModal");const i=e.querySelector("#zasdkFeedbackconatiner");De.isHidden?(e.style.display="block",setTimeout((()=>{i.style.transform="scale(1)",De.validateFeedbackField()}),10),De.isHidden=!1,De.isScaled=!1):De.isScaled?(e.style.display="none",De.isHidden=!0):(i.style.transform="scale(0)",De.isScaled=!0)},fileAttachment:function(){var e=De.fileInput.files;De.uploadTotalSize=0,De.MaxFileSize=10485760;var i=t.getElementById("zasdkFeedbackModal"),n=i.querySelector("#zasdkfilesizeinfo"),a=i.querySelector("#zasakfileList");if(n.textContent="",e.length>5)return isLimitExceeded=!0,De.fileLimitExceeded(!1,!0),void De.validateFeedbackField();if(a.innerHTML="",e.length>0){for(var r=0,s=0;s<e.length;s++){var o=e[s].name,d=o.substring(0,o.lastIndexOf(".")),c=o.substring(o.lastIndexOf(".")+1);r+=e[s].size;var l=De.elementCreator("li");l.title=o;var u=De.elementCreator("span");u.className="zaskFdBckFlName",u.innerText=d.length>10?d.slice(0,3)+"..."+d.slice(-3):d;var p=De.elementCreator("span");p.innerText="."+c;var f=De.elementCreator("span");f.className="zasdkFdBckFlCls",f.setAttribute("data-name",o),f.innerHTML="&times;",l.appendChild(u),l.appendChild(p),l.appendChild(f),a.appendChild(l)}var v=r>De.MaxFileSize;De.fileLimitExceeded(v),n.textContent=De.formatFileSize(r)+" Used / 10 MB";const t=i.querySelectorAll(".zasdkFdBckFlCls");Array.from(t).forEach((function(e){e.addEventListener("click",(function(){De.handleStatusmsg(),De.removeFileFromList(this),De.fileAttachment()}))}))}De.validateFeedbackField()},elementCreator:function(e){return t.createElement(e)},fileLimitExceeded:function(e,t){var i="";(t||e)&&(i=t?"Maximum 5 attachments is allowed":"Maximum limit reached. The total file size cannot exceed 10MB."),De.handleStatusmsg(!1,i)},removeFileFromList:function(e){e.getAttribute("data-name");const t=Array.from(e.parentNode.parentNode.children).indexOf(e.parentNode);e.parentNode.remove();let i=new DataTransfer;De.selectedFiles=new DataTransfer;for(let e=0;e<De.fileInput.files.length;e++)e!==t&&(i.items.add(De.fileInput.files[e]),De.selectedFiles.items.add(De.fileInput.files[e]));De.fileInput.files=i.files},formatFileSize:function(e){if(0===e)return"0 KB";const t=1024,i=e/t,n=e/(t*t),a=e/(t*t*t);return a>=1?a.toFixed(2)+" GB":n>=1?n.toFixed(2)+" MB":i.toFixed(2)+" KB"},toggleRecording:function(){De.isRecording=!De.isRecording,De.isRecording?De.startRecording():De.stopRecording()},startRecording:function(){De.timerInterval||(De.timerInterval=setInterval(De.updateTimer,1e3))},stopRecording:function(){var e=t.getElementById("zasdkFeedbackModal");clearInterval(De.timerInterval),De.timerInterval=null,t.querySelector("#zasdkrectimer").remove(),De.toggleWindowAnimation(),e.querySelector("#editRecordedVideo").style.display="block",e.querySelector("#zasdkreccheckcnt").style.display="none";let i=e.querySelector("#previewVideoElemId");Quartz.endRecording(),Quartz.setVideoContent(i)},submitRecording:function(){var e=t.getElementById("zasdkFeedbackModal");let i="user@example.com",n="",a=T.hasOwnProperty("userid")&&!Ae(T.userid)?T.userid:i,r=e.querySelector("#zasdkDescription").value.trim()||"-";a=/^[\w]([\w\-\.\+\'=]*)@([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,22}$/.test(a)&&Ie()==L.USAGE_TRACKING_WITH_PII?a:i,Quartz.submitRecording({email:a,subject:r}).then((t=>{n=!qe(t)&&t.hasOwnProperty("feedbackLink")?t.feedbackLink:"";let i={},a=e.querySelector(".zasdk-selected").getAttribute("data-type"),s=Ae(a)?1:De.typeObj[a],o=e.querySelector("#zasdkFileInput").files;i={type:s,message:r,attachment:o,quartzid:n},ce(i)}))},updateTimer:function(){De.remainingTime>0?(De.remainingTime--,De.updateDisplay()):De.stopRecording()},updateDisplay:function(){const e=Math.floor(De.remainingTime/60),t=De.remainingTime%60;De.timerDisplay.textContent=`${e.toString().padStart(2,"0")}:${t.toString().padStart(2,"0")}`},validateFeedbackField:function(){De.updateLeftCount();var e=t.getElementById("zasdkFeedbackModal");const i=e.querySelector("#zasdkDescription"),n=e.querySelector("#zasdkFileInput"),a=e.querySelector("#previewVideoElemId"),r=e.querySelector("#zasdk_submit_btn"),s=i&&""!==i.value.trim()&&i.value.trim().length>0,o=(n&&n.files&&n.files.length,a&&a.offsetParent,e.querySelectorAll(".zasdkmaxerror"));!(De.getVisibleErrorCount(o)>0)&&s?(r.classList.remove("zasdkbtndisableclr"),De.handleStatusmsg()):r.classList.add("zasdkbtndisableclr")},getVisibleErrorCount:function(e){return Array.from(e).filter((e=>null!==e.offsetParent)).length}}}(this,document);