@subiz/widget-v4 4.0.82 → 4.0.86

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 (73) hide show
  1. package/compiled_src/chatbox/ChatButton.js +4 -8
  2. package/compiled_src/chatbox/TextMessage.js +1 -2
  3. package/compiled_src/chatbox/Typing.js +1 -1
  4. package/compiled_src/chatbox/Widget.js +9 -1
  5. package/compiled_src/popup/popup.js +7 -0
  6. package/compiled_src/store/store.js +4 -6
  7. package/dist/132.js +162 -44
  8. package/dist/178.js +174 -341
  9. package/dist/18224b3b0f8.132.js +1 -0
  10. package/dist/18224b3b0f8.178.js +1 -0
  11. package/dist/{17f00e48d38.213.js → 18224b3b0f8.213.js} +1 -1
  12. package/dist/{17f00e48d38.335.js → 18224b3b0f8.335.js} +1 -1
  13. package/dist/18224b3b0f8.362.js +1 -0
  14. package/dist/18224b3b0f8.441.js +1 -0
  15. package/dist/{17f00e48d38.605.js → 18224b3b0f8.605.js} +0 -0
  16. package/dist/18224b3b0f8.678.js +1 -0
  17. package/dist/18224b3b0f8.782.js +1 -0
  18. package/dist/18224b3b0f8.app.js +1 -0
  19. package/dist/{17f00e48d38.index.html → 18224b3b0f8.index.html} +7 -3
  20. package/dist/{17f00e48d38.library.html → 18224b3b0f8.library.html} +7 -3
  21. package/dist/18224b3b0f8.library.js +1 -0
  22. package/dist/{17f00e48d38.preview.html → 18224b3b0f8.preview.html} +1 -1
  23. package/dist/18224b3b0f8.preview.js +1 -0
  24. package/dist/18224b3b0f8.screenshoot.js +1 -0
  25. package/dist/213.js +16 -0
  26. package/dist/335.js +2 -2
  27. package/dist/362.js +21 -71
  28. package/dist/441.js +150 -56
  29. package/dist/678.js +20 -70
  30. package/dist/782.js +21 -118
  31. package/dist/HASH +1 -1
  32. package/dist/screenshoot.html +1 -1
  33. package/dist/screenshoot.js +185 -133
  34. package/package.json +14 -14
  35. package/src/chatbox/ChatButton.js +4 -4
  36. package/src/chatbox/TextMessage.js +4 -2
  37. package/src/chatbox/Typing.js +10 -11
  38. package/src/chatbox/Widget.js +7 -2
  39. package/src/popup/popup.js +23 -11
  40. package/src/store/store.js +3 -4
  41. package/dist/0b82fa7e5c3b07b40a44.png +0 -1
  42. package/dist/0f4af006e38ee8b93633.png +0 -1
  43. package/dist/17f00e48d38.132.js +0 -1
  44. package/dist/17f00e48d38.178.js +0 -1
  45. package/dist/17f00e48d38.362.js +0 -1
  46. package/dist/17f00e48d38.441.js +0 -1
  47. package/dist/17f00e48d38.678.js +0 -1
  48. package/dist/17f00e48d38.782.js +0 -1
  49. package/dist/17f00e48d38.app.js +0 -1
  50. package/dist/17f00e48d38.library.js +0 -1
  51. package/dist/17f00e48d38.preview.js +0 -1
  52. package/dist/17f00e48d38.screenshoot.js +0 -1
  53. package/dist/1ea1c6cd21d25176810c.png +0 -1
  54. package/dist/292d42404e1b03398f61.png +0 -1
  55. package/dist/312d376370831b7bea83.png +0 -1
  56. package/dist/313d1bfc1cf776d1aefe.png +0 -1
  57. package/dist/4aa58bb7a66bb44975aa.png +0 -1
  58. package/dist/56ce063bc6c81adb7322.png +0 -1
  59. package/dist/6a411166ef5cc79e0714.png +0 -1
  60. package/dist/6faf403782fefacc1649.png +0 -1
  61. package/dist/79dca33c68fab79c067f.png +0 -1
  62. package/dist/82da1578fa84f9debaeb.png +0 -1
  63. package/dist/8b8e0f0824743974b282.png +0 -1
  64. package/dist/8d551390d81e39130a3c.png +0 -1
  65. package/dist/9fc61b9479877ebdb6c7.png +0 -1
  66. package/dist/a165d31dcb3dc90f1057.png +0 -1
  67. package/dist/a98d4a5698812c4426b3.png +0 -1
  68. package/dist/c41606bf9d1b604e46d5.png +0 -1
  69. package/dist/ce1f7450ce6c1aacd330.png +0 -1
  70. package/dist/cf8c01e88f4770a6e3e5.png +0 -1
  71. package/dist/dfbcfeab1d5622a737e2.png +0 -1
  72. package/dist/e4893ed8c2f7b8329919.png +0 -1
  73. package/dist/ec2ab4eb4ef73d186186.png +0 -1
@@ -1348,11 +1348,11 @@ function toString(obj) {
1348
1348
 
1349
1349
  "use strict";
1350
1350
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1351
- /* harmony export */ "up": () => (/* binding */ Com),
1352
- /* harmony export */ "u$": () => (/* binding */ Clickaway),
1353
1351
  /* harmony export */ "Kd": () => (/* binding */ getLocale),
1354
1352
  /* harmony export */ "Rs": () => (/* binding */ langMessages),
1355
- /* harmony export */ "WW": () => (/* binding */ downloadLanguage)
1353
+ /* harmony export */ "WW": () => (/* binding */ downloadLanguage),
1354
+ /* harmony export */ "u$": () => (/* binding */ Clickaway),
1355
+ /* harmony export */ "up": () => (/* binding */ Com)
1356
1356
  /* harmony export */ });
1357
1357
  /* harmony import */ var preact__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6400);
1358
1358
  /* harmony import */ var _util_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(819);
