@textback/notification-widget 2.0.0-9450 → 2.0.1-102913

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 (113) hide show
  1. package/.eslintrc.js +291 -291
  2. package/build/index.js +6 -3
  3. package/build/sdk.js +3 -3
  4. package/package.json +11 -8
  5. package/promote_tag.sh +1 -1
  6. package/{README.md → readme.md} +569 -490
  7. package/server.js +134 -134
  8. package/src/libraries/ai.1.0.11.js +4088 -4088
  9. package/src/libraries/localization/getLocale.js +17 -0
  10. package/src/libraries/localization/locales/.tern-port +1 -0
  11. package/src/libraries/localization/locales/cs.js +23 -0
  12. package/src/libraries/localization/locales/en.js +23 -0
  13. package/src/libraries/localization/locales/index.js +9 -0
  14. package/src/libraries/localization/locales/pl.js +23 -0
  15. package/src/libraries/localization/locales/ro.js +23 -0
  16. package/src/libraries/localization/locales/ru.js +22 -0
  17. package/src/libraries/localization/locales/uk.js +23 -0
  18. package/src/libraries/localization/text.js +9 -0
  19. package/src/libraries/t.js +82 -82
  20. package/src/sdk/channels/channel.js +30 -30
  21. package/src/sdk/channels/facebook.js +13 -13
  22. package/src/sdk/channels/factory.js +3 -3
  23. package/src/sdk/channels/skype.js +12 -12
  24. package/src/sdk/channels/telegram.js +18 -13
  25. package/src/sdk/channels/viber.js +12 -12
  26. package/src/sdk/channels/vk-modal/vk-modal.html +17 -17
  27. package/src/sdk/channels/vk-modal/vk-modal.js +25 -25
  28. package/src/sdk/channels/vk-modal/vk-modal.scss +116 -116
  29. package/src/sdk/channels/vk.js +195 -173
  30. package/src/sdk/channels/whatsapp.js +20 -11
  31. package/src/sdk/channels/whatsappb.js +27 -0
  32. package/src/sdk/events/observer.js +46 -46
  33. package/src/sdk/index.js +5 -5
  34. package/src/sdk/sdk.js +67 -30
  35. package/src/sdk/utils/apiErrorHandler.js +11 -11
  36. package/src/sdk/utils/appInsights.js +88 -88
  37. package/src/sdk/utils/browserInfo.js +8 -8
  38. package/src/sdk/utils/constants.js +17 -17
  39. package/src/sdk/utils/cookies.js +67 -50
  40. package/src/sdk/utils/find.js +7 -7
  41. package/src/sdk/utils/loadConfig.js +20 -20
  42. package/src/sdk/utils/loadDeepLink.js +48 -21
  43. package/src/sdk/utils/loadScript.js +25 -25
  44. package/src/sdk/utils/loadSubscriptions.js +6 -6
  45. package/src/sdk/utils/parseQueryString.js +33 -33
  46. package/src/sdk/utils/windowHelper.js +25 -0
  47. package/src/sdk/widget/widget.js +192 -140
  48. package/src/widget/components/index.js +6 -2
  49. package/src/widget/components/tb-notification-button/facebook.js +9 -2
  50. package/src/widget/components/tb-notification-button/index.js +34 -34
  51. package/src/widget/components/tb-notification-button/styles.scss +657 -433
  52. package/src/widget/components/tb-notification-button/telegram.js +9 -2
  53. package/src/widget/components/tb-notification-button/viber.js +9 -2
  54. package/src/widget/components/tb-notification-button/vk.js +60 -47
  55. package/src/widget/components/tb-notification-button/whatsapp.js +15 -8
  56. package/src/widget/components/tb-notification-button/whatsappb.js +58 -0
  57. package/src/widget/components/tb-notification-widget/index.js +597 -353
  58. package/src/widget/components/tb-notification-widget/normalize.scss +395 -394
  59. package/src/widget/components/tb-notification-widget/styles.scss +514 -136
  60. package/src/widget/components/tb-nw-wahunter/index.js +259 -0
  61. package/src/widget/components/tb-nw-wahunter/styles.scss +471 -0
  62. package/src/widget/config.js +5 -5
  63. package/src/widget/icons/icon_chat_window.svg +1 -0
  64. package/src/widget/icons/icon_close.svg +1 -0
  65. package/src/widget/icons/icon_facebook.svg +7 -7
  66. package/src/widget/icons/icon_facebook_circle.svg +7 -9
  67. package/src/widget/icons/icon_instagram_circle.svg +95 -95
  68. package/src/widget/icons/icon_skype.svg +44 -44
  69. package/src/widget/icons/icon_skype_circle.svg +46 -46
  70. package/src/widget/icons/icon_skype_new.svg +113 -113
  71. package/src/widget/icons/icon_tg.svg +25 -25
  72. package/src/widget/icons/icon_tg_circle.svg +17 -27
  73. package/src/widget/icons/icon_viber.svg +75 -75
  74. package/src/widget/icons/icon_viber_circle.svg +67 -77
  75. package/src/widget/icons/icon_viber_new.svg +102 -102
  76. package/src/widget/icons/icon_vk.svg +14 -14
  77. package/src/widget/icons/icon_vk_circle.svg +16 -16
  78. package/src/widget/icons/icon_whatsapp.svg +147 -147
  79. package/src/widget/icons/icon_whatsapp_circle.svg +4 -123
  80. package/src/widget/icons/icon_whatsapp_hollow.svg +128 -0
  81. package/src/widget/icons/icon_whatsapp_new.svg +127 -127
  82. package/src/widget/icons/icon_whatsappb.svg +147 -0
  83. package/src/widget/icons/icon_whatsappb_circle.svg +4 -0
  84. package/src/widget/icons/icon_whatsappb_new.svg +127 -0
  85. package/src/widget/icons/paper-plane-arrow.svg +3 -0
  86. package/src/widget/icons/tb-logo.svg +21 -0
  87. package/src/widget/index.js +28 -28
  88. package/src/widget/locales/cs.js +42 -0
  89. package/src/widget/locales/en.js +42 -20
  90. package/src/widget/locales/index.js +2 -2
  91. package/src/widget/locales/pl.js +41 -19
  92. package/src/widget/locales/ro.js +41 -20
  93. package/src/widget/locales/ru.js +40 -19
  94. package/src/widget/locales/uk.js +40 -19
  95. package/src/widget/utils/cookiesEx.js +41 -41
  96. package/src/widget/utils/getLocale.js +4 -2
  97. package/src/widget/utils/stringifyAttributes.js +19 -19
  98. package/src/widget/utils/text.js +2 -1
  99. package/src/widget/utils/widgetsStorage.js +28 -28
  100. package/src/widget/widget.entry.js +3 -4
  101. package/tests/gf.html +35 -35
  102. package/tests/gf.js +21 -21
  103. package/tests/index.js +61 -61
  104. package/views/examples.ejs +7 -3
  105. package/views/sdk.html +274 -256
  106. package/webpack.common.js +72 -72
  107. package/webpack.dev.js +15 -15
  108. package/webpack.prod.js +10 -17
  109. package/build/index.js.map +0 -1
  110. package/build/sdk.js.map +0 -1
  111. package/src/widget/components/tb-notification-button/skype.js +0 -47
  112. package/src/widget/icons/text-back-badge.png +0 -0
  113. package/src/widget/locales/cz.js +0 -20
