@subiz/widget-v4 4.0.90 → 4.0.92

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 (101) hide show
  1. package/compiled_src/chatbox/TextMessage.js +9 -3
  2. package/compiled_src/chatbox/main.js +2 -3
  3. package/compiled_src/store/api.js +4 -1
  4. package/compiled_src/store/store.js +4 -9
  5. package/compiled_src/util/common.js +0 -5
  6. package/dist/132.js +7092 -0
  7. package/dist/178.js +406 -0
  8. package/dist/18364d15f37.132.js +1 -0
  9. package/dist/18364d15f37.178.js +1 -0
  10. package/dist/18364d15f37.213.js +1 -0
  11. package/dist/18364d15f37.335.js +1 -0
  12. package/dist/18364d15f37.362.js +1 -0
  13. package/dist/18364d15f37.441.js +1 -0
  14. package/dist/18364d15f37.605.js +1 -0
  15. package/dist/18364d15f37.678.js +1 -0
  16. package/dist/18364d15f37.782.js +1 -0
  17. package/dist/18364d15f37.app.js +1 -0
  18. package/dist/18364d15f37.index.html +26 -0
  19. package/dist/18364d15f37.library.html +26 -0
  20. package/dist/18364d15f37.library.js +1 -0
  21. package/dist/18364d15f37.preview.html +759 -0
  22. package/dist/18364d15f37.preview.js +1 -0
  23. package/dist/18364d15f37.screenshoot.js +1 -0
  24. package/dist/213.js +3215 -0
  25. package/dist/335.js +411 -0
  26. package/dist/362.js +107 -0
  27. package/dist/441.js +2834 -0
  28. package/dist/605.js +328 -0
  29. package/dist/678.js +107 -0
  30. package/dist/782.js +107 -0
  31. package/dist/HASH +1 -0
  32. package/dist/assets/img/Facebook.64607ec.png +0 -0
  33. package/dist/assets/img/Zalo.6845707.png +0 -0
  34. package/dist/assets/img/award1a.1a58e10.png +0 -0
  35. package/dist/assets/img/award3a.3b74423.png +0 -0
  36. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  37. package/dist/assets/img/award5.39eb7ae.png +0 -0
  38. package/dist/assets/img/bubble_default.7d5e4ab.svg +20 -0
  39. package/dist/assets/img/caret.998eb8f.svg +1 -0
  40. package/dist/assets/img/convos_empty.2353007.svg +72 -0
  41. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  42. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  43. package/dist/assets/img/done_gray.d7e8203.svg +4 -0
  44. package/dist/assets/img/done_green.b817fd4.svg +4 -0
  45. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  46. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  47. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  48. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  49. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  50. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  51. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  52. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  53. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  54. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  55. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  56. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  57. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  58. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  59. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  60. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  61. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  62. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  63. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  64. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  65. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  66. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  67. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  68. package/dist/assets/img/empty.29bed2d.svg +23 -0
  69. package/dist/assets/img/empty_1.0b98af0.svg +11 -0
  70. package/dist/assets/img/examplte_logo.f86535f.svg +1 -0
  71. package/dist/assets/img/external-link.90577cc.svg +1 -0
  72. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  73. package/dist/assets/img/ghn.070f8e3.svg +17 -0
  74. package/dist/assets/img/ghtk.326eac1.svg +18 -0
  75. package/dist/assets/img/image_default.be0698b.png +0 -0
  76. package/dist/assets/img/info.ebce7ea.svg +1 -0
  77. package/dist/assets/img/loader.37000a7.svg +1 -0
  78. package/dist/assets/img/loading_static.8f403ae.svg +10 -0
  79. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  80. package/dist/assets/img/main-service2.9b99549.png +0 -0
  81. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  82. package/dist/assets/img/package.8d37d0f.svg +5 -0
  83. package/dist/assets/img/package_fade.763c001.svg +1 -0
  84. package/dist/assets/img/rating--average.1ea492c.svg +12 -0
  85. package/dist/assets/img/rating--great.e3d712e.svg +16 -0
  86. package/dist/assets/img/rating--poor.2938a25.svg +12 -0
  87. package/dist/assets/img/search.f9705ff.svg +1 -0
  88. package/dist/assets/img/send.6db52a9.svg +3 -0
  89. package/dist/assets/img/shop.f7dc7d8.svg +1 -0
  90. package/dist/assets/img/shop_faded.df7845a.svg +1 -0
  91. package/dist/assets/img/subiz-mono.877e9f5.svg +3 -0
  92. package/dist/assets/img/x.26fdfa3.svg +5 -0
  93. package/dist/malicious-app.js +13 -0
  94. package/dist/screenshoot.html +7 -0
  95. package/dist/screenshoot.js +5953 -0
  96. package/package.json +8 -8
  97. package/src/chatbox/TextMessage.js +9 -3
  98. package/src/chatbox/main.js +3 -3
  99. package/src/store/api.js +1 -1
  100. package/src/store/store.js +7 -9
  101. package/src/util/common.js +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subiz/widget-v4",