@@ -1446,70 +1446,70 @@ function downloadLanguage(store, locale, force) {
1446
1446
  "use strict";
1447
1447
  __webpack_require__.r(__webpack_exports__);
1448
1448
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1449
- /* harmony export */ "parseJSON": () => (/* binding */ parseJSON),
1450
- /* harmony export */ "stringify": () => (/* binding */ stringify),
1449
+ /* harmony export */ "DEFVAL": () => (/* binding */ DEFVAL),
1450
+ /* harmony export */ "DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL": () => (/* binding */ DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL),
1451
1451
  /* harmony export */ "Date": () => (/* binding */ Date),
1452
- /* harmony export */ "requestAnimationFrame": () => (/* binding */ requestAnimationFrame),
1453
- /* harmony export */ "setTimeout": () => (/* binding */ setTimeout),
1454
- /* harmony export */ "setInterval": () => (/* binding */ setInterval),
1452
+ /* harmony export */ "agentsOfConvo": () => (/* binding */ agentsOfConvo),
1453
+ /* harmony export */ "checkRunConditions": () => (/* binding */ checkRunConditions),
1454
+ /* harmony export */ "cloneDeep": () => (/* binding */ cloneDeep),
1455
1455
  /* harmony export */ "convoOfEv": () => (/* binding */ convoOfEv),
1456
1456
  /* harmony export */ "convoToEv": () => (/* binding */ convoToEv),
1457
- /* harmony export */ "setMsgField": () => (/* binding */ setMsgField),
1458
- /* harmony export */ "getMsgField": () => (/* binding */ getMsgField),
1459
- /* harmony export */ "merge": () => (/* binding */ merge),
1460
- /* harmony export */ "cloneDeep": () => (/* binding */ cloneDeep),
1461
- /* harmony export */ "randomString": () => (/* binding */ randomString),
1462
- /* harmony export */ "filter": () => (/* binding */ filter),
1463
- /* harmony export */ "includes": () => (/* binding */ includes),
1464
- /* harmony export */ "map": () => (/* binding */ map),
1457
+ /* harmony export */ "detectLang": () => (/* binding */ detectLang),
1458
+ /* harmony export */ "diffDay": () => (/* binding */ diffDay),
1459
+ /* harmony export */ "diffYear": () => (/* binding */ diffYear),
1465
1460
  /* harmony export */ "each": () => (/* binding */ each),
1466
- /* harmony export */ "usersOfConvo": () => (/* binding */ usersOfConvo),
1467
- /* harmony export */ "isConvoSeen": () => (/* binding */ isConvoSeen),
1468
- /* harmony export */ "agentsOfConvo": () => (/* binding */ agentsOfConvo),
1469
- /* harmony export */ "startsWith": () => (/* binding */ startsWith),
1470
- /* harmony export */ "size": () => (/* binding */ size),
1471
- /* harmony export */ "replaceAll": () => (/* binding */ replaceAll),
1472
- /* harmony export */ "trim": () => (/* binding */ trim),
1473
- /* harmony export */ "trimStart": () => (/* binding */ trimStart),
1474
- /* harmony export */ "throttle": () => (/* binding */ throttle),
1461
+ /* harmony export */ "filter": () => (/* binding */ filter),
1475
1462
  /* harmony export */ "find": () => (/* binding */ find),
1476
- /* harmony export */ "orderBy": () => (/* binding */ orderBy),
1463
+ /* harmony export */ "formatCurrency": () => (/* binding */ formatCurrency),
1464
+ /* harmony export */ "getAgentDisplayName": () => (/* binding */ getAgentDisplayName),
1465
+ /* harmony export */ "getDayName": () => (/* binding */ getDayName),
1477
1466
  /* harmony export */ "getIntegrationId": () => (/* binding */ getIntegrationId),
1467
+ /* harmony export */ "getMs": () => (/* binding */ getMs),
1468
+ /* harmony export */ "getMsgField": () => (/* binding */ getMsgField),
1469
+ /* harmony export */ "getUrlParameter": () => (/* binding */ getUrlParameter),
1470
+ /* harmony export */ "getUserAttr": () => (/* binding */ getUserAttr),
1471
+ /* harmony export */ "includes": () => (/* binding */ includes),
1472
+ /* harmony export */ "isConvoSeen": () => (/* binding */ isConvoSeen),
1473
+ /* harmony export */ "isEmail": () => (/* binding */ isEmail),
1474
+ /* harmony export */ "isNumber": () => (/* binding */ isNumber),
1478
1475
  /* harmony export */ "isPhone": () => (/* binding */ isPhone),
1479
1476
  /* harmony export */ "isURL": () => (/* binding */ isURL),
1480
- /* harmony export */ "isNumber": () => (/* binding */ isNumber),
1481
- /* harmony export */ "isEmail": () => (/* binding */ isEmail),
1482
- /* harmony export */ "last": () => (/* binding */ last),
1483
- /* harmony export */ "getAgentDisplayName": () => (/* binding */ getAgentDisplayName),
1484
1477
  /* harmony export */ "isUserBanned": () => (/* binding */ isUserBanned),
1485
- /* harmony export */ "setUserAttr": () => (/* binding */ setUserAttr),
1486
- /* harmony export */ "getUserAttr": () => (/* binding */ getUserAttr),
1487
- /* harmony export */ "norm": () => (/* binding */ norm),
1488
- /* harmony export */ "noop": () => (/* binding */ noop),
1489
- /* harmony export */ "replaceCssVariablePlugin": () => (/* binding */ replaceCssVariablePlugin),
1490
- /* harmony export */ "replaceCssVariable": () => (/* binding */ replaceCssVariable),
1491
- /* harmony export */ "tokenize": () => (/* binding */ tokenize),
1492
- /* harmony export */ "setCss": () => (/* binding */ setCss),
1493
- /* harmony export */ "DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL": () => (/* binding */ DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL),
1494
- /* harmony export */ "DEFVAL": () => (/* binding */ DEFVAL),
1495
1478
  /* harmony export */ "js2css": () => (/* binding */ js2css),
1496
- /* harmony export */ "checkRunConditions": () => (/* binding */ checkRunConditions),
1497
- /* harmony export */ "getDayName": () => (/* binding */ getDayName),
1498
- /* harmony export */ "preloadWebfonts": () => (/* binding */ preloadWebfonts),
1499
- /* harmony export */ "preloadImg": () => (/* binding */ preloadImg),
1479
+ /* harmony export */ "last": () => (/* binding */ last),
1480
+ /* harmony export */ "map": () => (/* binding */ map),
1481
+ /* harmony export */ "merge": () => (/* binding */ merge),
1482
+ /* harmony export */ "noop": () => (/* binding */ noop),
1483
+ /* harmony export */ "norm": () => (/* binding */ norm),
1500
1484
  /* harmony export */ "offsetToMin": () => (/* binding */ offsetToMin),
1501
- /* harmony export */ "diffDay": () => (/* binding */ diffDay),
1502
- /* harmony export */ "diffYear": () => (/* binding */ diffYear),
1485
+ /* harmony export */ "orderBy": () => (/* binding */ orderBy),
1486
+ /* harmony export */ "parseJSON": () => (/* binding */ parseJSON),
1487
+ /* harmony export */ "preloadImg": () => (/* binding */ preloadImg),
1488
+ /* harmony export */ "preloadWebfonts": () => (/* binding */ preloadWebfonts),
1489
+ /* harmony export */ "randomString": () => (/* binding */ randomString),
1490
+ /* harmony export */ "replaceAll": () => (/* binding */ replaceAll),
1491
+ /* harmony export */ "replaceCssVariable": () => (/* binding */ replaceCssVariable),
1492
+ /* harmony export */ "replaceCssVariablePlugin": () => (/* binding */ replaceCssVariablePlugin),
1493
+ /* harmony export */ "requestAnimationFrame": () => (/* binding */ requestAnimationFrame),
1503
1494
  /* harmony export */ "sameDay": () => (/* binding */ sameDay),
1495
+ /* harmony export */ "scrollIntoViewIfNeeded": () => (/* binding */ scrollIntoViewIfNeeded),
1496
+ /* harmony export */ "setCss": () => (/* binding */ setCss),
1497
+ /* harmony export */ "setInterval": () => (/* binding */ setInterval),
1498
+ /* harmony export */ "setMsgField": () => (/* binding */ setMsgField),
1499
+ /* harmony export */ "setTimeout": () => (/* binding */ setTimeout),
1500
+ /* harmony export */ "setUserAttr": () => (/* binding */ setUserAttr),
1504
1501
  /* harmony export */ "shortTime": () => (/* binding */ shortTime),
1505
- /* harmony export */ "unixSec": () => (/* binding */ unixSec),
1506
- /* harmony export */ "getMs": () => (/* binding */ getMs),
1507
- /* harmony export */ "detectLang": () => (/* binding */ detectLang),
1508
- /* harmony export */ "getUrlParameter": () => (/* binding */ getUrlParameter),
1502
+ /* harmony export */ "size": () => (/* binding */ size),
1509
1503
  /* harmony export */ "sleep": () => (/* binding */ sleep),
1510
- /* harmony export */ "formatCurrency": () => (/* binding */ formatCurrency),
1504
+ /* harmony export */ "startsWith": () => (/* binding */ startsWith),
1505
+ /* harmony export */ "stringify": () => (/* binding */ stringify),
1506
+ /* harmony export */ "throttle": () => (/* binding */ throttle),
1507
+ /* harmony export */ "tokenize": () => (/* binding */ tokenize),
1508
+ /* harmony export */ "trim": () => (/* binding */ trim),
1509
+ /* harmony export */ "trimStart": () => (/* binding */ trimStart),
1511
1510
  /* harmony export */ "unicodeToAscii": () => (/* binding */ unicodeToAscii),
1512
- /* harmony export */ "scrollIntoViewIfNeeded": () => (/* binding */ scrollIntoViewIfNeeded)
1511
+ /* harmony export */ "unixSec": () => (/* binding */ unixSec),
1512
+ /* harmony export */ "usersOfConvo": () => (/* binding */ usersOfConvo)
1513
1513
  /* harmony export */ });