package/server.js CHANGED
@@ -1,53 +1,53 @@
1
- const express = require('express')
2
- const app = express()
3
- const port = process.env.PORT || 3000
1
+ 'use strict';
4
2
 
5
- const VKapiHostMap = {
6
- 'localhost': 5930857,
7
- 'notification-widget.textback.space': 5930339
8
- }
3
+ const express = require('express');
4
+ const app = express();
5
+ const port = process.env.PORT || 3000;
9
6
 
10
- app.use(express.static('.'))
7
+ app.use(express.static('.'));
11
8
 
12
9
  app.get('/examples', (req, res) => {
13
- 'use strict'
14
10
  const query = Object.assign({
15
- //widgetPath: 'https://unpkg.com/@textback/notification-widget/build/index.js',
16
- widgetPath: 'http://localhost:3000/build/index.js',
11
+ //widgetPath: 'https://cdn.jsdelivr.net/npm/@textback/notification-widget/build/index.js',
12
+ widgetPath: 'http://localhost:8080/build/index.js',
17
13
  apiPath: 'https://tb-apisrv-dev.textback.io/api',
18
- //widgetId: '42b9210a-9573-4482-8413-d2fe8d9b2070',
19
- widgetId: 'a74bf35b-bbef-482d-b4aa-0c6795021806',
14
+ widgetId: '7f4e72a9-6f97-b658-9496-016eeb97d0e4',
15
+ lang: 'ru',
20
16
  data: JSON.stringify({orderId: 'insecureOrderID'})
21
- }, req.query)
17
+ }, req.query);
22
18
 