3
- "version": "4.0.90",
3
+ "version": "4.0.92",
4
4
  "main": "./compiled_src/lib.js",
5
5
  "scripts": {
6
6
  "dev": "npx webpack serve --config webpack.dev.js",
@@ -14,25 +14,25 @@
14
14
  "@subiz/storage": "0.0.8",
15
15
  "@subiz/wsclient": "^3.1.7",
16
16
  "cookie_js": "1.4.2",
17
- "core-js": "^3.25.2",
17
+ "core-js": "^3.25.5",
18
18
  "css-loader": "5.2.7",
19
19
  "file-loader": "^6.2.0",
20
20
  "less": "^4.1.3",
21
21
  "less-loader": "^11.0.0",
22
- "marked": "^4.1.0",
23
- "preact": "^10.11.0"
22
+ "marked": "^4.1.1",
23
+ "preact": "^10.11.1"
24
24
  },
25
25
  "devDependencies": {
26
- "@babel/cli": "^7.18.10",
27
- "@babel/core": "^7.19.1",
26
+ "@babel/cli": "^7.19.3",
27
+ "@babel/core": "^7.19.3",
28
28
  "@babel/plugin-proposal-class-properties": "^7.18.6",
29
29
  "@babel/plugin-transform-react-jsx": "^7.19.0",
30
- "@babel/preset-env": "^7.19.1",
30
+ "@babel/preset-env": "^7.19.4",
31
31
  "babel-loader": "^8.2.5",
32
32
  "babel-plugin-syntax-jsx": "^6.18.0",
33
33
  "html-webpack-plugin": "^5.5.0",
34
34
  "prettier": "^2.7.1",
35
- "puppeteer": "^17.1.3",
35
+ "puppeteer": "^18.2.1",
36
36
  "webpack": "^5.74.0",
37
37
  "webpack-bundle-analyzer": "^4.6.1",
38
38
  "webpack-cli": "^4.10.0",
@@ -106,15 +106,16 @@ export default class TextMessage extends Com {
106
106
 
107
107
  if (attributes) {
108
108
  if (attributes.italic && attributes.bold)
109
- return <span style='font-weight: bold; font-style: italic'>{$tags}</span>
110
- if (attributes.italic) return <span style='font-style: italic'>{$tags}</span>
111
- if (attributes.bold) return <span style='font-weight: bold'>{$tags}</span>
109
+ return <span style='font-weight: bold !important; font-style: italic !important'>{$tags}</span>
110
+ if (attributes.italic) return <span style='font-style: italic !important'>{$tags}</span>
111
+ if (attributes.bold) return <span style='font-weight: bold !important'>{$tags}</span>
112
112
  }
113
113
  return <span>{$tags}</span>
114
114
  }
115
115
  return null
116
116
  })
117
117
  let byType = sb.get(this.ev, 'by.type')
118
+ if (byType !== 'user') byType = 'agent'
118
119
  if (sb.size($deltas) === 0) return null
