@textback/notification-widget 2.0.0 → 2.0.1-102913

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/.eslintrc.js +291 -291
  2. package/build/index.js +12 -0
  3. package/build/sdk.js +9 -0
  4. package/package.json +70 -68
  5. package/promote_tag.sh +1 -1
  6. package/readme.md +569 -490
  7. package/server.js +8 -4
  8. package/src/libraries/ai.1.0.11.js +4088 -4088
  9. package/src/libraries/localization/locales/cs.js +14 -12
  10. package/src/libraries/localization/locales/en.js +14 -12
  11. package/src/libraries/localization/locales/index.js +8 -8
  12. package/src/libraries/localization/locales/pl.js +14 -12
  13. package/src/libraries/localization/locales/ro.js +14 -12
  14. package/src/libraries/localization/locales/ru.js +13 -12
  15. package/src/libraries/localization/locales/uk.js +14 -12
  16. package/src/libraries/localization/text.js +9 -9
  17. package/src/libraries/t.js +82 -82
  18. package/src/sdk/channels/channel.js +30 -30
  19. package/src/sdk/channels/facebook.js +13 -13
  20. package/src/sdk/channels/factory.js +3 -3
  21. package/src/sdk/channels/skype.js +12 -12
  22. package/src/sdk/channels/telegram.js +18 -18
  23. package/src/sdk/channels/viber.js +12 -12
  24. package/src/sdk/channels/vk-modal/vk-modal.html +17 -17
  25. package/src/sdk/channels/vk-modal/vk-modal.js +25 -25
  26. package/src/sdk/channels/vk-modal/vk-modal.scss +116 -116
  27. package/src/sdk/channels/vk.js +195 -184
  28. package/src/sdk/channels/whatsapp.js +16 -10
  29. package/src/sdk/channels/whatsappb.js +27 -0
  30. package/src/sdk/events/observer.js +46 -46
  31. package/src/sdk/index.js +5 -5
  32. package/src/sdk/sdk.js +67 -30
  33. package/src/sdk/utils/apiErrorHandler.js +11 -11
  34. package/src/sdk/utils/appInsights.js +88 -88
  35. package/src/sdk/utils/browserInfo.js +8 -8
  36. package/src/sdk/utils/constants.js +17 -17
  37. package/src/sdk/utils/cookies.js +67 -50
  38. package/src/sdk/utils/find.js +7 -7
  39. package/src/sdk/utils/loadConfig.js +20 -20
  40. package/src/sdk/utils/loadDeepLink.js +48 -21
  41. package/src/sdk/utils/loadScript.js +25 -25
  42. package/src/sdk/utils/loadSubscriptions.js +6 -6
  43. package/src/sdk/utils/parseQueryString.js +33 -33
  44. package/src/sdk/utils/windowHelper.js +25 -25
  45. package/src/sdk/widget/widget.js +192 -140
  46. package/src/widget/components/index.js +6 -2
  47. package/src/widget/components/tb-notification-button/facebook.js +9 -2
  48. package/src/widget/components/tb-notification-button/index.js +34 -34
  49. package/src/widget/components/tb-notification-button/styles.scss +657 -433
  50. package/src/widget/components/tb-notification-button/telegram.js +9 -2
  51. package/src/widget/components/tb-notification-button/viber.js +9 -2
  52. package/src/widget/components/tb-notification-button/vk.js +59 -50
  53. package/src/widget/components/tb-notification-button/whatsapp.js +15 -8
  54. package/src/widget/components/tb-notification-button/whatsappb.js +58 -0
  55. package/src/widget/components/tb-notification-widget/index.js +589 -384
  56. package/src/widget/components/tb-notification-widget/normalize.scss +395 -394
  57. package/src/widget/components/tb-notification-widget/styles.scss +502 -139
  58. package/src/widget/components/tb-nw-wahunter/index.js +259 -0
  59. package/src/widget/components/tb-nw-wahunter/styles.scss +471 -0
  60. package/src/widget/config.js +5 -5
  61. package/src/widget/icons/icon_chat_window.svg +1 -0
  62. package/src/widget/icons/icon_close.svg +1 -0
  63. package/src/widget/icons/icon_facebook.svg +7 -7
  64. package/src/widget/icons/icon_facebook_circle.svg +7 -9
  65. package/src/widget/icons/icon_instagram_circle.svg +95 -95
  66. package/src/widget/icons/icon_skype.svg +44 -44
  67. package/src/widget/icons/icon_skype_circle.svg +46 -46
  68. package/src/widget/icons/icon_skype_new.svg +113 -113
  69. package/src/widget/icons/icon_tg.svg +25 -25
  70. package/src/widget/icons/icon_tg_circle.svg +17 -27
  71. package/src/widget/icons/icon_viber.svg +75 -75
  72. package/src/widget/icons/icon_viber_circle.svg +67 -77
  73. package/src/widget/icons/icon_viber_new.svg +102 -102
  74. package/src/widget/icons/icon_vk.svg +14 -14
  75. package/src/widget/icons/icon_vk_circle.svg +16 -16
  76. package/src/widget/icons/icon_whatsapp.svg +147 -147
  77. package/src/widget/icons/icon_whatsapp_circle.svg +3 -3
  78. package/src/widget/icons/icon_whatsapp_hollow.svg +128 -0
  79. package/src/widget/icons/icon_whatsapp_new.svg +127 -127
  80. package/src/widget/icons/icon_whatsappb.svg +147 -0
  81. package/src/widget/icons/icon_whatsappb_circle.svg +4 -0
  82. package/src/widget/icons/icon_whatsappb_new.svg +127 -0
  83. package/src/widget/icons/paper-plane-arrow.svg +3 -0
  84. package/src/widget/icons/tb-logo.svg +21 -0
  85. package/src/widget/index.js +28 -28
  86. package/src/widget/locales/cs.js +42 -0
  87. package/src/widget/locales/en.js +42 -20
  88. package/src/widget/locales/index.js +2 -2
  89. package/src/widget/locales/pl.js +41 -19
  90. package/src/widget/locales/ro.js +41 -20
  91. package/src/widget/locales/ru.js +40 -19
  92. package/src/widget/locales/uk.js +40 -19
  93. package/src/widget/utils/cookiesEx.js +41 -41
  94. package/src/widget/utils/getLocale.js +4 -2
  95. package/src/widget/utils/stringifyAttributes.js +19 -19
  96. package/src/widget/utils/text.js +2 -1
  97. package/src/widget/utils/widgetsStorage.js +28 -28
  98. package/src/widget/widget.entry.js +3 -4
  99. package/tests/gf.html +35 -35
  100. package/tests/gf.js +21 -21
  101. package/tests/index.js +61 -61
  102. package/views/examples.ejs +7 -3
  103. package/views/sdk.html +274 -256
  104. package/webpack.common.js +72 -72
  105. package/webpack.dev.js +15 -15
  106. package/webpack.prod.js +10 -10
  107. package/src/widget/components/tb-notification-button/skype.js +0 -47
  108. package/src/widget/icons/text-back-badge.png +0 -0
  109. package/src/widget/locales/cz.js +0 -20
