@subiz/widget-v4 4.0.77 → 4.0.80

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 (87) hide show
  1. package/assets/less/message.less +19 -3
  2. package/compiled_src/chatbox/ButtonAttachments.js +2 -1
  3. package/compiled_src/chatbox/Buttons.js +3 -3
  4. package/compiled_src/chatbox/Event.js +6 -3
  5. package/compiled_src/chatbox/GenericTemplateAttachments.js +15 -7
  6. package/compiled_src/chatbox/ProductAttachments.js +4 -4
  7. package/dist/0b82fa7e5c3b07b40a44.png +1 -0
  8. package/dist/0f4af006e38ee8b93633.png +1 -0
  9. package/dist/132.js +17 -61
  10. package/dist/178.js +341 -174
  11. package/dist/17f00e48d38.132.js +1 -0
  12. package/dist/17f00e48d38.178.js +1 -0
  13. package/dist/{180d0eaa4dc.213.js → 17f00e48d38.213.js} +0 -0
  14. package/dist/{180efeaa053.335.js → 17f00e48d38.335.js} +1 -1
  15. package/dist/17f00e48d38.362.js +1 -0
  16. package/dist/17f00e48d38.441.js +1 -0
  17. package/dist/{180d0eaa4dc.605.js → 17f00e48d38.605.js} +0 -0
  18. package/dist/17f00e48d38.678.js +1 -0
  19. package/dist/17f00e48d38.782.js +1 -0
  20. package/dist/17f00e48d38.app.js +1 -0
  21. package/dist/{180d0eaa4dc.index.html → 17f00e48d38.index.html} +1 -1
  22. package/dist/{180d0eaa4dc.library.html → 17f00e48d38.library.html} +1 -1
  23. package/dist/17f00e48d38.library.js +1 -0
  24. package/dist/{180d0eaa4dc.preview.html → 17f00e48d38.preview.html} +1 -1
  25. package/dist/17f00e48d38.preview.js +1 -0
  26. package/dist/17f00e48d38.screenshoot.js +1 -0
  27. package/dist/1ea1c6cd21d25176810c.png +1 -0
  28. package/dist/292d42404e1b03398f61.png +1 -0
  29. package/dist/312d376370831b7bea83.png +1 -0
  30. package/dist/313d1bfc1cf776d1aefe.png +1 -0
  31. package/dist/335.js +2 -2
  32. package/dist/362.js +71 -21
  33. package/dist/441.js +54 -136
  34. package/dist/4aa58bb7a66bb44975aa.png +1 -0
  35. package/dist/56ce063bc6c81adb7322.png +1 -0
  36. package/dist/678.js +70 -20
  37. package/dist/6a411166ef5cc79e0714.png +1 -0
  38. package/dist/6faf403782fefacc1649.png +1 -0
  39. package/dist/782.js +118 -21
  40. package/dist/79dca33c68fab79c067f.png +1 -0
  41. package/dist/82da1578fa84f9debaeb.png +1 -0
  42. package/dist/8b8e0f0824743974b282.png +1 -0
  43. package/dist/8d551390d81e39130a3c.png +1 -0
  44. package/dist/9fc61b9479877ebdb6c7.png +1 -0
  45. package/dist/HASH +1 -1
  46. package/dist/a165d31dcb3dc90f1057.png +1 -0
  47. package/dist/a98d4a5698812c4426b3.png +1 -0
  48. package/dist/c41606bf9d1b604e46d5.png +1 -0
  49. package/dist/ce1f7450ce6c1aacd330.png +1 -0
  50. package/dist/cf8c01e88f4770a6e3e5.png +1 -0
  51. package/dist/dfbcfeab1d5622a737e2.png +1 -0
  52. package/dist/e4893ed8c2f7b8329919.png +1 -0
  53. package/dist/ec2ab4eb4ef73d186186.png +1 -0
  54. package/dist/screenshoot.html +1 -1
  55. package/dist/screenshoot.js +83 -133
  56. package/package.json +1 -1
  57. package/src/chatbox/ButtonAttachments.js +1 -1
  58. package/src/chatbox/Buttons.js +3 -3
  59. package/src/chatbox/Event.js +3 -3
  60. package/src/chatbox/GenericTemplateAttachments.js +34 -26
  61. package/src/chatbox/ProductAttachments.js +4 -4
  62. package/dist/180d0eaa4dc.132.js +0 -1
  63. package/dist/180d0eaa4dc.178.js +0 -1
  64. package/dist/180d0eaa4dc.335.js +0 -1
  65. package/dist/180d0eaa4dc.362.js +0 -1
  66. package/dist/180d0eaa4dc.441.js +0 -1
  67. package/dist/180d0eaa4dc.678.js +0 -1
  68. package/dist/180d0eaa4dc.782.js +0 -1
  69. package/dist/180d0eaa4dc.app.js +0 -1
  70. package/dist/180d0eaa4dc.library.js +0 -1
  71. package/dist/180d0eaa4dc.preview.js +0 -1
  72. package/dist/180d0eaa4dc.screenshoot.js +0 -1
  73. package/dist/180efeaa053.132.js +0 -1
  74. package/dist/180efeaa053.178.js +0 -1
  75. package/dist/180efeaa053.213.js +0 -1
  76. package/dist/180efeaa053.362.js +0 -1
  77. package/dist/180efeaa053.441.js +0 -1
  78. package/dist/180efeaa053.605.js +0 -1
  79. package/dist/180efeaa053.678.js +0 -1
  80. package/dist/180efeaa053.782.js +0 -1
  81. package/dist/180efeaa053.app.js +0 -1
  82. package/dist/180efeaa053.index.html +0 -22
  83. package/dist/180efeaa053.library.html +0 -22
  84. package/dist/180efeaa053.library.js +0 -1
  85. package/dist/180efeaa053.preview.html +0 -759
  86. package/dist/180efeaa053.preview.js +0 -1
  87. package/dist/180efeaa053.screenshoot.js +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),