23
- let widgetCode = `<script src='${query.widgetPath}'></script>`
19
+ let widgetCode = `<script src='${query.widgetPath}'></script>`;
24
20
 
25
- widgetCode += `\n<tb-notification-widget`
26
- widgetCode += `\n widget-id='${query.widgetId}'`
21
+ widgetCode += `\n<tb-notification-widget`;
22
+ widgetCode += `\n widget-id='${query.widgetId}'`;
27
23
 
28
24
  if (query.apiPath) {
29
- widgetCode += `\n api-path='${query.apiPath}'`
25
+ widgetCode += `\n api-path='${query.apiPath}'`;
26
+ }
27
+
28
+ if (query.lang) {
29
+ widgetCode += `\n lang='${query.lang}'`;
30
30
  }
31
31
 
32
32
  if (query.data) {
33
- widgetCode += `\n data='${query.data}'`
33
+ widgetCode += `\n data='${query.data}'`;
34
34
  }
35
35
 
36
- widgetCode += `>\n</tb-notification-widget>`
36
+ widgetCode += `>\n</tb-notification-widget>`;
37
37
 
38
38
  res.render('examples.ejs', {
39
39
  query,
40
40
  widgetCode
41
- })
42
- })
41
+ });
42
+ });
43
43
 
44
44
  app.get('/api/endUserNotifications/widgets/error500', (req, res) => {
45
- res.sendStatus(500)
46
- })
45
+ res.sendStatus(500);
46
+ });
47
47
 
48
48
  app.get('/api/endUserNotifications/widgets/error404', (req, res) => {
49
- res.sendStatus(404)
50
- })
49
+ res.sendStatus(404);
50
+ });
51
51
 
52
52
  app.get('/api/endUserNotifications/widgets/a', (req, res) => {
53
53
  res.json({
@@ -100,115 +100,115 @@ app.get('/api/endUserNotifications/widgets/a', (req, res) => {
100
100
  //'displayMode': 'popup'
101
101
  },
102
102
  '$count': 1
103
- })
104
- })
103
+ });
104
+ });
105
105
 