package/webpack.common.js CHANGED
@@ -1,72 +1,72 @@
1
- const webpack = require('webpack');
2
- const CleanWebpackPlugin = require('clean-webpack-plugin');
3
-
4
- const fs = require('fs');
5
-
6
- function getPackageVersion() {
7
- const json = require('./package.json');
8
- const buildNumber = process.env.BUILD_BUILDNUMBER;
9
- let version = json.version;
10
-
11
- if (typeof buildNumber !== 'undefined') {
12
- version = `${json.version}-${buildNumber}`
13
- json.version = version;
14
- fs.writeFile('package.json', JSON.stringify(json, null, 2));
15
- }
16
- return version;
17
- }
18
-
19
-
20
- const webpackConfig = {
21
- entry: {
22
- sdk: './src/sdk/sdk.entry.js',
23
- index: './src/widget/widget.entry.js',
24
- },
25
- output: {
26
- path: __dirname + '/build',
27
- filename: '[name].js',
28
- },
29
- module: {
30
- rules: [{
31
- test: /\.scss$/,
32
- use: [
33
- { loader: 'style-loader' },
34
- { loader: 'css-loader' },
35
- { loader: 'sass-loader' }
36
- ]
37
- },{
38
- test: /\.svg/,
39
- use: [{
40
- loader: 'svg-inline-loader',
41
- options: {
42
- // classPrefix: 'tb-notification-widget',
43
- // idPrefix: 'tb-notification-widget',
44
- },
45
- }]
46
- },{
47
- test: /\.png/,
48
- use: 'base64-image-loader'
49
- },{
50
- test: /\.html/,
51
- use: 'html-loader',
52
- },{
53
- test: /\.js$/,
54
- exclude: [ /node_modules/ ],
55
- use: [{
56
- loader: 'babel-loader',
57
- options: {
58
- presets: ['env'],
59
- },
60
- }],
61
- }],
62
- },
63
-
64
- plugins: [
65
- new CleanWebpackPlugin(['build']),
66
- new webpack.DefinePlugin({
67
- VERSION: JSON.stringify(getPackageVersion())
68
- }),
69
- ],
70
- };
71
-
72
- module.exports = webpackConfig;
1
+ const webpack = require('webpack');
2
+ const CleanWebpackPlugin = require('clean-webpack-plugin');
3
+
4
+ const fs = require('fs');
5
+
6
+ function getPackageVersion() {
7
+ const json = require('./package.json');
8
+ const buildNumber = process.env.BUILD_BUILDNUMBER;
9
+ let version = json.version;
10
+
11
+ if (typeof buildNumber !== 'undefined') {
12
+ version = `${json.version}-${buildNumber}`
13
+ json.version = version;
14
+ fs.writeFileSync('package.json', JSON.stringify(json, null, 2));
15
+ }
16
+ return version;
17
+ }
18
+
19
+
20
+ const webpackConfig = {
21
+ entry: {
22
+ sdk: './src/sdk/sdk.entry.js',
23
+ index: './src/widget/widget.entry.js',
24
+ },
25
+ output: {
26
+ path: __dirname + '/build',
27
+ filename: '[name].js',
28
+ },
29
+ module: {
30
+ rules: [{
31
+ test: /\.scss$/,
32
+ use: [
33
+ {loader: 'style-loader'},
34
+ {loader: 'css-loader'},
35
+ {loader: 'sass-loader'}
36
+ ]
37
+ }, {
38
+ test: /\.svg/,
39
+ use: [{
40
+ loader: 'svg-inline-loader',
41
+ options: {
42
+ // classPrefix: 'tb-notification-widget',
43
+ // idPrefix: 'tb-notification-widget',
44
+ },
45
+ }]
46
+ }, {
47
+ test: /\.png/,
48
+ use: 'base64-image-loader'
49
+ }, {
50
+ test: /\.html/,
51
+ use: 'html-loader',
52
+ }, {
53
+ test: /\.js$/,
54
+ exclude: [/node_modules/],
55
+ use: [{
56
+ loader: 'babel-loader',
57
+ options: {
58
+ presets: ['env'],
59
+ },
60
+ }],
61
+ }],
62
+ },
63
+
64
+ plugins: [
65
+ new CleanWebpackPlugin(['build']),
66
+ new webpack.DefinePlugin({
67
+ VERSION: JSON.stringify(getPackageVersion())
68
+ }),
69
+ ],
70
+ };
71
+
72
+ module.exports = webpackConfig;
package/webpack.dev.js CHANGED
@@ -1,15 +1,15 @@
1
- const merge = require('webpack-merge');
2
- const common = require('./webpack.common.js');
3
-
4
- module.exports = merge(common, {
5
- devtool: 'cheap-inline-module-source-map',
6
- watch: true,
7
- /*devServer: {
8
- contentBase: './build',
9
- port: 8081,
10
- watchOptions: {
11
- aggregateTimeout: 300,
12
- poll: 1000
13
- },
14
- }*/
15
- });
1
+ const merge = require('webpack-merge');
2
+ const common = require('./webpack.common.js');
3
+
4
+ module.exports = merge(common, {
5
+ devtool: 'eval-source-map',
6
+ watch: true,
7
+ /*devServer: {
8
+ contentBase: './build',
9
+ port: 8081,
10
+ watchOptions: {
11
+ aggregateTimeout: 300,
12
+ poll: 1000
13
+ },
14
+ }*/
15
+ });
package/webpack.prod.js CHANGED
@@ -1,10 +1,10 @@
1
- const merge = require('webpack-merge');
2
- const common = require('./webpack.common.js');
3
- const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
4
-
5
- module.exports = merge(common, {
6
- mode: 'production',
7
- optimization: {
8
- minimizer: [new UglifyJSPlugin()]
9
- }
10
- });
1
+ const merge = require('webpack-merge');
2
+ const common = require('./webpack.common.js');
3
+ const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
4
+
5
+ module.exports = merge(common, {
6
+ mode: 'production',
7
+ optimization: {
8
+ minimizer: [new UglifyJSPlugin()]
9
+ }
10
+ });
@@ -1,47 +0,0 @@
1
- import Button from './index.js';
2
- import icon from '../../icons/icon_skype.svg';
3
- import iconNew from '../../icons/icon_skype_new.svg';
4
- import iconCircle from '../../icons/icon_skype_circle.svg';
5
-
6
- import constants from '../../../sdk/utils/constants.js';
7
-
8
- class SkypeButton extends Button {
9
- render() {
10
- super.render();
11
-
12
- const link = this.element.querySelector('a');
13
- link.addEventListener('click', (event) => {
14
- event.preventDefault();
15
- this.channelAPI.subscribe();
16
- });
17
- }
18
-
19
- get template() {
20
- if (this.config.type === constants.WIDGET_TYPE_API_CALL) {
21
- return `
22
- <a target="_blank" href="https://join.skype.com/bot/${this.config.id}?add">
23
- <tb-notification-button__icon>${icon}</tb-notification-button__icon>
24
- <tb-notification-button__text>${this.text('skype')}</tb-notification-button__text>
25
- </a>
26
- `;
27
- } else if (this.config.markUp.style !== 'square') {
28
- return `
29
- <a target="_blank" href="https://join.skype.com/bot/${this.config.id}?add">
30
- <tb-notification-button__icon>${(this.config.markUp.style === 'rounded' ? icon : iconCircle )}</tb-notification-button__icon>
31
- <tb-notification-button__text>${this.text('skype')}</tb-notification-button__text>
32
- </a>
33
- `;
34
- } else {
35
- return `
36
- <div class="tb-notification-button__inner">
37
- <tb-notification-button__icon>${iconNew}</tb-notification-button__icon>
38
- <a target="_blank" href="https://join.skype.com/bot/${this.config.id}?add">
39
- <tb-notification-button__text>${this.text('sign-skype')}</tb-notification-button__text>
40
- </a>
41
- </div>
42
- `;
43
- }
44
- }
45
- };
46
-
47
- module.exports = SkypeButton;
@@ -1,20 +0,0 @@
1
- module.exports = {
2
- facebook: 'Facebook',
3
- 'sign-facebook': 'Poslat přes Facebook',
4
- skype: 'Skype',
5
- 'sign-skype': 'Poslat přes Skype',
6
- telegram: 'Telegram',
7
- 'sign-telegram': 'Poslat přes Telegram',
8
- viber: 'Viber',
9
- 'sign-viber': 'Poslat přes Viber',
10
- vkontakte: 'VKontakte',
11
- 'vkontakte login': 'VK Login',
12
- 'sign-vk': 'Poslat přes VKontakte',
13
- whatsapp: 'WhatsApp',
14
- 'sign-whatsapp': 'Poslat přes WhatsApp',
15
- 'telegram_tip': 'Stiskněte <strong>"Start"</strong><br/> v aplikaci Telegram',
16
- 'facebook_tip': 'Stiskněte <strong>"Začít"</strong><br/> v Facebook Messenger',
17
- 'viber_tip': ' Musíte mít nainstalovanou <br/><strong>Viber Desktop aplikaci</strong>',
18
- 'vkontakte_tip': 'Stiskněte <strong>"Povolit"</strong><br/> ve vyskakovacím okně',
19
- 'whatsapp_tip': 'Pošlete <strong>předvyplněný text</strong><br/> přes WhatsApp bez změn'
20
- };