1351
1353
  /* harmony export */ "Kd": () => (/* binding */ getLocale),
1352
1354
  /* harmony export */ "Rs": () => (/* binding */ langMessages),
1353
- /* harmony export */ "WW": () => (/* binding */ downloadLanguage),
1354
- /* harmony export */ "u$": () => (/* binding */ Clickaway),
1355
- /* harmony export */ "up": () => (/* binding */ Com)
1355
+ /* harmony export */ "WW": () => (/* binding */ downloadLanguage)
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 */ "DEFVAL": () => (/* binding */ DEFVAL),
1450
- /* harmony export */ "DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL": () => (/* binding */ DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL),
1449
+ /* harmony export */ "parseJSON": () => (/* binding */ parseJSON),
1450
+ /* harmony export */ "stringify": () => (/* binding */ stringify),
1451
1451
  /* harmony export */ "Date": () => (/* binding */ Date),
1452
- /* harmony export */ "agentsOfConvo": () => (/* binding */ agentsOfConvo),
1453
- /* harmony export */ "checkRunConditions": () => (/* binding */ checkRunConditions),
1454
- /* harmony export */ "cloneDeep": () => (/* binding */ cloneDeep),
1452
+ /* harmony export */ "requestAnimationFrame": () => (/* binding */ requestAnimationFrame),
1453
+ /* harmony export */ "setTimeout": () => (/* binding */ setTimeout),
1454
+ /* harmony export */ "setInterval": () => (/* binding */ setInterval),
1455
1455
  /* harmony export */ "convoOfEv": () => (/* binding */ convoOfEv),
1456
1456
  /* harmony export */ "convoToEv": () => (/* binding */ convoToEv),
1457
- /* harmony export */ "detectLang": () => (/* binding */ detectLang),
1458
- /* harmony export */ "diffDay": () => (/* binding */ diffDay),
1459
- /* harmony export */ "diffYear": () => (/* binding */ diffYear),
1460
- /* harmony export */ "each": () => (/* binding */ each),
1461
- /* harmony export */ "filter": () => (/* binding */ filter),
1462
- /* harmony export */ "find": () => (/* binding */ find),
1463
- /* harmony export */ "formatCurrency": () => (/* binding */ formatCurrency),
1464
- /* harmony export */ "getAgentDisplayName": () => (/* binding */ getAgentDisplayName),
1465
- /* harmony export */ "getDayName": () => (/* binding */ getDayName),
1466
- /* harmony export */ "getIntegrationId": () => (/* binding */ getIntegrationId),
1467
- /* harmony export */ "getMs": () => (/* binding */ getMs),
1457
+ /* harmony export */ "setMsgField": () => (/* binding */ setMsgField),
1468
1458
  /* harmony export */ "getMsgField": () => (/* binding */ getMsgField),