106
106
  app.get('/api/endUserNotifications/widgets/b', (req, res) => {
107
- res.json({
108
- '$error': null,
109
- '$items': null,
110
- '$value': {
111
- 'id': 'd43a36de-9659-45b5-9373-aed1a6d58dc5',
112
- 'vkApiId': 5930339,
113
- 'accountId': '99bffda5-5bd1-49b1-b4f2-658854797c01',
114
- 'channels': [{
115
- 'channel': 'tg',
116
- 'id': 'rb_dev_3_bot',
117
- 'slug': '@rb_dev_3_bot',
118
- 'enabled': true,
119
- 'channelId': null
120
- }, {
121
- 'channel': 'vk',
122
- 'type': 'apiCall',
123
- 'id': '124981888',
124
- 'slug': 'tb_test_group',
125
- 'enabled': true,
126
- 'channelId': 29
127
- }, {
128
- 'channel': 'facebook',
129
- 'id': '323049074708312',
130
- 'slug': 'TA0ETXSdhM8JnvkB1iUM',
131
- 'enabled': true,
132
- 'channelId': null
133
- }, {'channel': 'viber', 'id': 'dev_', 'slug': '', 'enabled': true, 'channelId': null}],
134
- 'welcomeMessage': {
135
- 'text': null,
136
- 'markup': 'PLAIN',
137
- 'attachments': null,
138
- 'buttons': [{
139
- 'type': 'HyperLinkButton',
140
- 'text': 'Читать статью',
141
- 'link': 'https://blog.textback.ru/notifications_in_messengers'
142
- }]
143
- },
144
- 'title': {'value': 'test heading'},
145
- 'description': {'value': 'test desc\r\nline'},
146
- 'markUp': {
147
- 'body': {},
148
- 'icon': {'type': 'preset'},
149
- 'header': {'value': 'привет это тестовый заголовок чтобы понять какое нормальное число знак'},
150
- 'description': {'value': 'это тестовый заголовок чтобы понять какое нормальное число знаков может быть в описании чтобы было читабельно и красиво и вообще нормально. это очень длинное название, прямо очень длинное очень приоче'},
151
- 'title': {'value': 'asdadad'}
152
- },
153
- 'displayOptions': {},
154
- //'displayMode': 'popup'
155
- },
156
- '$count': 1
157
- })
158
- })
107
+ res.json({
108
+ '$error': null,
109
+ '$items': null,
110
+ '$value': {
111
+ 'id': 'd43a36de-9659-45b5-9373-aed1a6d58dc5',
112
+ 'vkApiId': 5930339,
113
+ 'accountId': '99bffda5-5bd1-49b1-b4f2-658854797c01',
114
+ 'channels': [{
115
+ 'channel': 'tg',
116
+ 'id': 'rb_dev_3_bot',
117
+ 'slug': '@rb_dev_3_bot',
118
+ 'enabled': true,
119
+ 'channelId': null
120
+ }, {
121
+ 'channel': 'vk',
122
+ 'type': 'apiCall',
123
+ 'id': '124981888',
124
+ 'slug': 'tb_test_group',
125
+ 'enabled': true,
126
+ 'channelId': 29
127
+ }, {
128
+ 'channel': 'facebook',
129
+ 'id': '323049074708312',
130
+ 'slug': 'TA0ETXSdhM8JnvkB1iUM',
131
+ 'enabled': true,
132
+ 'channelId': null
133
+ }, {'channel': 'viber', 'id': 'dev_', 'slug': '', 'enabled': true, 'channelId': null}],
134
+ 'welcomeMessage': {
135
+ 'text': null,
136
+ 'markup': 'PLAIN',
137
+ 'attachments': null,
138
+ 'buttons': [{
139
+ 'type': 'HyperLinkButton',
140
+ 'text': 'Читать статью',
141
+ 'link': 'https://blog.textback.ru/notifications_in_messengers'
142
+ }]
143
+ },
144
+ 'title': {'value': 'test heading'},
145
+ 'description': {'value': 'test desc\r\nline'},
146
+ 'markUp': {
147
+ 'body': {},
148
+ 'icon': {'type': 'preset'},
149
+ 'header': {'value': 'привет это тестовый заголовок чтобы понять какое нормальное число знак'},
150
+ 'description': {'value': 'это тестовый заголовок чтобы понять какое нормальное число знаков может быть в описании чтобы было читабельно и красиво и вообще нормально. это очень длинное название, прямо очень длинное очень приоче'},
151
+ 'title': {'value': 'asdadad'}
152
+ },
153
+ 'displayOptions': {},
154
+ //'displayMode': 'popup'
155
+ },
156
+ '$count': 1
157
+ });
158
+ });
159
159
 
