@subiz/widget-v4 4.1.44 → 4.1.46

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 (60) hide show
  1. package/assets/less/message.less +6 -0
  2. package/compiled_src/call/css.js +2 -1
  3. package/compiled_src/chatbox/ImageAttachments.js +89 -13
  4. package/compiled_src/chatbox/css.js +2 -1
  5. package/compiled_src/common.js +2 -1
  6. package/compiled_src/contact/contact.js +3 -2
  7. package/compiled_src/contact/css.js +2 -1
  8. package/compiled_src/lib.js +2 -1
  9. package/compiled_src/notif/css.js +2 -1
  10. package/compiled_src/popup/css.js +2 -1
  11. package/compiled_src/popup/popup.js +5 -7
  12. package/compiled_src/popup/tick.core.commonjs.js +2 -1
  13. package/compiled_src/store/api.js +1 -1
  14. package/compiled_src/store/store.js +18 -2
  15. package/compiled_src/util/campaign.js +6 -2
  16. package/compiled_src/util/common.js +26 -12
  17. package/compiled_src/util/index.js +2 -1
  18. package/compiled_src/util/order.js +4 -2
  19. package/compiled_src/util/pubsub.js +6 -3
  20. package/dist/{841.js → 132.js} +612 -528
  21. package/dist/18a02a9c54e.132.js +1 -0
  22. package/dist/18a02a9c54e.213.js +1 -0
  23. package/dist/18a02a9c54e.335.js +1 -0
  24. package/dist/{18b1ceaf2e0.362.js → 18a02a9c54e.362.js} +1 -1
  25. package/dist/18a02a9c54e.441.js +1 -0
  26. package/dist/18a02a9c54e.605.js +1 -0
  27. package/dist/{18b1ceaf2e0.782.js → 18a02a9c54e.782.js} +1 -1
  28. package/dist/18a02a9c54e.app.js +1 -0
  29. package/dist/{18b1ceaf2e0.index.html → 18a02a9c54e.index.html} +4 -4
  30. package/dist/{18b1ceaf2e0.library.html → 18a02a9c54e.library.html} +4 -4
  31. package/dist/18a02a9c54e.library.js +1 -0
  32. package/dist/{18b1ceaf2e0.preview.html → 18a02a9c54e.preview.html} +1 -1
  33. package/dist/18a02a9c54e.preview.js +1 -0
  34. package/dist/18a02a9c54e.screenshoot.js +1 -0
  35. package/dist/18a02a9c54e.webview.js +1 -0
  36. package/dist/213.js +100 -118
  37. package/dist/335.js +25 -25
  38. package/dist/362.js +1 -1
  39. package/dist/441.js +2855 -0
  40. package/dist/605.js +50 -50
  41. package/dist/782.js +1 -1
  42. package/dist/HASH +1 -1
  43. package/dist/screenshoot.html +1 -1
  44. package/dist/screenshoot.js +426 -430
  45. package/package.json +1 -1
  46. package/src/chatbox/ImageAttachments.js +93 -15
  47. package/src/popup/popup.js +8 -7
  48. package/src/store/api.js +1 -1
  49. package/src/store/store.js +15 -2
  50. package/dist/18b1ceaf2e0.213.js +0 -1
  51. package/dist/18b1ceaf2e0.335.js +0 -1
  52. package/dist/18b1ceaf2e0.605.js +0 -1
  53. package/dist/18b1ceaf2e0.841.js +0 -1
  54. package/dist/18b1ceaf2e0.app.js +0 -1
  55. package/dist/18b1ceaf2e0.library.js +0 -1
  56. package/dist/18b1ceaf2e0.preview.js +0 -1
  57. package/dist/18b1ceaf2e0.screenshoot.js +0 -1
  58. package/dist/18b1ceaf2e0.webview.js +0 -1
  59. /package/dist/{18b1ceaf2e0.178.js → 18a02a9c54e.178.js} +0 -0
  60. /package/dist/{18b1ceaf2e0.678.js → 18a02a9c54e.678.js} +0 -0