1469
- /* harmony export */ "getUrlParameter": () => (/* binding */ getUrlParameter),
1470
- /* harmony export */ "getUserAttr": () => (/* binding */ getUserAttr),
1459
+ /* harmony export */ "merge": () => (/* binding */ merge),
1460
+ /* harmony export */ "cloneDeep": () => (/* binding */ cloneDeep),
1461
+ /* harmony export */ "randomString": () => (/* binding */ randomString),
1462
+ /* harmony export */ "filter": () => (/* binding */ filter),
1471
1463
  /* harmony export */ "includes": () => (/* binding */ includes),
1464
+ /* harmony export */ "map": () => (/* binding */ map),
1465
+ /* harmony export */ "each": () => (/* binding */ each),
1466
+ /* harmony export */ "usersOfConvo": () => (/* binding */ usersOfConvo),
1472
1467
  /* harmony export */ "isConvoSeen": () => (/* binding */ isConvoSeen),
1473
- /* harmony export */ "isEmail": () => (/* binding */ isEmail),
1474
- /* harmony export */ "isNumber": () => (/* binding */ isNumber),
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),
1475
+ /* harmony export */ "find": () => (/* binding */ find),
1476
+ /* harmony export */ "orderBy": () => (/* binding */ orderBy),
1477
+ /* harmony export */ "getIntegrationId": () => (/* binding */ getIntegrationId),
1475
1478
  /* harmony export */ "isPhone": () => (/* binding */ isPhone),
1476
1479
  /* harmony export */ "isURL": () => (/* binding */ isURL),
1477
- /* harmony export */ "isUserBanned": () => (/* binding */ isUserBanned),
1478
- /* harmony export */ "js2css": () => (/* binding */ js2css),
1480
+ /* harmony export */ "isNumber": () => (/* binding */ isNumber),
1481
+ /* harmony export */ "isEmail": () => (/* binding */ isEmail),
1479
1482
  /* 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 */ "getAgentDisplayName": () => (/* binding */ getAgentDisplayName),
1484
+ /* harmony export */ "isUserBanned": () => (/* binding */ isUserBanned),
1485
+ /* harmony export */ "setUserAttr": () => (/* binding */ setUserAttr),
1486
+ /* harmony export */ "getUserAttr": () => (/* binding */ getUserAttr),
1483
1487
  /* harmony export */ "norm": () => (/* binding */ norm),
1484
- /* harmony export */ "offsetToMin": () => (/* binding */ offsetToMin),
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),
1488
+ /* harmony export */ "noop": () => (/* binding */ noop),
1492
1489
  /* harmony export */ "replaceCssVariablePlugin": () => (/* binding */ replaceCssVariablePlugin),
1493
- /* harmony export */ "requestAnimationFrame": () => (/* binding */ requestAnimationFrame),
1494
- /* harmony export */ "sameDay": () => (/* binding */ sameDay),
1495
- /* harmony export */ "scrollIntoViewIfNeeded": () => (/* binding */ scrollIntoViewIfNeeded),
1490
+ /* harmony export */ "replaceCssVariable": () => (/* binding */ replaceCssVariable),
1491
+ /* harmony export */ "tokenize": () => (/* binding */ tokenize),
1496
1492
  /* 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),
1493
+ /* harmony export */ "DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL": () => (/* binding */ DEF_CHAT_BUTTON_BACKGROUND_IMAGE_URL),
1494
+ /* harmony export */ "DEFVAL": () => (/* binding */ DEFVAL),
1495
+ /* 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),
1500
+ /* harmony export */ "offsetToMin": () => (/* binding */ offsetToMin),
1501
+ /* harmony export */ "diffDay": () => (/* binding */ diffDay),
1502
+ /* harmony export */ "diffYear": () => (/* binding */ diffYear),
1503
+ /* harmony export */ "sameDay": () => (/* binding */ sameDay),
1501
1504
  /* harmony export */ "shortTime": () => (/* binding */ shortTime),