160
160
  app.get('/api/endUserNotifications/widgets/c', (req, res) => {
161
- res.json({
162
- '$error': null,
163
- '$items': null,
164
- '$value': {
165
- 'id': 'd43a36de-9659-45b5-9373-aed1a6d58dc5',
166
- 'vkApiId': 5930339,
167
- 'accountId': '99bffda5-5bd1-49b1-b4f2-658854797c01',
168
- 'channels': [{
169
- 'channel': 'tg',
170
- 'id': 'rb_dev_3_bot',
171
- 'slug': '@rb_dev_3_bot',
172
- 'enabled': true,
173
- 'channelId': null
174
- }, {
175
- 'channel': 'vk',
176
- 'id': '124981888',
177
- 'slug': 'tb_test_group',
178
- 'enabled': true,
179
- 'channelId': 29
180
- }, {
181
- 'channel': 'facebook',
182
- 'id': '323049074708312',
183
- 'slug': 'TA0ETXSdhM8JnvkB1iUM',
184
- 'enabled': true,
185
- 'channelId': null
186
- }, {'channel': 'viber', 'id': 'dev_', 'slug': '', 'enabled': true, 'channelId': null}],
187
- 'welcomeMessage': {
188
- 'text': null,
189
- 'markup': 'PLAIN',
190
- 'attachments': null,
191
- 'buttons': [{
192
- 'type': 'HyperLinkButton',
193
- 'text': 'Читать статью',
194
- 'link': 'https://blog.textback.ru/notifications_in_messengers'
195
- }]
196
- },
197
- 'title': {'value': 'test heading'},
198
- 'description': {'value': 'test desc\r\nline'},
199
- 'markUp': {
200
- 'body': {},
201
- 'icon': {'type': 'preset'},
202
- 'header': {'value': 'привет это тестовый заголовок чтобы понять какое нормальное число знак'},
203
- 'description': {'value': 'это тестовый заголовок чтобы понять какое нормальное число знаков может быть в описании чтобы было читабельно и красиво и вообще нормально. это очень длинное название, прямо очень длинное очень приоче'},
204
- 'title': {'value': 'asdadad'}
205
- },
206
- 'displayOptions': {},
207
- 'displayMode': 'popup'
208
- },
209
- '$count': 1
210
- })
211
- })
161
+ res.json({
162
+ '$error': null,
163
+ '$items': null,
164
+ '$value': {
165
+ 'id': 'd43a36de-9659-45b5-9373-aed1a6d58dc5',
166
+ 'vkApiId': 5930339,
167
+ 'accountId': '99bffda5-5bd1-49b1-b4f2-658854797c01',
168
+ 'channels': [{
169
+ 'channel': 'tg',
170
+ 'id': 'rb_dev_3_bot',
171
+ 'slug': '@rb_dev_3_bot',
172
+ 'enabled': true,
173
+ 'channelId': null
174
+ }, {
175
+ 'channel': 'vk',
176
+ 'id': '124981888',
177
+ 'slug': 'tb_test_group',
178
+ 'enabled': true,
179
+ 'channelId': 29
180
+ }, {
181
+ 'channel': 'facebook',
182
+ 'id': '323049074708312',
183
+ 'slug': 'TA0ETXSdhM8JnvkB1iUM',
184
+ 'enabled': true,
185
+ 'channelId': null
186
+ }, {'channel': 'viber', 'id': 'dev_', 'slug': '', 'enabled': true, 'channelId': null}],
187
+ 'welcomeMessage': {
188
+ 'text': null,
189
+ 'markup': 'PLAIN',
190
+ 'attachments': null,
191
+ 'buttons': [{
192
+ 'type': 'HyperLinkButton',
193
+ 'text': 'Читать статью',
194
+ 'link': 'https://blog.textback.ru/notifications_in_messengers'
195
+ }]
196
+ },
197
+ 'title': {'value': 'test heading'},
198
+ 'description': {'value': 'test desc\r\nline'},
199
+ 'markUp': {
200
+ 'body': {},
201
+ 'icon': {'type': 'preset'},
202
+ 'header': {'value': 'привет это тестовый заголовок чтобы понять какое нормальное число знак'},
203
+ 'description': {'value': 'это тестовый заголовок чтобы понять какое нормальное число знаков может быть в описании чтобы было читабельно и красиво и вообще нормально. это очень длинное название, прямо очень длинное очень приоче'},
204
+ 'title': {'value': 'asdadad'}
205
+ },
206
+ 'displayOptions': {},
207
+ 'displayMode': 'popup'
208
+ },
209
+ '$count': 1
210
+ });
211
+ });
212
212
 
213
213
  app.post('/api/endUserNotifications/deepLinks', (req, res) => {
214
214
  res.json({
@@ -216,9 +216,9 @@ app.post('/api/endUserNotifications/deepLinks', (req, res) => {
216
216
  '$items': null,
217
217
  '$value': 'subscribe_XXX',
218
218
  '$count': 1
219
- })
220
- })
219
+ });
220
+ });
221
221
 
222
222
  app.listen(port, () => {
223
223
  console.log(`Application started on http://localhost:${port}`)
224
- })
224
+ });