@@ -1,6 +1,6 @@
1
- (self["webpackChunk_subiz_widget_v4"] = self["webpackChunk_subiz_widget_v4"] || []).push([[841],{
1
+ (self["webpackChunk_subiz_widget_v4"] = self["webpackChunk_subiz_widget_v4"] || []).push([[132],{
2
2
 
3
- /***/ 8841:
3
+ /***/ 8132:
4
4
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
5
5
 
6
6
  "use strict";
@@ -25,7 +25,7 @@ var preact_module = __webpack_require__(6400);
25
25
  class Emoji extends common/* Com */.up {
26
26
  render() {
27
27
  var emojiCode = this.props.emojiCode;
28
- if (util/* default */.Z.size(emojiCode) < 3) return null;
28
+ if (util/* default.size */.Z.size(emojiCode) < 3) return null;
29
29
  var emojiText = emojiCode.replace(/:/g, '');
30
30
  return (0,preact_module.h)("i", {
31
31
  "data-tooltip": emojiCode,
@@ -51,11 +51,11 @@ class ChatButton extends common/* Com */.up {
51
51
  this.loadGreeting();
52
52
  this.props.store.onUpdate(this, _ => this.forceUpdate());
53
53
  this.props.store.onConvoEvent(this, ev => {
54
- if (util/* default */.Z.get(ev, 'type') !== 'message_sent') return;
55
- let bytype = util/* default */.Z.get(ev, 'by.type');
54
+ if (util/* default.get */.Z.get(ev, 'type') !== 'message_sent') return;
55
+ let bytype = util/* default.get */.Z.get(ev, 'by.type');
56
56
  if (bytype !== 'system' && bytype !== 'agent') return;
57
57
  let isquickreplies = false;
58
- util/* default */.Z.map(util/* default */.Z.get(ev, 'data.message.attachments', []), att => {
58
+ util/* default.map */.Z.map(util/* default.get */.Z.get(ev, 'data.message.attachments', []), att => {
59
59
  if (!att) return;
60
60
  if (att.type === 'quick_replies') {
61
61
  isquickreplies = true;
@@ -69,30 +69,30 @@ class ChatButton extends common/* Com */.up {
69
69
  });
70
70
  }
71
71
  fixMissingSetting(chatbox) {
72
- chatbox = util/* default */.Z.cloneDeep(chatbox);
73
- if (util/* default */.Z.get(chatbox, 'desktop_button.background_image_url')) {
72
+ chatbox = util/* default.cloneDeep */.Z.cloneDeep(chatbox);
73
+ if (util/* default.get */.Z.get(chatbox, 'desktop_button.background_image_url')) {
74
74
  chatbox.desktop_button.background_image_url = this.props.store.replaceFileUrl(chatbox.desktop_button.background_image_url);
75
75
  }
76
- if (util/* default */.Z.get(chatbox, 'desktop_button.background_mask_url')) {
76
+ if (util/* default.get */.Z.get(chatbox, 'desktop_button.background_mask_url')) {
77
77
  chatbox.desktop_button.background_mask_url = this.props.store.replaceFileUrl(chatbox.desktop_button.background_mask_url);
78
78
  }
79
- if (util/* default */.Z.get(chatbox, 'mobile_button.background_image_url')) {
79
+ if (util/* default.get */.Z.get(chatbox, 'mobile_button.background_image_url')) {
80
80
  chatbox.mobile_button.background_image_url = this.props.store.replaceFileUrl(chatbox.mobile_button.background_image_url);
81
81
  }
82
- if (util/* default */.Z.get(chatbox, 'mobile_button.background_mask_url')) {
82
+ if (util/* default.get */.Z.get(chatbox, 'mobile_button.background_mask_url')) {
83
83
  chatbox.mobile_button.background_mask_url = this.props.store.replaceFileUrl(chatbox.mobile_button.background_mask_url);
84
84
  }
85
85
  return chatbox;
86
86
  }
87
87
  render() {
88
88
  let accountSetting = this.props.plugin.chatbox;
89
- let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
89
+ let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
90
90
  if (this.props.store.isMobile()) {
91
- position = util/* default */.Z.get(accountSetting, 'mobile_button.position') || position;
92
- let hiddenButtonMobile = util/* default */.Z.get(accountSetting, 'mobile_button.hidden');
91
+ position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position') || position;
92
+ let hiddenButtonMobile = util/* default.get */.Z.get(accountSetting, 'mobile_button.hidden');
93
93
  if (hiddenButtonMobile) return null;
94
94
  }
95
- let hiddenButtonDesktop = util/* default */.Z.get(accountSetting, 'desktop_button.hidden');
95
+ let hiddenButtonDesktop = util/* default.get */.Z.get(accountSetting, 'desktop_button.hidden');
96
96
  if (hiddenButtonDesktop) return null;
97
97
  let cls = 'widget-layout widget-layout--' + position;
98
98
  let opacity = this.state.opacity;
@@ -111,11 +111,11 @@ class ChatButton extends common/* Com */.up {
111
111
  });
112
112
  }
113
113
  ShowGreeting() {
114
- let greeting = util/* default */.Z.get(this.props.plugin, 'chatbox.greeting', {});
114
+ let greeting = util/* default.get */.Z.get(this.props.plugin, 'chatbox.greeting', {});
115
115
  let agentM = this.props.store.matchAgent('*');
116
116
  let byid = greeting.agent_id;
117
117
  if (!byid) byid = randomAgent(agentM).id;
118
- let text = this.props.t.i18n(util/* default */.Z.get(greeting, 'greeting', {})) || greeting.message;
118
+ let text = this.props.t.i18n(util/* default.get */.Z.get(greeting, 'greeting', {})) || greeting.message;
119
119
  this.setState({
120
120
  previewEvent: {
121
121
  by: {
@@ -139,9 +139,9 @@ class ChatButton extends common/* Com */.up {
139
139
  }
140
140
  loadGreeting() {
141
141
  let accountSetting = this.props.plugin.chatbox;
142
- if (new util/* default */.Z.Date().getTime() - this.props.store.matchClosePreviewAt() < Ms30Mins) return;
143
- let greeting = util/* default */.Z.get(accountSetting, 'greeting', {});
144
- let text = this.props.t.i18n(util/* default */.Z.get(greeting, 'greeting', {})) || greeting.message;
142
+ if (new util/* default.Date */.Z.Date().getTime() - this.props.store.matchClosePreviewAt() < Ms30Mins) return;
143
+ let greeting = util/* default.get */.Z.get(accountSetting, 'greeting', {});
144
+ let text = this.props.t.i18n(util/* default.get */.Z.get(greeting, 'greeting', {})) || greeting.message;
145
145
  if (!text || !greeting.enabled) {
146
146
  this.setState({
147
147
  previewEvent: {}
@@ -152,8 +152,8 @@ class ChatButton extends common/* Com */.up {
152
152
  }
153
153
  onClick() {
154
154
  let lastview = this.props.store.matchLastview();
155
- if (util/* default */.Z.get(lastview, 'view')) {
156
- if (lastview.view !== 'list' || util/* default */.Z.size(this.props.store.matchConvo('*')) > 0) {
155
+ if (util/* default.get */.Z.get(lastview, 'view')) {
156
+ if (lastview.view !== 'list' || util/* default.size */.Z.size(this.props.store.matchConvo('*')) > 0) {
157
157
  return this.props.onClick && this.props.onClick(Object.assign({}, lastview.opts, {
158
158
  view: lastview.view
159
159
  }));
@@ -162,10 +162,10 @@ class ChatButton extends common/* Com */.up {
162
162
  return this.onPreviewClick();
163
163
  }
164
164
  onPreviewClick(e) {
165
- let cid = util/* default */.Z.convoOfEv(this.state.previewEvent);
165
+ let cid = util/* default.convoOfEv */.Z.convoOfEv(this.state.previewEvent);
166
166
  if (!cid) {
167
- let convos = util/* default */.Z.map(this.props.store.matchConvo('*'));
168
- let convo = util/* default */.Z.find(convos, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
167
+ let convos = util/* default.map */.Z.map(this.props.store.matchConvo('*'));
168
+ let convo = util/* default.find */.Z.find(convos, convo => !util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
169
169
  if (!convo) convo = convos[0] || {};
170
170
  cid = convo.id;
171
171
  }
@@ -185,13 +185,13 @@ class ChatButton extends common/* Com */.up {
185
185
  renderPreview() {
186
186
  let account = this.props.store.matchAccount();
187
187
  let accountSetting = this.props.plugin.chatbox;
188
- let byid = util/* default */.Z.get(this.state.previewEvent, 'by.display_id', util/* default */.Z.get(this.state.previewEvent, 'by.id'));
189
- let agent = util/* default */.Z.cloneDeep(this.props.store.matchAgent(byid)) || {};
190
- agent.fullname = agent.fullname || util/* default */.Z.get(account, 'name') || this.props.t('agent');
188
+ let byid = util/* default.get */.Z.get(this.state.previewEvent, 'by.display_id', util/* default.get */.Z.get(this.state.previewEvent, 'by.id'));
189
+ let agent = util/* default.cloneDeep */.Z.cloneDeep(this.props.store.matchAgent(byid)) || {};
190
+ agent.fullname = agent.fullname || util/* default.get */.Z.get(account, 'name') || this.props.t('agent');
191
191
  agent.avatar_url = agent.avatar_url || defaultAvatar;
192
- let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
192
+ let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
193
193
  if (this.props.store.isMobile()) {
194
- position = util/* default */.Z.get(accountSetting, 'mobile_button.position') || position;
194
+ position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position') || position;
195
195
  }
196
196
  if (accountSetting && accountSetting.hide_agent_profile) {
197
197
  agent = Object.assign({}, account, {
@@ -202,7 +202,7 @@ class ChatButton extends common/* Com */.up {
202
202
  let cls = 'widget-preview widget-preview--' + position;
203
203
  if (!this.state.displayPreview) cls += ' widget-preview--hidden';
204
204
  var tags = this.renderMessagePreview(this.state.previewEvent, this.props.t('sent_you_a_message'));
205
- if (util/* default */.Z.size(tags) === 0) cls += ' widget-preview--hidden';
205
+ if (util/* default.size */.Z.size(tags) === 0) cls += ' widget-preview--hidden';
206
206
  return (0,preact_module.h)("div", {
207
207
  class: cls
208
208
  }, (0,preact_module.h)("div", {
@@ -245,16 +245,16 @@ class ChatButton extends common/* Com */.up {
245
245
  renderButton() {
246
246
  let accountSetting = this.props.plugin.chatbox;
247
247
  accountSetting = this.fixMissingSetting(accountSetting);
248
- let imgsrc = util/* default */.Z.get(accountSetting, 'desktop_button.background_image_url') || util/* default */.Z.get(accountSetting, 'desktop_button.background_mask_url') || defaultBubble;
249
- let background = util/* default */.Z.get(accountSetting, 'background') || DEF_BG;
250
- let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
251
- let imgurl = util/* default */.Z.get(accountSetting, 'desktop_button.background_image_url');
252
- let maskurl = util/* default */.Z.get(accountSetting, 'desktop_button.background_mask_url');
248
+ let imgsrc = util/* default.get */.Z.get(accountSetting, 'desktop_button.background_image_url') || util/* default.get */.Z.get(accountSetting, 'desktop_button.background_mask_url') || defaultBubble;
249
+ let background = util/* default.get */.Z.get(accountSetting, 'background') || DEF_BG;
250
+ let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
251
+ let imgurl = util/* default.get */.Z.get(accountSetting, 'desktop_button.background_image_url');
252
+ let maskurl = util/* default.get */.Z.get(accountSetting, 'desktop_button.background_mask_url');
253
253
  if (this.props.store.isMobile()) {
254
- imgsrc = util/* default */.Z.get(accountSetting, 'mobile_button.background_image_url') || util/* default */.Z.get(accountSetting, 'mobile_button.background_mask_url') || imgsrc;
255
- position = util/* default */.Z.get(accountSetting, 'mobile_button.position') || position;
256
- let mobileimgurl = util/* default */.Z.get(accountSetting, 'mobile_button.background_image_url');
257
- let mobilemaskurl = util/* default */.Z.get(accountSetting, 'mobile_button.background_mask_url');
254
+ imgsrc = util/* default.get */.Z.get(accountSetting, 'mobile_button.background_image_url') || util/* default.get */.Z.get(accountSetting, 'mobile_button.background_mask_url') || imgsrc;
255
+ position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position') || position;
256
+ let mobileimgurl = util/* default.get */.Z.get(accountSetting, 'mobile_button.background_image_url');
257
+ let mobilemaskurl = util/* default.get */.Z.get(accountSetting, 'mobile_button.background_mask_url');
258
258
  if (mobileimgurl || mobilemaskurl) {
259
259
  imgurl = mobileimgurl;
260
260
  maskurl = mobilemaskurl;
@@ -350,14 +350,14 @@ class ChatButton extends common/* Com */.up {
350
350
  }
351
351
  renderMessagePreview(ev, defmsg) {
352
352
  defmsg = defmsg || 'Sent you a message';
353
- let message = util/* default */.Z.get(ev, 'data.message.text');
354
- var format = util/* default */.Z.get(ev, 'data.message.format');
353
+ let message = util/* default.get */.Z.get(ev, 'data.message.text');
354
+ var format = util/* default.get */.Z.get(ev, 'data.message.format');
355
355
  if (format === 'delta') return this.renderDeltaMessagePreview(ev, defmsg);
356
356
  if (format && format !== 'plaintext') message = defmsg;
357
- if (!message && util/* default */.Z.size(util/* default */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
357
+ if (!message && util/* default.size */.Z.size(util/* default.get */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
358
358
  if (!message) return null;
359
- let byType = util/* default */.Z.get(ev, 'by.type');
360
- var tags = util/* default */.Z.extractText(message).map(tag => {
359
+ let byType = util/* default.get */.Z.get(ev, 'by.type');
360
+ var tags = util/* default.extractText */.Z.extractText(message).map(tag => {
361
361
  if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
362
362
  emojiCode: tag.text,
363
363
  byType: byType
@@ -368,17 +368,17 @@ class ChatButton extends common/* Com */.up {
368
368
  }
369
369
  renderDeltaMessagePreview(ev, defmsg) {
370
370
  defmsg = defmsg || 'Sent you a message';
371
- let message = util/* default */.Z.get(ev, 'data.message.quill_delta');
372
- if (!message && util/* default */.Z.size(util/* default */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
371
+ let message = util/* default.get */.Z.get(ev, 'data.message.quill_delta');
372
+ if (!message && util/* default.size */.Z.size(util/* default.get */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
373
373
  if (!message) return;
374
- let quilldeltas = util/* default */.Z.parseJSON(message) || {};
375
- if (!quilldeltas || util/* default */.Z.size(quilldeltas.ops) === 0) return null;
376
- let $deltas = util/* default */.Z.map(quilldeltas.ops, delta => {
374
+ let quilldeltas = util/* default.parseJSON */.Z.parseJSON(message) || {};
375
+ if (!quilldeltas || util/* default.size */.Z.size(quilldeltas.ops) === 0) return null;
376
+ let $deltas = util/* default.map */.Z.map(quilldeltas.ops, delta => {
377
377
  let html = '';
378
378
  let insert = delta.insert;
379
379
  let attributes = delta.attributes;
380
380
  if (insert.dynamicField) {
381
- return util/* default */.Z.get(insert, 'dynamicField.text', '');
381
+ return util/* default.get */.Z.get(insert, 'dynamicField.text', '');
382
382
  }
383
383
  if (insert.emoji) return (0,preact_module.h)(Emoji, {
384
384
  emojiCode: `:${insert.emoji}:`
@@ -403,8 +403,8 @@ class ChatButton extends common/* Com */.up {
403
403
  }
404
404
  }
405
405
  function randomAgent(agentM) {
406
- var agents = util/* default */.Z.filter(agentM, ag => ag.type === 'agent');
407
- return agents[Math.floor(Math.random() * util/* default */.Z.size(agents))] || {};
406
+ var agents = util/* default.filter */.Z.filter(agentM, ag => ag.type === 'agent');
407
+ return agents[Math.floor(Math.random() * util/* default.size */.Z.size(agents))] || {};
408
408
  }
409
409
  const Ms30Mins = 30 * 60 * 1000;
410
410
  const DEF_BG_URL = 'https://vcdn.subiz-cdn.com/file/bubble_11.svg?v=5';
@@ -420,7 +420,7 @@ class PoweredBy extends common/* Com */.up {
420
420
  render() {
421
421
  if (this.props.store.isMobile()) return null;
422
422
  let user = this.props.store.matchUser() || {};
423
- var link = `https://subiz.com.vn/?utm_source=${window.location.host || `id-${user.account_id}`}&utm_medium=widget&utm_campaign=widget_referral`;
423
+ var link = `https://subiz.com.vn/?utm_source=id-${user.account_id}&utm_medium=widget&utm_campaign=widget_referral`;
424
424
  return (0,preact_module.h)("div", {
425
425
  class: "poweredby"
426
426
  }, (0,preact_module.h)("a", {
@@ -466,17 +466,17 @@ class AgentsAvatar extends common/* Com */.up {
466
466
  })));
467
467
  }
468
468
  let agentM = this.props.store.matchAgent('*');
469
- var agents = util/* default */.Z.map(this.props.agent_ids, id => agentM[id]);
470
- if (this.props.agent_ids === undefined || util/* default */.Z.size(this.props.agent_ids) === 0) {
471
- var agids = util/* default */.Z.get(accountSetting, 'header.agent_ids', []);
472
- agids = util/* default */.Z.filter(agids, id => !!agentM[id]);
469
+ var agents = util/* default.map */.Z.map(this.props.agent_ids, id => agentM[id]);
470
+ if (this.props.agent_ids === undefined || util/* default.size */.Z.size(this.props.agent_ids) === 0) {
471
+ var agids = util/* default.get */.Z.get(accountSetting, 'header.agent_ids', []);
472
+ agids = util/* default.filter */.Z.filter(agids, id => !!agentM[id]);
473
473
  if (agids.length !== 0) {
474
- agents = util/* default */.Z.map(agids, id => agentM[id]);
474
+ agents = util/* default.map */.Z.map(agids, id => agentM[id]);
475
475
  } else {
476
- agents = util/* default */.Z.filter(agentM, agent => agent.type === 'agent');
476
+ agents = util/* default.filter */.Z.filter(agentM, agent => agent.type === 'agent');
477
477
  }
478
478
  }
479
- agents = util/* default */.Z.filter(agents, ag => !!ag);
479
+ agents = util/* default.filter */.Z.filter(agents, ag => !!ag);
480
480
  if (agents.length === 0) {
481
481
  return (0,preact_module.h)("div", {
482
482
  class: `group-avatar group-avatar--${mode}`
@@ -590,7 +590,7 @@ class Header extends common/* Com */.up {
590
590
  let renderSocial = false;
591
591
  let renderTeam = false;
592
592
  let accSetting = this.props.plugin.chatbox || {};
593
- let layout = util/* default */.Z.get(accSetting, 'header.layout');
593
+ let layout = util/* default.get */.Z.get(accSetting, 'header.layout');
594
594
  let renderCollapsed = this.props.view !== 'list' && headerMode === 'collapsed';
595
595
  let renderClassic = !renderCollapsed && layout === 'classic';
596
596
  if (renderCollapsed || layout == 'classic') {
@@ -608,9 +608,9 @@ class Header extends common/* Com */.up {
608
608
  let accSetting = this.props.plugin.chatbox || {};
609
609
  let acc = this.props.store.matchAccount() || {};
610
610
  let state = acc.is_online ? this.props.t('agent_online') : this.props.t('agent_offline');
611
- let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
611
+ let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
612
612
  let desc = this.props.t.i18n(tagline) || accSetting.introduction || state;
613
- let agentIdsJoined = util/* default */.Z.map(this.getAgentJoined(this.props.cid), agent => agent.id);
613
+ let agentIdsJoined = util/* default.map */.Z.map(this.getAgentJoined(this.props.cid), agent => agent.id);
614
614
  let cls = 'widget-header--inner widget-header--inner--collapsed';
615
615
  if (!show) cls += ' widget-header--inner--hidden';
616
616
  let $back = null;
@@ -636,8 +636,8 @@ class Header extends common/* Com */.up {
636
636
  renderSocial(show) {
637
637
  let accSetting = this.props.plugin.chatbox || {};
638
638
  let acc = this.props.store.matchAccount() || {};
639
- let links = util/* default */.Z.get(accSetting, 'header.links') || [];
640
- let $links = util/* default */.Z.map(links, link => {
639
+ let links = util/* default.get */.Z.get(accSetting, 'header.links') || [];
640
+ let $links = util/* default.map */.Z.map(links, link => {
641
641
  if (!link.url || !link.type || link.type === 'subiz') return null;
642
642
  if (link.type === 'email') {
643
643
  return (0,preact_module.h)("div", null, (0,preact_module.h)("a", {
@@ -658,9 +658,9 @@ class Header extends common/* Com */.up {
658
658
  });
659
659
  const DEFTEAMINTO = `Chúng tôi sẵn sàng trợ giúp :wave:.
660
660
  Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn`;
661
- let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
661
+ let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
662
662
  var teamintro = this.props.t.i18n(tagline) || accSetting.introduction || this.props.t('team_intro') || DEFTEAMINTO;
663
- var tags = util/* default */.Z.extractText(teamintro).map(tag => {
663
+ var tags = util/* default.extractText */.Z.extractText(teamintro).map(tag => {
664
664
  if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
665
665
  emojiCode: tag.text
666
666
  });
@@ -681,7 +681,7 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
681
681
  }, (0,preact_module.h)("img", {
682
682
  alt: "logo",
683
683
  class: "social__account_logo",
684
- src: this.props.store.replaceFileUrl(util/* default */.Z.get(acc, 'logo_url'))
684
+ src: this.props.store.replaceFileUrl(util/* default.get */.Z.get(acc, 'logo_url'))
685
685
  }), (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
686
686
  class: "social__introduction"
687
687
  }, tags), (0,preact_module.h)("div", {
@@ -692,9 +692,9 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
692
692
  let accSetting = this.props.plugin.chatbox || {};
693
693
  const DEFTEAMINTO = `Chúng tôi sẵn sàng trợ giúp :wave:.
694
694
  Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi của bạn`;
695
- let tagline = util/* default */.Z.get(accSetting, `tagline`, {});
695
+ let tagline = util/* default.get */.Z.get(accSetting, `tagline`, {});
696
696
  var teamintro = this.props.t.i18n(tagline) || accSetting.introduction || this.props.t('team_intro') || DEFTEAMINTO;
697
- var tags = util/* default */.Z.extractText(teamintro).map(tag => {
697
+ var tags = util/* default.extractText */.Z.extractText(teamintro).map(tag => {
698
698
  if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
699
699
  emojiCode: tag.text
700
700
  });
@@ -728,19 +728,19 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
728
728
  let accSetting = this.props.plugin.chatbox || {};
729
729
  let acc = this.props.store.matchAccount() || {};
730
730
  let agentsJoined = this.getAgentJoined(this.props.cid);
731
- let caption = util/* default */.Z.get(this.props.plugin, 'chatbox.caption', {});
731
+ let caption = util/* default.get */.Z.get(this.props.plugin, 'chatbox.caption', {});
732
732
  let title = this.props.t.i18n(caption) || accSetting.title;
733
733
  return getJoinedNameMember(agentsJoined) || title || acc.name || this.props.t('widget_title');
734
734
  }
735
735
  renderBackButton() {
736
736
  let allconvos = this.props.store.matchConvo('*');
737
- if (util/* default */.Z.size(allconvos) === 0) return null;
737
+ if (util/* default.size */.Z.size(allconvos) === 0) return null;
738
738
  var $unreadcount = null;
739
739
  let user = this.props.store.matchUser();
740
740
  let unreadcount = 0;
741
- util/* default */.Z.map(allconvos, convo => {
741
+ util/* default.map */.Z.map(allconvos, convo => {
742
742
  if (convo.id == this.props.cid) return;
743
- if (!util/* default */.Z.isConvoSeen(convo, user.id)) unreadcount++;
743
+ if (!util/* default.isConvoSeen */.Z.isConvoSeen(convo, user.id)) unreadcount++;
744
744
  });
745
745
  if (unreadcount !== 0) {
746
746
  $unreadcount = (0,preact_module.h)("span", {
@@ -779,14 +779,14 @@ Vui lòng hỏi chúng tôi bất cứ điều gì hoặc chia sẻ phản hồi
779
779
  }
780
780
  getAgentJoined(cid) {
781
781
  var convo = this.props.store.matchConvo(cid) || {};
782
- let joined = util/* default */.Z.filter(convo.members, mem => mem.type === 'agent' && mem.membership === 'active');
782
+ let joined = util/* default.filter */.Z.filter(convo.members, mem => mem.type === 'agent' && mem.membership === 'active');
783
783
  return joined;
784
784
  }
785
785
  }
786
786
  let getJoinedNameMember = agents => {
787
- agents = util/* default */.Z.filter(agents, agent => util/* default */.Z.trim(agent.fullname));
787
+ agents = util/* default.filter */.Z.filter(agents, agent => util/* default.trim */.Z.trim(agent.fullname));
788
788
  if (!agents.length) return null;
789
- return util/* default */.Z.map(agents, agent => agent.fullname).join(', ');
789
+ return util/* default.map */.Z.map(agents, agent => agent.fullname).join(', ');
790
790
  };
791
791
  ;// CONCATENATED MODULE: ./src/chatbox/MessageInput.js
792
792
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -799,22 +799,22 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
799
799
  class MessageInput extends common/* Com */.up {
800
800
  constructor(props) {
801
801
  super(props);
802
- _defineProperty(this, "onEnter", util/* default */.Z.throttle(function () {
802
+ _defineProperty(this, "onEnter", util/* default.throttle */.Z.throttle(function () {
803
803
  this.submitMessage();
804
804
  }, 50));
805
805
  this.refFileInput = (0,preact_module/* createRef */.Vf)();
806
806
  this.refMessageInput = (0,preact_module/* createRef */.Vf)();
807
807
  this.props.store.onUpdate(this, _ => this.forceUpdate());
808
808
  this.props.store.onConvoEvent(this, ev => {
809
- var evcid = util/* default */.Z.convoOfEv(ev);
809
+ var evcid = util/* default.convoOfEv */.Z.convoOfEv(ev);
810
810
  if (evcid !== this.props.cid) return;
811
811
  this.forceUpdate();
812
812
  });
813
813
  this.focus();
814
- this._forceUpdate = util/* default */.Z.throttle(() => {
814
+ this._forceUpdate = util/* default.throttle */.Z.throttle(() => {
815
815
  this.forceUpdate();
816
816
  }, 500);
817
- this.resizeInput = util/* default */.Z.throttle(function () {
817
+ this.resizeInput = util/* default.throttle */.Z.throttle(function () {
818
818
  const input = this.refMessageInput.current;
819
819
  input.style.setProperty('height', '1em', 'important');
820
820
  const height = Math.min(200, input.scrollHeight);
@@ -834,7 +834,7 @@ class MessageInput extends common/* Com */.up {
834
834
  class: "message-input--button message-input--attachment-button",
835
835
  onClick: e => this.selectFile(e)
836
836
  }));
837
- var msg = util/* default */.Z.trim(this.refMessageInput.current && this.refMessageInput.current.value);
837
+ var msg = util/* default.trim */.Z.trim(this.refMessageInput.current && this.refMessageInput.current.value);
838
838
  if (msg.length > 0) {
839
839
  buttons = (0,preact_module.h)("div", {
840
840
  class: "d-flex flex-row align-self-end"
@@ -873,30 +873,30 @@ class MessageInput extends common/* Com */.up {
873
873
  }
874
874
  hasUnfinishRequiredFormOrLock() {
875
875
  let convo = this.props.store.matchConvo(this.props.cid);
876
- if (util/* default */.Z.get(convo, 'state') === 'ended') return false;
876
+ if (util/* default.get */.Z.get(convo, 'state') === 'ended') return false;
877
877
  let events = this.props.store.listEvents(this.props.cid);
878
- events = util/* default */.Z.orderBy(events, 'created', 'desc').filter(ev => ev.type === 'message_sent');
879
- let attachments = util/* default */.Z.get(events[0], 'data.message.attachments', []);
880
- let lock = util/* default */.Z.find(attachments, att => util/* default */.Z.get(att, 'lock_input'));
878
+ events = util/* default.orderBy */.Z.orderBy(events, 'created', 'desc').filter(ev => ev.type === 'message_sent');
879
+ let attachments = util/* default.get */.Z.get(events[0], 'data.message.attachments', []);
880
+ let lock = util/* default.find */.Z.find(attachments, att => util/* default.get */.Z.get(att, 'lock_input'));
881
881
  if (lock) return true;
882
882
  var last_agent_sent;
883
883
  for (let ev of events) {
884
- if (util/* default */.Z.get(ev, 'by.type') === 'user') continue;
884
+ if (util/* default.get */.Z.get(ev, 'by.type') === 'user') continue;
885
885
  last_agent_sent = ev;
886
886
  break;
887
887
  }
888
- attachments = util/* default */.Z.get(last_agent_sent, 'data.message.attachments', []);
889
- let pendingForms = util/* default */.Z.filter(attachments, att => {
888
+ attachments = util/* default.get */.Z.get(last_agent_sent, 'data.message.attachments', []);
889
+ let pendingForms = util/* default.filter */.Z.filter(attachments, att => {
890
890
  if (!att) return false;
891
891
  if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
892
892
  var form = att.form;
893
893
  if (!form) return false;
894
- var state = util/* default */.Z.parseJSON(form.state) || {};
894
+ var state = util/* default.parseJSON */.Z.parseJSON(form.state) || {};
895
895
  if (!state.require_finished && att.type !== 'ask_info_form') return false;
896
896
  if (isSummited(att.form)) return false;
897
897
  return true;
898
898
  });
899
- return util/* default */.Z.size(pendingForms) > 0;
899
+ return util/* default.size */.Z.size(pendingForms) > 0;
900
900
  }
901
901
  renderEmojiPopup() {
902
902
  if (!this.state.openEmoji) return null;
@@ -1000,10 +1000,10 @@ class MessageInput extends common/* Com */.up {
1000
1000
  focus() {
1001
1001
  if (this.props.disabled) return;
1002
1002
  this.refMessageInput.current && this.refMessageInput.current.focus();
1003
- util/* default */.Z.setTimeout(() => {
1003
+ util/* default.setTimeout */.Z.setTimeout(() => {
1004
1004
  this.refMessageInput.current && this.refMessageInput.current.focus();
1005
1005
  });
1006
- util/* default */.Z.setTimeout(() => {
1006
+ util/* default.setTimeout */.Z.setTimeout(() => {
1007
1007
  this.refMessageInput.current && this.refMessageInput.current.focus();
1008
1008
  }, 100);
1009
1009
  }
@@ -1053,9 +1053,9 @@ class MessageInput extends common/* Com */.up {
1053
1053
  $input.value = '';
1054
1054
  }
1055
1055
  _sendFile(files) {
1056
- if (util/* default */.Z.size(files) === 0) return;
1056
+ if (util/* default.size */.Z.size(files) === 0) return;
1057
1057
  if (this.props.disabled) return;
1058
- let attachments = util/* default */.Z.map(files, file => {
1058
+ let attachments = util/* default.map */.Z.map(files, file => {
1059
1059
  return {
1060
1060
  type: 'file',
1061
1061
  mimetype: file.type,
@@ -1069,7 +1069,7 @@ class MessageInput extends common/* Com */.up {
1069
1069
  });
1070
1070
  }
1071
1071
  async submitMessage(msg) {
1072
- msg = msg || util/* default */.Z.trim(this.refMessageInput.current.value) || '';
1072
+ msg = msg || util/* default.trim */.Z.trim(this.refMessageInput.current.value) || '';
1073
1073
  if (!msg) return;
1074
1074
  if (this.props.disabled) return;
1075
1075
  this.refMessageInput.current.value = '';
@@ -1088,7 +1088,7 @@ class MessageInput extends common/* Com */.up {
1088
1088
  }
1089
1089
  pasteImage(event) {
1090
1090
  if (!window.File || !window.FileReader || !window.FileList || !window.Blob) return;
1091
- let now = new util/* default */.Z.Date();
1091
+ let now = new util/* default.Date */.Z.Date();
1092
1092
  let year = now.getFullYear();
1093
1093
  let month = now.getMonth() + 1;
1094
1094
  let date = now.getDate();
@@ -1110,8 +1110,8 @@ class MessageInput extends common/* Com */.up {
1110
1110
  }
1111
1111
  }
1112
1112
  function isSummited(form) {
1113
- let fields = util/* default */.Z.get(form, 'fields') || [];
1114
- return util/* default */.Z.find(fields, field => !!field.answered);
1113
+ let fields = util/* default.get */.Z.get(form, 'fields') || [];
1114
+ return util/* default.find */.Z.find(fields, field => !!field.answered);
1115
1115
  }
1116
1116
  ;// CONCATENATED MODULE: ./src/chatbox/ImageAttachments.js
1117
1117
 
@@ -1122,12 +1122,12 @@ class ImageAttachment extends common/* Com */.up {
1122
1122
  super(props);
1123
1123
  }
1124
1124
  render() {
1125
- var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
1125
+ var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
1126
1126
  var images = [];
1127
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
1128
- util/* default */.Z.each(attachments, (att, i) => {
1127
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
1128
+ util/* default.each */.Z.each(attachments, (att, i) => {
1129
1129
  if (!att) return;
1130
- if (!util/* default */.Z.includes(att.mimetype, 'image')) return;
1130
+ if (!util/* default.includes */.Z.includes(att.mimetype, 'image')) return;
1131
1131
  if (!att.url) return;
1132
1132
  var uri = att.url;
1133
1133
  if (!uri.startsWith('https://') && !uri.startsWith('http://') && !uri.startsWith('content://') && !uri.startsWith('data:')) {
@@ -1136,7 +1136,7 @@ class ImageAttachment extends common/* Com */.up {
1136
1136
  images.push(att);
1137
1137
  });
1138
1138
  if (images.length === 0) return null;
1139
- var $images = util/* default */.Z.map(images, (image, index) => (0,preact_module.h)("div", {
1139
+ var $images = util/* default.map */.Z.map(images, (image, index) => (0,preact_module.h)("div", {
1140
1140
  class: `image-attachment image-attachment--${byType}`
1141
1141
  }, (0,preact_module.h)("a", {
1142
1142
  href: this.props.store.replaceFileUrl(image.thumbnail_url || image.url),
@@ -1167,15 +1167,15 @@ class AudioAttachments extends common/* Com */.up {
1167
1167
  super(props);
1168
1168
  }
1169
1169
  render() {
1170
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
1171
- var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
1170
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
1171
+ var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
1172
1172
  var audios = [];
1173
- util/* default */.Z.each(attachments, (att, i) => {
1173
+ util/* default.each */.Z.each(attachments, (att, i) => {
1174
1174
  if (!att) return;
1175
- if (util/* default */.Z.includes(att.mimetype, 'audio')) audios.push(att);
1175
+ if (util/* default.includes */.Z.includes(att.mimetype, 'audio')) audios.push(att);
1176
1176
  });
1177
1177
  if (audios.length === 0) return null;
1178
- var $audios = util/* default */.Z.map(audios, (audio, index) => {
1178
+ var $audios = util/* default.map */.Z.map(audios, (audio, index) => {
1179
1179
  return (0,preact_module.h)("div", {
1180
1180
  key: index,
1181
1181
  class: `audio-attachment audio-attachment--${byType}`
@@ -1198,18 +1198,18 @@ class AudioAttachments extends common/* Com */.up {
1198
1198
 
1199
1199
  class FileAttachments extends common/* Com */.up {
1200
1200
  render() {
1201
- var byType = util/* default */.Z.get(this.props.ev, 'by.type', 'agent');
1202
- var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
1201
+ var byType = util/* default.get */.Z.get(this.props.ev, 'by.type', 'agent');
1202
+ var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
1203
1203
  var files = [];
1204
- util/* default */.Z.each(attachments, att => {
1204
+ util/* default.each */.Z.each(attachments, att => {
1205
1205
  if (!att) return;
1206
1206
  if (!att.url && !att._file) return;
1207
- if (!util/* default */.Z.includes(att.mimetype, 'video') && !util/* default */.Z.includes(att.mimetype, 'audio') && !util/* default */.Z.includes(att.mimetype, 'image') && att.type !== 'button' && att.type !== 'quick_replies' && att.type !== 'form' && att.type !== 'form_submit') {
1207
+ if (!util/* default.includes */.Z.includes(att.mimetype, 'video') && !util/* default.includes */.Z.includes(att.mimetype, 'audio') && !util/* default.includes */.Z.includes(att.mimetype, 'image') && att.type !== 'button' && att.type !== 'quick_replies' && att.type !== 'form' && att.type !== 'form_submit') {
1208
1208
  files.push(att);
1209
1209
  }
1210
1210
  });
1211
1211
  if (files.length === 0) return null;
1212
- var $files = util/* default */.Z.map(files, (file, index) => {
1212
+ var $files = util/* default.map */.Z.map(files, (file, index) => {
1213
1213
  return (0,preact_module.h)("div", {
1214
1214
  key: index,
1215
1215
  class: `file-attachment file-attachment--${byType}`
@@ -1237,8 +1237,8 @@ class Buttons extends common/* Com */.up {
1237
1237
  super(props);
1238
1238
  }
1239
1239
  render() {
1240
- if (util/* default */.Z.size(this.props.buttons) === 0) return null;
1241
- var $buttons = util/* default */.Z.map(this.props.buttons, (button, index) => {
1240
+ if (util/* default.size */.Z.size(this.props.buttons) === 0) return null;
1241
+ var $buttons = util/* default.map */.Z.map(this.props.buttons, (button, index) => {
1242
1242
  if (button.type === 'call_button') {
1243
1243
  return (0,preact_module.h)("a", {
1244
1244
  class: "url-button-attachment",
@@ -1282,13 +1282,13 @@ class ButtonAttachments extends common/* Com */.up {
1282
1282
  super(props);
1283
1283
  }
1284
1284
  render() {
1285
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
1285
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
1286
1286
  if (byType === 'user') return null;
1287
1287
  let buttons = [];
1288
- let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
1289
- util/* default */.Z.each(attachments, (att, i) => {
1290
- if (!att || util/* default */.Z.get(att, 'type') !== 'button') return;
1291
- util/* default */.Z.each(util/* default */.Z.get(att, 'buttons') || [], btn => buttons.push(btn));
1288
+ let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
1289
+ util/* default.each */.Z.each(attachments, (att, i) => {
1290
+ if (!att || util/* default.get */.Z.get(att, 'type') !== 'button') return;
1291
+ util/* default.each */.Z.each(util/* default.get */.Z.get(att, 'buttons') || [], btn => buttons.push(btn));
1292
1292
  });
1293
1293
  return (0,preact_module.h)(Buttons, {
1294
1294
  store: this.props.store,
@@ -1306,21 +1306,21 @@ class QuickReplies extends common/* Com */.up {
1306
1306
  super(props);
1307
1307
  }
1308
1308
  render() {
1309
- if (util/* default */.Z.get(this.props.ev, 'by.type') === 'user') return null;
1309
+ if (util/* default.get */.Z.get(this.props.ev, 'by.type') === 'user') return null;
1310
1310
  let quickreplies = [];
1311
- util/* default */.Z.map(util/* default */.Z.get(this.props.ev, 'data.message.attachments', []), att => {
1311
+ util/* default.map */.Z.map(util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []), att => {
1312
1312
  if (!att) return;
1313
1313
  if (att.type === 'quick_replies') {
1314
- quickreplies = util/* default */.Z.get(att, 'quick_replies', []);
1314
+ quickreplies = util/* default.get */.Z.get(att, 'quick_replies', []);
1315
1315
  }
1316
1316
  });
1317
- quickreplies = util/* default */.Z.filter(quickreplies, r => r.title);
1317
+ quickreplies = util/* default.filter */.Z.filter(quickreplies, r => r.title);
1318
1318
  if (quickreplies.length === 0) return null;
1319
- let cid = util/* default */.Z.convoOfEv(this.props.ev);
1319
+ let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.ev);
1320
1320
  let convo = this.props.store.matchConvo(cid);
1321
- if (util/* default */.Z.get(convo, 'state') === 'ended') return null;
1322
- let events = util/* default */.Z.map(this.props.store.listEvents(cid));
1323
- events = util/* default */.Z.orderBy(events, 'created', 'asc').filter(ev => ev.type === 'message_sent');
1321
+ if (util/* default.get */.Z.get(convo, 'state') === 'ended') return null;
1322
+ let events = util/* default.map */.Z.map(this.props.store.listEvents(cid));
1323
+ events = util/* default.orderBy */.Z.orderBy(events, 'created', 'asc').filter(ev => ev.type === 'message_sent');
1324
1324
  let evindex = 0;
1325
1325
  for (var i = 0; i < events.length; i++) {
1326
1326
  if (events[i].id === this.props.ev.id) {
@@ -1329,9 +1329,9 @@ class QuickReplies extends common/* Com */.up {
1329
1329
  }
1330
1330
  }
1331
1331
  for (var i = evindex + 1; i < events.length; i++) {
1332
- if (util/* default */.Z.get(events[i], 'by.type') === 'user') return null;
1332
+ if (util/* default.get */.Z.get(events[i], 'by.type') === 'user') return null;
1333
1333
  }
1334
- let $replies = util/* default */.Z.map(quickreplies, r => (0,preact_module.h)("div", {
1334
+ let $replies = util/* default.map */.Z.map(quickreplies, r => (0,preact_module.h)("div", {
1335
1335
  class: "message_quick_reply",
1336
1336
  onClick: e => this.props.onSelect(r)
1337
1337
  }, r.title));
@@ -1353,18 +1353,18 @@ class ListField extends common/* Com */.up {
1353
1353
  });
1354
1354
  }
1355
1355
  render() {
1356
- let fields = util/* default */.Z.filter(this.props.items, item => {
1356
+ let fields = util/* default.filter */.Z.filter(this.props.items, item => {
1357
1357
  let search = this.state.search.toLowerCase();
1358
1358
  let name = item || '';
1359
1359
  return name.toLowerCase().indexOf(search) > -1;
1360
1360
  });
1361
- let $fields = util/* default */.Z.map(fields, field => {
1361
+ let $fields = util/* default.map */.Z.map(fields, field => {
1362
1362
  return (0,preact_module.h)("li", {
1363
1363
  class: "custom-select--item-options",
1364
1364
  onClick: () => this.add(field)
1365
1365
  }, field);
1366
1366
  });
1367
- let $selected = util/* default */.Z.map(this.props.selected, (item, i) => {
1367
+ let $selected = util/* default.map */.Z.map(this.props.selected, (item, i) => {
1368
1368
  return (0,preact_module.h)("div", {
1369
1369
  class: "custom-select--selected-item",
1370
1370
  onClick: e => this.remove(e, i)
@@ -1445,16 +1445,16 @@ class FormAttachment extends common/* Com */.up {
1445
1445
  super(props);
1446
1446
  this.props.store.onUpdate(this, _ => this.forceUpdate());
1447
1447
  let user = this.props.store.matchUser();
1448
- let fields = util/* default */.Z.get(this.props.form, 'fields') || [];
1449
- let formData = util/* default */.Z.map(fields, field => {
1448
+ let fields = util/* default.get */.Z.get(this.props.form, 'fields') || [];
1449
+ let formData = util/* default.map */.Z.map(fields, field => {
1450
1450
  let is_required = field.is_required || false;
1451
- var state = util/* default */.Z.parseJSON(field.state) || {};
1451
+ var state = util/* default.parseJSON */.Z.parseJSON(field.state) || {};
1452
1452
  if (!is_required) is_required = state.require || false;
1453
- var userattr = util/* default */.Z.getUserAttr(user, field.name, state.type || 'text');
1453
+ var userattr = util/* default.getUserAttr */.Z.getUserAttr(user, field.name, state.type || 'text');
1454
1454
  return {
1455
1455
  name: field.name,
1456
1456
  items: field.items,
1457
- value: util/* default */.Z.parseJSON(field.answer) || util/* default */.Z.parseJSON(field.default_answer) || userattr,
1457
+ value: util/* default.parseJSON */.Z.parseJSON(field.answer) || util/* default.parseJSON */.Z.parseJSON(field.default_answer) || userattr,
1458
1458
  is_required,
1459
1459
  label: field.title,
1460
1460
  type: field.input_type
@@ -1465,13 +1465,13 @@ class FormAttachment extends common/* Com */.up {
1465
1465
  });
1466
1466
  }
1467
1467
  isSummited() {
1468
- let found = util/* default */.Z.find(this.state.formData, field => !!field.answered);
1468
+ let found = util/* default.find */.Z.find(this.state.formData, field => !!field.answered);
1469
1469
  if (found) return true;
1470
- let convo = this.props.store.matchConvo(util/* default */.Z.convoOfEv(this.props.ev));
1470
+ let convo = this.props.store.matchConvo(util/* default.convoOfEv */.Z.convoOfEv(this.props.ev));
1471
1471
  return convo.state === 'ended';
1472
1472
  }
1473
1473
  render() {
1474
- if (util/* default */.Z.size(this.state.formData) === 0) return null;
1474
+ if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
1475
1475
  let $fields = this.renderFields();
1476
1476
  let $submitbutton = null;
1477
1477
  if (!this.isSummited()) {
@@ -1490,11 +1490,11 @@ class FormAttachment extends common/* Com */.up {
1490
1490
  }
1491
1491
  focus() {
1492
1492
  if (this.props.store.isPreview) return;
1493
- if (util/* default */.Z.size(this.state.formData) === 0) return;
1493
+ if (util/* default.size */.Z.size(this.state.formData) === 0) return;
1494
1494
  let $field;
1495
1495
  if (this.isFormFilled()) {
1496
1496
  var keys = Object.keys(this.state.formData);
1497
- var lastkey = keys[util/* default */.Z.size(keys) - 1];
1497
+ var lastkey = keys[util/* default.size */.Z.size(keys) - 1];
1498
1498
  var lastfield = this.state.formData[lastkey];
1499
1499
  $field = this['field.' + encode(lastfield.name)];
1500
1500
  } else {
@@ -1505,20 +1505,20 @@ class FormAttachment extends common/* Com */.up {
1505
1505
  if ($field) $field.focus();
1506
1506
  }
1507
1507
  firstUnfilledField() {
1508
- return util/* default */.Z.find(this.state.formData, field => field.value == null || field.value === '');
1508
+ return util/* default.find */.Z.find(this.state.formData, field => field.value == null || field.value === '');
1509
1509
  }
1510
1510
  isFormFilled() {
1511
- return !util/* default */.Z.find(this.state.formData, field => field.value == null || field.value === '');
1511
+ return !util/* default.find */.Z.find(this.state.formData, field => field.value == null || field.value === '');
1512
1512
  }
1513
1513
  onInputChange(index, val) {
1514
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
1514
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
1515
1515
  formData[index].value = val;
1516
1516
  this.setState({
1517
1517
  formData
1518
1518
  });
1519
1519
  }
1520
1520
  onListAddItem(index, val) {
1521
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
1521
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
1522
1522
  let field = formData[index];
1523
1523
  field.value = field.value || [];
1524
1524
  field.value.push(val);
@@ -1527,7 +1527,7 @@ class FormAttachment extends common/* Com */.up {
1527
1527
  });
1528
1528
  }
1529
1529
  onListRemoveItem(index, vindex) {
1530
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
1530
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
1531
1531
  let field = formData[index];
1532
1532
  field.value = field.value || [];
1533
1533
  field.value.splice(vindex, 1);
@@ -1536,9 +1536,9 @@ class FormAttachment extends common/* Com */.up {
1536
1536
  });
1537
1537
  }
1538
1538
  renderFields() {
1539
- if (util/* default */.Z.size(this.state.formData) === 0) return null;
1539
+ if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
1540
1540
  let $fields = null;
1541
- $fields = util/* default */.Z.map(this.state.formData, (field, index) => {
1541
+ $fields = util/* default.map */.Z.map(this.state.formData, (field, index) => {
1542
1542
  let $field = null;
1543
1543
  var errclass = field.error ? 'input--error' : '';
1544
1544
  if (field.type === 'text') {
@@ -1614,7 +1614,7 @@ class FormAttachment extends common/* Com */.up {
1614
1614
  }, (0,preact_module.h)("div", null)));
1615
1615
  } else if (field.type === 'list') {
1616
1616
  let selected = field.value || [];
1617
- let items = util/* default */.Z.filter(util/* default */.Z.get(field, 'items', []), item => !selected.includes(item));
1617
+ let items = util/* default.filter */.Z.filter(util/* default.get */.Z.get(field, 'items', []), item => !selected.includes(item));
1618
1618
  $field = (0,preact_module.h)(ListField, {
1619
1619
  selected: selected,
1620
1620
  items: items,
@@ -1652,15 +1652,15 @@ class FormAttachment extends common/* Com */.up {
1652
1652
  }
1653
1653
  async submit() {
1654
1654
  var hasError = false;
1655
- util/* default */.Z.map(this.state.formData, field => {
1656
- if (field.is_required && (field.value === undefined || field.value === '' || util/* default */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
1655
+ util/* default.map */.Z.map(this.state.formData, field => {
1656
+ if (field.is_required && (field.value === undefined || field.value === '' || util/* default.size */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
1657
1657
  field.error = this.props.t('error_empty');
1658
1658
  hasError = true;
1659
1659
  } else {
1660
1660
  field.error = '';
1661
1661
  }
1662
1662
  if (field.name === 'emails' && field.value) {
1663
- if (!util/* default */.Z.isEmail(field.value)) {
1663
+ if (!util/* default.isEmail */.Z.isEmail(field.value)) {
1664
1664
  field.error = this.props.t('error_email_invalid');
1665
1665
  hasError = true;
1666
1666
  }
@@ -1669,32 +1669,32 @@ class FormAttachment extends common/* Com */.up {
1669
1669
  this.forceUpdate();
1670
1670
  if (hasError) return;
1671
1671
  let user = {};
1672
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
1673
- util/* default */.Z.map(formData, field => {
1672
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
1673
+ util/* default.map */.Z.map(formData, field => {
1674
1674
  var attr = {
1675
1675
  key: field.name
1676
1676
  };
1677
- field.answered = new util/* default */.Z.Date().getTime();
1677
+ field.answered = new util/* default.Date */.Z.Date().getTime();
1678
1678
  if (field.type === 'number') {
1679
1679
  attr.number = parseInt(field.value);
1680
- field.answer = util/* default */.Z.stringify(attr.number);
1680
+ field.answer = util/* default.stringify */.Z.stringify(attr.number);
1681
1681
  }
1682
1682
  if (field.type === 'datetime') {
1683
- attr.datetime = new util/* default */.Z.Date(field.value).toISOString();
1684
- field.answer = util/* default */.Z.stringify(attr.datetime);
1683
+ attr.datetime = new util/* default.Date */.Z.Date(field.value).toISOString();
1684
+ field.answer = util/* default.stringify */.Z.stringify(attr.datetime);
1685
1685
  }
1686
1686
  if (field.type === 'list') {
1687
1687
  attr.list = field.value;
1688
- field.answer = util/* default */.Z.stringify(attr.list);
1688
+ field.answer = util/* default.stringify */.Z.stringify(attr.list);
1689
1689
  }
1690
1690
  if (field.type === 'text' || field.type === 'boolean') {
1691
1691
  attr[field.type] = field.value;
1692
- field.answer = util/* default */.Z.stringify(field.value);
1692
+ field.answer = util/* default.stringify */.Z.stringify(field.value);
1693
1693
  }
1694
- util/* default */.Z.setUserAttr(user, attr);
1694
+ util/* default.setUserAttr */.Z.setUserAttr(user, attr);
1695
1695
  });
1696
- util/* default */.Z.map(formData, field => {
1697
- let ffield = util/* default */.Z.find(this.props.form.fields, ffield => ffield.name === field.name);
1696
+ util/* default.map */.Z.map(formData, field => {
1697
+ let ffield = util/* default.find */.Z.find(this.props.form.fields, ffield => ffield.name === field.name);
1698
1698
  if (!ffield) return;
1699
1699
  ffield.answered = field.answered;
1700
1700
  });
@@ -1707,12 +1707,12 @@ class FormAttachment extends common/* Com */.up {
1707
1707
  type: 'form_submit',
1708
1708
  form_submit: {
1709
1709
  state: '{"user_id":"' + this.props.store.matchUser().id + '"}',
1710
- form_message_id: util/* default */.Z.get(this.props.ev, 'id'),
1710
+ form_message_id: util/* default.get */.Z.get(this.props.ev, 'id'),
1711
1711
  fields: formData
1712
1712
  }
1713
1713
  }]
1714
1714
  };
1715
- let cid = util/* default */.Z.convoOfEv(this.props.ev);
1715
+ let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.ev);
1716
1716
  this.props.store.sendConvoEvent(cid, 'message_sent', {
1717
1717
  message
1718
1718
  });
@@ -1732,17 +1732,17 @@ class FormAttachments extends common/* Com */.up {
1732
1732
  super(props);
1733
1733
  }
1734
1734
  render() {
1735
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
1735
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
1736
1736
  if (byType === 'user') return;
1737
1737
  let forms = [];
1738
- let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments') || [];
1739
- util/* default */.Z.each(attachments, att => {
1738
+ let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments') || [];
1739
+ util/* default.each */.Z.each(attachments, att => {
1740
1740
  if (!att) return;
1741
1741
  if (att.type !== 'form' && att.type !== 'ask_info_form') return;
1742
1742
  att.form._type = att.type;
1743
1743
  forms.push(att.form);
1744
1744
  });
1745
- let $forms = util/* default */.Z.map(forms, (form, formIndex) => {
1745
+ let $forms = util/* default.map */.Z.map(forms, (form, formIndex) => {
1746
1746
  return (0,preact_module.h)(FormAttachment, {
1747
1747
  store: this.props.store,
1748
1748
  onSubmit: this.props.onSubmit,
@@ -1776,14 +1776,14 @@ class FormSubmitAttachments extends common/* Com */.up {
1776
1776
  render() {
1777
1777
  return null;
1778
1778
  let submits = [];
1779
- let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments') || [];
1780
- util/* default */.Z.each(attachments, att => {
1779
+ let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments') || [];
1780
+ util/* default.each */.Z.each(attachments, att => {
1781
1781
  if (!att) return;
1782
1782
  if (att.type !== 'form_submit') return;
1783
1783
  if (!att.form_submit) return;
1784
1784
  submits.push(att.form_submit);
1785
1785
  });
1786
- let $submits = util/* default */.Z.map(submits, (submit, index) => (0,preact_module.h)("div", {
1786
+ let $submits = util/* default.map */.Z.map(submits, (submit, index) => (0,preact_module.h)("div", {
1787
1787
  class: "info-message"
1788
1788
  }, (0,preact_module.h)("span", null, this.props.tt('prechat_form_thanks'))));
1789
1789
  return (0,preact_module.h)("div", null, $submits);
@@ -1855,13 +1855,13 @@ class GenericTemplateAttachments extends common/* Com */.up {
1855
1855
  });
1856
1856
  }
1857
1857
  render() {
1858
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
1858
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
1859
1859
  if (byType === 'user') return null;
1860
- let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
1861
- let generics = util/* default */.Z.filter(attachments, att => util/* default */.Z.get(att, 'type') === 'generic');
1860
+ let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
1861
+ let generics = util/* default.filter */.Z.filter(attachments, att => util/* default.get */.Z.get(att, 'type') === 'generic');
1862
1862
  if (generics.length === 0) return null;
1863
- var $generics = util/* default */.Z.map(generics, (gen, index) => {
1864
- var $eles = util/* default */.Z.map(gen.elements, ele => {
1863
+ var $generics = util/* default.map */.Z.map(generics, (gen, index) => {
1864
+ var $eles = util/* default.map */.Z.map(gen.elements, ele => {
1865
1865
  let title = this.props.t.i18n(ele.i18n_title) || ele.title;
1866
1866
  let subtitle = this.props.t.i18n(ele.i18n_subtitle) || ele.subtitle;
1867
1867
  let $title = title ? (0,preact_module.h)("div", {
@@ -1888,7 +1888,7 @@ class GenericTemplateAttachments extends common/* Com */.up {
1888
1888
  t: this.props.t
1889
1889
  }));
1890
1890
  });
1891
- let elements = util/* default */.Z.get(attachments, '0.elements', []);
1891
+ let elements = util/* default.get */.Z.get(attachments, '0.elements', []);
1892
1892
  let leftNavigatorCls = 'generic-attachment-navigator generic-attachment-navigator--left';
1893
1893
  let rightNavigatorCls = 'generic-attachment-navigator generic-attachment-navigator--right';
1894
1894
  if (this.state.focusing === 0) leftNavigatorCls += ' generic-attachment-navigator--disabled';
@@ -1915,7 +1915,7 @@ class GenericTemplateAttachments extends common/* Com */.up {
1915
1915
  bindDrag() {
1916
1916
  if (!this.props.store.isMobile()) return;
1917
1917
  let eles = document.getElementsByClassName('generic-attachment');
1918
- util/* default */.Z.map(eles, ele => bind(ele, () => {}));
1918
+ util/* default.map */.Z.map(eles, ele => bind(ele, () => {}));
1919
1919
  }
1920
1920
  }
1921
1921
  ;// CONCATENATED MODULE: ./src/chatbox/ProductAttachments.js
@@ -1924,19 +1924,19 @@ class GenericTemplateAttachments extends common/* Com */.up {
1924
1924
 
1925
1925
  class ProductAttachments extends common/* Com */.up {
1926
1926
  render() {
1927
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
1927
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
1928
1928
  if (byType === 'user') return null;
1929
- let attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
1930
- let products = util/* default */.Z.filter(attachments, att => util/* default */.Z.get(att, 'type') === 'product' || util/* default */.Z.get(att, 'type') === 'product_preview');
1929
+ let attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
1930
+ let products = util/* default.filter */.Z.filter(attachments, att => util/* default.get */.Z.get(att, 'type') === 'product' || util/* default.get */.Z.get(att, 'type') === 'product_preview');
1931
1931
  products = products.filter(product => product.product && product.product.name);
1932
1932
  if (products.length === 0) return null;
1933
1933
  let acc = this.props.store.matchAccount();
1934
- let $products = util/* default */.Z.map(products, (att, index) => {
1934
+ let $products = util/* default.map */.Z.map(products, (att, index) => {
1935
1935
  let product = att.product;
1936
1936
  let $detailbtns = [];
1937
1937
  let url = product.url || product.mobile_url;
1938
1938
  if (this.props.store.isMobile()) url = product.mobile_url || product.url;
1939
- if (url && util/* default */.Z.size(product.buttons) == 0) $detailbtns.push((0,preact_module.h)("a", {
1939
+ if (url && util/* default.size */.Z.size(product.buttons) == 0) $detailbtns.push((0,preact_module.h)("a", {
1940
1940
  class: "product_attachment__btn",
1941
1941
  href: url,
1942
1942
  target: "_blank"
@@ -1945,8 +1945,8 @@ class ProductAttachments extends common/* Com */.up {
1945
1945
  class: "product_attachment__btn_external_link"
1946
1946
  })));
1947
1947
  console.log('P', product);
1948
- if (util/* default */.Z.size(product.buttons) > 0) {
1949
- $detailbtns = $detailbtns.concat(util/* default */.Z.map(product.buttons, (button, index) => {
1948
+ if (util/* default.size */.Z.size(product.buttons) > 0) {
1949
+ $detailbtns = $detailbtns.concat(util/* default.map */.Z.map(product.buttons, (button, index) => {
1950
1950
  if (button.type === 'call_button') {
1951
1951
  return (0,preact_module.h)("a", {
1952
1952
  class: "product_attachment__btn",
@@ -1986,12 +1986,12 @@ class ProductAttachments extends common/* Com */.up {
1986
1986
  if (desc) $subtitle = (0,preact_module.h)("div", {
1987
1987
  class: "product_attachment__subtitle"
1988
1988
  }, desc);
1989
- let currency = product.currency || util/* default */.Z.get(acc, 'currency', 'VND');
1989
+ let currency = product.currency || util/* default.get */.Z.get(acc, 'currency', 'VND');
1990
1990
  let $price = null;
1991
1991
  if (product.price) {
1992
1992
  $price = (0,preact_module.h)("div", {
1993
1993
  class: "product_attachment__price"
1994
- }, util/* default */.Z.formatCurrency(product.price, currency));
1994
+ }, util/* default.formatCurrency */.Z.formatCurrency(product.price, currency));
1995
1995
  }
1996
1996
  let imgsrc = this.props.store.replaceFileUrl(product.image);
1997
1997
  if (!product.image) {
@@ -2018,14 +2018,14 @@ class ProductAttachments extends common/* Com */.up {
2018
2018
 
2019
2019
  class OrderAttachments_ProductAttachments extends common/* Com */.up {
2020
2020
  render() {
2021
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
2021
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
2022
2022
  if (byType === 'user') return null;
2023
2023
  let acc = this.props.store.matchAccount();
2024
- var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
2025
- let orders = util/* default */.Z.filter(attachments, att => att.type === 'order' && att.order).map(att => att.order);
2024
+ var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
2025
+ let orders = util/* default.filter */.Z.filter(attachments, att => att.type === 'order' && att.order).map(att => att.order);
2026
2026
  if (orders.length === 0) return null;
2027
- let $orders = util/* default */.Z.map(orders, (order, index) => {
2028
- util/* default */.Z.calcOrderTotal(order);
2027
+ let $orders = util/* default.map */.Z.map(orders, (order, index) => {
2028
+ util/* default.calcOrderTotal */.Z.calcOrderTotal(order);
2029
2029
  let $note = null;
2030
2030
  if (order.note) {
2031
2031
  $note = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
@@ -2036,17 +2036,17 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2036
2036
  }, order.note));
2037
2037
  }
2038
2038
  let $products = null;
2039
- if (util/* default */.Z.size(order.items) > 0) {
2039
+ if (util/* default.size */.Z.size(order.items) > 0) {
2040
2040
  $products = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
2041
2041
  class: "order_attachment__label"
2042
- }, this.props.t('product')), util/* default */.Z.map(order.items, item => {
2042
+ }, this.props.t('product')), util/* default.map */.Z.map(order.items, item => {
2043
2043
  let product = item.product || {};
2044
2044
  return (0,preact_module.h)("div", {
2045
2045
  class: "order_attachment__product"
2046
2046
  }, (0,preact_module.h)("img", {
2047
2047
  class: "order_attachment__product_img",
2048
- alt: '' + util/* default */.Z.get(product, 'id'),
2049
- src: util/* default */.Z.get(product, 'image', __webpack_require__(9270))
2048
+ alt: '' + util/* default.get */.Z.get(product, 'id'),
2049
+ src: util/* default.get */.Z.get(product, 'image', __webpack_require__(9270))
2050
2050
  }), (0,preact_module.h)("div", {
2051
2051
  style: "overflow: hidden !important;"
2052
2052
  }, (0,preact_module.h)("div", {
@@ -2054,9 +2054,9 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2054
2054
  title: this.props.t.i18n(product.i18n_name) || product.name
2055
2055
  }, this.props.t.i18n(product.i18n_name) || product.name), (0,preact_module.h)("div", {
2056
2056
  class: "order_attachment__product_desc"
2057
- }, util/* default */.Z.getProductPropName(product, ' / ')), (0,preact_module.h)("div", {
2057
+ }, util/* default.getProductPropName */.Z.getProductPropName(product, ' / ')), (0,preact_module.h)("div", {
2058
2058
  class: "order_attachment__product_desc"
2059
- }, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default */.Z.formatCurrency(product.price))));
2059
+ }, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default.formatCurrency */.Z.formatCurrency(product.price))));
2060
2060
  }));
2061
2061
  }
2062
2062
  let $total = (0,preact_module.h)("div", {
@@ -2065,19 +2065,19 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2065
2065
  class: "d-flex align-items-center justify-content-between"
2066
2066
  }, (0,preact_module.h)("div", null, this.props.t('total')), ' ', (0,preact_module.h)("div", null, (0,preact_module.h)("b", {
2067
2067
  class: "order_attachment__total"
2068
- }, util/* default */.Z.formatCurrency(order.total)))));
2069
- let phoneattr = util/* default */.Z.find(util/* default */.Z.get(order, 'user.attributes', []), attr => attr.key === 'phones') || {
2068
+ }, util/* default.formatCurrency */.Z.formatCurrency(order.total)))));
2069
+ let phoneattr = util/* default.find */.Z.find(util/* default.get */.Z.get(order, 'user.attributes', []), attr => attr.key === 'phones') || {
2070
2070
  key: 'phones',
2071
2071
  text: ''
2072
2072
  };
2073
- let phone = util/* default */.Z.get(order, 'shipping.address.phone', '').trim();
2074
- phone = phone || util/* default */.Z.trim(phoneattr.text);
2073
+ let phone = util/* default.get */.Z.get(order, 'shipping.address.phone', '').trim();
2074
+ phone = phone || util/* default.trim */.Z.trim(phoneattr.text);
2075
2075
  if (phone) phone = this.props.t('phn') + ': ' + phone;
2076
2076
  let $shipto = null;
2077
- if (util/* default */.Z.displayOrderShippingAddress(order) || phone) {
2077
+ if (util/* default.displayOrderShippingAddress */.Z.displayOrderShippingAddress(order) || phone) {
2078
2078
  $shipto = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
2079
2079
  class: "order_attachment__label"
2080
- }, this.props.t('ship_to')), (0,preact_module.h)("div", null, util/* default */.Z.displayOrderShippingAddress(order)), (0,preact_module.h)("div", {
2080
+ }, this.props.t('ship_to')), (0,preact_module.h)("div", null, util/* default.displayOrderShippingAddress */.Z.displayOrderShippingAddress(order)), (0,preact_module.h)("div", {
2081
2081
  class: "order_attachment__text_truncate"
2082
2082
  }, phone));
2083
2083
  }
@@ -2089,11 +2089,11 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2089
2089
  class: "d-flex align-items-center justify-content-between"
2090
2090
  }, (0,preact_module.h)("div", {
2091
2091
  class: "order_attachment__label no_margin"
2092
- }, this.props.t('subtotal_before_tax')), ' ', (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order._order_value))), (0,preact_module.h)("div", {
2092
+ }, this.props.t('subtotal_before_tax')), ' ', (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order._order_value))), (0,preact_module.h)("div", {
2093
2093
  class: "d-flex align-items-center justify-content-between"
2094
2094
  }, (0,preact_module.h)("div", {
2095
2095
  class: "order_attachment__label no_margin"
2096
- }, this.props.t('discount_before_tax')), ' ', (0,preact_module.h)("div", null, "-", util/* default */.Z.formatCurrency(order._discount_before_tax))));
2096
+ }, this.props.t('discount_before_tax')), ' ', (0,preact_module.h)("div", null, "-", util/* default.formatCurrency */.Z.formatCurrency(order._discount_before_tax))));
2097
2097
  }
2098
2098
  let $subtotal = (0,preact_module.h)("div", {
2099
2099
  class: "d-flex align-items-center justify-content-between"
@@ -2101,12 +2101,12 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2101
2101
  class: "order_attachment__label no_margin"
2102
2102
  }, this.props.t('subtotal')), ' ', (0,preact_module.h)("div", {
2103
2103
  style: ""
2104
- }, util/* default */.Z.formatCurrency(order.subtotal)));
2104
+ }, util/* default.formatCurrency */.Z.formatCurrency(order.subtotal)));
2105
2105
  let $tax = null;
2106
2106
  if (order.total_tax) {
2107
2107
  let taxname = '';
2108
- if (util/* default */.Z.size(order._taxM) === 1) {
2109
- let tax = util/* default */.Z.get(order._taxM, '0.tax', {});
2108
+ if (util/* default.size */.Z.size(order._taxM) === 1) {
2109
+ let tax = util/* default.get */.Z.get(order._taxM, '0.tax', {});
2110
2110
  if (tax.name && tax.percentage) taxname = `(${tax.name} ${Math.round(tax.percentage || 0) / 100}%)`;
2111
2111
  }
2112
2112
  $tax = (0,preact_module.h)("div", {
@@ -2115,7 +2115,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2115
2115
  class: "order_attachment__label no_margin"
2116
2116
  }, this.props.t('tax'), " ", taxname), (0,preact_module.h)("div", {
2117
2117
  style: ""
2118
- }, util/* default */.Z.formatCurrency(order.total_tax)));
2118
+ }, util/* default.formatCurrency */.Z.formatCurrency(order.total_tax)));
2119
2119
  }
2120
2120
  let $discount = null;
2121
2121
  if (order.discount_type === 'percentage' && order.discount_percentage) {
@@ -2125,7 +2125,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2125
2125
  class: "order_attachment__label no_margin"
2126
2126
  }, this.props.t('discount_after_tax'), " (", Math.round(order.discount_percentage / 100), "%)"), ' ', (0,preact_module.h)("div", {
2127
2127
  style: ""
2128
- }, "-", util/* default */.Z.formatCurrency(order._computed_discount)));
2128
+ }, "-", util/* default.formatCurrency */.Z.formatCurrency(order._computed_discount)));
2129
2129
  }
2130
2130
  if (order.discount_type === 'amount' && order.discount_amount) {
2131
2131
  $discount = (0,preact_module.h)("div", {
@@ -2134,17 +2134,17 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2134
2134
  class: "order_attachment__label no_margin"
2135
2135
  }, this.props.t('discount_after_tax')), ' ', (0,preact_module.h)("div", {
2136
2136
  class: "no-shrink"
2137
- }, "-", util/* default */.Z.formatCurrency(order._computed_discount)));
2137
+ }, "-", util/* default.formatCurrency */.Z.formatCurrency(order._computed_discount)));
2138
2138
  }
2139
2139
  let $shipping = null;
2140
- if (util/* default */.Z.get(order, 'shipping.nominal_fee')) {
2140
+ if (util/* default.get */.Z.get(order, 'shipping.nominal_fee')) {
2141
2141
  $shipping = (0,preact_module.h)("div", {
2142
2142
  class: "d-flex align-items-center justify-content-between"
2143
2143
  }, (0,preact_module.h)("div", {
2144
2144
  class: "order_attachment__label no_margin"
2145
2145
  }, this.props.t('shipping_fee')), ' ', (0,preact_module.h)("div", {
2146
2146
  style: ""
2147
- }, util/* default */.Z.formatCurrency(util/* default */.Z.get(order, 'shipping.nominal_fee', 0))));
2147
+ }, util/* default.formatCurrency */.Z.formatCurrency(util/* default.get */.Z.get(order, 'shipping.nominal_fee', 0))));
2148
2148
  }
2149
2149
  let $adjustment = null;
2150
2150
  if (order.adjustment) {
@@ -2154,7 +2154,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2154
2154
  class: "order_attachment__label no_margin"
2155
2155
  }, order.adjustment_description), ' ', (0,preact_module.h)("div", {
2156
2156
  class: "no-shrink"
2157
- }, util/* default */.Z.formatCurrency(order.adjustment)));
2157
+ }, util/* default.formatCurrency */.Z.formatCurrency(order.adjustment)));
2158
2158
  }
2159
2159
  $subtotal = (0,preact_module.h)("div", {
2160
2160
  class: "order_attachment__footer"
@@ -2168,7 +2168,7 @@ class OrderAttachments_ProductAttachments extends common/* Com */.up {
2168
2168
  class: "order_attachment__header"
2169
2169
  }, this.props.t('order'), (0,preact_module.h)("span", {
2170
2170
  class: "order_attachment__text_muted order_attachment__text_sm"
2171
- }, util/* default */.Z.getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
2171
+ }, util/* default.getOrderDisplayName */.Z.getOrderDisplayName(order))), $products, $shipto, $note, $beforeTax, $subtotal, $total);
2172
2172
  });
2173
2173
  return $orders;
2174
2174
  }
@@ -2182,15 +2182,15 @@ class VideoAttachments extends common/* Com */.up {
2182
2182
  super(props);
2183
2183
  }
2184
2184
  render() {
2185
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
2186
- var attachments = util/* default */.Z.get(this.props.ev, 'data.message.attachments', []);
2185
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
2186
+ var attachments = util/* default.get */.Z.get(this.props.ev, 'data.message.attachments', []);
2187
2187
  var videos = [];
2188
- util/* default */.Z.each(attachments, (att, i) => {
2188
+ util/* default.each */.Z.each(attachments, (att, i) => {
2189
2189
  if (!att) return;
2190
- if (util/* default */.Z.includes(att.mimetype, 'video')) videos.push(att);
2190
+ if (util/* default.includes */.Z.includes(att.mimetype, 'video')) videos.push(att);
2191
2191
  });
2192
2192
  if (videos.length === 0) return null;
2193
- var $videos = util/* default */.Z.map(videos, (video, index) => {
2193
+ var $videos = util/* default.map */.Z.map(videos, (video, index) => {
2194
2194
  return (0,preact_module.h)("div", {
2195
2195
  class: `video-attachment video-attachment--${byType}`
2196
2196
  }, (0,preact_module.h)("video", {
@@ -2209,23 +2209,73 @@ class VideoAttachments extends common/* Com */.up {
2209
2209
  }, $videos);
2210
2210
  }
2211
2211
  }
2212
+ ;// CONCATENATED MODULE: ./src/chatbox/ShadowDomRoot.js
2213
+
2214
+
2215
+ class ShadowDomRoot extends common/* Com */.up {
2216
+ constructor(props) {
2217
+ super(props);
2218
+ this.ref = (0,preact_module/* createRef */.Vf)();
2219
+ }
2220
+ componentDidMount() {
2221
+ this.shadowRoot = this.ref.current.attachShadow({
2222
+ mode: 'open'
2223
+ });
2224
+ this.update(this.props.html);
2225
+ }
2226
+ update(html) {
2227
+ this.shadowRoot.innerHTML = `<style type="text/css">
2228
+ body { font-family: 'Inter', sans-serif!important; font-size: 14px!important; line-height: 20px; overflow-y: hidden; margin:0 }
2229
+ h{ font-size: 14/18px!important; }
2230
+ a { text-decoration: none;}
2231
+ img { max-width: 100%; display: block; margin: 10px auto; }
2232
+ * { white-space: normal }
2233
+ ul > li { margin-bottom: 5px }
2234
+ ul:last-child { margin-bottom: 0 }
2235
+ p { margin-bottom: 0; margin-top: 0;}
2236
+ </style>
2237
+ <div>${html}</div>`;
2238
+ let links = this.shadowRoot.querySelectorAll('a');
2239
+ for (var i = 0; i < links.length; i++) links[i].target = '_blank';
2240
+ }
2241
+ render() {
2242
+ return (0,preact_module.h)("div", {
2243
+ ref: this.ref,
2244
+ style: "white-space: normal !important"
2245
+ });
2246
+ }
2247
+ }
2212
2248
  ;// CONCATENATED MODULE: ./src/chatbox/TextMessage.js
2213
2249
 
2250
+ let mustrerender = [];
2251
+ let marked = (obj, text) => {
2252
+ mustrerender.push(obj);
2253
+ return '';
2254
+ };
2255
+ const loadMarked = () => __webpack_require__.e(/* import() */ 441).then(__webpack_require__.bind(__webpack_require__, 7441));
2256
+ (async () => {
2257
+ let markedf = (await loadMarked()).marked;
2258
+ marked = (obj, text) => markedf(text);
2259
+ util/* default.map */.Z.map(mustrerender, obj => obj.forceUpdate());
2260
+ mustrerender = [];
2261
+ })();
2262
+
2214
2263
 
2215
2264
 
2216
2265
 
2217
2266
  class TextMessage extends common/* Com */.up {
2218
2267
  render() {
2219
- var format = util/* default */.Z.get(this.props.ev, 'data.message.format', 'plaintext');
2268
+ var format = util/* default.get */.Z.get(this.props.ev, 'data.message.format', 'plaintext');
2269
+ if (format === 'markdown') return this.renderMarkdown();
2220
2270
  if (format === 'delta') return this.renderDelta();
2221
2271
  return this.renderPlainText();
2222
2272
  }
2223
2273
  renderPlainText() {
2224
- var text = util/* default */.Z.get(this.props.ev, 'data.message.text');
2225
- text = util/* default */.Z.trim(text);
2226
- if (util/* default */.Z.size(text) === 0) return null;
2227
- let byType = util/* default */.Z.get(this.props.ev, 'by.type');
2228
- var tags = util/* default */.Z.extractText(text).map(tag => {
2274
+ var text = util/* default.get */.Z.get(this.props.ev, 'data.message.text');
2275
+ text = util/* default.trim */.Z.trim(text);
2276
+ if (util/* default.size */.Z.size(text) === 0) return null;
2277
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
2278
+ var tags = util/* default.extractText */.Z.extractText(text).map(tag => {
2229
2279
  if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
2230
2280
  emojiCode: tag.text,
2231
2281
  byType: byType
@@ -2249,7 +2299,7 @@ class TextMessage extends common/* Com */.up {
2249
2299
  }, tag.text);
2250
2300
  return tag.text;
2251
2301
  });
2252
- if (util/* default */.Z.size(tags) === 0) return null;
2302
+ if (util/* default.size */.Z.size(tags) === 0) return null;
2253
2303
  if (byType === 'agent') {
2254
2304
  return (0,preact_module.h)("div", {
2255
2305
  class: "message-agent message-text--agent"
@@ -2260,16 +2310,16 @@ class TextMessage extends common/* Com */.up {
2260
2310
  }, tags);
2261
2311
  }
2262
2312
  renderDelta() {
2263
- let deltas = util/* default */.Z.get(this.props.ev, 'data.message.quill_delta') || util/* default */.Z.get(this.props.ev, 'data.message.text');
2264
- let quilldeltas = util/* default */.Z.parseJSON(deltas) || {};
2313
+ let deltas = util/* default.get */.Z.get(this.props.ev, 'data.message.quill_delta') || util/* default.get */.Z.get(this.props.ev, 'data.message.text');
2314
+ let quilldeltas = util/* default.parseJSON */.Z.parseJSON(deltas) || {};
2265
2315
  quilldeltas = trimQuillDelta(quilldeltas);
2266
- if (!quilldeltas || util/* default */.Z.size(quilldeltas.ops) === 0) return null;
2267
- let $deltas = util/* default */.Z.map(quilldeltas.ops, delta => {
2316
+ if (!quilldeltas || util/* default.size */.Z.size(quilldeltas.ops) === 0) return null;
2317
+ let $deltas = util/* default.map */.Z.map(quilldeltas.ops, delta => {
2268
2318
  let html = '';
2269
2319
  let insert = delta.insert;
2270
2320
  let attributes = delta.attributes;
2271
2321
  if (insert.dynamicField) {
2272
- return util/* default */.Z.get(insert, 'dynamicField.text', '');
2322
+ return util/* default.get */.Z.get(insert, 'dynamicField.text', '');
2273
2323
  }
2274
2324
  if (insert.mention) {
2275
2325
  if (insert.mention.id == '*' || insert.mention.id == 'all') {
@@ -2278,7 +2328,7 @@ class TextMessage extends common/* Com */.up {
2278
2328
  }, "@", this.$t('all'));
2279
2329
  }
2280
2330
  let ag = store.matchAgent(insert.mention.id);
2281
- let name = util/* default */.Z.getAgentDisplayName(ag, insert.mention.fullname);
2331
+ let name = util/* default.getAgentDisplayName */.Z.getAgentDisplayName(ag, insert.mention.fullname);
2282
2332
  return (0,preact_module.h)("span", {
2283
2333
  class: "mention",
2284
2334
  "data-agent-id": ag.id,
@@ -2289,7 +2339,7 @@ class TextMessage extends common/* Com */.up {
2289
2339
  emojiCode: `:${insert.emoji}:`
2290
2340
  });
2291
2341
  if (typeof insert === 'string') {
2292
- let $tags = util/* default */.Z.extractText(insert).map((tag, i) => {
2342
+ let $tags = util/* default.extractText */.Z.extractText(insert).map((tag, i) => {
2293
2343
  if (tag.type === 'link') {
2294
2344
  return (0,preact_module.h)("a", {
2295
2345
  href: absLink(tag.text),
@@ -2313,9 +2363,9 @@ class TextMessage extends common/* Com */.up {
2313
2363
  }
2314
2364
  return null;
2315
2365
  });
2316
- let byType = util/* default */.Z.get(this.ev, 'by.type');
2366
+ let byType = util/* default.get */.Z.get(this.ev, 'by.type');
2317
2367
  if (byType !== 'user') byType = 'agent';
2318
- if (util/* default */.Z.size($deltas) === 0) return null;
2368
+ if (util/* default.size */.Z.size($deltas) === 0) return null;
2319
2369
  if (byType === 'agent') {
2320
2370
  return (0,preact_module.h)("div", {
2321
2371
  class: "message-agent message-text--agent"
@@ -2325,6 +2375,46 @@ class TextMessage extends common/* Com */.up {
2325
2375
  class: "message-user message-text--user"
2326
2376
  }, $deltas);
2327
2377
  }
2378
+ renderMarkdown(text) {
2379
+ if (!text) text = util/* default.get */.Z.get(this.props.ev, 'data.message.text');
2380
+ if (util/* default.size */.Z.size(text) === 0) return null;
2381
+ let byType = util/* default.get */.Z.get(this.props.ev, 'by.type');
2382
+ text = util/* default.trim */.Z.trim(text);
2383
+ if (util/* default.size */.Z.size(text) === 0) return null;
2384
+ if (byType === 'agent') {
2385
+ return (0,preact_module.h)("div", {
2386
+ class: "markdown-message message-agent message-text--agent"
2387
+ }, (0,preact_module.h)(ShadowDomRoot, {
2388
+ html: marked(this, text)
2389
+ }));
2390
+ }
2391
+ return (0,preact_module.h)("div", {
2392
+ class: "d-flex flex-column align-items-end"
2393
+ }, (0,preact_module.h)("div", {
2394
+ class: "markdown-message message-user message-text--user"
2395
+ }, (0,preact_module.h)(ShadowDomRoot, {
2396
+ html: marked(this, text)
2397
+ })));
2398
+ }
2399
+ }
2400
+ function deltaToMarkdown(deltas) {
2401
+ let output = '';
2402
+ sb.each(deltas, (delta, idx) => {
2403
+ let text = '';
2404
+ let insert = delta.insert;
2405
+ let attributes = delta.attributes;
2406
+ if (insert.emoji) text = emojiCodes[insert.emoji] || '';
2407
+ if (attributes) {
2408
+ if (attributes.italic && attributes.bold) text = `*__${insert}__*`;else if (attributes.italic) text = `*${insert}*`;else if (attributes.bold) text = `**${insert}**`;else text = insert;
2409
+ }
2410
+ if (insert.dynamicField) text = `${sb.get(insert, 'dynamicField.text', '')}`;
2411
+ if (!insert.emoji && !attributes && !insert.dynamicField) {
2412
+ text = insert || '';
2413
+ text = text.replace(/\n/g, '<br/>');
2414
+ }
2415
+ output += text;
2416
+ });
2417
+ return output;
2328
2418
  }
2329
2419
  const emojiCodes = {
2330
2420
  like: '👍',
@@ -2373,8 +2463,8 @@ function absLink(url) {
2373
2463
  }
2374
2464
  ;// CONCATENATED MODULE: ./src/chatbox/time.js
2375
2465
 
2376
- var g_pub = new util/* default */.Z.Pubsub();
2377
- util/* default */.Z.setInterval(() => g_pub.publish('time'), 20 * 1000);
2466
+ var g_pub = new util/* default.Pubsub */.Z.Pubsub();
2467
+ util/* default.setInterval */.Z.setInterval(() => g_pub.publish('time'), 20 * 1000);
2378
2468
 
2379
2469
 
2380
2470
  class Time extends common/* Com */.up {
@@ -2389,10 +2479,10 @@ class Time extends common/* Com */.up {
2389
2479
  var t = '';
2390
2480
  if (this.props.ago) {
2391
2481
  if (this.props.short) {
2392
- if (Math.abs(this.props.time - new util/* default */.Z.Date().getTime()) > 86400000 * 10) {
2393
- let tim = new util/* default */.Z.Date(this.props.time);
2482
+ if (Math.abs(this.props.time - new util/* default.Date */.Z.Date().getTime()) > 86400000 * 10) {
2483
+ let tim = new util/* default.Date */.Z.Date(this.props.time);
2394
2484
  let tzyear = tim.getFullYear();
2395
- let locale = util/* default */.Z.get(navigator, 'languages.0', 'en-US');
2485
+ let locale = util/* default.get */.Z.get(navigator, 'languages.0', 'en-US');
2396
2486
  let tzmonthname = tim.toLocaleDateString(locale, {
2397
2487
  month: 'short'
2398
2488
  });
@@ -2400,8 +2490,8 @@ class Time extends common/* Com */.up {
2400
2490
  t = tzdate + ' ' + tzmonthname + ' ' + tzyear;
2401
2491
  }
2402
2492
  }
2403
- if (!t && this.props.time > 0) t = ago(this.props.time, new util/* default */.Z.Date().getTime());
2404
- } else t = util/* default */.Z.shortTime(this.props.time, this.props.tzoffset);
2493
+ if (!t && this.props.time > 0) t = ago(this.props.time, new util/* default.Date */.Z.Date().getTime());
2494
+ } else t = util/* default.shortTime */.Z.shortTime(this.props.time, this.props.tzoffset);
2405
2495
  if (this.props.uppercase) t = t.toUpperCase();
2406
2496
  if (t === this.state.t) return;
2407
2497
  this.setState({
@@ -2512,7 +2602,7 @@ class InfoMessage extends common/* Com */.up {
2512
2602
  }));
2513
2603
  }
2514
2604
  if (ev.type === 'conversation_rated') {
2515
- var rating = util/* default */.Z.get(ev, 'data.conversation.ratings.0', {
2605
+ var rating = util/* default.get */.Z.get(ev, 'data.conversation.ratings.0', {
2516
2606
  no_rating: true,
2517
2607
  rating: 0
2518
2608
  });
@@ -2523,7 +2613,7 @@ class InfoMessage extends common/* Com */.up {
2523
2613
  class: "info-message"
2524
2614
  }, this.props.t('rated_as') + ' ' + this.props.t(getRateLang(rating.rating)).toLowerCase()));
2525
2615
  }
2526
- if (ev.type === 'conversation_state_updated' && util/* default */.Z.get(ev, 'data.conversation.state') === 'ended') {
2616
+ if (ev.type === 'conversation_state_updated' && util/* default.get */.Z.get(ev, 'data.conversation.state') === 'ended') {
2527
2617
  return (0,preact_module.h)("div", {
2528
2618
  class: "convo-event"
2529
2619
  }, $time, (0,preact_module.h)("div", {
@@ -2557,7 +2647,7 @@ class Event extends common/* Com */.up {
2557
2647
  this.refForm = (0,preact_module/* createRef */.Vf)();
2558
2648
  }
2559
2649
  render() {
2560
- var ev = util/* default */.Z.get(this.props.event, 'ev', {});
2650
+ var ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
2561
2651
  switch (ev.type) {
2562
2652
  case 'conversation_joined':
2563
2653
  break;
@@ -2566,7 +2656,7 @@ class Event extends common/* Com */.up {
2566
2656
  case 'conversation_state_updated':
2567
2657
  case 'conversation_rating_requested':
2568
2658
  case 'conversation_rated':
2569
- if (!util/* default */.Z.startsWith(ev.id, 'ev')) return null;
2659
+ if (!util/* default.startsWith */.Z.startsWith(ev.id, 'ev')) return null;
2570
2660
  return (0,preact_module.h)(InfoMessage, {
2571
2661
  t: this.props.t,
2572
2662
  store: this.props.store,
@@ -2579,7 +2669,7 @@ class Event extends common/* Com */.up {
2579
2669
  this.refForm.current && this.refForm.current.focus();
2580
2670
  }
2581
2671
  chooseQuickReply(reply) {
2582
- let ev = util/* default */.Z.get(this.props.event, 'ev', {});
2672
+ let ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
2583
2673
  let message = {
2584
2674
  text: reply.title,
2585
2675
  format: 'plaintext'
@@ -2596,7 +2686,7 @@ class Event extends common/* Com */.up {
2596
2686
  this.props.onSend(message);
2597
2687
  }
2598
2688
  choosePostbackBtn(button) {
2599
- let ev = util/* default */.Z.get(this.props.event, 'ev', {});
2689
+ let ev = util/* default.get */.Z.get(this.props.event, 'ev', {});
2600
2690
  let message = {
2601
2691
  text: button.title,
2602
2692
  format: 'plaintext'
@@ -2613,13 +2703,13 @@ class Event extends common/* Com */.up {
2613
2703
  this.props.onSend(message);
2614
2704
  }
2615
2705
  renderAgentAvatar(ev) {
2616
- let bytype = util/* default */.Z.get(ev, 'by.type');
2617
- let byid = util/* default */.Z.get(ev, 'by.display_id', util/* default */.Z.get(ev, 'by.id'));
2706
+ let bytype = util/* default.get */.Z.get(ev, 'by.type');
2707
+ let byid = util/* default.get */.Z.get(ev, 'by.display_id', util/* default.get */.Z.get(ev, 'by.id'));
2618
2708
  if (bytype === 'user') return null;
2619
2709
  var senderName = this.getSenderName(ev);
2620
2710
  let acc = this.props.store.matchAccount();
2621
2711
  var uri = acc.logo_url || __webpack_require__(9895);
2622
- if (util/* default */.Z.get(this.props, 'chatbox.hide_agent_profile')) {
2712
+ if (util/* default.get */.Z.get(this.props, 'chatbox.hide_agent_profile')) {
2623
2713
  return (0,preact_module.h)("div", {
2624
2714
  class: "message-sender"
2625
2715
  }, (0,preact_module.h)("img", {
@@ -2632,7 +2722,7 @@ class Event extends common/* Com */.up {
2632
2722
  }
2633
2723
  let agentM = this.props.store.matchAgent('*');
2634
2724
  if (byid !== 'system' && bytype !== 'dummy' && bytype !== 'workflow') {
2635
- uri = util/* default */.Z.get(agentM[byid], 'avatar_url') || acc.logo_url || __webpack_require__(4761);
2725
+ uri = util/* default.get */.Z.get(agentM[byid], 'avatar_url') || acc.logo_url || __webpack_require__(4761);
2636
2726
  }
2637
2727
  return (0,preact_module.h)("div", {
2638
2728
  class: "message-sender"
@@ -2654,8 +2744,8 @@ class Event extends common/* Com */.up {
2654
2744
  time: ev.created
2655
2745
  }));
2656
2746
  }
2657
- let t = new util/* default */.Z.Date(ev.created).toLocaleString();
2658
- if (util/* default */.Z.get(ev, 'by.type') !== 'user') {
2747
+ let t = new util/* default.Date */.Z.Date(ev.created).toLocaleString();
2748
+ if (util/* default.get */.Z.get(ev, 'by.type') !== 'user') {
2659
2749
  let $sender = null;
2660
2750
  if (this.props.event.mode === 'lead') $sender = this.renderAgentAvatar(ev);
2661
2751
  return (0,preact_module.h)("div", {
@@ -2711,15 +2801,15 @@ class Event extends common/* Com */.up {
2711
2801
  onSelect: e => this.chooseQuickReply(e)
2712
2802
  }));
2713
2803
  }
2714
- if (util/* default */.Z.getMsgField(ev, 'idempotency') === ev.id && this.props.store.now() - ev.created < 900) {
2715
- util/* default */.Z.setTimeout(() => this.setState({
2804
+ if (util/* default.getMsgField */.Z.getMsgField(ev, 'idempotency') === ev.id && this.props.store.now() - ev.created < 900) {
2805
+ util/* default.setTimeout */.Z.setTimeout(() => this.setState({
2716
2806
  refresh: this.state.refresh
2717
2807
  }), 1000);
2718
2808
  }
2719
2809
  let $dot = (0,preact_module.h)("div", {
2720
2810
  class: "sending_dot"
2721
2811
  });
2722
- if (this.props.store.now() - ev.created < 900 || util/* default */.Z.getMsgField(ev, 'idempotency') !== ev.id) {
2812
+ if (this.props.store.now() - ev.created < 900 || util/* default.getMsgField */.Z.getMsgField(ev, 'idempotency') !== ev.id) {
2723
2813
  $dot = (0,preact_module.h)("div", {
2724
2814
  class: "sending_dot sending_dot__hide"
2725
2815
  });
@@ -2783,7 +2873,7 @@ class Event extends common/* Com */.up {
2783
2873
  })), $error);
2784
2874
  }
2785
2875
  renderUpdateConvo(ev) {
2786
- var state = util/* default */.Z.get(ev, 'data.conversation.state');
2876
+ var state = util/* default.get */.Z.get(ev, 'data.conversation.state');
2787
2877
  if (state === 'active') return null;
2788
2878
  if (state === 'pending') return null;
2789
2879
  return (0,preact_module.h)("div", {
@@ -2793,18 +2883,18 @@ class Event extends common/* Com */.up {
2793
2883
  }));
2794
2884
  }
2795
2885
  resendMessage() {
2796
- let cid = util/* default */.Z.convoOfEv(this.props.event.ev);
2797
- const message = util/* default */.Z.get(this.props.event, 'ev.data.message');
2886
+ let cid = util/* default.convoOfEv */.Z.convoOfEv(this.props.event.ev);
2887
+ const message = util/* default.get */.Z.get(this.props.event, 'ev.data.message');
2798
2888
  this.props.store.sendConvoEvent(cid, 'message_sent', {
2799
2889
  message
2800
2890
  });
2801
2891
  }
2802
2892
  getSenderName(ev) {
2803
- let bytype = util/* default */.Z.get(ev, 'by.type');
2804
- let byid = util/* default */.Z.get(ev, 'by.display_id', util/* default */.Z.get(ev, 'by.id'));
2805
- if (bytype === 'user') return util/* default */.Z.getUserDisplayName(this.props.store.matchUser());
2893
+ let bytype = util/* default.get */.Z.get(ev, 'by.type');
2894
+ let byid = util/* default.get */.Z.get(ev, 'by.display_id', util/* default.get */.Z.get(ev, 'by.id'));
2895
+ if (bytype === 'user') return util/* default.getUserDisplayName */.Z.getUserDisplayName(this.props.store.matchUser());
2806
2896
  let acc = this.props.store.matchAccount();
2807
- if (bytype === 'agent') return util/* default */.Z.getAgentDisplayName(acc, this.props.store.matchAgent(byid));
2897
+ if (bytype === 'agent') return util/* default.getAgentDisplayName */.Z.getAgentDisplayName(acc, this.props.store.matchAgent(byid));
2808
2898
  if (byid === 'system' || bytype === 'dummy' || bytype === 'workflow') return acc.name || 'system';
2809
2899
  return '';
2810
2900
  }
@@ -2851,7 +2941,7 @@ class Events extends common/* Com */.up {
2851
2941
  this.props.store.onConvoEvent(this, ev => this.onEvent(ev));
2852
2942
  this.loadConvo();
2853
2943
  this.refBody = null;
2854
- this.checkAndSeen = util/* default */.Z.throttle(() => {
2944
+ this.checkAndSeen = util/* default.throttle */.Z.throttle(() => {
2855
2945
  if (this.props.isShow && this.isBottom() && this.props.store.browserVisibility === 'visible' && document.hasFocus()) {
2856
2946
  this.props.store.seenConvo(this.props.cid);
2857
2947
  }
@@ -2863,8 +2953,8 @@ class Events extends common/* Com */.up {
2863
2953
  }
2864
2954
  render() {
2865
2955
  if (this.state.error) return this.renderError();
2866
- let events = util/* default */.Z.map(this.props.store.listEvents(this.props.cid));
2867
- if (!this.state.loading && util/* default */.Z.size(events) === 0) {
2956
+ let events = util/* default.map */.Z.map(this.props.store.listEvents(this.props.cid));
2957
+ if (!this.state.loading && util/* default.size */.Z.size(events) === 0) {
2868
2958
  return (0,preact_module.h)("div", {
2869
2959
  ref: ref => this.refBody = ref,
2870
2960
  class: "widget-body--events-container"
@@ -2878,13 +2968,13 @@ class Events extends common/* Com */.up {
2878
2968
  store: this.props.store
2879
2969
  }));
2880
2970
  }
2881
- events = util/* default */.Z.orderBy(events, 'created', 'asc');
2971
+ events = util/* default.orderBy */.Z.orderBy(events, 'created', 'asc');
2882
2972
  let convo = this.props.store.matchConvo(this.props.cid);
2883
- events = util/* default */.Z.map(events, ev => ({
2973
+ events = util/* default.map */.Z.map(events, ev => ({
2884
2974
  ev: ev
2885
2975
  }));
2886
2976
  processEvents(convo, events);
2887
- let $events = util/* default */.Z.map(events, ev => (0,preact_module.h)(Event, {
2977
+ let $events = util/* default.map */.Z.map(events, ev => (0,preact_module.h)(Event, {
2888
2978
  chatbox: this.props.chatbox,
2889
2979
  onLink: this.props.onLink,
2890
2980
  store: this.props.store,
@@ -2900,7 +2990,7 @@ class Events extends common/* Com */.up {
2900
2990
  if (this.state.loading || this.props.creating) {
2901
2991
  $loading = (0,preact_module.h)(Spinner, {
2902
2992
  static: true,
2903
- mode: util/* default */.Z.get(this.props.chatbox, 'primary_color', 'dark'),
2993
+ mode: util/* default.get */.Z.get(this.props.chatbox, 'primary_color', 'dark'),
2904
2994
  size: "120",
2905
2995
  center: true
2906
2996
  });
@@ -2939,23 +3029,23 @@ class Events extends common/* Com */.up {
2939
3029
  }
2940
3030
  focus() {
2941
3031
  let events = this.props.store.listEvents(this.props.cid);
2942
- events = util/* default */.Z.orderBy(util/* default */.Z.map(events), 'created', 'desc');
3032
+ events = util/* default.orderBy */.Z.orderBy(util/* default.map */.Z.map(events), 'created', 'desc');
2943
3033
  var last_agent_sent;
2944
3034
  for (let ev of events) {
2945
- if (util/* default */.Z.get(ev, 'type') !== 'message_sent') continue;
2946
- if (util/* default */.Z.get(ev, 'by.type') === 'user') continue;
3035
+ if (util/* default.get */.Z.get(ev, 'type') !== 'message_sent') continue;
3036
+ if (util/* default.get */.Z.get(ev, 'by.type') === 'user') continue;
2947
3037
  last_agent_sent = ev;
2948
3038
  break;
2949
3039
  }
2950
- if (util/* default */.Z.get(last_agent_sent, 'by.type') === 'user') last_agent_sent = null;
2951
- let attachments = util/* default */.Z.get(last_agent_sent, 'data.message.attachments', []);
3040
+ if (util/* default.get */.Z.get(last_agent_sent, 'by.type') === 'user') last_agent_sent = null;
3041
+ let attachments = util/* default.get */.Z.get(last_agent_sent, 'data.message.attachments', []);
2952
3042
  let convo = this.props.store.matchConvo(this.props.cid);
2953
- let pendingForms = util/* default */.Z.filter(attachments, att => {
3043
+ let pendingForms = util/* default.filter */.Z.filter(attachments, att => {
2954
3044
  if (!att) return false;
2955
3045
  if (att.type !== 'form' && att.type !== 'ask_info_form') return false;
2956
3046
  var form = att.form;
2957
3047
  if (!form) return false;
2958
- var state = util/* default */.Z.parseJSON(form.state) || {};
3048
+ var state = util/* default.parseJSON */.Z.parseJSON(form.state) || {};
2959
3049
  if (!state.require_finished && att.type !== 'ask_info_form') return false;
2960
3050
  if (Events_isSummited(att.form)) return false;
2961
3051
  if (convo.state === 'ended') return false;
@@ -2963,10 +3053,10 @@ class Events extends common/* Com */.up {
2963
3053
  });
2964
3054
  }
2965
3055
  onEvent(newev) {
2966
- if (util/* default */.Z.convoOfEv(newev) !== this.props.cid) return;
3056
+ if (util/* default.convoOfEv */.Z.convoOfEv(newev) !== this.props.cid) return;
2967
3057
  let isBottom = this.isBottom();
2968
3058
  var byme = false;
2969
- if (util/* default */.Z.get(newev, 'type') === 'message_sent' && newev.id === util/* default */.Z.getMsgField(newev, 'idempotency')) byme = true;
3059
+ if (util/* default.get */.Z.get(newev, 'type') === 'message_sent' && newev.id === util/* default.getMsgField */.Z.getMsgField(newev, 'idempotency')) byme = true;
2970
3060
  if (byme || isBottom) this.scrollToBottom();
2971
3061
  }
2972
3062
  async loadConvo() {
@@ -2976,7 +3066,7 @@ class Events extends common/* Com */.up {
2976
3066
  loading: true
2977
3067
  });
2978
3068
  let events = this.props.store.listEvents(this.props.cid);
2979
- if (util/* default */.Z.size(events) === 0) {
3069
+ if (util/* default.size */.Z.size(events) === 0) {
2980
3070
  let cid = this.props.cid;
2981
3071
  let {
2982
3072
  error
@@ -3000,7 +3090,7 @@ class Events extends common/* Com */.up {
3000
3090
  error: false
3001
3091
  });
3002
3092
  this.scrollToBottom();
3003
- util/* default */.Z.setTimeout(() => this.setState({
3093
+ util/* default.setTimeout */.Z.setTimeout(() => this.setState({
3004
3094
  loading: false
3005
3095
  }), 50);
3006
3096
  }
@@ -3010,11 +3100,11 @@ class Events extends common/* Com */.up {
3010
3100
  return $container.scrollHeight < $container.scrollTop + $container.offsetHeight + 50;
3011
3101
  }
3012
3102
  scrollToBottom() {
3013
- util/* default */.Z.setTimeout(() => {
3103
+ util/* default.setTimeout */.Z.setTimeout(() => {
3014
3104
  const $div = this.refBody;
3015
3105
  if ($div) $div.scrollTop = $div.scrollHeight;
3016
3106
  });
3017
- util/* default */.Z.setTimeout(() => {
3107
+ util/* default.setTimeout */.Z.setTimeout(() => {
3018
3108
  const $div = this.refBody;
3019
3109
  if ($div) $div.scrollTop = $div.scrollHeight;
3020
3110
  }, 200);
@@ -3032,13 +3122,13 @@ function processEvents(convo, events) {
3032
3122
  let curEvent = events[i];
3033
3123
  let lastEvent = events[i - 1];
3034
3124
  if (visibleEvent(curEvent.ev)) {
3035
- let elapsedSec = util/* default */.Z.unixSec(curEvent.ev.created) - util/* default */.Z.unixSec(lastEvent.ev.created);
3125
+ let elapsedSec = util/* default.unixSec */.Z.unixSec(curEvent.ev.created) - util/* default.unixSec */.Z.unixSec(lastEvent.ev.created);
3036
3126
  if (elapsedSec > 120) curEvent.show_time = true;
3037
3127
  }
3038
3128
  }
3039
3129
  for (var i = 0; i < events.length; i++) {
3040
3130
  let curEvent = events[i];
3041
- if (util/* default */.Z.get(curEvent, 'ev.type') === 'message_sent') {
3131
+ if (util/* default.get */.Z.get(curEvent, 'ev.type') === 'message_sent') {
3042
3132
  curEvent.show_time = true;
3043
3133
  break;
3044
3134
  }
@@ -3048,7 +3138,7 @@ function processEvents(convo, events) {
3048
3138
  let prevEvent = events[i - 1];
3049
3139
  if (curEvent.ev.type === 'message_sent') {
3050
3140
  curEvent.mode = 'lead';
3051
- if (util/* default */.Z.get(prevEvent, 'ev.type') === 'message_sent' && util/* default */.Z.get(prevEvent, 'ev.by.id') === util/* default */.Z.get(curEvent, 'ev.by.id')) {
3141
+ if (util/* default.get */.Z.get(prevEvent, 'ev.type') === 'message_sent' && util/* default.get */.Z.get(prevEvent, 'ev.by.id') === util/* default.get */.Z.get(curEvent, 'ev.by.id')) {
3052
3142
  curEvent.mode = 'follow';
3053
3143
  }
3054
3144
  continue;
@@ -3056,12 +3146,12 @@ function processEvents(convo, events) {
3056
3146
  }
3057
3147
  }
3058
3148
  function visibleEvent(ev) {
3059
- let type = util/* default */.Z.get(ev, 'type');
3149
+ let type = util/* default.get */.Z.get(ev, 'type');
3060
3150
  return type === 'message_sent' || type === 'conversation_state_updated';
3061
3151
  }
3062
3152
  function Events_isSummited(form) {
3063
- let fields = util/* default */.Z.get(form, 'fields') || [];
3064
- return util/* default */.Z.find(fields, field => !!field.answered);
3153
+ let fields = util/* default.get */.Z.get(form, 'fields') || [];
3154
+ return util/* default.find */.Z.find(fields, field => !!field.answered);
3065
3155
  }
3066
3156
  ;// CONCATENATED MODULE: ./src/chatbox/Typing.js
3067
3157
 
@@ -3077,29 +3167,29 @@ class Typing extends common/* Com */.up {
3077
3167
  ev: {}
3078
3168
  });
3079
3169
  this.props.store.onConvoEvent(this, ev => {
3080
- if (util/* default */.Z.convoOfEv(ev) !== this.props.cid) return;
3170
+ if (util/* default.convoOfEv */.Z.convoOfEv(ev) !== this.props.cid) return;
3081
3171
  let user = this.props.store.matchUser();
3082
- if (util/* default */.Z.get(ev, 'by.id') === user.id) return;
3083
- let oldby = util/* default */.Z.get(this.state.ev, 'by.id');
3084
- if (oldby && util/* default */.Z.get(ev, 'by.id') !== oldby) return;
3085
- if (util/* default */.Z.get(ev, 'type') === 'message_sent') {
3086
- if (this.timer) util/* default */.Z.clearTimeout(this.timer);
3172
+ if (util/* default.get */.Z.get(ev, 'by.id') === user.id) return;
3173
+ let oldby = util/* default.get */.Z.get(this.state.ev, 'by.id');
3174
+ if (oldby && util/* default.get */.Z.get(ev, 'by.id') !== oldby) return;
3175
+ if (util/* default.get */.Z.get(ev, 'type') === 'message_sent') {
3176
+ if (this.timer) util/* default.clearTimeout */.Z.clearTimeout(this.timer);
3087
3177
  this.timer = null;
3088
3178
  this.setState({
3089
3179
  isShow: false
3090
3180
  });
3091
3181
  return;
3092
3182
  }
3093
- if (util/* default */.Z.get(ev, 'type') !== 'conversation_typing') return;
3094
- let ag = this.props.store.matchAgent(util/* default */.Z.get(ev, 'by.id')) || {};
3183
+ let ag = this.props.store.matchAgent(ev.by.id) || {};
3095
3184
  if (ag.type == 'agent') return;
3185
+ if (util/* default.get */.Z.get(ev, 'type') !== 'conversation_typing') return;
3096
3186
  this.setState({
3097
3187
  ev: ev,
3098
3188
  isShow: true
3099
3189
  });
3100
- if (this.timer) util/* default */.Z.clearTimeout(this.timer);
3101
- this.timer = util/* default */.Z.setTimeout(() => {
3102
- if (util/* default */.Z.convoOfEv(ev) !== this.props.cid) return;
3190
+ if (this.timer) util/* default.clearTimeout */.Z.clearTimeout(this.timer);
3191
+ this.timer = util/* default.setTimeout */.Z.setTimeout(() => {
3192
+ if (util/* default.convoOfEv */.Z.convoOfEv(ev) !== this.props.cid) return;
3103
3193
  this.timer = null;
3104
3194
  this.setState({
3105
3195
  isShow: false
@@ -3110,8 +3200,8 @@ class Typing extends common/* Com */.up {
3110
3200
  render() {
3111
3201
  let account = this.props.store.matchAccount();
3112
3202
  var cls = this.state.isShow ? '' : 'typing--hidden';
3113
- let byid = util/* default */.Z.get(this.state.ev, 'by.display_id', util/* default */.Z.get(this.state.ev, 'by.id'));
3114
- let agentName = util/* default */.Z.getAgentDisplayName(account, this.props.store.matchAgent(byid));
3203
+ let byid = util/* default.get */.Z.get(this.state.ev, 'by.display_id', util/* default.get */.Z.get(this.state.ev, 'by.id'));
3204
+ let agentName = util/* default.getAgentDisplayName */.Z.getAgentDisplayName(account, this.props.store.matchAgent(byid));
3115
3205
  return (0,preact_module.h)("div", {
3116
3206
  class: `typing ${cls}`
3117
3207
  }, agentName, " ", this.props.t('typing'));
@@ -3130,7 +3220,7 @@ class Typing extends common/* Com */.up {
3130
3220
  this.stop();
3131
3221
  var t0;
3132
3222
  var run = t => {
3133
- if (!t) t = new util/* default */.Z.Date().getTime();
3223
+ if (!t) t = new util/* default.Date */.Z.Date().getTime();
3134
3224
  var deltaT = t - t0;
3135
3225
  var [newy, done] = this.calcY(v, y0, deltaT);
3136
3226
  cb(newy);
@@ -3138,7 +3228,7 @@ class Typing extends common/* Com */.up {
3138
3228
  this.animationframe = window.requestAnimationFrame(run);
3139
3229
  };
3140
3230
  this.animationframe = window.requestAnimationFrame(t => {
3141
- t0 = t || new util/* default */.Z.Date().getTime();
3231
+ t0 = t || new util/* default.Date */.Z.Date().getTime();
3142
3232
  run(t0);
3143
3233
  });
3144
3234
  }
@@ -3200,7 +3290,7 @@ class Rating extends common/* Com */.up {
3200
3290
  if (this.shoudDisplay()) this.open();
3201
3291
  });
3202
3292
  this.props.store.onConvoEvent(this, ev => {
3203
- var cid = util/* default */.Z.convoOfEv(ev);
3293
+ var cid = util/* default.convoOfEv */.Z.convoOfEv(ev);
3204
3294
  if (cid !== this.props.cid) return;
3205
3295
  if (this.shoudDisplay()) this.open();
3206
3296
  });
@@ -3309,12 +3399,12 @@ class Rating extends common/* Com */.up {
3309
3399
  var rated;
3310
3400
  var ended;
3311
3401
  let user = this.props.store.matchUser();
3312
- util/* default */.Z.map(this.props.store.listEvents(this.props.cid), ev => {
3313
- if (util/* default */.Z.get(ev, 'type') === 'conversation_state_updated' && util/* default */.Z.get(ev, 'data.conversation.state') === 'ended') {
3402
+ util/* default.map */.Z.map(this.props.store.listEvents(this.props.cid), ev => {
3403
+ if (util/* default.get */.Z.get(ev, 'type') === 'conversation_state_updated' && util/* default.get */.Z.get(ev, 'data.conversation.state') === 'ended') {
3314
3404
  ended = ev;
3315
3405
  }
3316
- if (util/* default */.Z.get(ev, 'type') === 'conversation_rating_requested') requested = ev;
3317
- if (util/* default */.Z.get(ev, 'type') === 'conversation_rated' && util/* default */.Z.get(ev, 'by.id') === user.id) rated = ev;
3406
+ if (util/* default.get */.Z.get(ev, 'type') === 'conversation_rating_requested') requested = ev;
3407
+ if (util/* default.get */.Z.get(ev, 'type') === 'conversation_rated' && util/* default.get */.Z.get(ev, 'by.id') === user.id) rated = ev;
3318
3408
  });
3319
3409
  if (rated) return false;
3320
3410
  let accountSetting = this.props.plugin.chatbox;
@@ -3355,7 +3445,7 @@ class Rating extends common/* Com */.up {
3355
3445
  hide: false
3356
3446
  });
3357
3447
  if (!this.refRating.current) return;
3358
- util/* default */.Z.setTimeout(() => {
3448
+ util/* default.setTimeout */.Z.setTimeout(() => {
3359
3449
  if (this.refComment.current) this.refComment.current.focus();
3360
3450
  }, 400);
3361
3451
  this.refComment.current.value = '';
@@ -3477,15 +3567,15 @@ class DropdownSelect extends common/* Com */.up {
3477
3567
  });
3478
3568
  DropdownSelect_defineProperty(this, "hasSearch", () => {
3479
3569
  if (this.props.has_search) return true;
3480
- return util/* default */.Z.size(this.props.items) >= 10;
3570
+ return util/* default.size */.Z.size(this.props.items) >= 10;
3481
3571
  });
3482
3572
  DropdownSelect_defineProperty(this, "getFilteredOptions", () => {
3483
3573
  let items = this.props.items;
3484
3574
  if (this.state.searchValue && this.hasSearch()) {
3485
- items = util/* default */.Z.filter(items, item => {
3486
- let optionName = util/* default */.Z.unicodeToAscii(item.name).toLowerCase().replace(/ /g, '');
3487
- let optionDesc = util/* default */.Z.unicodeToAscii(item.desc).toLowerCase().replace(/ /g, '');
3488
- let searchValue = util/* default */.Z.unicodeToAscii(this.state.searchValue).toLowerCase().replace(/ /g, '');
3575
+ items = util/* default.filter */.Z.filter(items, item => {
3576
+ let optionName = util/* default.unicodeToAscii */.Z.unicodeToAscii(item.name).toLowerCase().replace(/ /g, '');
3577
+ let optionDesc = util/* default.unicodeToAscii */.Z.unicodeToAscii(item.desc).toLowerCase().replace(/ /g, '');
3578
+ let searchValue = util/* default.unicodeToAscii */.Z.unicodeToAscii(this.state.searchValue).toLowerCase().replace(/ /g, '');
3489
3579
  return optionName.indexOf(searchValue) != -1 || optionDesc.indexOf(searchValue) != -1;
3490
3580
  });
3491
3581
  }
@@ -3544,7 +3634,7 @@ class DropdownSelect extends common/* Com */.up {
3544
3634
  focusFilter() {
3545
3635
  if (!this.filterRef.current) return;
3546
3636
  this.filterRef.current.focus();
3547
- util/* default */.Z.setTimeout(() => {
3637
+ util/* default.setTimeout */.Z.setTimeout(() => {
3548
3638
  if (!this.filterRef.current) return;
3549
3639
  this.filterRef.current.focus();
3550
3640
  }, 100);
@@ -3552,7 +3642,7 @@ class DropdownSelect extends common/* Com */.up {
3552
3642
  renderDropdown() {
3553
3643
  if (!this.state.show) return null;
3554
3644
  let items = this.getFilteredOptions();
3555
- let $items = util/* default */.Z.map(items, item => {
3645
+ let $items = util/* default.map */.Z.map(items, item => {
3556
3646
  return (0,preact_module.h)("div", {
3557
3647
  class: "dropdown_select__item",
3558
3648
  onClick: _ => this.onSelect(item)
@@ -3613,10 +3703,10 @@ class DropdownSelect extends common/* Com */.up {
3613
3703
  class: "muted text-truncate",
3614
3704
  style: "flex: 1 !important;"
3615
3705
  }, "Ch\u1ECDn m\u1ED9t ph\u1EA7n t\u1EED");
3616
- if (util/* default */.Z.get(this.props, 'selected.name')) $name = (0,preact_module.h)("div", {
3706
+ if (util/* default.get */.Z.get(this.props, 'selected.name')) $name = (0,preact_module.h)("div", {
3617
3707
  class: "text-truncate",
3618
3708
  style: "flex: 1 !important;"
3619
- }, util/* default */.Z.get(this.props, 'selected.name'));
3709
+ }, util/* default.get */.Z.get(this.props, 'selected.name'));
3620
3710
  let style = 'position: relative !important;';
3621
3711
  if (this.props.full) {
3622
3712
  style = '';
@@ -3676,13 +3766,13 @@ class AddressPicker extends common/* Com */.up {
3676
3766
  }
3677
3767
  if (e.key == 'Enter') {}
3678
3768
  });
3679
- address_picker_defineProperty(this, "doSearch", util/* default */.Z.throttle(async () => {
3769
+ address_picker_defineProperty(this, "doSearch", util/* default.throttle */.Z.throttle(async () => {
3680
3770
  let requestId = Date.now();
3681
3771
  this.requestId = requestId;
3682
3772
  let res = await this.props.store.suggest_addresses(this.state.searchValue);
3683
3773
  if (this.requestId !== requestId) return;
3684
3774
  this.setState({
3685
- addresses: util/* default */.Z.get(res, 'body.addresses', [])
3775
+ addresses: util/* default.get */.Z.get(res, 'body.addresses', [])
3686
3776
  });
3687
3777
  }, 100));
3688
3778
  address_picker_defineProperty(this, "onChangeSearchValue", e => {
@@ -3739,14 +3829,14 @@ class AddressPicker extends common/* Com */.up {
3739
3829
  focusFilter() {
3740
3830
  if (!this.filterRef.current) return;
3741
3831
  this.filterRef.current.focus();
3742
- util/* default */.Z.setTimeout(() => {
3832
+ util/* default.setTimeout */.Z.setTimeout(() => {
3743
3833
  if (!this.filterRef.current) return;
3744
3834
  this.filterRef.current.focus();
3745
3835
  }, 100);
3746
3836
  }
3747
3837
  renderDropdown() {
3748
3838
  if (!this.state.show) return null;
3749
- let $items = util/* default */.Z.map(this.state.addresses, (addr, i) => {
3839
+ let $items = util/* default.map */.Z.map(this.state.addresses, (addr, i) => {
3750
3840
  let label = [((addr.address || '') + ' ' + normalize(addr.street)).trim()].join(', ');
3751
3841
  let desc = [normalize(addr.ward), normalize(addr.district), normalize(addr.province)].join(', ');
3752
3842
  return (0,preact_module.h)("div", {
@@ -3848,7 +3938,7 @@ var $link = document.createElement('link');
3848
3938
  $link.href = 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500&display=swap';
3849
3939
  $link.rel = 'stylesheet';
3850
3940
  document.head.append($link);
3851
- util/* default */.Z.preloadWebfonts(['Roboto'], [400, 500]);
3941
+ util/* default.preloadWebfonts */.Z.preloadWebfonts(['Roboto'], [400, 500]);
3852
3942
 
3853
3943
  let icon_defaultAvatar = __webpack_require__(4761);
3854
3944
 
@@ -3955,7 +4045,7 @@ class order_Order extends common/* Com */.up {
3955
4045
  loadDistrict: false
3956
4046
  });
3957
4047
  if (!out.error) this.setState({
3958
- districts: util/* default */.Z.get(out, 'body.addresses')
4048
+ districts: util/* default.get */.Z.get(out, 'body.addresses')
3959
4049
  });
3960
4050
  });
3961
4051
  order_defineProperty(this, "onSelectDistrict", async item => {
@@ -3974,7 +4064,7 @@ class order_Order extends common/* Com */.up {
3974
4064
  loadWard: false
3975
4065
  });
3976
4066
  if (!out.error) this.setState({
3977
- wards: util/* default */.Z.get(out, 'body.addresses')
4067
+ wards: util/* default.get */.Z.get(out, 'body.addresses')
3978
4068
  });
3979
4069
  });
3980
4070
  order_defineProperty(this, "onSelectWard", item => this.setState({
@@ -3995,7 +4085,7 @@ class order_Order extends common/* Com */.up {
3995
4085
  order_defineProperty(this, "onSelectAddress", addr => {
3996
4086
  if (!addr) return;
3997
4087
  this.setState({
3998
- address: [util/* default */.Z.trim(addr.address), util/* default */.Z.trim(addr.street)].join(' ').trim(),
4088
+ address: [util/* default.trim */.Z.trim(addr.address), util/* default.trim */.Z.trim(addr.street)].join(' ').trim(),
3999
4089
  street: addr.street,
4000
4090
  err: {},
4001
4091
  g_err: ''
@@ -4042,36 +4132,36 @@ class order_Order extends common/* Com */.up {
4042
4132
  });
4043
4133
  }
4044
4134
  if (this.state.shipping === 'shop') {
4045
- if (!util/* default */.Z.isPhone(this.state.phone)) {
4135
+ if (!util/* default.isPhone */.Z.isPhone(this.state.phone)) {
4046
4136
  err.phone = true;
4047
4137
  }
4048
- if (!util/* default */.Z.trim(this.state.fullname)) {
4138
+ if (!util/* default.trim */.Z.trim(this.state.fullname)) {
4049
4139
  err.name = true;
4050
4140
  }
4051
- if (!util/* default */.Z.trim(this.state.email)) {
4141
+ if (!util/* default.trim */.Z.trim(this.state.email)) {
4052
4142
  err.email = true;
4053
4143
  }
4054
4144
  } else if (this.state.shipping_address == 'new') {
4055
- if (!util/* default */.Z.isPhone(this.state.phone)) {
4145
+ if (!util/* default.isPhone */.Z.isPhone(this.state.phone)) {
4056
4146
  err.phone = true;
4057
4147
  }
4058
- if (!util/* default */.Z.trim(this.state.fullname)) {
4148
+ if (!util/* default.trim */.Z.trim(this.state.fullname)) {
4059
4149
  err.name = true;
4060
4150
  }
4061
- if (!util/* default */.Z.trim(this.state.address)) {
4151
+ if (!util/* default.trim */.Z.trim(this.state.address)) {
4062
4152
  err.address = true;
4063
4153
  }
4064
- if (util/* default */.Z.size(this.state.selectedWard) == 0) {
4154
+ if (util/* default.size */.Z.size(this.state.selectedWard) == 0) {
4065
4155
  err.ward = true;
4066
4156
  }
4067
- if (util/* default */.Z.size(this.state.selectedDistrict) == 0) {
4157
+ if (util/* default.size */.Z.size(this.state.selectedDistrict) == 0) {
4068
4158
  err.district = true;
4069
4159
  }
4070
- if (util/* default */.Z.size(this.state.selectedProvince) == 0) {
4160
+ if (util/* default.size */.Z.size(this.state.selectedProvince) == 0) {
4071
4161
  err.province = true;
4072
4162
  }
4073
4163
  }
4074
- if (util/* default */.Z.size(err) > 0) {
4164
+ if (util/* default.size */.Z.size(err) > 0) {
4075
4165
  this.setState({
4076
4166
  err,
4077
4167
  g_err: this.props.t('input_shipping_info_err')
@@ -4079,15 +4169,15 @@ class order_Order extends common/* Com */.up {
4079
4169
  return;
4080
4170
  }
4081
4171
  let user = this.props.store.matchUser();
4082
- let ufullname = util/* default */.Z.getUserAttr(user, 'fullname', 'text');
4083
- let uemail = util/* default */.Z.getUserAttr(user, 'emails', 'text');
4084
- let uphone = util/* default */.Z.getUserAttr(user, 'phones', 'text');
4085
- let order = util/* default */.Z.cloneDeep(this.state.order);
4172
+ let ufullname = util/* default.getUserAttr */.Z.getUserAttr(user, 'fullname', 'text');
4173
+ let uemail = util/* default.getUserAttr */.Z.getUserAttr(user, 'emails', 'text');
4174
+ let uphone = util/* default.getUserAttr */.Z.getUserAttr(user, 'phones', 'text');
4175
+ let order = util/* default.cloneDeep */.Z.cloneDeep(this.state.order);
4086
4176
  if (this.state.shipping === 'shop') {
4087
- util/* default */.Z.set(order, 'shipping.pickup_at_shop', true);
4088
- util/* default */.Z.set(order, 'shipping.address.phone', this.state.phone);
4089
- util/* default */.Z.set(order, 'shipping.address.fullname', this.state.fullname);
4090
- util/* default */.Z.set(order, 'shipping.address.email', this.state.email);
4177
+ util/* default.set */.Z.set(order, 'shipping.pickup_at_shop', true);
4178
+ util/* default.set */.Z.set(order, 'shipping.address.phone', this.state.phone);
4179
+ util/* default.set */.Z.set(order, 'shipping.address.fullname', this.state.fullname);
4180
+ util/* default.set */.Z.set(order, 'shipping.address.email', this.state.email);
4091
4181
  } else {
4092
4182
  if (this.state.shipping_address == 'new') {
4093
4183
  let out = await this.props.store.createShippingAddress({
@@ -4107,37 +4197,37 @@ class order_Order extends common/* Com */.up {
4107
4197
  if (out.error) return this.setState({
4108
4198
  g_err: this.props.t('update_failed')
4109
4199
  });
4110
- util/* default */.Z.set(order, 'shipping.address', out.body);
4200
+ util/* default.set */.Z.set(order, 'shipping.address', out.body);
4111
4201
  } else {
4112
4202
  let addresses = this.props.store.matchShippingAddresses();
4113
- let sa = util/* default */.Z.find(addresses, addr => addr.id === this.state.shipping_address);
4203
+ let sa = util/* default.find */.Z.find(addresses, addr => addr.id === this.state.shipping_address);
4114
4204
  if (!sa) {
4115
4205
  return this.setState({
4116
4206
  err,
4117
4207
  g_err: this.props.t('input_shipping_info_err')
4118
4208
  });
4119
4209
  }
4120
- util/* default */.Z.set(order, 'shipping.address', sa);
4210
+ util/* default.set */.Z.set(order, 'shipping.address', sa);
4121
4211
  }
4122
4212
  }
4123
4213
  let changeduser = false;
4124
4214
  if (!ufullname && this.state.fullname) {
4125
4215
  changeduser = true;
4126
- util/* default */.Z.setUserAttr(user, {
4216
+ util/* default.setUserAttr */.Z.setUserAttr(user, {
4127
4217
  key: 'fullname',
4128
4218
  text: this.state.fullname
4129
4219
  });
4130
4220
  }
4131
4221
  if (!uemail && this.state.email) {
4132
4222
  changeduser = true;
4133
- util/* default */.Z.setUserAttr(user, {
4223
+ util/* default.setUserAttr */.Z.setUserAttr(user, {
4134
4224
  key: 'emails',
4135
4225
  text: this.state.email
4136
4226
  });
4137
4227
  }
4138
4228
  if (!uphone && this.state.phone) {
4139
4229
  changeduser = true;
4140
- util/* default */.Z.setUserAttr(user, {
4230
+ util/* default.setUserAttr */.Z.setUserAttr(user, {
4141
4231
  key: 'phones',
4142
4232
  text: this.state.phone
4143
4233
  });
@@ -4164,7 +4254,7 @@ class order_Order extends common/* Com */.up {
4164
4254
  order_defineProperty(this, "onCancel", () => {
4165
4255
  if (this.props.onResponse) this.props.onResponse('rejected');
4166
4256
  if (this.props.cid && !this.state.order.user_confirmation) {
4167
- let order = util/* default */.Z.cloneDeep(this.state.order);
4257
+ let order = util/* default.cloneDeep */.Z.cloneDeep(this.state.order);
4168
4258
  order.user_confirmation = 'rejected';
4169
4259
  this.props.store.updateOrder(order);
4170
4260
  }
@@ -4191,10 +4281,10 @@ class order_Order extends common/* Com */.up {
4191
4281
  });
4192
4282
  }
4193
4283
  let user = this.props.store.matchUser();
4194
- let attributes = util/* default */.Z.get(this.props.store.matchUser(), 'attributes', []);
4195
- let fullname = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'fullname'), 'text');
4196
- let email = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'emails'), 'text');
4197
- let phone = util/* default */.Z.get(util/* default */.Z.find(attributes, att => att.key === 'phones'), 'text');
4284
+ let attributes = util/* default.get */.Z.get(this.props.store.matchUser(), 'attributes', []);
4285
+ let fullname = util/* default.get */.Z.get(util/* default.find */.Z.find(attributes, att => att.key === 'fullname'), 'text');
4286
+ let email = util/* default.get */.Z.get(util/* default.find */.Z.find(attributes, att => att.key === 'emails'), 'text');
4287
+ let phone = util/* default.get */.Z.get(util/* default.find */.Z.find(attributes, att => att.key === 'phones'), 'text');
4198
4288
  this.setState({
4199
4289
  fullname,
4200
4290
  email,
@@ -4206,7 +4296,7 @@ class order_Order extends common/* Com */.up {
4206
4296
  loadProvince: false
4207
4297
  });
4208
4298
  if (!out.error) this.setState({
4209
- provinces: util/* default */.Z.get(out, 'body.addresses')
4299
+ provinces: util/* default.get */.Z.get(out, 'body.addresses')
4210
4300
  });
4211
4301
  }
4212
4302
  isMobile() {
@@ -4236,7 +4326,7 @@ class order_Order extends common/* Com */.up {
4236
4326
  }
4237
4327
  if (editmode) {
4238
4328
  let pms = this.props.store.matchPaymentMethods();
4239
- let $pms = util/* default */.Z.map(pms, pm => {
4329
+ let $pms = util/* default.map */.Z.map(pms, pm => {
4240
4330
  let $name = pm.description;
4241
4331
  if (pm.method == 'bank_transfer') {
4242
4332
  $name = pm.description + ' ' + pm.bank_name + ' ' + pm.bank_branch;
@@ -4317,15 +4407,15 @@ class order_Order extends common/* Com */.up {
4317
4407
  let user = this.props.store.matchUser();
4318
4408
  if (editmode) {
4319
4409
  let addresses = this.props.store.matchShippingAddresses();
4320
- let provinces = util/* default */.Z.map(this.state.provinces, province => ({
4410
+ let provinces = util/* default.map */.Z.map(this.state.provinces, province => ({
4321
4411
  id: province.id,
4322
4412
  name: province.province
4323
4413
  }));
4324
- let districts = util/* default */.Z.map(this.state.districts, district => ({
4414
+ let districts = util/* default.map */.Z.map(this.state.districts, district => ({
4325
4415
  id: district.id,
4326
4416
  name: district.district
4327
4417
  }));
4328
- let wards = util/* default */.Z.map(this.state.wards, ward => ({
4418
+ let wards = util/* default.map */.Z.map(this.state.wards, ward => ({
4329
4419
  id: ward.id,
4330
4420
  name: ward.ward
4331
4421
  }));
@@ -4334,7 +4424,7 @@ class order_Order extends common/* Com */.up {
4334
4424
  let ship_icon_active = false;
4335
4425
  if (this.state.shipping === 'ship') {
4336
4426
  ship_icon_active = true;
4337
- let $preaddrs = util/* default */.Z.map(addresses, addr => {
4427
+ let $preaddrs = util/* default.map */.Z.map(addresses, addr => {
4338
4428
  let fulladdr = [addr.street, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
4339
4429
  let $phone = null;
4340
4430
  if (addr.phone) {
@@ -4466,7 +4556,7 @@ class order_Order extends common/* Com */.up {
4466
4556
  style: "flex: 1 !important; margin-left: 7px !important;"
4467
4557
  })));
4468
4558
  cls += ' ship_card__active';
4469
- if (util/* default */.Z.size(addresses) == 0) {
4559
+ if (util/* default.size */.Z.size(addresses) == 0) {
4470
4560
  $body = (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
4471
4561
  class: 'mt-3 mb-2 '
4472
4562
  }, this.props.t('input_shipping_info')), $new);
@@ -4544,13 +4634,13 @@ class order_Order extends common/* Com */.up {
4544
4634
  class: "ml-2"
4545
4635
  }, "Giao h\xE0ng cho t\xF4i"))), $body));
4546
4636
  }
4547
- let addr = util/* default */.Z.get(order, 'shipping.address') || {};
4637
+ let addr = util/* default.get */.Z.get(order, 'shipping.address') || {};
4548
4638
  let fulladdr = [addr.address, addr.ward, addr.district, addr.region, addr.country].filter(a => a).join(', ');
4549
4639
  let $phone = null;
4550
4640
  if (addr.phone) $phone = (0,preact_module.h)("div", {
4551
4641
  class: "mt-1 muted"
4552
4642
  }, this.props.t('phn'), ":\xA0", addr.phone);
4553
- if (util/* default */.Z.get(order, 'shipping.pickup_at_shop')) {
4643
+ if (util/* default.get */.Z.get(order, 'shipping.pickup_at_shop')) {
4554
4644
  fulladdr = 'Nhận hàng tại cửa hàng';
4555
4645
  }
4556
4646
  let $addr = fulladdr ? (0,preact_module.h)("div", null, fulladdr) : (0,preact_module.h)("i", {
@@ -4569,28 +4659,28 @@ class order_Order extends common/* Com */.up {
4569
4659
  if (order.deposit > 0) {
4570
4660
  $deposit = (0,preact_module.h)("span", {
4571
4661
  class: "muted"
4572
- }, "(c\u1ECDc ", util/* default */.Z.formatCurrency(order.deposit), ")");
4662
+ }, "(c\u1ECDc ", util/* default.formatCurrency */.Z.formatCurrency(order.deposit), ")");
4573
4663
  }
4574
4664
  let $discount = null;
4575
4665
  if (order.total_discount > 0) {
4576
4666
  $discount = (0,preact_module.h)("div", {
4577
4667
  class: "order_summary_line"
4578
- }, (0,preact_module.h)("div", null, "Gi\u1EA3m gi\xE1"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order.total_discount)));
4668
+ }, (0,preact_module.h)("div", null, "Gi\u1EA3m gi\xE1"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order.total_discount)));
4579
4669
  }
4580
4670
  let $pay = null;
4581
4671
  if ($deposit || order.payment_made) {
4582
4672
  $pay = (0,preact_module.h)(preact_module/* Fragment */.HY, null, (0,preact_module.h)("div", {
4583
4673
  class: "order_summary_line"
4584
- }, (0,preact_module.h)("div", null, "B\u1EA1n \u0111\xE3 tr\u1EA3"), (0,preact_module.h)("div", null, $deposit, " ", util/* default */.Z.formatCurrency(order.payment_made))), (0,preact_module.h)("div", {
4674
+ }, (0,preact_module.h)("div", null, "B\u1EA1n \u0111\xE3 tr\u1EA3"), (0,preact_module.h)("div", null, $deposit, " ", util/* default.formatCurrency */.Z.formatCurrency(order.payment_made))), (0,preact_module.h)("div", {
4585
4675
  class: "order_summary_line"
4586
- }, (0,preact_module.h)("div", null, "B\u1EA1n ch\u01B0a tr\u1EA3"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency((order.total || 0) - (order.payment_made || 0)))));
4676
+ }, (0,preact_module.h)("div", null, "B\u1EA1n ch\u01B0a tr\u1EA3"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency((order.total || 0) - (order.payment_made || 0)))));
4587
4677
  }
4588
4678
  let $tax = (0,preact_module.h)("div", {
4589
4679
  class: "order_summary_line"
4590
- }, (0,preact_module.h)("div", null, "Ti\u1EC1n thu\u1EBF"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order.total_tax)));
4680
+ }, (0,preact_module.h)("div", null, "Ti\u1EC1n thu\u1EBF"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order.total_tax)));
4591
4681
  let $ship = (0,preact_module.h)("div", {
4592
4682
  class: "order_summary_line"
4593
- }, (0,preact_module.h)("div", null, "Ph\xED v\u1EADn chuy\u1EC3n"), (0,preact_module.h)("div", null, util/* default */.Z.get(order, 'shipping.fee', 0), " d"));
4683
+ }, (0,preact_module.h)("div", null, "Ph\xED v\u1EADn chuy\u1EC3n"), (0,preact_module.h)("div", null, util/* default.get */.Z.get(order, 'shipping.fee', 0), " d"));
4594
4684
  let editmode = false;
4595
4685
  if (!order.status || order.status == 'open') {
4596
4686
  editmode = !order.user_confirmation;
@@ -4616,12 +4706,12 @@ class order_Order extends common/* Com */.up {
4616
4706
  class: "order_label"
4617
4707
  }, "T\xF3m t\u1EAFt"), (0,preact_module.h)("div", {
4618
4708
  class: "order_summary_line"
4619
- }, (0,preact_module.h)("div", null, "T\u1ED5ng ti\u1EC1n h\xE0ng"), (0,preact_module.h)("div", null, util/* default */.Z.formatCurrency(order.subtotal))), $tax, $discount, $ship, $note, (0,preact_module.h)("div", {
4709
+ }, (0,preact_module.h)("div", null, "T\u1ED5ng ti\u1EC1n h\xE0ng"), (0,preact_module.h)("div", null, util/* default.formatCurrency */.Z.formatCurrency(order.subtotal))), $tax, $discount, $ship, $note, (0,preact_module.h)("div", {
4620
4710
  class: "order_summary_line",
4621
4711
  style: "margin-top: 10px !important; padding-top: 15px !important; border-top: 1px solid #eee !important"
4622
4712
  }, (0,preact_module.h)("div", null, "B\u1EA1n ph\u1EA3i tr\u1EA3"), (0,preact_module.h)("div", {
4623
4713
  class: "order__total"
4624
- }, util/* default */.Z.formatCurrency(order.total))), $pay));
4714
+ }, util/* default.formatCurrency */.Z.formatCurrency(order.total))), $pay));
4625
4715
  }
4626
4716
  renderStatusBadge(order) {
4627
4717
  let status = order.status || 'open';
@@ -4632,9 +4722,9 @@ class order_Order extends common/* Com */.up {
4632
4722
  }
4633
4723
  renderShippingInfo(order) {
4634
4724
  if (order.status != 'open' || order.user_confirmation) {}
4635
- let shipping_provider = util/* default */.Z.get(order, 'shipping.shipping_provider');
4725
+ let shipping_provider = util/* default.get */.Z.get(order, 'shipping.shipping_provider');
4636
4726
  if (!shipping_provider) return null;
4637
- let shipping_code = util/* default */.Z.get(order, 'shipping.shipping_code');
4727
+ let shipping_code = util/* default.get */.Z.get(order, 'shipping.shipping_code');
4638
4728
  let $tracking_code = null;
4639
4729
  if (shipping_code) $tracking_code = (0,preact_module.h)("div", {
4640
4730
  class: "muted",
@@ -4662,9 +4752,9 @@ class order_Order extends common/* Com */.up {
4662
4752
  return null;
4663
4753
  }
4664
4754
  renderDesktopShippingInfo(order) {
4665
- let shipping_provider = util/* default */.Z.get(order, 'shipping.shipping_provider');
4755
+ let shipping_provider = util/* default.get */.Z.get(order, 'shipping.shipping_provider');
4666
4756
  if (!shipping_provider) return null;
4667
- let shipping_code = util/* default */.Z.get(order, 'shipping.shipping_code');
4757
+ let shipping_code = util/* default.get */.Z.get(order, 'shipping.shipping_code');
4668
4758
  let $tracking_code = null;
4669
4759
  if (shipping_code) $tracking_code = (0,preact_module.h)("div", {
4670
4760
  class: "muted",
@@ -4691,7 +4781,7 @@ class order_Order extends common/* Com */.up {
4691
4781
  }
4692
4782
  renderProducts(order) {
4693
4783
  let $products = null;
4694
- $products = util/* default */.Z.map(order.items, item => {
4784
+ $products = util/* default.map */.Z.map(order.items, item => {
4695
4785
  if (!item || !item.product) return null;
4696
4786
  let product = item.product;
4697
4787
  return (0,preact_module.h)("div", {
@@ -4699,7 +4789,7 @@ class order_Order extends common/* Com */.up {
4699
4789
  }, (0,preact_module.h)("img", {
4700
4790
  class: "order_attachment__product_img",
4701
4791
  alt: '' + product.id,
4702
- src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
4792
+ src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
4703
4793
  }), (0,preact_module.h)("div", {
4704
4794
  style: "overflow: hidden !important;"
4705
4795
  }, (0,preact_module.h)("div", {
@@ -4708,7 +4798,7 @@ class order_Order extends common/* Com */.up {
4708
4798
  class: "order_attachment__product_desc"
4709
4799
  }, product.description || product.long_description), (0,preact_module.h)("div", {
4710
4800
  class: "order_attachment__product_desc"
4711
- }, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default */.Z.formatCurrency(product.price))));
4801
+ }, this.props.t('qty'), " ", item.quantity, "\xA0\xB7\xA0", util/* default.formatCurrency */.Z.formatCurrency(product.price))));
4712
4802
  });
4713
4803
  if (!this.isMobile()) return (0,preact_module.h)("div", null, (0,preact_module.h)("div", {
4714
4804
  class: "order_label"
@@ -4726,7 +4816,7 @@ class order_Order extends common/* Com */.up {
4726
4816
  editmode = !order.user_confirmation;
4727
4817
  }
4728
4818
  if (editmode) {
4729
- $products = util/* default */.Z.map(order.items, item => {
4819
+ $products = util/* default.map */.Z.map(order.items, item => {
4730
4820
  if (!item || !item.product) return null;
4731
4821
  let product = item.product;
4732
4822
  return (0,preact_module.h)("div", {
@@ -4734,7 +4824,7 @@ class order_Order extends common/* Com */.up {
4734
4824
  }, (0,preact_module.h)("img", {
4735
4825
  class: "order_attachment__product_img",
4736
4826
  alt: '' + product.id,
4737
- src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
4827
+ src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
4738
4828
  }), (0,preact_module.h)("div", {
4739
4829
  style: "overflow: hidden !important; flex: 1 !important"
4740
4830
  }, (0,preact_module.h)("div", {
@@ -4743,7 +4833,7 @@ class order_Order extends common/* Com */.up {
4743
4833
  class: "order_attachment__product_desc"
4744
4834
  }, product.description || product.long_description), (0,preact_module.h)("div", {
4745
4835
  class: "order_attachment__product_desc"
4746
- }, util/* default */.Z.formatCurrency(product.price))), (0,preact_module.h)("input", {
4836
+ }, util/* default.formatCurrency */.Z.formatCurrency(product.price))), (0,preact_module.h)("input", {
4747
4837
  class: "form-control",
4748
4838
  style: "text-align: center !important; font-weight: 400 !important; width: 50px !important",
4749
4839
  value: item.quantity,
@@ -4751,10 +4841,10 @@ class order_Order extends common/* Com */.up {
4751
4841
  type: "text"
4752
4842
  }), (0,preact_module.h)("div", {
4753
4843
  style: "width: 80px !important; text-align: right !important; "
4754
- }, (0,preact_module.h)("b", null, util/* default */.Z.formatCurrency(item.quantity * product.price))));
4844
+ }, (0,preact_module.h)("b", null, util/* default.formatCurrency */.Z.formatCurrency(item.quantity * product.price))));
4755
4845
  });
4756
4846
  } else {
4757
- $products = util/* default */.Z.map(order.items, item => {
4847
+ $products = util/* default.map */.Z.map(order.items, item => {
4758
4848
  if (!item || !item.product) return null;
4759
4849
  let product = item.product;
4760
4850
  return (0,preact_module.h)("div", {
@@ -4762,7 +4852,7 @@ class order_Order extends common/* Com */.up {
4762
4852
  }, (0,preact_module.h)("img", {
4763
4853
  class: "order_attachment__product_img",
4764
4854
  alt: '' + product.id,
4765
- src: util/* default */.Z.get(product, 'images.0') || __webpack_require__(9270)
4855
+ src: util/* default.get */.Z.get(product, 'images.0') || __webpack_require__(9270)
4766
4856
  }), (0,preact_module.h)("div", {
4767
4857
  style: "overflow: hidden !important; flex: 1 !important"
4768
4858
  }, (0,preact_module.h)("div", {
@@ -4771,11 +4861,11 @@ class order_Order extends common/* Com */.up {
4771
4861
  class: "order_attachment__product_desc"
4772
4862
  }, product.description || product.long_description), (0,preact_module.h)("div", {
4773
4863
  class: "order_attachment__product_desc"
4774
- }, util/* default */.Z.formatCurrency(product.price))), (0,preact_module.h)("div", {
4864
+ }, util/* default.formatCurrency */.Z.formatCurrency(product.price))), (0,preact_module.h)("div", {
4775
4865
  style: "text-align: center !important; font-weight: 400 !important; width: 50px !important"
4776
4866
  }, item.quantity), (0,preact_module.h)("div", {
4777
4867
  style: "width: 80px !important; text-align: right !important; "
4778
- }, (0,preact_module.h)("b", null, util/* default */.Z.formatCurrency(item.total))));
4868
+ }, (0,preact_module.h)("b", null, util/* default.formatCurrency */.Z.formatCurrency(item.total))));
4779
4869
  });
4780
4870
  }
4781
4871
  return (0,preact_module.h)("div", {
@@ -4993,7 +5083,7 @@ class Order extends common/* Com */.up {
4993
5083
  });
4994
5084
  });
4995
5085
  Order_defineProperty(this, "close", async () => {
4996
- await util/* default */.Z.sleep(100);
5086
+ await util/* default.sleep */.Z.sleep(100);
4997
5087
  if (this.state.response === 'confirmed') {
4998
5088
  this.props.store.sendConvoEvent(this.props.cid, 'message_sent', {
4999
5089
  message: {
@@ -5094,7 +5184,7 @@ class Order extends common/* Com */.up {
5094
5184
  render() {
5095
5185
  if (this._show != this.props.show) {
5096
5186
  this._show = this.props.show;
5097
- util/* default */.Z.setTimeout(() => {
5187
+ util/* default.setTimeout */.Z.setTimeout(() => {
5098
5188
  if (!this._show) this.close();else this.open();
5099
5189
  });
5100
5190
  }
@@ -5221,7 +5311,7 @@ class Widget extends common/* Com */.up {
5221
5311
  super(props);
5222
5312
  Widget_defineProperty(this, "msgInput", (0,preact_module/* createRef */.Vf)());
5223
5313
  Widget_defineProperty(this, "sendMessage", async message => {
5224
- let hasPostback = util/* default */.Z.find(message.attachments, att => att.type === 'postback');
5314
+ let hasPostback = util/* default.find */.Z.find(message.attachments, att => att.type === 'postback');
5225
5315
  if (this.isFormRequired() && hasPostback) {
5226
5316
  this.onStartConvoClick();
5227
5317
  this.fillQuickReplyToQuestion(message);
@@ -5300,7 +5390,7 @@ class Widget extends common/* Com */.up {
5300
5390
  clickedJoin: false,
5301
5391
  quickReplyMessage: {}
5302
5392
  });
5303
- util/* default */.Z.setTimeout(() => {
5393
+ util/* default.setTimeout */.Z.setTimeout(() => {
5304
5394
  this.events && this.events.focus();
5305
5395
  if (!this.props.store.isMobile()) this.focusInput();
5306
5396
  }, 100);
@@ -5311,10 +5401,10 @@ class Widget extends common/* Com */.up {
5311
5401
  let form;
5312
5402
  let accountSetting = this.props.plugin.chatbox || {};
5313
5403
  let acc = this.props.store.matchAccount() || {};
5314
- if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
5315
- let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
5404
+ if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
5405
+ let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
5316
5406
  if (this.isOffline(acc, accountSetting) && offlineEnabled) form = accountSetting.offline_form;
5317
- if (!this.hasSentMessage(this.props.cid) && form && (util/* default */.Z.size(form.groups) || form.group_required)) return true;
5407
+ if (!this.hasSentMessage(this.props.cid) && form && (util/* default.size */.Z.size(form.groups) || form.group_required)) return true;
5318
5408
  let formRequired = this.isFormRequired();
5319
5409
  return formRequired && !this.props.cid || formRequired && this.props.cid && this.state.clickedJoin;
5320
5410
  }
@@ -5324,8 +5414,8 @@ class Widget extends common/* Com */.up {
5324
5414
  let accountSetting = this.props.plugin.chatbox || {};
5325
5415
  let acc = this.props.store.matchAccount() || {};
5326
5416
  let submitLabel = this.props.t('prechat_form_btn');
5327
- if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
5328
- let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
5417
+ if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
5418
+ let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
5329
5419
  if (this.isOffline(acc, accountSetting) && offlineEnabled) {
5330
5420
  form = accountSetting.offline_form;
5331
5421
  submitLabel = this.props.t('offline_form_btn');
@@ -5342,8 +5432,8 @@ class Widget extends common/* Com */.up {
5342
5432
  }
5343
5433
  let $body = null;
5344
5434
  if (this.props.view === 'list') $body = this.renderConvoList();else if (showform) $body = this.renderForm(form, submitLabel);else $body = this.renderChat();
5345
- let position = util/* default */.Z.get(accountSetting, 'desktop_button.position') || 'right';
5346
- if (this.props.store.isMobile()) position = util/* default */.Z.get(accountSetting, 'mobile_button.position', position);
5435
+ let position = util/* default.get */.Z.get(accountSetting, 'desktop_button.position') || 'right';
5436
+ if (this.props.store.isMobile()) position = util/* default.get */.Z.get(accountSetting, 'mobile_button.position', position);
5347
5437
  let cls = 'widget-container widget-container--' + position;
5348
5438
  if (!this.props.isShow) cls += ' widget-container--hide';
5349
5439
  return (0,preact_module.h)("div", {
@@ -5362,42 +5452,42 @@ class Widget extends common/* Com */.up {
5362
5452
  }
5363
5453
  async submitPrechatForm(form) {
5364
5454
  var hasError = false;
5365
- util/* default */.Z.map(this.state.formData, (field, key) => {
5366
- if (field.is_required && (field.value === undefined || field.value === '' || util/* default */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
5455
+ util/* default.map */.Z.map(this.state.formData, (field, key) => {
5456
+ if (field.is_required && (field.value === undefined || field.value === '' || util/* default.size */.Z.size(field.value) === 0 && Array.isArray(field.value))) {
5367
5457
  field.error = this.props.t('error_empty');
5368
5458
  hasError = true;
5369
5459
  } else field.error = '';
5370
- if (key.substr(5) === 'emails' && !util/* default */.Z.isEmail(field.value) && field.is_required) {
5460
+ if (key.substr(5) === 'emails' && !util/* default.isEmail */.Z.isEmail(field.value) && field.is_required) {
5371
5461
  field.error = this.props.t('error_email_invalid');
5372
5462
  hasError = true;
5373
5463
  }
5374
- if (key.substr(5) === 'phones' && !util/* default */.Z.isPhone(field.value) && field.is_required) {
5464
+ if (key.substr(5) === 'phones' && !util/* default.isPhone */.Z.isPhone(field.value) && field.is_required) {
5375
5465
  field.error = this.props.t('error_phone_invalid');
5376
5466
  hasError = true;
5377
5467
  }
5378
5468
  });
5379
5469
  if (hasError) return this.forceUpdate();
5380
- let data = util/* default */.Z.cloneDeep(this.state.formData);
5381
- let user = util/* default */.Z.cloneDeep(this.props.store.matchUser());
5470
+ let data = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5471
+ let user = util/* default.cloneDeep */.Z.cloneDeep(this.props.store.matchUser());
5382
5472
  let is_lead = false;
5383
- util/* default */.Z.map(data, (field, key) => {
5473
+ util/* default.map */.Z.map(data, (field, key) => {
5384
5474
  if (!key.startsWith('attr:')) return;
5385
5475
  var attr = {
5386
5476
  key: key.substr(5)
5387
5477
  };
5388
5478
  is_lead = is_lead || key == 'emails' || key == 'phones';
5389
5479
  if (field.type === 'number') attr.number = parseInt(field.value);
5390
- if (field.type === 'datetime') attr.datetime = new util/* default */.Z.Date(field.value).toISOString();
5480
+ if (field.type === 'datetime') attr.datetime = new util/* default.Date */.Z.Date(field.value).toISOString();
5391
5481
  if (field.type === 'list') attr.text = field.value;
5392
5482
  if (field.type === 'text' || field.type === 'boolean') attr[field.type] = field.value;
5393
- util/* default */.Z.setUserAttr(user, attr);
5483
+ util/* default.setUserAttr */.Z.setUserAttr(user, attr);
5394
5484
  });
5395
- if (is_lead) util/* default */.Z.setUserAttr(user, {
5485
+ if (is_lead) util/* default.setUserAttr */.Z.setUserAttr(user, {
5396
5486
  key: 'lead_source',
5397
5487
  text: 'widget'
5398
5488
  });
5399
- let firstmsg = util/* default */.Z.get(data, 'question.value');
5400
- let groupid = util/* default */.Z.get(data, 'group.value', '');
5489
+ let firstmsg = util/* default.get */.Z.get(data, 'question.value');
5490
+ let groupid = util/* default.get */.Z.get(data, 'group.value', '');
5401
5491
  if (this.props.cid) {
5402
5492
  this.props.store.setUser(user);
5403
5493
  this.setState({
@@ -5409,7 +5499,7 @@ class Widget extends common/* Com */.up {
5409
5499
  format: 'plaintext',
5410
5500
  fields: [{
5411
5501
  key: 'to_agent_group',
5412
- value: util/* default */.Z.stringify(groupid)
5502
+ value: util/* default.stringify */.Z.stringify(groupid)
5413
5503
  }],
5414
5504
  attachments: this.state.quickReplyMessage.attachments
5415
5505
  }
@@ -5469,7 +5559,7 @@ class Widget extends common/* Com */.up {
5469
5559
  formData['question'] = {
5470
5560
  key: 'question',
5471
5561
  is_required: true,
5472
- label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
5562
+ label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
5473
5563
  type: 'text',
5474
5564
  value: this.state.quickReplyMessage.text
5475
5565
  };
@@ -5480,8 +5570,8 @@ class Widget extends common/* Com */.up {
5480
5570
  }
5481
5571
  onBooleanChange(key, e) {
5482
5572
  this.wasFormInputed = true;
5483
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5484
- let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
5573
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5574
+ let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
5485
5575
  if (!field) return;
5486
5576
  field.value = e.target.checked;
5487
5577
  this.setState({
@@ -5490,8 +5580,8 @@ class Widget extends common/* Com */.up {
5490
5580
  }
5491
5581
  onInputChange(key, val) {
5492
5582
  this.wasFormInputed = true;
5493
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5494
- let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
5583
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5584
+ let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
5495
5585
  if (!field) return;
5496
5586
  field.value = val;
5497
5587
  this.setState({
@@ -5500,8 +5590,8 @@ class Widget extends common/* Com */.up {
5500
5590
  }
5501
5591
  onListAddItem(key, val) {
5502
5592
  this.wasFormInputed = true;
5503
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5504
- let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
5593
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5594
+ let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
5505
5595
  if (!field) return;
5506
5596
  field.value = field.value || [];
5507
5597
  field.value.push(val);
@@ -5511,8 +5601,8 @@ class Widget extends common/* Com */.up {
5511
5601
  }
5512
5602
  onListRemoveItem(key, index) {
5513
5603
  this.wasFormInputed = true;
5514
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5515
- let field = util/* default */.Z.find(formData, (_, fkkey) => fkkey === key);
5604
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5605
+ let field = util/* default.find */.Z.find(formData, (_, fkkey) => fkkey === key);
5516
5606
  if (!field) return;
5517
5607
  field.value = field.value || [];
5518
5608
  field.value.splice(index, 1);
@@ -5521,11 +5611,11 @@ class Widget extends common/* Com */.up {
5521
5611
  });
5522
5612
  }
5523
5613
  renderCheckboxField(field) {
5524
- let items = util/* default */.Z.get(field, 'def.items', []);
5614
+ let items = util/* default.get */.Z.get(field, 'def.items', []);
5525
5615
  let values = [];
5526
5616
  let value = field.value || '';
5527
5617
  if (value) values = value.split(',');
5528
- return (0,preact_module.h)("div", null, util/* default */.Z.map(items, item => {
5618
+ return (0,preact_module.h)("div", null, util/* default.map */.Z.map(items, item => {
5529
5619
  return (0,preact_module.h)("div", {
5530
5620
  class: "checkbox"
5531
5621
  }, (0,preact_module.h)("input", {
@@ -5543,14 +5633,14 @@ class Widget extends common/* Com */.up {
5543
5633
  }
5544
5634
  toggleCheckboxField(key, v) {
5545
5635
  this.wasFormInputed = true;
5546
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5547
- let field = util/* default */.Z.find(formData, (f, fkkey) => f.key === key);
5636
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5637
+ let field = util/* default.find */.Z.find(formData, (f, fkkey) => f.key === key);
5548
5638
  if (!field) return;
5549
5639
  let value = field.value || '';
5550
5640
  let values = [];
5551
5641
  if (value) values = value.split(',');
5552
5642
  if (values.includes(v)) {
5553
- values = util/* default */.Z.filter(values, value => value !== v);
5643
+ values = util/* default.filter */.Z.filter(values, value => value !== v);
5554
5644
  } else {
5555
5645
  values.push(v);
5556
5646
  }
@@ -5560,9 +5650,9 @@ class Widget extends common/* Com */.up {
5560
5650
  });
5561
5651
  }
5562
5652
  renderRadioField(field) {
5563
- let items = util/* default */.Z.get(field, 'def.items', []);
5653
+ let items = util/* default.get */.Z.get(field, 'def.items', []);
5564
5654
  let value = field.value || '';
5565
- return (0,preact_module.h)("div", null, util/* default */.Z.map(items, item => {
5655
+ return (0,preact_module.h)("div", null, util/* default.map */.Z.map(items, item => {
5566
5656
  return (0,preact_module.h)("div", {
5567
5657
  class: "radio"
5568
5658
  }, (0,preact_module.h)("input", {
@@ -5581,8 +5671,8 @@ class Widget extends common/* Com */.up {
5581
5671
  }
5582
5672
  toggleRadioField(key, v) {
5583
5673
  this.wasFormInputed = true;
5584
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5585
- let field = util/* default */.Z.find(formData, (f, fkkey) => f.key === key);
5674
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5675
+ let field = util/* default.find */.Z.find(formData, (f, fkkey) => f.key === key);
5586
5676
  if (!field) return;
5587
5677
  field.value = v;
5588
5678
  this.setState({
@@ -5591,8 +5681,8 @@ class Widget extends common/* Com */.up {
5591
5681
  }
5592
5682
  selectDropdownField(key, v) {
5593
5683
  this.wasFormInputed = true;
5594
- let formData = util/* default */.Z.cloneDeep(this.state.formData);
5595
- let field = util/* default */.Z.find(formData, (f, fkkey) => f.key === key);
5684
+ let formData = util/* default.cloneDeep */.Z.cloneDeep(this.state.formData);
5685
+ let field = util/* default.find */.Z.find(formData, (f, fkkey) => f.key === key);
5596
5686
  if (!field) return;
5597
5687
  field.value = v;
5598
5688
  this.setState({
@@ -5600,20 +5690,20 @@ class Widget extends common/* Com */.up {
5600
5690
  });
5601
5691
  }
5602
5692
  renderDropdownField(field) {
5603
- let items = util/* default */.Z.get(field, 'def.items', []);
5693
+ let items = util/* default.get */.Z.get(field, 'def.items', []);
5604
5694
  return (0,preact_module.h)("select", {
5605
5695
  class: "form-control",
5606
5696
  value: field.value,
5607
5697
  onChange: e => this.selectDropdownField(field.key, e.target.value)
5608
5698
  }, (0,preact_module.h)("option", {
5609
5699
  value: ""
5610
- }, "-- ", this.props.t('no_select'), " --"), util/* default */.Z.map(items, item => (0,preact_module.h)("option", {
5700
+ }, "-- ", this.props.t('no_select'), " --"), util/* default.map */.Z.map(items, item => (0,preact_module.h)("option", {
5611
5701
  value: item.value
5612
5702
  }, this.props.t.i18n(item.i18n_label) || item.label || item.value)));
5613
5703
  }
5614
5704
  renderFields() {
5615
- if (util/* default */.Z.size(this.state.formData) === 0) return null;
5616
- let $fields = util/* default */.Z.map(this.state.formData, (field, key) => {
5705
+ if (util/* default.size */.Z.size(this.state.formData) === 0) return null;
5706
+ let $fields = util/* default.map */.Z.map(this.state.formData, (field, key) => {
5617
5707
  if (this.state.quickReplyMessage.text && key === 'question') return null;
5618
5708
  let $field = null;
5619
5709
  var errclass = field.error ? 'input--error' : '';
@@ -5629,13 +5719,13 @@ class Widget extends common/* Com */.up {
5629
5719
  row: "4",
5630
5720
  class: "form-control"
5631
5721
  });
5632
- } else if (util/* default */.Z.get(field, 'def.select') === 'checkbox') {
5722
+ } else if (util/* default.get */.Z.get(field, 'def.select') === 'checkbox') {
5633
5723
  $field = this.renderCheckboxField(field);
5634
- } else if (util/* default */.Z.get(field, 'def.select') === 'radio') {
5724
+ } else if (util/* default.get */.Z.get(field, 'def.select') === 'radio') {
5635
5725
  $field = this.renderRadioField(field);
5636
- } else if (util/* default */.Z.get(field, 'def.select') === 'dropdown') {
5726
+ } else if (util/* default.get */.Z.get(field, 'def.select') === 'dropdown') {
5637
5727
  $field = this.renderDropdownField(field);
5638
- } else if (util/* default */.Z.get(field, 'def.multiple_line')) {
5728
+ } else if (util/* default.get */.Z.get(field, 'def.multiple_line')) {
5639
5729
  $field = (0,preact_module.h)("textarea", {
5640
5730
  class: "form-control",
5641
5731
  ref: ref => {
@@ -5682,7 +5772,7 @@ class Widget extends common/* Com */.up {
5682
5772
  class: "checkbox--check"
5683
5773
  }, (0,preact_module.h)("div", null)));
5684
5774
  } else if (field.type === 'group') {
5685
- $field = util/* default */.Z.map(field.list, item => (0,preact_module.h)("div", {
5775
+ $field = util/* default.map */.Z.map(field.list, item => (0,preact_module.h)("div", {
5686
5776
  class: "radio"
5687
5777
  }, (0,preact_module.h)("input", {
5688
5778
  type: "radio",
@@ -5699,8 +5789,8 @@ class Widget extends common/* Com */.up {
5699
5789
  }))));
5700
5790
  } else if (field.type === 'list') {
5701
5791
  let selected = this.state.formData[key].value || [];
5702
- let items = util/* default */.Z.filter(util/* default */.Z.get(field, 'list', []), item => {
5703
- return !util/* default */.Z.includes(selected, item);
5792
+ let items = util/* default.filter */.Z.filter(util/* default.get */.Z.get(field, 'list', []), item => {
5793
+ return !util/* default.includes */.Z.includes(selected, item);
5704
5794
  });
5705
5795
  $field = (0,preact_module.h)(ListField, {
5706
5796
  selected: selected,
@@ -5748,8 +5838,8 @@ class Widget extends common/* Com */.up {
5748
5838
  size: "16",
5749
5839
  mode: "white"
5750
5840
  }));
5751
- let title = this.props.t.i18n(util/* default */.Z.get(form, `i18n_title`, {}));
5752
- if (!title) title = util/* default */.Z.get(form, 'title', this.props.t('capture_lead_title'));
5841
+ let title = this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_title`, {}));
5842
+ if (!title) title = util/* default.get */.Z.get(form, 'title', this.props.t('capture_lead_title'));
5753
5843
  title = title.replace('↵', '');
5754
5844
  return (0,preact_module.h)("div", {
5755
5845
  class: "widget-body"
@@ -5780,15 +5870,15 @@ class Widget extends common/* Com */.up {
5780
5870
  }
5781
5871
  renderConvoList() {
5782
5872
  let convoM = this.props.store.matchConvo('*');
5783
- var convos = util/* default */.Z.map(convoM, convo => this.props.store.matchConvo(convo.id));
5784
- convos = util/* default */.Z.filter(convos, convo => !!convo);
5785
- convos = util/* default */.Z.orderByF(convos, convo => util/* default */.Z.get(convo, 'last_message_sent.created', convo.actived), 'desc');
5786
- var $convos = util/* default */.Z.map(convos, convo => {
5787
- let ags = util/* default */.Z.filter(convo.members, m => {
5873
+ var convos = util/* default.map */.Z.map(convoM, convo => this.props.store.matchConvo(convo.id));
5874
+ convos = util/* default.filter */.Z.filter(convos, convo => !!convo);
5875
+ convos = util/* default.orderByF */.Z.orderByF(convos, convo => util/* default.get */.Z.get(convo, 'last_message_sent.created', convo.actived), 'desc');
5876
+ var $convos = util/* default.map */.Z.map(convos, convo => {
5877
+ let ags = util/* default.filter */.Z.filter(convo.members, m => {
5788
5878
  return (m.type === 'agent' || m.type === 'bot') && m.membership === 'active';
5789
5879
  });
5790
- let agentids = util/* default */.Z.map(ags, m => m.id);
5791
- agentids = agentids || util/* default */.Z.agentsOfConvo(convo)[0];
5880
+ let agentids = util/* default.map */.Z.map(ags, m => m.id);
5881
+ agentids = agentids || util/* default.agentsOfConvo */.Z.agentsOfConvo(convo)[0];
5792
5882
  return (0,preact_module.h)("div", {
5793
5883
  class: "convo-list--item",
5794
5884
  onClick: () => this.goToConvo(convo.id),
@@ -5805,7 +5895,7 @@ class Widget extends common/* Com */.up {
5805
5895
  let $body = (0,preact_module.h)("div", {
5806
5896
  class: "convo-list--list"
5807
5897
  }, $convos);
5808
- if (util/* default */.Z.size(convos) === 0) {
5898
+ if (util/* default.size */.Z.size(convos) === 0) {
5809
5899
  $body = (0,preact_module.h)("div", {
5810
5900
  class: "convo-list--list"
5811
5901
  }, (0,preact_module.h)("div", {
@@ -5841,19 +5931,19 @@ class Widget extends common/* Com */.up {
5841
5931
  if (this.props.store.isPreview) return;
5842
5932
  var $input = this.msgInput.current;
5843
5933
  if (!$input) return;
5844
- util/* default */.Z.setTimeout(() => $input && $input.blur());
5845
- util/* default */.Z.setTimeout(() => $input && $input.blur(), 300);
5934
+ util/* default.setTimeout */.Z.setTimeout(() => $input && $input.blur());
5935
+ util/* default.setTimeout */.Z.setTimeout(() => $input && $input.blur(), 300);
5846
5936
  }
5847
5937
  focusInput() {
5848
5938
  if (this.props.store.isPreview) return;
5849
5939
  if (this.shouldShowForm()) {
5850
5940
  let firstemptykey = '';
5851
- util/* default */.Z.map(this.state.formData, (field, key) => {
5941
+ util/* default.map */.Z.map(this.state.formData, (field, key) => {
5852
5942
  if (field.type !== 'text') return;
5853
5943
  if (firstemptykey) return;
5854
5944
  if (!field.value) firstemptykey = key;
5855
5945
  });
5856
- util/* default */.Z.setTimeout(() => {
5946
+ util/* default.setTimeout */.Z.setTimeout(() => {
5857
5947
  var $input = this['form_' + Widget_encode(firstemptykey)];
5858
5948
  if (!$input) return;
5859
5949
  $input.focus();
@@ -5862,8 +5952,8 @@ class Widget extends common/* Com */.up {
5862
5952
  }
5863
5953
  var $input = this.msgInput.current;
5864
5954
  if (!$input) return;
5865
- util/* default */.Z.setTimeout(() => $input.focus());
5866
- util/* default */.Z.setTimeout(() => $input.focus(), 300);
5955
+ util/* default.setTimeout */.Z.setTimeout(() => $input.focus());
5956
+ util/* default.setTimeout */.Z.setTimeout(() => $input.focus(), 300);
5867
5957
  }
5868
5958
  onRate(rating) {
5869
5959
  if (!this.props.cid) return;
@@ -5877,7 +5967,7 @@ class Widget extends common/* Com */.up {
5877
5967
  fillQuickReplyToQuestion(message) {
5878
5968
  let formData = this.state.formData;
5879
5969
  if (formData) {
5880
- util/* default */.Z.set(formData, 'question.value', message.text);
5970
+ util/* default.set */.Z.set(formData, 'question.value', message.text);
5881
5971
  }
5882
5972
  this.setState({
5883
5973
  formData,
@@ -5970,8 +6060,8 @@ class Widget extends common/* Com */.up {
5970
6060
  let form;
5971
6061
  let accountSetting = this.props.plugin.chatbox || {};
5972
6062
  let acc = this.props.store.matchAccount() || {};
5973
- if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
5974
- let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
6063
+ if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
6064
+ let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
5975
6065
  if (this.isOffline(acc, accountSetting) && offlineEnabled) form = accountSetting.offline_form;
5976
6066
  if (!form) return false;
5977
6067
  let formData = this.fillForm(form);
@@ -5979,34 +6069,34 @@ class Widget extends common/* Com */.up {
5979
6069
  if (convo.state === 'ended') return true;
5980
6070
  if (convo.state && convo.state !== 'pending') delete formData.group;
5981
6071
  let isAllFiledEmpty = true;
5982
- util/* default */.Z.each(formData, field => {
6072
+ util/* default.each */.Z.each(formData, field => {
5983
6073
  if (field.value) isAllFiledEmpty = false;
5984
6074
  });
5985
6075
  if (isAllFiledEmpty && !this.userHasSent(this.props.cid)) return true;
5986
- return !!util/* default */.Z.find(formData, field => field.is_required && (field.value == null || field.value === ''));
6076
+ return !!util/* default.find */.Z.find(formData, field => field.is_required && (field.value == null || field.value === ''));
5987
6077
  }
5988
6078
  renderConvoSummary(convo) {
5989
6079
  let accountSetting = this.props.plugin.chatbox || {};
5990
6080
  let agentM = this.props.store.matchAgent('*');
5991
- let ags = util/* default */.Z.filter(convo.members, m => {
6081
+ let ags = util/* default.filter */.Z.filter(convo.members, m => {
5992
6082
  return (m.type === 'agent' || m.type === 'bot') && m.membership === 'active';
5993
6083
  });
5994
- let agentids = util/* default */.Z.map(ags, m => m.id);
5995
- agentids = agentids || util/* default */.Z.agentsOfConvo(convo)[0];
5996
- let agents = util/* default */.Z.map(agentids, id => agentM[id] || {
6084
+ let agentids = util/* default.map */.Z.map(ags, m => m.id);
6085
+ agentids = agentids || util/* default.agentsOfConvo */.Z.agentsOfConvo(convo)[0];
6086
+ let agents = util/* default.map */.Z.map(agentids, id => agentM[id] || {
5997
6087
  avatar_url: Widget_defaultAvatar,
5998
6088
  fullname: 'Offline Agent'
5999
6089
  });
6000
- var name = util/* default */.Z.each(agents, ag => ag.fullname).join(', ');
6090
+ var name = util/* default.each */.Z.each(agents, ag => ag.fullname).join(', ');
6001
6091
  if (accountSetting.hide_agent_profile || !name) name = this.props.store.matchAccount().name;
6002
6092
  if (!name) name = this.props.t('agent');
6003
6093
  var $you = null;
6004
6094
  if (convo.lastSenderType === 'user') {
6005
6095
  $you = (0,preact_module.h)("span", null, this.props.t('you'), ":");
6006
6096
  }
6007
- let seen = util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id);
6097
+ let seen = util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id);
6008
6098
  var lastmsg = this.renderMessagePreview(convo.last_message_sent);
6009
- var time = util/* default */.Z.getMs(util/* default */.Z.get(convo, 'last_message_sent.created')) || util/* default */.Z.getMs(convo.created);
6099
+ var time = util/* default.getMs */.Z.getMs(util/* default.get */.Z.get(convo, 'last_message_sent.created')) || util/* default.getMs */.Z.getMs(convo.created);
6010
6100
  let $unread = seen ? null : (0,preact_module.h)("div", {
6011
6101
  class: "convo-list--item-unread"
6012
6102
  });
@@ -6039,23 +6129,23 @@ class Widget extends common/* Com */.up {
6039
6129
  }
6040
6130
  agentsOfConvo(convo) {
6041
6131
  let agentM = this.props.store.matchAgent('*');
6042
- var agentids = util/* default */.Z.agentsOfConvo(convo, true);
6043
- return util/* default */.Z.map(agentids, id => agentM[id] || {
6132
+ var agentids = util/* default.agentsOfConvo */.Z.agentsOfConvo(convo, true);
6133
+ return util/* default.map */.Z.map(agentids, id => agentM[id] || {
6044
6134
  avatar_url: Widget_defaultAvatar,
6045
6135
  fullname: 'Offline Agent'
6046
6136
  });
6047
6137
  }
6048
6138
  renderMessagePreview(ev) {
6049
6139
  let defmsg = this.props.t('sent_you_a_message');
6050
- let message = util/* default */.Z.get(ev, 'data.message.text');
6051
- var format = util/* default */.Z.get(ev, 'data.message.format');
6140
+ let message = util/* default.get */.Z.get(ev, 'data.message.text');
6141
+ var format = util/* default.get */.Z.get(ev, 'data.message.format');
6052
6142
  if (format !== 'plaintext') message = defmsg;
6053
- if (!message && util/* default */.Z.size(util/* default */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
6143
+ if (!message && util/* default.size */.Z.size(util/* default.get */.Z.get(ev, 'data.message.attachments')) > 0) message = defmsg;
6054
6144
  if (!message) return null;
6055
- let byType = util/* default */.Z.get(ev, 'by.type');
6145
+ let byType = util/* default.get */.Z.get(ev, 'by.type');
6056
6146
  return (0,preact_module.h)("div", {
6057
6147
  class: "convo-list--convo-last-mes"
6058
- }, util/* default */.Z.map(util/* default */.Z.extractText(message), tag => {
6148
+ }, util/* default.map */.Z.map(util/* default.extractText */.Z.extractText(message), tag => {
6059
6149
  if (tag.type === 'emoji') return (0,preact_module.h)(Emoji, {
6060
6150
  emojiCode: tag.text,
6061
6151
  byType: byType
@@ -6067,19 +6157,19 @@ class Widget extends common/* Com */.up {
6067
6157
  var convo = this.props.store.matchConvo(cid) || {};
6068
6158
  let user = this.props.store.matchUser();
6069
6159
  if (this.userSent[cid]) return true;
6070
- let joined = util/* default */.Z.find(convo.members, mem => mem.id === user.id && (mem.membership === 'active' || mem.last_sent > 0));
6160
+ let joined = util/* default.find */.Z.find(convo.members, mem => mem.id === user.id && (mem.membership === 'active' || mem.last_sent > 0));
6071
6161
  return joined;
6072
6162
  }
6073
6163
  hasSentMessage(cid) {
6074
6164
  let convo = this.props.store.matchConvo(cid) || {};
6075
- let joined = util/* default */.Z.find(convo.members, mem => {
6165
+ let joined = util/* default.find */.Z.find(convo.members, mem => {
6076
6166
  if (mem.type === 'bot') return true;
6077
6167
  return mem.last_sent;
6078
6168
  });
6079
6169
  return joined;
6080
6170
  }
6081
6171
  isOffline(acc, accSetting) {
6082
- let enableWhen = util/* default */.Z.get(accSetting, 'offline_form.enable_when');
6172
+ let enableWhen = util/* default.get */.Z.get(accSetting, 'offline_form.enable_when');
6083
6173
  let isonline = true;
6084
6174
  if (enableWhen === 'all_agents_offline') isonline = acc.is_online;
6085
6175
  if (enableWhen === 'out_of_bussiness_hour') isonline = acc.is_in_business_hour;
@@ -6089,8 +6179,8 @@ class Widget extends common/* Com */.up {
6089
6179
  let form;
6090
6180
  let accountSetting = this.props.plugin.chatbox || {};
6091
6181
  let acc = this.props.store.matchAccount() || {};
6092
- if (util/* default */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
6093
- let offlineEnabled = util/* default */.Z.get(accountSetting, 'offline_form.enabled');
6182
+ if (util/* default.get */.Z.get(accountSetting, 'prechat_form.enabled')) form = accountSetting.prechat_form;
6183
+ let offlineEnabled = util/* default.get */.Z.get(accountSetting, 'offline_form.enabled');
6094
6184
  if (this.isOffline(acc, accountSetting) && offlineEnabled) {
6095
6185
  form = accountSetting.offline_form;
6096
6186
  }
@@ -6100,23 +6190,23 @@ class Widget extends common/* Com */.up {
6100
6190
  if (this.props.view === 'prechat_form') {
6101
6191
  form = accountSetting.prechat_form;
6102
6192
  }
6103
- if (util/* default */.Z.size(form) === 0) return [];
6193
+ if (util/* default.size */.Z.size(form) === 0) return [];
6104
6194
  var data = {};
6105
- util/* default */.Z.each(form.fields, f => {
6195
+ util/* default.each */.Z.each(form.fields, f => {
6106
6196
  var newf = Object.assign({}, f);
6107
6197
  if (f.type === 'list') {
6108
6198
  newf.list = f.list;
6109
6199
  }
6110
- newf.label = this.props.t.i18n(util/* default */.Z.get(f, `i18n_label`, {})) || f.label;
6200
+ newf.label = this.props.t.i18n(util/* default.get */.Z.get(f, `i18n_label`, {})) || f.label;
6111
6201
  data['attr:' + f.key] = newf;
6112
6202
  });
6113
- if (form.group_required && util/* default */.Z.size(form.groups) > 0) {
6203
+ if (form.group_required && util/* default.size */.Z.size(form.groups) > 0) {
6114
6204
  data['group'] = {
6115
6205
  key: 'group',
6116
6206
  is_required: !!form.group_required,
6117
- label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
6207
+ label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
6118
6208
  type: 'group',
6119
- list: util/* default */.Z.map(form.groups, group => ({
6209
+ list: util/* default.map */.Z.map(form.groups, group => ({
6120
6210
  value: group.id,
6121
6211
  label: group.name
6122
6212
  }))
@@ -6125,7 +6215,7 @@ class Widget extends common/* Com */.up {
6125
6215
  data['question'] = {
6126
6216
  key: 'question',
6127
6217
  is_required: true,
6128
- label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
6218
+ label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_question_label`, {})) || form.question_label,
6129
6219
  type: 'text'
6130
6220
  };
6131
6221
  if (this.isFormChanged(this.state.formData, data)) {
@@ -6139,44 +6229,38 @@ class Widget extends common/* Com */.up {
6139
6229
  let newKeys = Object.keys(newForm);
6140
6230
  if (oldKeys.length !== newKeys.length) return true;
6141
6231
  for (let i = 0; i < oldKeys.length; i++) {
6142
- if (util/* default */.Z.get(oldForm, `${oldKeys[i]}.label`) !== util/* default */.Z.get(newForm, `${newKeys[i]}.label`)) return true;
6143
- if (util/* default */.Z.get(oldForm, `${oldKeys[i]}.is_required`) !== util/* default */.Z.get(newForm, `${newKeys[i]}.is_required`)) return true;
6144
- if (util/* default */.Z.stringify(util/* default */.Z.get(oldForm, `${oldKeys[i]}.list`)) !== util/* default */.Z.stringify(util/* default */.Z.get(newForm, `${newKeys[i]}.list`))) {
6232
+ if (util/* default.get */.Z.get(oldForm, `${oldKeys[i]}.label`) !== util/* default.get */.Z.get(newForm, `${newKeys[i]}.label`)) return true;
6233
+ if (util/* default.get */.Z.get(oldForm, `${oldKeys[i]}.is_required`) !== util/* default.get */.Z.get(newForm, `${newKeys[i]}.is_required`)) return true;
6234
+ if (util/* default.stringify */.Z.stringify(util/* default.get */.Z.get(oldForm, `${oldKeys[i]}.list`)) !== util/* default.stringify */.Z.stringify(util/* default.get */.Z.get(newForm, `${newKeys[i]}.list`))) {
6145
6235
  return true;
6146
6236
  }
6147
6237
  }
6148
6238
  return false;
6149
6239
  }
6150
6240
  fillForm(form) {
6151
- if (util/* default */.Z.size(form) === 0) return [];
6241
+ if (util/* default.size */.Z.size(form) === 0) return [];
6152
6242
  var data = {};
6153
6243
  let user = this.props.store.matchUser();
6154
- util/* default */.Z.each(form.fields, f => {
6244
+ util/* default.each */.Z.each(form.fields, f => {
6155
6245
  var newf = Object.assign({}, f);
6156
- newf.value = util/* default */.Z.getUserAttr(user, f.key, f.type);
6157
- if (newf.key == 'emails' && !newf.value) {
6158
- newf.value = util/* default */.Z.getUserAttr(user, 'related_email', 'text');
6159
- }
6160
- if (newf.key == 'phones' && !newf.value) {
6161
- newf.value = util/* default */.Z.getUserAttr(user, 'related_phone', 'text');
6162
- }
6246
+ newf.value = util/* default.getUserAttr */.Z.getUserAttr(user, f.key, f.type);
6163
6247
  if (f.type === 'boolean' && !newf.value) newf.value = false;
6164
6248
  if (f.type === 'datetime' && newf.value) {
6165
- newf.value = new util/* default */.Z.Date(data.value).toLocaleDateString('en-CA');
6249
+ newf.value = new util/* default.Date */.Z.Date(data.value).toLocaleDateString('en-CA');
6166
6250
  }
6167
6251
  if (f.type === 'list') {
6168
6252
  newf.list = f.list;
6169
6253
  }
6170
- newf.label = this.props.t.i18n(util/* default */.Z.get(f, `i18n_label`, {})) || f.label;
6254
+ newf.label = this.props.t.i18n(util/* default.get */.Z.get(f, `i18n_label`, {})) || f.label;
6171
6255
  data['attr:' + f.key] = newf;
6172
6256
  });
6173
- if (form.group_required && util/* default */.Z.size(form.groups) > 0) {
6257
+ if (form.group_required && util/* default.size */.Z.size(form.groups) > 0) {
6174
6258
  data['group'] = {
6175
6259
  key: 'group',
6176
6260
  is_required: !!form.group_required,
6177
- label: this.props.t.i18n(util/* default */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
6261
+ label: this.props.t.i18n(util/* default.get */.Z.get(form, `i18n_group_label`, {})) || form.group_label,
6178
6262
  type: 'group',
6179
- list: util/* default */.Z.map(form.groups, group => ({
6263
+ list: util/* default.map */.Z.map(form.groups, group => ({
6180
6264
  value: group.id,
6181
6265
  label: group.name
6182
6266
  }))
@@ -6208,14 +6292,14 @@ class Main extends common/* Com */.up {
6208
6292
  }
6209
6293
  async refreshCSS() {
6210
6294
  let plugins = this.props.store.matchPlugin();
6211
- let found = util/* default */.Z.find(plugins, plugin => plugin.id === this.props.plugin.id);
6295
+ let found = util/* default.find */.Z.find(plugins, plugin => plugin.id === this.props.plugin.id);
6212
6296
  if (!found) return;
6213
6297
  let css = (await main_promiseMainCSS).default.default.toString();
6214
- var outcss = util/* default */.Z.replaceCssVariable(css, found.chatbox);
6215
- util/* default */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, outcss);
6298
+ var outcss = util/* default.replaceCssVariable */.Z.replaceCssVariable(css, found.chatbox);
6299
+ util/* default.setCss */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, outcss);
6216
6300
  }
6217
6301
  componentWillUnmount() {
6218
- util/* default */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
6302
+ util/* default.setCss */.Z.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
6219
6303
  }
6220
6304
  async componentDidMount() {
6221
6305
  this.$cssStyleDiv = document.getElementById('subiz-style-for-' + this.props.plugin.id);
@@ -6251,7 +6335,7 @@ class Main extends common/* Com */.up {
6251
6335
  }
6252
6336
  render() {
6253
6337
  if (!this.state.cssready) return null;
6254
- if (util/* default */.Z.isUserBanned(this.props.store.matchUser())) return null;
6338
+ if (util/* default.isUserBanned */.Z.isUserBanned(this.props.store.matchUser())) return null;
6255
6339
  if (!this.props.t) return null;
6256
6340
  return (0,preact_module.h)("div", {
6257
6341
  class: this.props.store.isMobile() ? 'mobile' : 'desktop'
@@ -6285,10 +6369,10 @@ class Main extends common/* Com */.up {
6285
6369
  if ($widget.wasFormInputed) return;
6286
6370
  if (ev.type !== 'message_sent') return;
6287
6371
  if (!this.state.isShowWidget) return;
6288
- let byType = util/* default */.Z.get(ev, 'by.type');
6289
- let byid = util/* default */.Z.get(ev, 'by.id') || '';
6372
+ let byType = util/* default.get */.Z.get(ev, 'by.type');
6373
+ let byid = util/* default.get */.Z.get(ev, 'by.id') || '';
6290
6374
  if (!byid.startsWith('bb') || byType !== 'agent') return;
6291
- let cid = util/* default */.Z.get(ev, 'data.message.conversation_id');
6375
+ let cid = util/* default.get */.Z.get(ev, 'data.message.conversation_id');
6292
6376
  if (!cid) return;
6293
6377
  this.showWidget({
6294
6378
  cid,
@@ -6300,7 +6384,7 @@ class Main extends common/* Com */.up {
6300
6384
  if (this.props.plugin._no_auto_expand) return;
6301
6385
  if (this.props.store.matchHasManuallyClosed()) return;
6302
6386
  let convoM = this.props.store.matchConvo('*');
6303
- let redconvo = util/* default */.Z.find(convoM, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
6387
+ let redconvo = util/* default.find */.Z.find(convoM, convo => !util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
6304
6388
  if (!redconvo || !redconvo.id) return;
6305
6389
  if (!this.state.isShowWidget) this.showWidget({
6306
6390
  view: 'chat',
@@ -6318,14 +6402,14 @@ class Main extends common/* Com */.up {
6318
6402
  this.refButton.current && this.refButton.current.ClearPreview();
6319
6403
  if (!p.view) {
6320
6404
  let lastview = this.props.store.matchLastview() || {};
6321
- p.view = util/* default */.Z.get(lastview, 'view');
6322
- p.cid = util/* default */.Z.get(lastview, 'opts.cid');
6405
+ p.view = util/* default.get */.Z.get(lastview, 'view');
6406
+ p.cid = util/* default.get */.Z.get(lastview, 'opts.cid');
6323
6407
  }
6324
6408
  p = p || {};
6325
6409
  if (!p.view && !p.cid) {
6326
6410
  let convoM = this.props.store.matchConvo('*');
6327
- let redconvo = util/* default */.Z.find(convoM, convo => !util/* default */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
6328
- p.cid = util/* default */.Z.get(redconvo, 'id', util/* default */.Z.get(convoM, '0.id'));
6411
+ let redconvo = util/* default.find */.Z.find(convoM, convo => !util/* default.isConvoSeen */.Z.isConvoSeen(convo, this.props.store.matchUser().id));
6412
+ p.cid = util/* default.get */.Z.get(redconvo, 'id', util/* default.get */.Z.get(convoM, '0.id'));
6329
6413
  p.view = 'chat';
6330
6414
  }
6331
6415
  if (this.props.store.isMobile()) modifyViewport();