1502
- /* harmony export */ "size": () => (/* binding */ size),
1505
+ /* harmony export */ "unixSec": () => (/* binding */ unixSec),
1506
+ /* harmony export */ "getMs": () => (/* binding */ getMs),
1507
+ /* harmony export */ "detectLang": () => (/* binding */ detectLang),
1508
+ /* harmony export */ "getUrlParameter": () => (/* binding */ getUrlParameter),
1503
1509
  /* harmony export */ "sleep": () => (/* binding */ sleep),
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),
1510
+ /* harmony export */ "formatCurrency": () => (/* binding */ formatCurrency),
1510
1511
  /* harmony export */ "unicodeToAscii": () => (/* binding */ unicodeToAscii),
1511
- /* harmony export */ "unixSec": () => (/* binding */ unixSec),
1512
- /* harmony export */ "usersOfConvo": () => (/* binding */ usersOfConvo)
1512
+ /* harmony export */ "scrollIntoViewIfNeeded": () => (/* binding */ scrollIntoViewIfNeeded)
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 re = /^\d+$/;
1840
+ var reg = /^\d+$/;
1841
1841
  return re.test(String(num));
1842
1842
  }
1843
1843
  function isEmail(email) {
@@ -2869,9 +2869,7 @@ function trackInactivity(seconds, cb) {
2869
2869
  }
2870
2870
  }
2871
2871
  let timeOnPage = 0;