119
120
  if (byType === 'agent') {
120
121
  return <div class='message-agent message-text--agent'>{$deltas}</div>
@@ -221,3 +222,8 @@ function trimQuillDelta(delta) {
221
222
  newops.pop()
222
223
  return trimQuillDelta({ops: newops})
223
224
  }
225
+
226
+ function absLink(url) {
227
+ if (!url.startsWith('http://') && !url.startsWith('https://') && !url.startsWith('//')) return 'http://' + url
228
+ return url
229
+ }
@@ -22,7 +22,8 @@ export default class Main extends Com {
22
22
  let found = sb.find(plugins, (plugin) => plugin.id === this.props.plugin.id)
23
23
  if (!found) return
24
24
  let css = (await promiseMainCSS).default.default.toString()
25
- var outcss = sb.replaceCssVariable(css, this.props.plugin.chatbox)
25
+
26
+ var outcss = sb.replaceCssVariable(css, found.chatbox)
26
27
  sb.setCss(this.props.plugin.id, this.$cssStyleDiv, outcss)
27
28
  }
28
29
 
@@ -68,9 +69,8 @@ export default class Main extends Com {
68
69
  if (!this.state.cssready) return null
69
70
  if (sb.isUserBanned(this.props.store.matchUser())) return null
70
71
  if (!this.props.t) return null
71
- var cls = this.props.store.isMobile() ? 'mobile' : 'desktop'
72
72
  return (
73
- <div class={cls}>
73
+ <div class={this.props.store.isMobile() ? 'mobile' : 'desktop'}>
74
74
  <ChatButton
75
75
  plugin={this.props.plugin}
76
76
  store={this.props.store}
package/src/store/api.js CHANGED
@@ -52,7 +52,7 @@ export default class {
52
52
  ajax = ajax
53
53
 
54
54
  start = (extraData) => {
55
- let data = {starter_id: this.uid, starter_type: 'user', integration_id: `${this.accid}.subizv4.subikon`}
55
+ let data = {starter_id: this.uid, starter_type: 'user', touchpoint: {channel: 'subiz', source: 'web'}}
56
56
  sb.each(extraData, (v, k) => {
57
57
  data[k] = v
58
58
  })
@@ -618,8 +618,6 @@ export default class Store {
618
618
 
619
619
  // convo events
620
620
  let user = this.kv.match('user') || {}
621
- const INTEGRATION_ID = sb.getIntegrationId(user.account_id)
622
-
623
621
  let cid = sb.convoOfEv(ev)
624
622
  let convo
625
623
  if (cid) {
@@ -633,10 +631,10 @@ export default class Store {
633
631
 
634
632
  if (!convo) return
635
633
 
636
- // ignore wrong integration
637
- let integrationId = sb.get(convo, 'integration.id', '')
638
- if (!integrationId) integrationId = sb.get(ev, 'data.message.integration_id', '')
639
- if (!integrationId || integrationId !== INTEGRATION_ID) return
634
+ // ignore wrong channel
635
+ let channel = sb.get(ev, 'touchpoint.channel', '')
636
+ if (channel && channel != 'subiz') return
637
+
640
638
  this.pubsub.publish('events', ev)
641
639
 
642
640
  // server doesn't send events before conversation_joined occur
@@ -867,9 +865,9 @@ export default class Store {
867
865
 
868
866
  // ignore invalid conversation
869
867
  let user = this.kv.match('user')
870
- const INTEGRATION_ID = sb.getIntegrationId(user.account_id)
871
- let integrationId = sb.get(convo, 'integration.id', '')
872
- if (!integrationId || integrationId !== INTEGRATION_ID) return
868
+
869
+ let channel = sb.get(convo, 'touchpoint.channel', '')
870
+ if (channel && channel != 'subiz') return
873
871
  let allconvo = {}
874
872
  // trim
875
873
  sb.map(this.cache.all(), (value, key) => {
@@ -311,10 +311,6 @@ export function orderBy(a, k, d) {
311
311
  return clone
312
312
  }
313
313
 
314
- export function getIntegrationId(accid) {
315
- return `${accid}.subizv4.subikon`
316
- }
317
-
318
314
  export function isPhone(phone) {
319
315
  var re = /^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/im
320
316
  return re.test(String(phone))