1514
1514
  var op = __webpack_require__(6877);
1515
1515
 
@@ -1837,7 +1837,7 @@ function isURL(url) {
1837
1837
  return re.test(String(url).toLowerCase());
1838
1838
  }
1839
1839
  function isNumber(num) {
1840
- var reg = /^\d+$/;
1840
+ var re = /^\d+$/;
1841
1841
  return re.test(String(num));
1842
1842
  }
1843
1843
  function isEmail(email) {
@@ -2869,7 +2869,9 @@ function trackInactivity(seconds, cb) {
2869
2869
  }
2870
2870
  }
2871
2871
  let timeOnPage = 0;
2872
- setInterval(() => timeOnPage++, 1000);
2872
+ setInterval(() => {
2873
+ timeOnPage += 5;
2874
+ }, 5000);
2873
2875
  function trackTimeOnPage(seconds, cb) {
2874
2876
  if (seconds < 1) {
2875
2877
  return setTimeout(function () {
@@ -3206,14 +3208,14 @@ class Pubsub {
3206
3208
 
3207
3209
  "use strict";
3208
3210
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3209
- /* harmony export */ "sY": () => (/* binding */ S),
3210
- /* harmony export */ "h": () => (/* binding */ v),
3211
- /* harmony export */ "HY": () => (/* binding */ d),
3212
- /* harmony export */ "Vf": () => (/* binding */ p),
3213
- /* harmony export */ "wA": () => (/* binding */ _)
3211
+ /* harmony export */ "HY": () => (/* binding */ p),
3212
+ /* harmony export */ "Vf": () => (/* binding */ y),
3213
+ /* harmony export */ "h": () => (/* binding */ h),
3214
+ /* harmony export */ "sY": () => (/* binding */ P),
3215
+ /* harmony export */ "wA": () => (/* binding */ d)
3214
3216
  /* harmony export */ });
3215
3217
  /* unused harmony exports hydrate, createElement, isValidElement, cloneElement, createContext, toChildArray, options */
3216
- var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function a(n,l){for(var u in l)n[u]=l[u];return n}function h(n){var l=n.parentNode;l&&l.removeChild(n)}function v(l,u,i){var t,o,r,f={};for(r in u)"key"==r?t=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return y(l,f,t,o,null)}function y(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function p(){return{current:null}}function d(n){return n.children}function _(n,l){this.props=n,this.context=l}function k(n,l){if(null==l)return n.__?k(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return"function"==typeof n.type?k(n):null}function b(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return b(n)}}function m(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||r!==l.debounceRendering)&&((r=l.debounceRendering)||o)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=a({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?k(t):o,t.__h),z(u,t),t.__e!=o&&b(t)))})}function w(n,l,u,i,t,o,r,f,s,a){var h,v,p,_,b,m,g,w=i&&i.__k||c,A=w.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(_=u.__k[h]=null==(_=l[h])||"boolean"==typeof _?null:"string"==typeof _||"number"==typeof _||"bigint"==typeof _?y(null,_,null,null,_):Array.isArray(_)?y(d,{children:_},null,null,null):_.__b>0?y(_.type,_.props,_.key,null,_.__v):_)){if(_.__=u,_.__b=u.__b+1,null===(p=w[h])||p&&_.key==p.key&&_.type===p.type)w[h]=void 0;else for(v=0;v<A;v++){if((p=w[v])&&_.key==p.key&&_.type===p.type){w[v]=void 0;break}p=null}j(n,_,p=p||e,t,o,r,f,s,a),b=_.__e,(v=_.ref)&&p.ref!=v&&(g||(g=[]),p.ref&&g.push(p.ref,null,_),g.push(v,_.__c||b,_)),null!=b?(null==m&&(m=b),"function"==typeof _.type&&_.__k===p.__k?_.__d=s=x(_,s,n):s=P(n,_,p,w,b,s),"function"==typeof u.type&&(u.__d=s)):s&&p.__e==s&&s.parentNode!=n&&(s=k(p))}for(u.__e=m,h=A;h--;)null!=w[h]&&("function"==typeof u.type&&null!=w[h].__e&&w[h].__e==u.__d&&(u.__d=k(i,h+1)),N(w[h],w[h]));if(g)for(h=0;h<g.length;h++)M(g[h],g[++h],g[++h])}function x(n,l,u){for(var i,t=n.__k,o=0;t&&o<t.length;o++)(i=t[o])&&(i.__=n,l="function"==typeof i.type?x(i,l,u):P(u,i,i,t,i.__e,l));return l}function A(n,l){return l=l||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some(function(n){A(n,l)}):l.push(n)),l}function P(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)"children"===o||"key"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&"function"!=typeof l[o]||"children"===o||"key"===o||"value"===o||"checked"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){"-"===l[0]?n.setProperty(l,u):n[l]=null==u?"":"number"!=typeof u||s.test(l)?u:u+"px"}function H(n,l,u,i,t){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else{if("string"==typeof i&&(n.style.cssText=i=""),i)for(l in i)u&&l in u||$(n.style,l,"");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/Capture$/,"")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if("dangerouslySetInnerHTML"!==l){if(t)l=l.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if("href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null!=u&&(!1!==u||"a"===l[0]&&"r"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var s,h,v,y,p,k,b,m,g,x,A,P=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(s=l.__b)&&s(u);try{n:if("function"==typeof P){if(m=u.props,g=(s=P.contextType)&&t[s.__c],x=s?g?g.props.value:s.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:("prototype"in P&&P.prototype.render?u.__c=h=new P(m,x):(u.__c=h=new _(m,x),h.constructor=P,h.render=O),g&&g.sub(h),h.props=m,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=P.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=a({},h.__s)),a(h.__s,P.getDerivedStateFromProps(m,h.__s))),y=h.props,p=h.state,v)null==P.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==P.getDerivedStateFromProps&&m!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,x)||u.__v===i.__v){h.props=m,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,p,k)})}h.context=x,h.props=m,h.state=h.__s,(s=l.__r)&&s(u),h.__d=!1,h.__v=u,h.__P=n,s=h.render(h.props,h.state,h.context),h.state=h.__s,null!=h.getChildContext&&(t=a(a({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,p)),A=null!=s&&s.type===d&&null==s.key?s.props.children:s,w(n,Array.isArray(A)?A:[A],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(s=l.diffed)&&s(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,f,c){var s,a,v,y=i.props,p=u.props,d=u.type,_=0;if("svg"===d&&(o=!0),null!=r)for(;_<r.length;_++)if((s=r[_])&&"setAttribute"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,r[_]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),a=(y=i.props||e).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},_=0;_<l.attributes.length;_++)y[l.attributes[_].name]=l.attributes[_].value;(v||a)&&(v&&(a&&v.__html==a.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||""))}if(C(l,p,y,o,c),v)u.__k=[];else if(_=u.props.children,w(l,Array.isArray(_)?_:[_],u,i,t,o&&"foreignObject"!==d,r,f,r?r[0]:i.__k&&k(i,0),c),null!=r)for(_=r.length;_--;)null!=r[_]&&h(r[_]);c||("value"in p&&void 0!==(_=p.value)&&(_!==l.value||"progress"===d&&!_||"option"===d&&_!==y.value)&&H(l,"value",_,y.value,!1),"checked"in p&&void 0!==(_=p.checked)&&_!==l.checked&&H(l,"checked",_,y.checked,!1))}return l}function M(n,u,i){try{"function"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,"function"!=typeof n.type);i||null==n.__e||h(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function S(u,i,t){var o,r,f;l.__&&l.__(u,i),r=(o="function"==typeof t)?null:t&&t.__k||i.__k,f=[],j(i,u=(!o&&t||i).__k=v(d,null,[u]),r||e,e,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,f,!o&&t?t:r?r.__e:i.firstChild,o),z(f,u)}function q(n,l){S(n,l,q)}function B(l,u,i){var t,o,r,f=a({},l.props);for(r in u)"key"==r?t=u[r]:"ref"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),y(l.type,f,t||l.key,o||l.ref,null)}function D(n,l){var u={__c:l="__cC"+f++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(m)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=c.slice,l={__e:function(n,l){for(var u,i,t;l=l.__;)if((u=l.__c)&&!u.__)try{if((i=u.constructor)&&null!=i.getDerivedStateFromError&&(u.setState(i.getDerivedStateFromError(n)),t=u.__d),null!=u.componentDidCatch&&(u.componentDidCatch(n),t=u.__d),t)return u.__E=u}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},_.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=a({},this.state),"function"==typeof n&&(n=n(a({},u),this.props)),n&&a(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),m(this))},_.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),m(this))},_.prototype.render=d,t=[],o="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,g.__r=0,f=0;
3218
+ var n,l,u,i,t,o,r,f={},e=[],c=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function s(n,l){for(var u in l)n[u]=l[u];return n}function a(n){var l=n.parentNode;l&&l.removeChild(n)}function h(l,u,i){var t,o,r,f={};for(r in u)"key"==r?t=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return v(l,f,t,o,null)}function v(n,i,t,o,r){var f={type:n,props:i,key:t,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u:r};return null==r&&null!=l.vnode&&l.vnode(f),f}function y(){return{current:null}}function p(n){return n.children}function d(n,l){this.props=n,this.context=l}function _(n,l){if(null==l)return n.__?_(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return"function"==typeof n.type?_(n):null}function k(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return k(n)}}function b(n){(!n.__d&&(n.__d=!0)&&t.push(n)&&!g.__r++||o!==l.debounceRendering)&&((o=l.debounceRendering)||setTimeout)(g)}function g(){for(var n;g.__r=t.length;)n=t.sort(function(n,l){return n.__v.__b-l.__v.__b}),t=[],n.some(function(n){var l,u,i,t,o,r;n.__d&&(o=(t=(l=n).__v).__e,(r=l.__P)&&(u=[],(i=s({},t)).__v=t.__v+1,j(r,t,i,l.__n,void 0!==r.ownerSVGElement,null!=t.__h?[o]:null,u,null==o?_(t):o,t.__h),z(u,t),t.__e!=o&&k(t)))})}function w(n,l,u,i,t,o,r,c,s,a){var h,y,d,k,b,g,w,x=i&&i.__k||e,C=x.length;for(u.__k=[],h=0;h<l.length;h++)if(null!=(k=u.__k[h]=null==(k=l[h])||"boolean"==typeof k?null:"string"==typeof k||"number"==typeof k||"bigint"==typeof k?v(null,k,null,null,k):Array.isArray(k)?v(p,{children:k},null,null,null):k.__b>0?v(k.type,k.props,k.key,null,k.__v):k)){if(k.__=u,k.__b=u.__b+1,null===(d=x[h])||d&&k.key==d.key&&k.type===d.type)x[h]=void 0;else for(y=0;y<C;y++){if((d=x[y])&&k.key==d.key&&k.type===d.type){x[y]=void 0;break}d=null}j(n,k,d=d||f,t,o,r,c,s,a),b=k.__e,(y=k.ref)&&d.ref!=y&&(w||(w=[]),d.ref&&w.push(d.ref,null,k),w.push(y,k.__c||b,k)),null!=b?(null==g&&(g=b),"function"==typeof k.type&&k.__k===d.__k?k.__d=s=m(k,s,n):s=A(n,k,d,x,b,s),"function"==typeof u.type&&(u.__d=s)):s&&d.__e==s&&s.parentNode!=n&&(s=_(d))}for(u.__e=g,h=C;h--;)null!=x[h]&&("function"==typeof u.type&&null!=x[h].__e&&x[h].__e==u.__d&&(u.__d=_(i,h+1)),N(x[h],x[h]));if(w)for(h=0;h<w.length;h++)M(w[h],w[++h],w[++h])}function m(n,l,u){for(var i,t=n.__k,o=0;t&&o<t.length;o++)(i=t[o])&&(i.__=n,l="function"==typeof i.type?m(i,l,u):A(u,i,i,t,i.__e,l));return l}function x(n,l){return l=l||[],null==n||"boolean"==typeof n||(Array.isArray(n)?n.some(function(n){x(n,l)}):l.push(n)),l}function A(n,l,u,i,t,o){var r,f,e;if(void 0!==l.__d)r=l.__d,l.__d=void 0;else if(null==u||t!=o||null==t.parentNode)n:if(null==o||o.parentNode!==n)n.appendChild(t),r=null;else{for(f=o,e=0;(f=f.nextSibling)&&e<i.length;e+=2)if(f==t)break n;n.insertBefore(t,o),r=o}return void 0!==r?r:t.nextSibling}function C(n,l,u,i,t){var o;for(o in u)"children"===o||"key"===o||o in l||H(n,o,null,u[o],i);for(o in l)t&&"function"!=typeof l[o]||"children"===o||"key"===o||"value"===o||"checked"===o||u[o]===l[o]||H(n,o,l[o],u[o],i)}function $(n,l,u){"-"===l[0]?n.setProperty(l,u):n[l]=null==u?"":"number"!=typeof u||c.test(l)?u:u+"px"}function H(n,l,u,i,t){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else{if("string"==typeof i&&(n.style.cssText=i=""),i)for(l in i)u&&l in u||$(n.style,l,"");if(u)for(l in u)i&&u[l]===i[l]||$(n.style,l,u[l])}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/Capture$/,"")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?i||n.addEventListener(l,o?T:I,o):n.removeEventListener(l,o?T:I,o);else if("dangerouslySetInnerHTML"!==l){if(t)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null!=u&&(!1!==u||"a"===l[0]&&"r"===l[1])?n.setAttribute(l,u):n.removeAttribute(l))}}function I(n){this.l[n.type+!1](l.event?l.event(n):n)}function T(n){this.l[n.type+!0](l.event?l.event(n):n)}function j(n,u,i,t,o,r,f,e,c){var a,h,v,y,_,k,b,g,m,x,A,C,$,H=u.type;if(void 0!==u.constructor)return null;null!=i.__h&&(c=i.__h,e=u.__e=i.__e,u.__h=null,r=[e]),(a=l.__b)&&a(u);try{n:if("function"==typeof H){if(g=u.props,m=(a=H.contextType)&&t[a.__c],x=a?m?m.props.value:a.__:t,i.__c?b=(h=u.__c=i.__c).__=h.__E:("prototype"in H&&H.prototype.render?u.__c=h=new H(g,x):(u.__c=h=new d(g,x),h.constructor=H,h.render=O),m&&m.sub(h),h.props=g,h.state||(h.state={}),h.context=x,h.__n=t,v=h.__d=!0,h.__h=[]),null==h.__s&&(h.__s=h.state),null!=H.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=s({},h.__s)),s(h.__s,H.getDerivedStateFromProps(g,h.__s))),y=h.props,_=h.state,v)null==H.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else{if(null==H.getDerivedStateFromProps&&g!==y&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(g,x),!h.__e&&null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(g,h.__s,x)||u.__v===i.__v){h.props=g,h.state=h.__s,u.__v!==i.__v&&(h.__d=!1),h.__v=u,u.__e=i.__e,u.__k=i.__k,u.__k.forEach(function(n){n&&(n.__=u)}),h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(g,h.__s,x),null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(y,_,k)})}if(h.context=x,h.props=g,h.__v=u,h.__P=n,A=l.__r,C=0,"prototype"in H&&H.prototype.render)h.state=h.__s,h.__d=!1,A&&A(u),a=h.render(h.props,h.state,h.context);else do{h.__d=!1,A&&A(u),a=h.render(h.props,h.state,h.context),h.state=h.__s}while(h.__d&&++C<25);h.state=h.__s,null!=h.getChildContext&&(t=s(s({},t),h.getChildContext())),v||null==h.getSnapshotBeforeUpdate||(k=h.getSnapshotBeforeUpdate(y,_)),$=null!=a&&a.type===p&&null==a.key?a.props.children:a,w(n,Array.isArray($)?$:[$],u,i,t,o,r,f,e,c),h.base=u.__e,u.__h=null,h.__h.length&&f.push(h),b&&(h.__E=h.__=null),h.__e=!1}else null==r&&u.__v===i.__v?(u.__k=i.__k,u.__e=i.__e):u.__e=L(i.__e,u,i,t,o,r,f,c);(a=l.diffed)&&a(u)}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l.__e(n,u,i)}}function z(n,u){l.__c&&l.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u)})}catch(n){l.__e(n,u.__v)}})}function L(l,u,i,t,o,r,e,c){var s,h,v,y=i.props,p=u.props,d=u.type,k=0;if("svg"===d&&(o=!0),null!=r)for(;k<r.length;k++)if((s=r[k])&&"setAttribute"in s==!!d&&(d?s.localName===d:3===s.nodeType)){l=s,r[k]=null;break}if(null==l){if(null===d)return document.createTextNode(p);l=o?document.createElementNS("http://www.w3.org/2000/svg",d):document.createElement(d,p.is&&p),r=null,c=!1}if(null===d)y===p||c&&l.data===p||(l.data=p);else{if(r=r&&n.call(l.childNodes),h=(y=i.props||f).dangerouslySetInnerHTML,v=p.dangerouslySetInnerHTML,!c){if(null!=r)for(y={},k=0;k<l.attributes.length;k++)y[l.attributes[k].name]=l.attributes[k].value;(v||h)&&(v&&(h&&v.__html==h.__html||v.__html===l.innerHTML)||(l.innerHTML=v&&v.__html||""))}if(C(l,p,y,o,c),v)u.__k=[];else if(k=u.props.children,w(l,Array.isArray(k)?k:[k],u,i,t,o&&"foreignObject"!==d,r,e,r?r[0]:i.__k&&_(i,0),c),null!=r)for(k=r.length;k--;)null!=r[k]&&a(r[k]);c||("value"in p&&void 0!==(k=p.value)&&(k!==l.value||"progress"===d&&!k||"option"===d&&k!==y.value)&&H(l,"value",k,y.value,!1),"checked"in p&&void 0!==(k=p.checked)&&k!==l.checked&&H(l,"checked",k,y.checked,!1))}return l}function M(n,u,i){try{"function"==typeof n?n(u):n.current=u}catch(n){l.__e(n,i)}}function N(n,u,i){var t,o;if(l.unmount&&l.unmount(n),(t=n.ref)&&(t.current&&t.current!==n.__e||M(t,null,u)),null!=(t=n.__c)){if(t.componentWillUnmount)try{t.componentWillUnmount()}catch(n){l.__e(n,u)}t.base=t.__P=null}if(t=n.__k)for(o=0;o<t.length;o++)t[o]&&N(t[o],u,"function"!=typeof n.type);i||null==n.__e||a(n.__e),n.__e=n.__d=void 0}function O(n,l,u){return this.constructor(n,u)}function P(u,i,t){var o,r,e;l.__&&l.__(u,i),r=(o="function"==typeof t)?null:t&&t.__k||i.__k,e=[],j(i,u=(!o&&t||i).__k=h(p,null,[u]),r||f,f,void 0!==i.ownerSVGElement,!o&&t?[t]:r?null:i.firstChild?n.call(i.childNodes):null,e,!o&&t?t:r?r.__e:i.firstChild,o),z(e,u)}function S(n,l){P(n,l,S)}function q(l,u,i){var t,o,r,f=s({},l.props);for(r in u)"key"==r?t=u[r]:"ref"==r?o=u[r]:f[r]=u[r];return arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):i),v(l.type,f,t||l.key,o||l.ref,null)}function B(n,l){var u={__c:l="__cC"+r++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,i;return this.getChildContext||(u=[],(i={})[l]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(b)},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=e.slice,l={__e:function(n,l,u,i){for(var t,o,r;l=l.__;)if((t=l.__c)&&!t.__)try{if((o=t.constructor)&&null!=o.getDerivedStateFromError&&(t.setState(o.getDerivedStateFromError(n)),r=t.__d),null!=t.componentDidCatch&&(t.componentDidCatch(n,i||{}),r=t.__d),r)return t.__E=t}catch(l){n=l}throw n}},u=0,i=function(n){return null!=n&&void 0===n.constructor},d.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=s({},this.state),"function"==typeof n&&(n=n(s({},u),this.props)),n&&s(u,n),null!=n&&this.__v&&(l&&this.__h.push(l),b(this))},d.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),b(this))},d.prototype.render=p,t=[],g.__r=0,r=0;
3217
3219
  //# sourceMappingURL=preact.module.js.map