2872
- setInterval(() => {
2873
- timeOnPage += 5;
2874
- }, 5000);
2872
+ setInterval(() => timeOnPage++, 1000);
2875
2873
  function trackTimeOnPage(seconds, cb) {
2876
2874
  if (seconds < 1) {
2877
2875
  return setTimeout(function () {
@@ -3208,14 +3206,14 @@ class Pubsub {
3208
3206
 
3209
3207
  "use strict";
3210
3208
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3209
+ /* harmony export */ "sY": () => (/* binding */ S),
3210
+ /* harmony export */ "h": () => (/* binding */ v),
3211
3211
  /* harmony export */ "HY": () => (/* binding */ d),
3212
3212
  /* harmony export */ "Vf": () => (/* binding */ p),
3213
- /* harmony export */ "h": () => (/* binding */ v),
3214
- /* harmony export */ "sY": () => (/* binding */ S),
3215
3213
  /* harmony export */ "wA": () => (/* binding */ _)
3216
3214
  /* harmony export */ });
3217
3215
  /* unused harmony exports hydrate, createElement, isValidElement, cloneElement, createContext, toChildArray, options */
3218
- 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,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},_.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;
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;
3219
3217
  //# sourceMappingURL=preact.module.js.map
3220
3218
 
3221
3219
 
@@ -3366,7 +3364,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
3366
3364
  /******/
3367
3365
  /******/ /* webpack/runtime/jsonp chunk loading */
3368
3366
  /******/ (() => {
3369
- /******/ // no baseURI
3367
+ /******/ __webpack_require__.b = document.baseURI || self.location.href;
3370
3368
  /******/
3371
3369
  /******/ // object to store loaded and loading chunks
3372
3370
  /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
@@ -4320,9 +4318,7 @@ class Store {
4320
4318
 
4321
4319
  store_defineProperty(this, "seenQueue", []);
4322
4320
 
4323
- store_defineProperty(this, "_typing", util/* default.throttle */.Z.throttle(convoid => this.api.sendTyping(convoid), 3000, {
4324
- trailing: false
4325
- }));
4321
+ store_defineProperty(this, "_typing", util/* default.throttle */.Z.throttle(convoid => this.api.sendTyping(convoid), 3000));
4326
4322
 
4327
4323
  store_defineProperty(this, "onConvoEvent", (o, cb) => this.pubsub.on2(o, 'events', cb));
4328
4324
 
@@ -4342,10 +4338,7 @@ class Store {
4342
4338
  store_defineProperty(this, "setIsOpen", isopen => {
4343
4339
  let lastisopen = this.kv.match('isopen');
4344
4340
  this.kv.put('isopen', isopen);
4345
-
4346
- if (!lastisopen && isopen) {
4347
- sendEventToThirdParty('SUBIZ Chat', 'Opened', 'Subiz Windows');
4348
- }
4341
+ if (!lastisopen && isopen) sendEventToThirdParty('SUBIZ Chat', 'Opened', 'Subiz Windows');
4349
4342
  });
4350
4343
 
4351
4344
  store_defineProperty(this, "closePreview", () => this.kv.put('close_preview_at', new util/* default.Date */.Z.Date().getTime()));
@@ -4455,9 +4448,7 @@ class Store {
4455
4448
  platform: window.navigator.platform,
4456
4449
  referrer: document.URL,
4457
4450
  type: this.isMobile() ? 'mobile' : 'desktop',
4458
- language: navigator.language,
4459
- page_url: document.URL,
4460
- page_title: document.title
4451
+ language: navigator.language
4461
4452
  };
4462
4453
  let ga_client_id = getGaClientId();
4463
4454
  if (ga_client_id) device.ga_client_id = ga_client_id;
@@ -4960,7 +4951,9 @@ class Store {
4960
4951
  by: {
4961
4952
  id: user.id,
4962
4953
  type: 'user',
4963
- device: this.device
4954
+ device: {
4955
+ referrer: document.URL
4956
+ }
4964
4957
  },
4965
4958
  data,
4966
4959
  type,
@@ -5007,20 +5000,6 @@ class Store {
5007
5000
 
5008
5001
  this.onWs(ret);
5009
5002
  sendEventToThirdParty('SUBIZ Chat', 'Sent', 'User');
5010
- let lastMsgSent = this.kv.match('last_msg_sent');
5011
-
5012
- if (!lastMsgSent) {
5013
- let dataLayer = window.dataLayer || [];
5014
- dataLayer.push({
5015
- event: 'SUBIZ Chat',
5016
- event_action: 'Sent',
5017
- event_label: 'User',
5018
- first_interaction: 1
5019
- });
5020
- }
5021
-
5022
- this.kv.put('last_msg_sent', util/* default.Date.now */.Z.Date.now());
5023
- return ret;
5024
5003
  }
5025
5004
 
5026
5005
  _setConvo(convo) {
@@ -5154,7 +5133,7 @@ class Store {
5154
5133
 
5155
5134
  async loopTime() {
5156
5135
  let startms = util/* default.Date.now */.Z.Date.now();
5157
- if (!util/* default.get */.Z.get(this.kv.match('user'), 'id')) return setTimeout(() => this.loopTime(), 120000);
5136
+ if (!util/* default.get */.Z.get(this.kv.match('user'), 'id')) return setTimeout(() => this.loopTime(), 30000);
5158
5137
  let {
5159
5138
  body: t,
5160
5139
  error
@@ -5164,7 +5143,7 @@ class Store {
5164
5143
  var serverMs = new util/* default.Date */.Z.Date(t).getTime() + latences;
5165
5144
  var localMs = util/* default.Date.now */.Z.Date.now();
5166
5145
  this.timeDiff = Math.floor(serverMs - localMs);
5167
- setTimeout(() => this.loopTime(), 120000);
5146
+ setTimeout(() => this.loopTime(), 60000);
5168
5147
  }
5169
5148
 
5170
5149
  replaceFileUrl(src) {
@@ -5270,21 +5249,20 @@ const inmemCookie = {
5270
5249
  };
5271
5250
 
5272
5251
  function getGaClientId() {
5273
- if (!window.ga) return;
5274
- if (!window.ga.getAll) return;
5252
+ var clientId = '';
5253
+ if (!hasGA()) return clientId;
5275
5254
  var allTrackers = window.ga.getAll() || [];
5276
- let ga_client_id = '';
5277
5255
  allTrackers.forEach(function (tracker) {
5278
- ga_client_id = tracker.get('clientId');
5256
+ clientId = tracker.get('clientId');
5279
5257
  });
5280
- return ga_client_id;
5258
+ return clientId;
5281
5259
  }
5282
5260
 
5261
+ const hasGA = () => !!(window.ga && window.ga.getAll);
5262
+
5283
5263
  function getGaTrackingIds() {
5284
5264
  var trackingIds = [];
5285
- if (!(window.ga && window.ga.getAll)) return trackingIds;
5286
- if (!window.ga) return [];
5287
- if (!window.ga.getAll) return [];
5265
+ if (!hasGA()) return trackingIds;
5288
5266
  const allTrackers = window.ga.getAll() || [];
5289
5267
  allTrackers.forEach(function (tracker) {
5290
5268
  var trackingId = tracker.get('trackingId');
@@ -5302,20 +5280,12 @@ function sendToFBPixel(category, action, label) {
5302
5280
  }
5303
5281
 
5304
5282
  function sendToGA(category, action, label) {
5305
- console.log('SENT.', category, action, label);
5306
-
5307
- if (window.ga && window.ga.getAll) {
5308
- const allTrackers = window.ga.getAll() || [];
5309
- allTrackers.forEach(function (tracker) {
5310
- const name = tracker.get('name');
5311
- window.ga(name + '.send', 'event', category, action, label);
5312
- });
5313
- } else {
5314
- if (window.gtag) window.gtag('event', category, {
5315
- Action: action,
5316
- Label: label
5317
- });
5318
- }
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);
5288
+ });
5319
5289
  }
5320
5290
 
5321
5291
  function sendEventToThirdParty(category, action, label) {
@@ -5328,12 +5298,6 @@ function sendEventToThirdParty(category, action, label) {
5328
5298
  }));
5329
5299
  sendToGA(category, action, label);
5330
5300
  sendToFBPixel(category, action, label);
5331
- let dataLayer = window.dataLayer || [];
5332
- dataLayer.push({
5333
- event: category,
5334
- event_action: action,
5335
- event_label: label
5336
- });
5337
5301
  }
5338
5302
 
5339
5303
  let mobileCheck = function (a) {
@@ -5719,7 +5683,7 @@ util/* default.preloadWebfonts */.Z.preloadWebfonts(['Roboto'], [400, 500]);
5719
5683
 
5720
5684
  class Widget {
5721
5685
  constructor(ApiURL, FileURL, RealtimeURL, inmem, fake, agenttoken) {
5722
- lib_defineProperty(this, "version", () => '4.5');
5686
+ lib_defineProperty(this, "version", () => '4.4');
5723
5687
 
5724
5688
  lib_defineProperty(this, "setSetting", setting => this.store.setSetting({
5725
5689
  account_setting: setting
@@ -5803,21 +5767,7 @@ class Widget {
5803
5767
  }
5804
5768
 
5805
5769
  async sendMessage(convoid, message) {
5806
- if (!convoid) {
5807
- const {
5808
- convo,
5809
- error
5810
- } = await this.store.startConvo({
5811
- message: message.text,
5812
- initial_by: this.store.matchUser().id
5813
- });
5814
- if (error) return {
5815
- error
5816
- };
5817
- convoid = convo.id;
5818
- }
5819
-
5820
- return this.store.sendConvoEvent(convoid, 'message_sent', {
5770
+ this.store.sendConvoEvent(convoid, 'message_sent', {
5821
5771
  message
5822
5772
  });
5823
5773
  }
@@ -5836,11 +5786,11 @@ class Widget {
5836
5786
  this.pluginMgr.hideCurrentGreeting();
5837
5787
  }
5838
5788
 
5839
- async showWidget(view, cid) {
5789
+ async showWidget(view, convo) {
5840
5790
  await this.domGate.entry();
5841
5791
  this.pluginMgr.showCurrentChatbox({
5842
5792
  view,
5843
- cid: cid
5793
+ cid: convo
5844
5794
  });
5845
5795
  }
5846
5796
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subiz/widget-v4",
3
- "version": "4.0.77",
3
+ "version": "4.0.80",
4
4
  "main": "./compiled_src/lib.js",
5
5
  "scripts": {
6
6
  "dev": "npx webpack serve --config webpack.dev.js",
@@ -21,6 +21,6 @@ export default class ButtonAttachments extends Com {
21
21
  sb.each(sb.get(att, 'buttons') || [], btn => buttons.push(btn))
22
22
  })
23
23
 
24
- return <Buttons store={this.props.store} buttons={buttons} />
24
+ return <Buttons store={this.props.store} buttons={buttons} t={this.props.t}/>
25
25
  }
26
26
  }
@@ -13,7 +13,7 @@ export default class Buttons extends Com {
13
13
  if (button.type === 'call_button') {
14
14
  return (
15
15
  <a class='url-button-attachment' href={'tel:' + button.phone_number} key={index} title={button.title}>
16
- {button.title}
16
+ {this.props.t.i18n(button.i18n_title) || button.title}
17
17
  </a>
18
18
  )
19
19
  }
@@ -21,7 +21,7 @@ export default class Buttons extends Com {
21
21
  if (button.type === 'url_button') {
22
22
  return (
23
23
  <a class='url-button-attachment' href={button.url} target='_blank' key={index} title={button.title}>
24
- {button.title || button.url}
24
+ {this.props.t.i18n(button.i18n_title) || button.title || button.url}
25
25
  </a>
26
26
  )
27
27
  }
@@ -29,7 +29,7 @@ export default class Buttons extends Com {
29
29
  if (button.type === 'postback_button') {
30
30
  return (
31
31
  <a class='url-button-attachment' href='javascript:;' onClick={(_) => this.props.onSelect(button)}>
32
- {button.title}
32
+ {this.props.t.i18n(button.i18n_title) || button.title}
33
33
  </a>
34
34
  )
35
35
  }
@@ -130,7 +130,7 @@ export default class Event extends Com {
130
130
  <AudioAttachments store={this.props.store} ev={ev} />
131
131
  <VideoAttachments store={this.props.store} ev={ev} />
132
132
  <FileAttachments store={this.props.store} ev={ev} />
133
- <ButtonAttachments store={this.props.store} ev={ev} />
133
+ <ButtonAttachments store={this.props.store} ev={ev} t={this.props.t}/>
134
134
  <FormAttachments
135
135
  store={this.props.store}
136
136
  onSubmit={this.props.onFormSubmit}
@@ -139,7 +139,7 @@ export default class Event extends Com {
139
139
  t={this.props.t}
140
140
  />
141
141
  <FormSubmitAttachments store={this.props.store} ev={ev} t={this.props.t} />
142
- <GenericTemplateAttachments store={this.props.store} ev={ev} onSelect={(e) => this.choosePostbackBtn(e)} />
142
+ <GenericTemplateAttachments store={this.props.store} ev={ev} onSelect={(e) => this.choosePostbackBtn(e)} t={this.props.t}/>
143
143
  <ProductAttachments t={this.props.t} onPostback={(e) => this.choosePostbackBtn(e)} store={this.props.store} ev={ev} />
144
144
  <OrderAttachments t={this.props.t} store={this.props.store} ev={ev} />
145
145
  <QuickReplies store={this.props.store} ev={ev} onSelect={(e) => this.chooseQuickReply(e)} />
@@ -182,7 +182,7 @@ export default class Event extends Com {
182
182
  <AudioAttachments store={this.props.store} ev={ev} />
183
183
  <VideoAttachments store={this.props.store} ev={ev} />
184
184
  <FileAttachments store={this.props.store} ev={ev} />
185
- <ButtonAttachments store={this.props.store} ev={ev} />
185
+ <ButtonAttachments store={this.props.store} ev={ev} t={this.props.t}/>
186
186
  <FormAttachments store={this.props.store} onSubmit={this.props.onFormSubmit} ref={this.refForm} ev={ev} />
187
187
  <ProductAttachments t={this.props.t} store={this.props.store} ev={ev} />
188
188
  <FormSubmitAttachments store={this.props.store} ev={ev} />
@@ -2,11 +2,11 @@ import Buttons from './Buttons.js'
2
2
  import sb from '../util/index.js'
3
3
  import Drag from './touchscroll'
4
4
 
5
- import { Com } from '../common.js'
6
- import { h, createRef, Fragment } from 'preact'
5
+ import {Com} from '../common.js'
6
+ import {h, createRef, Fragment} from 'preact'
7
7
 
8
8
  export default class GenericTemplateAttachments extends Com {
9
- constructor (props) {
9
+ constructor(props) {
10
10
  super(props)
11
11
  this.state = {
12
12
  focusing: 0, // element index
@@ -15,39 +15,47 @@ export default class GenericTemplateAttachments extends Com {
15
15
  this.galleryRef = createRef()
16
16
  }
17
17
 
18
- componentDidMount () {
18
+ componentDidMount() {
19
19
  this.bindDrag()
20
20
  }
21
21
 
22
- focus (eleindex) {
23
- this.setState({ focusing: eleindex })
24
- // this.galleryRef.current.scrollTo({ left: 190 * eleindex - 20, behavior: 'smooth' })
25
- this.galleryRef.current.scrollLeft = 190 * eleindex - 20
22
+ focus(eleindex) {
23
+ this.setState({focusing: eleindex})
24
+ this.galleryRef.current.scrollTo({left: 220 * eleindex, behavior: 'smooth'})
25
+ //this.galleryRef.current.scrollLeft = 220 * eleindex - 20
26
26
  }
27
27
 
28
- render () {
28
+ render() {
29
29
  // dont support user sent button yet
30
30
  let byType = sb.get(this.props.ev, 'by.type')
31
31
  if (byType === 'user') return null
32
32
 
33
33
  // filter out all generic
34
34
  let attachments = sb.get(this.props.ev, 'data.message.attachments', [])
35
- let generics = sb.filter(attachments, att => sb.get(att, 'type') === 'generic')
35
+ let generics = sb.filter(attachments, (att) => sb.get(att, 'type') === 'generic')
36
36
 
37
37
  if (generics.length === 0) return null
38
38
  var $generics = sb.map(generics, (gen, index) => {
39
- var $eles = sb.map(gen.elements, ele => {
40
- let $title = ele.title ? <div class="generic-attachment--element-title">{ele.title}</div> : null
41
- let $subtitle = ele.subtitle ? <div class="generic-attachment--element-subtitle">{ele.subtitle}</div> : null
39
+ var $eles = sb.map(gen.elements, (ele) => {
40
+ let title = this.props.t.i18n(ele.i18n_title) || ele.title
41
+ let subtitle = this.props.t.i18n(ele.i18n_subtitle) || ele.subtitle
42
+ let $title = title ? <div class='generic-attachment--element-title'>{title}</div> : null
43
+ let $subtitle = subtitle ? <div class='generic-attachment--element-subtitle'>{subtitle}</div> : null
42
44
 
43
45
  return (
44
- <div class="generic-attachment--element swiper-slide">
46
+ <div class='generic-attachment--element swiper-slide'>
45
47
  <div>
46
- <img alt="generic attachment element" class="generic-attachment--element-img" src={this.props.store.replaceFileUrl(ele.image_url)} />
48
+ <img
49
+ alt='generic attachment element'
50
+ class='generic-attachment--element-img'
51
+ src={this.props.store.replaceFileUrl(ele.image_url)}
52
+ />
47
53
  </div>
48
- {$title}
49
- {$subtitle}
50
- <Buttons buttons={ele.buttons} onSelect={button => this.props.onSelect(button)} />
54
+ <div class='generic-attachment--element-content'>
55
+ {$title}
56
+ {$subtitle}
57
+ </div>
58
+ <Buttons buttons={ele.buttons} onSelect={(button) => this.props.onSelect(button)} t={this.props.t} />
51
59
  </div>
52
60
  )
53
61
  })
@@ -60,17 +68,17 @@ export default class GenericTemplateAttachments extends Com {
60
68
  if (this.state.focusing === elements.length - 1) rightNavigatorCls += ' generic-attachment-navigator--disabled'
61
69
 
62
70
  return (
63
- <div class="generic-attachment-container">
64
- <div class="generic-attachment" ref={this.galleryRef}>
71
+ <div class='generic-attachment-container'>
72
+ <div class='generic-attachment' ref={this.galleryRef}>
65
73
  {$eles}
66
74
  </div>
67
75
  {!this.props.store.isMobile() && (
68
76
  <Fragment>
69
- <div class={leftNavigatorCls} onClick={_ => this.focus(this.state.focusing - 1)}>
70
- <span class="generic-attachment-navigator-icon">&#8249;</span>
77
+ <div class={leftNavigatorCls} onClick={(_) => this.focus(this.state.focusing - 1)}>
78
+ <span class='generic-attachment-navigator-icon'>&#8249;</span>
71
79
  </div>
72
- <div class={rightNavigatorCls} onClick={_ => this.focus(this.state.focusing + 1)}>
73
- <span class="generic-attachment-navigator-icon">&#8250;</span>
80
+ <div class={rightNavigatorCls} onClick={(_) => this.focus(this.state.focusing + 1)}>
81
+ <span class='generic-attachment-navigator-icon'>&#8250;</span>
74
82
  </div>
75
83
  </Fragment>
76
84
  )}
@@ -81,9 +89,9 @@ export default class GenericTemplateAttachments extends Com {
81
89
  return $generics
82
90
  }
83
91
 
84
- bindDrag () {
92
+ bindDrag() {
85
93
  if (!this.props.store.isMobile()) return
86
94
  let eles = document.getElementsByClassName('generic-attachment')
87
- sb.map(eles, ele => Drag(ele, () => {}))
95
+ sb.map(eles, (ele) => Drag(ele, () => {}))
88
96
  }
89
97
  }