3218
3220
 
3219
3221
 
@@ -3364,7 +3366,7 @@ var n,l,u,i,t,o,r,f,e={},c=[],s=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[c
3364
3366
  /******/
3365
3367
  /******/ /* webpack/runtime/jsonp chunk loading */
3366
3368
  /******/ (() => {
3367
- /******/ __webpack_require__.b = document.baseURI || self.location.href;
3369
+ /******/ // no baseURI
3368
3370
  /******/
3369
3371
  /******/ // object to store loaded and loading chunks
3370
3372
  /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
@@ -3528,6 +3530,23 @@ function jsonifyTextPlain(param, done) {
3528
3530
 
3529
3531
  _defineProperty(this, "sendTyping", cid => this.apireq.post(`/conversations/${cid}/typing`));
3530
3532
 
3533
+ _defineProperty(this, "sendPresence", (device, is_focused, productid, source_id, sku) => this.sendEvent({
3534
+ by: {
3535
+ id: this.uid,
3536
+ device: device
3537
+ },
3538
+ type: 'presence_updated',
3539
+ data: {
3540
+ presence: {
3541
+ viewing_product_sku: sku,
3542
+ viewing_product_source_id: source_id,
3543
+ viewing_product_id: productid,
3544
+ pinged: util/* default.Date.now */.Z.Date.now(),
3545
+ is_focused
3546
+ }
3547
+ }
3548
+ }));
3549
+
3531
3550
  _defineProperty(this, "uploadToS3", async file => {
3532
3551
  let {
3533
3552
  body: signed,
@@ -3618,23 +3637,9 @@ function jsonifyTextPlain(param, done) {
3618
3637
  this.uid = obj.uid;
3619
3638
  }
3620
3639
 
3621
- sendPresence(device, is_focused) {
3622
- return this.sendEvent({
3623
- by: {
3624
- id: this.uid,
3625
- device: device
3626
- },
3627
- type: 'presence_updated',
3628
- data: {
3629
- presence: {
3630
- pinged: util/* default.Date.now */.Z.Date.now(),
3631
- is_focused
3632
- }
3633
- }
3634
- });
3635
- }
3636
-
3637
- sendContent(device, pageUrl, pageTitle) {
3640
+ sendContentView(device, pageUrl, pageTitle, id, source_id, sku) {
3641
+ if (!id) id = undefined;
3642
+ if (!source_id) source_id = undefined;
3638
3643
  return this.sendEvent({
3639
3644
  by: {
3640
3645
  id: this.uid,
@@ -3643,9 +3648,12 @@ function jsonifyTextPlain(param, done) {
3643
3648
  type: 'content_viewed',
3644
3649
  data: {
3645
3650
  product: {
3651
+ id: id,
3652
+ source_id: source_id,
3646
3653
  url: pageUrl,
3647
3654
  name: pageTitle,
3648
- title: pageTitle
3655
+ title: pageTitle,
3656
+ sku: sku
3649
3657
  }
3650
3658
  }
3651
3659
  });
@@ -3847,30 +3855,6 @@ function makeFakeConvo(accid, convoid, userid, agentid) {
3847
3855
  id: inteid
3848
3856
  },
3849
3857
  actived: 1610453070259,
3850
- last_event: {
3851
- id: 'evqyiykaoizbwnkaecwphttwk',
3852
- account_id: accid,
3853
- created: 1616213311830,
3854
- type: 'message_sent',
3855
- by: {
3856
- id: userid,
3857
- client_id: 'clsubizapi',
3858
- type: 'user'
3859
- },
3860
- data: {
3861
- message: {
3862
- conversation_id: convoid,
3863
- text: 'ok cám ơn!',
3864
- format: 'plaintext',
3865
- integration_id: inteid,
3866
- pongs: [{
3867
- member_id: userid,
3868
- type: 'seen',
3869
- created: 1616213312110
3870
- }]
3871
- }
3872
- }
3873
- },
3874
3858
  last_message_sent: {
3875
3859
  id: 'evqyiykaoizbwnkaecwphttwk',
3876
3860
  account_id: accid,
@@ -4188,6 +4172,8 @@ class Store {
4188
4172
 
4189
4173
  store_defineProperty(this, "cookie", cookie);
4190
4174
 
4175
+ store_defineProperty(this, "_currentViewingProduct", {});
4176
+
4191
4177
  store_defineProperty(this, "new_visitor", true);
4192
4178
 
4193
4179
  store_defineProperty(this, "matchUser", () => {
@@ -4311,14 +4297,16 @@ class Store {
4311
4297
  await this.readyGate.entry();
4312
4298
  if (!util/* default.get */.Z.get(this.kv.match('user'), 'id')) return;
4313
4299
  if (util/* default.isUserBanned */.Z.isUserBanned(this.kv.match('user'))) return;
4314
- return this.api.sendPresence(this.device, this.browserVisibility === 'visible' && document.hasFocus());
4300
+ return this.api.sendPresence(this.device, this.browserVisibility === 'visible' && document.hasFocus(), this._currentViewingProduct.id, this._currentViewingProduct.source_id, this._currentViewingProduct.sku);
4315
4301
  }, 1000));
4316
4302
 
4317
4303
  store_defineProperty(this, "now", () => util/* default.Date.now */.Z.Date.now() + this.timeDiff);
4318
4304
 
4319
4305
  store_defineProperty(this, "seenQueue", []);
4320
4306
 
4321
- store_defineProperty(this, "_typing", util/* default.throttle */.Z.throttle(convoid => this.api.sendTyping(convoid), 3000));
4307
+ store_defineProperty(this, "_typing", util/* default.throttle */.Z.throttle(convoid => this.api.sendTyping(convoid), 3000, {
4308
+ trailing: false
4309
+ }));
4322
4310
 
4323
4311
  store_defineProperty(this, "onConvoEvent", (o, cb) => this.pubsub.on2(o, 'events', cb));
4324
4312
 
@@ -4338,7 +4326,10 @@ class Store {
4338
4326
  store_defineProperty(this, "setIsOpen", isopen => {
4339
4327
  let lastisopen = this.kv.match('isopen');
4340
4328
  this.kv.put('isopen', isopen);
4341
- if (!lastisopen && isopen) sendEventToThirdParty('SUBIZ Chat', 'Opened', 'Subiz Windows');
4329
+
4330
+ if (!lastisopen && isopen) {
4331
+ sendEventToThirdParty('SUBIZ Chat', 'Opened', 'Subiz Windows');
4332
+ }
4342
4333
  });
4343
4334
 
4344
4335
  store_defineProperty(this, "closePreview", () => this.kv.put('close_preview_at', new util/* default.Date */.Z.Date().getTime()));
@@ -4374,7 +4365,8 @@ class Store {
4374
4365
  this.g_haveSentSeenM = {};
4375
4366
  window.addEventListener('blur', () => this.sendPresence());
4376
4367
  window.addEventListener('focus', () => this.sendPresence());
4377
- setInterval(() => this.sendPresence(), 30000);
4368
+ setInterval(() => this.browserVisibility === 'visible' && document.hasFocus() && this.sendPresence(), 20000);
4369
+ setInterval(() => (this.browserVisibility !== 'visible' || document.hasFocus()) && this.sendPresence(), 60000);
4378
4370
  onVisibilityChange(val => {
4379
4371
  this.browserVisibility = val;
4380
4372
  this.sendPresence();
@@ -4403,6 +4395,21 @@ class Store {
4403
4395
  }, 2000);
4404
4396
  }
4405
4397
 
4398
+ linkProduct(p) {
4399
+ if (!p) {
4400
+ this._currentViewingProduct = {};
4401
+ return;
4402
+ }
4403
+
4404
+ if (p.id) this._currentViewingProduct.id = (p.id + '').trim();
4405
+ if (p.source_id) this._currentViewingProduct.source_id = (p.source_id + '').trim();
4406
+ if (p.sku) this._currentViewingProduct.sku = (p.sku + '').trim();
4407
+ }
4408
+
4409
+ getLinkedProduct() {
4410
+ return util/* default.cloneDeep */.Z.cloneDeep(this._currentViewingProduct);
4411
+ }
4412
+
4406
4413
  isInsync(key) {
4407
4414
  return util/* default.Date.now */.Z.Date.now() - (this.g_sync[key] || 0) < 300000;
4408
4415
  }
@@ -4448,7 +4455,9 @@ class Store {
4448
4455
  platform: window.navigator.platform,
4449
4456
  referrer: document.URL,
4450
4457
  type: this.isMobile() ? 'mobile' : 'desktop',
4451
- language: navigator.language
4458
+ language: navigator.language,
4459
+ page_url: document.URL,
4460
+ page_title: document.title
4452
4461
  };
4453
4462
  let ga_client_id = getGaClientId();
4454
4463
  if (ga_client_id) device.ga_client_id = ga_client_id;
@@ -4737,7 +4746,7 @@ class Store {
4737
4746
 
4738
4747
  async track() {
4739
4748
  let user = this.kv.match('user') || {};
4740
- await this.api.sendContent(this.device, location.href, document.title);
4749
+ await this.api.sendContentView(this.device, location.href, document.title, this._currentViewingProduct.id, this._currentViewingProduct.source_id, this._currentViewingProduct.sku);
4741
4750
  this.sendPresence();
4742
4751
  }
4743
4752
 
@@ -4844,7 +4853,7 @@ class Store {
4844
4853
  util/* default.map */.Z.map(pongs, pong => {
4845
4854
  if (pong.member_id == user.id && pong.type === 'seen') {
4846
4855
  let mem = util/* default.find */.Z.find(convo.members, mem => mem.id === user.id);
4847
- mem.seen_at = pong.created;
4856
+ if (mem) mem.seen_at = pong.created;
4848
4857
  }
4849
4858
  });
4850
4859
  this.chain.put(cid, oldev.id, util/* default.getMs */.Z.getMs(oldev.created), oldev);
@@ -4866,8 +4875,6 @@ class Store {
4866
4875
  this.chain.put(cid, ev.id, util/* default.getMs */.Z.getMs(ev.created), ev);
4867
4876
  }
4868
4877
 
4869
- convo.last_event = ev;
4870
-
4871
4878
  this._setConvo(convo);
4872
4879
 
4873
4880
  this.pubsub.publish('account');
@@ -4951,9 +4958,7 @@ class Store {
4951
4958
  by: {
4952
4959
  id: user.id,
4953
4960
  type: 'user',
4954
- device: {
4955
- referrer: document.URL
4956
- }
4961
+ device: this.device
4957
4962
  },
4958
4963
  data,
4959
4964
  type,
@@ -5000,6 +5005,20 @@ class Store {
5000
5005
 
5001
5006
  this.onWs(ret);
5002
5007
  sendEventToThirdParty('SUBIZ Chat', 'Sent', 'User');
5008
+ let lastMsgSent = this.kv.match('last_msg_sent');
5009
+
5010
+ if (!lastMsgSent) {
5011
+ let dataLayer = window.dataLayer || [];
5012
+ dataLayer.push({
5013
+ event: 'SUBIZ Chat',
5014
+ event_action: 'Sent',
5015
+ event_label: 'User',
5016
+ first_interaction: 1
5017
+ });
5018
+ }
5019
+
5020
+ this.kv.put('last_msg_sent', util/* default.Date.now */.Z.Date.now());
5021
+ return ret;
5003
5022
  }
5004
5023
 
5005
5024
  _setConvo(convo) {
@@ -5133,7 +5152,7 @@ class Store {
5133
5152
 
5134
5153
  async loopTime() {
5135
5154
  let startms = util/* default.Date.now */.Z.Date.now();
5136
- if (!util/* default.get */.Z.get(this.kv.match('user'), 'id')) return setTimeout(() => this.loopTime(), 30000);
5155
+ if (!util/* default.get */.Z.get(this.kv.match('user'), 'id')) return setTimeout(() => this.loopTime(), 120000);
5137
5156
  let {
5138
5157
  body: t,
5139
5158
  error
@@ -5143,7 +5162,7 @@ class Store {
5143
5162
  var serverMs = new util/* default.Date */.Z.Date(t).getTime() + latences;
5144
5163
  var localMs = util/* default.Date.now */.Z.Date.now();
5145
5164
  this.timeDiff = Math.floor(serverMs - localMs);
5146
- setTimeout(() => this.loopTime(), 60000);
5165
+ setTimeout(() => this.loopTime(), 120000);
5147
5166
  }
5148
5167
 
5149
5168
  replaceFileUrl(src) {
@@ -5249,20 +5268,21 @@ const inmemCookie = {
5249
5268
  };
5250
5269
 
5251
5270
  function getGaClientId() {
5252
- var clientId = '';
5253
- if (!hasGA()) return clientId;
5271
+ if (!window.ga) return;
5272
+ if (!window.ga.getAll) return;
5254
5273
  var allTrackers = window.ga.getAll() || [];
5274
+ let ga_client_id = '';
5255
5275
  allTrackers.forEach(function (tracker) {
5256
- clientId = tracker.get('clientId');
5276
+ ga_client_id = tracker.get('clientId');
5257
5277
  });
5258
- return clientId;
5278
+ return ga_client_id;
5259
5279
  }
5260
5280
 
5261
- const hasGA = () => !!(window.ga && window.ga.getAll);
5262
-
5263
5281
  function getGaTrackingIds() {
5264
5282
  var trackingIds = [];
5265
- if (!hasGA()) return trackingIds;
5283
+ if (!(window.ga && window.ga.getAll)) return trackingIds;
5284
+ if (!window.ga) return [];
5285
+ if (!window.ga.getAll) return [];
5266
5286
  const allTrackers = window.ga.getAll() || [];
5267
5287
  allTrackers.forEach(function (tracker) {
5268
5288
  var trackingId = tracker.get('trackingId');
@@ -5280,12 +5300,18 @@ function sendToFBPixel(category, action, label) {
5280
5300
  }
5281
5301
 
5282
5302
  function sendToGA(category, action, label) {
5283
- if (!hasGA()) return;
5284
- const allTrackers = window.ga.getAll() || [];
5285
- allTrackers.forEach(function (tracker) {
5286
- const name = tracker.get('name');
5287
- window.ga(name + '.send', 'event', category, action, label);
5303
+ if (window.gtag) window.gtag('event', category, {
5304
+ Action: action,
5305
+ Label: label
5288
5306
  });
5307
+
5308
+ if (window.ga && window.ga.getAll) {
5309
+ const allTrackers = window.ga.getAll() || [];
5310
+ allTrackers.forEach(function (tracker) {
5311
+ const name = tracker.get('name');
5312
+ window.ga(name + '.send', 'event', category, action, label);
5313
+ });
5314
+ }
5289
5315
  }
5290
5316
 
5291
5317
  function sendEventToThirdParty(category, action, label) {
@@ -5298,6 +5324,12 @@ function sendEventToThirdParty(category, action, label) {
5298
5324
  }));
5299
5325
  sendToGA(category, action, label);
5300
5326
  sendToFBPixel(category, action, label);
5327
+ let dataLayer = window.dataLayer || [];
5328
+ dataLayer.push({
5329
+ event: category,
5330
+ event_action: action,
5331
+ event_label: label
5332
+ });
5301
5333
  }
5302
5334
 
5303
5335
  let mobileCheck = function (a) {
@@ -5683,7 +5715,7 @@ util/* default.preloadWebfonts */.Z.preloadWebfonts(['Roboto'], [400, 500]);
5683
5715
 
5684
5716
  class Widget {
5685
5717
  constructor(ApiURL, FileURL, RealtimeURL, inmem, fake, agenttoken) {
5686
- lib_defineProperty(this, "version", () => '4.4');
5718
+ lib_defineProperty(this, "version", () => '4.5');
5687
5719
 
5688
5720
  lib_defineProperty(this, "setSetting", setting => this.store.setSetting({
5689
5721
  account_setting: setting
@@ -5695,6 +5727,12 @@ class Widget {
5695
5727
 
5696
5728
  lib_defineProperty(this, "getUser", () => util/* default.parseJSON */.Z.parseJSON(util/* default.stringify */.Z.stringify(this.store.matchUser())));
5697
5729
 
5730
+ lib_defineProperty(this, "setViewingProduct", p => this.store.linkProduct(p));
5731
+
5732
+ lib_defineProperty(this, "getViewingProduct", () => this.store.getLinkedProduct());
5733
+
5734
+ lib_defineProperty(this, "track", () => this.store.track());
5735
+
5698
5736
  this.domGate = new util/* default.Gate */.Z.Gate();
5699
5737
  this.store = new Store(ApiURL, FileURL, RealtimeURL, inmem, fake, agenttoken);
5700
5738
  window.sbz_store = this.store;
@@ -5767,7 +5805,21 @@ class Widget {
5767
5805
  }
5768
5806
 
5769
5807
  async sendMessage(convoid, message) {
5770
- this.store.sendConvoEvent(convoid, 'message_sent', {
5808
+ if (!convoid) {
5809
+ const {
5810
+ convo,
5811
+ error
5812
+ } = await this.store.startConvo({
5813
+ message: message.text,
5814
+ initial_by: this.store.matchUser().id
5815
+ });
5816
+ if (error) return {
5817
+ error
5818
+ };
5819
+ convoid = convo.id;
5820
+ }
5821
+
5822
+ return this.store.sendConvoEvent(convoid, 'message_sent', {
5771
5823
  message
5772
5824
  });
5773
5825
  }
@@ -5786,11 +5838,11 @@ class Widget {
5786
5838
  this.pluginMgr.hideCurrentGreeting();
5787
5839
  }
5788
5840
 
5789
- async showWidget(view, convo) {
5841
+ async showWidget(view, cid) {
5790
5842
  await this.domGate.entry();
5791
5843
  this.pluginMgr.showCurrentChatbox({
5792
5844
  view,
5793
- cid: convo
5845
+ cid: cid
5794
5846
  });
5795
5847
  }
5796
5848