@subiz/widget-v4 4.0.91 → 4.0.93

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 (194) hide show
  1. package/compiled_src/bot.js +0 -11
  2. package/compiled_src/call/call.js +0 -61
  3. package/compiled_src/call/css.js +0 -2
  4. package/compiled_src/chatbox/AgentsAvatar.js +0 -16
  5. package/compiled_src/chatbox/AudioAttachments.js +0 -14
  6. package/compiled_src/chatbox/ButtonAttachments.js +1 -14
  7. package/compiled_src/chatbox/Buttons.js +0 -13
  8. package/compiled_src/chatbox/ChatButton.js +1 -78
  9. package/compiled_src/chatbox/DropdownSelect.js +3 -44
  10. package/compiled_src/chatbox/Emoji.js +0 -7
  11. package/compiled_src/chatbox/Event.js +0 -59
  12. package/compiled_src/chatbox/Events.js +4 -44
  13. package/compiled_src/chatbox/FileAttachments.js +0 -14
  14. package/compiled_src/chatbox/FormAttachment.js +1 -52
  15. package/compiled_src/chatbox/FormAttachments.js +0 -14
  16. package/compiled_src/chatbox/FormSubmitAttachments.js +0 -11
  17. package/compiled_src/chatbox/GenericTemplateAttachments.js +1 -20
  18. package/compiled_src/chatbox/Header.js +1 -46
  19. package/compiled_src/chatbox/ImageAttachments.js +0 -16
  20. package/compiled_src/chatbox/InfoMessage.js +0 -13
  21. package/compiled_src/chatbox/ListField.js +0 -16
  22. package/compiled_src/chatbox/MessageInput.js +1 -47
  23. package/compiled_src/chatbox/Order.js +0 -35
  24. package/compiled_src/chatbox/OrderAttachments.js +1 -23
  25. package/compiled_src/chatbox/PoweredBy.js +0 -7
  26. package/compiled_src/chatbox/ProductAttachments.js +0 -19
  27. package/compiled_src/chatbox/QuickReplies.js +0 -18
  28. package/compiled_src/chatbox/Rating.js +0 -37
  29. package/compiled_src/chatbox/ShadowDomRoot.js +0 -9
  30. package/compiled_src/chatbox/TextMessage.js +0 -64
  31. package/compiled_src/chatbox/Typing.js +0 -15
  32. package/compiled_src/chatbox/VideoAttachments.js +0 -14
  33. package/compiled_src/chatbox/Widget.js +6 -167
  34. package/compiled_src/chatbox/css.js +0 -2
  35. package/compiled_src/chatbox/dragscroll.js +1 -5
  36. package/compiled_src/chatbox/main.js +3 -43
  37. package/compiled_src/chatbox/releaseAnimation.js +0 -11
  38. package/compiled_src/chatbox/spinner.js +0 -10
  39. package/compiled_src/chatbox/time.js +0 -22
  40. package/compiled_src/chatbox/touchscroll.js +0 -7
  41. package/compiled_src/common.js +0 -22
  42. package/compiled_src/contact/contact.js +2 -52
  43. package/compiled_src/contact/css.js +0 -2
  44. package/compiled_src/lib.js +19 -46
  45. package/compiled_src/notif/css.js +0 -2
  46. package/compiled_src/notif/notif.js +0 -63
  47. package/compiled_src/order/address_picker.js +4 -38
  48. package/compiled_src/order/icon.js +0 -16
  49. package/compiled_src/order/index.js +1 -34
  50. package/compiled_src/order/order.js +2 -156
  51. package/compiled_src/plugin.js +1 -77
  52. package/compiled_src/popup/countdown.js +2 -33
  53. package/compiled_src/popup/css.js +0 -2
  54. package/compiled_src/popup/popup.js +2 -165
  55. package/compiled_src/popup/tick.core.commonjs.js +72 -222
  56. package/compiled_src/popup/tick.view.flip.commonjs.js +23 -31
  57. package/compiled_src/store/api.js +103 -66
  58. package/compiled_src/store/api_fake.js +3 -39
  59. package/compiled_src/store/realtime_fake.js +0 -6
  60. package/compiled_src/store/store.js +46 -257
  61. package/compiled_src/util/campaign.js +0 -13
  62. package/compiled_src/util/common.js +15 -190
  63. package/compiled_src/util/common.test.js +0 -4
  64. package/compiled_src/util/extractor.js +1 -21
  65. package/compiled_src/util/extractor.test.js +0 -3
  66. package/compiled_src/util/gate.js +0 -7
  67. package/compiled_src/util/gate.test.js +1 -2
  68. package/compiled_src/util/index.js +1 -7
  69. package/compiled_src/util/mutex.js +31 -0
  70. package/compiled_src/util/op.js +1 -14
  71. package/compiled_src/util/pubsub.js +0 -6
  72. package/compiled_src/util/pubsub.test.js +0 -2
  73. package/package.json +12 -12
  74. package/src/chatbox/main.js +3 -3
  75. package/src/lib.js +24 -2
  76. package/src/store/api.js +111 -22
  77. package/src/store/api_fake.js +5 -6
  78. package/src/store/store.js +38 -14
  79. package/src/util/common.js +0 -4
  80. package/src/util/index.js +1 -0
  81. package/src/util/mutex.js +27 -0
  82. package/dist/0b82fa7e5c3b07b40a44.png +0 -1
  83. package/dist/0f4af006e38ee8b93633.png +0 -1
  84. package/dist/132.js +0 -6777
  85. package/dist/178.js +0 -573
  86. package/dist/17f00e48d38.132.js +0 -1
  87. package/dist/17f00e48d38.178.js +0 -1
  88. package/dist/17f00e48d38.213.js +0 -1
  89. package/dist/17f00e48d38.335.js +0 -1
  90. package/dist/17f00e48d38.362.js +0 -1
  91. package/dist/17f00e48d38.441.js +0 -1
  92. package/dist/17f00e48d38.605.js +0 -1
  93. package/dist/17f00e48d38.678.js +0 -1
  94. package/dist/17f00e48d38.782.js +0 -1
  95. package/dist/17f00e48d38.app.js +0 -1
  96. package/dist/17f00e48d38.index.html +0 -22
  97. package/dist/17f00e48d38.library.html +0 -22
  98. package/dist/17f00e48d38.library.js +0 -1
  99. package/dist/17f00e48d38.preview.html +0 -759
  100. package/dist/17f00e48d38.preview.js +0 -1
  101. package/dist/17f00e48d38.screenshoot.js +0 -1
  102. package/dist/1ea1c6cd21d25176810c.png +0 -1
  103. package/dist/213.js +0 -3188
  104. package/dist/292d42404e1b03398f61.png +0 -1
  105. package/dist/312d376370831b7bea83.png +0 -1
  106. package/dist/313d1bfc1cf776d1aefe.png +0 -1
  107. package/dist/335.js +0 -411
  108. package/dist/362.js +0 -157
  109. package/dist/441.js +0 -2732
  110. package/dist/4aa58bb7a66bb44975aa.png +0 -1
  111. package/dist/56ce063bc6c81adb7322.png +0 -1
  112. package/dist/605.js +0 -328
  113. package/dist/678.js +0 -157
  114. package/dist/6a411166ef5cc79e0714.png +0 -1
  115. package/dist/6faf403782fefacc1649.png +0 -1
  116. package/dist/782.js +0 -204
  117. package/dist/79dca33c68fab79c067f.png +0 -1
  118. package/dist/82da1578fa84f9debaeb.png +0 -1
  119. package/dist/8b8e0f0824743974b282.png +0 -1
  120. package/dist/8d551390d81e39130a3c.png +0 -1
  121. package/dist/9fc61b9479877ebdb6c7.png +0 -1
  122. package/dist/HASH +0 -1
  123. package/dist/a165d31dcb3dc90f1057.png +0 -1
  124. package/dist/a98d4a5698812c4426b3.png +0 -1
  125. package/dist/assets/img/Facebook.64607ec.png +0 -0
  126. package/dist/assets/img/Zalo.6845707.png +0 -0
  127. package/dist/assets/img/award1a.1a58e10.png +0 -0
  128. package/dist/assets/img/award3a.3b74423.png +0 -0
  129. package/dist/assets/img/award4a.ed6ccd4.png +0 -0
  130. package/dist/assets/img/award5.39eb7ae.png +0 -0
  131. package/dist/assets/img/bubble_default.7d5e4ab.svg +0 -20
  132. package/dist/assets/img/caret.998eb8f.svg +0 -1
  133. package/dist/assets/img/convos_empty.2353007.svg +0 -72
  134. package/dist/assets/img/default.06e6ee0.jpg +0 -0
  135. package/dist/assets/img/default_avatar.5b74dc1.png +0 -0
  136. package/dist/assets/img/done_gray.d7e8203.svg +0 -4
  137. package/dist/assets/img/done_green.b817fd4.svg +0 -4
  138. package/dist/assets/img/emoji/messenger/sub_23.529_58.824.d5faf14.png +0 -0
  139. package/dist/assets/img/emoji/messenger/sub_23.529_60.784.1420241.png +0 -0
  140. package/dist/assets/img/emoji/messenger/sub_25.490_0.000.1e6b2c0.png +0 -0
  141. package/dist/assets/img/emoji/messenger/sub_25.490_45.098.3dfbc08.png +0 -0
  142. package/dist/assets/img/emoji/messenger/sub_25.490_5.882.4b49e94.png +0 -0
  143. package/dist/assets/img/emoji/messenger/sub_27.451_72.549.7114f58.png +0 -0
  144. package/dist/assets/img/emoji/messenger/sub_27.451_84.314.231e2b7.png +0 -0
  145. package/dist/assets/img/emoji/messenger/sub_27.451_96.078.ddbb008.png +0 -0
  146. package/dist/assets/img/emoji/messenger/sub_29.412_5.882.61f3359.png +0 -0
  147. package/dist/assets/img/emoji/messenger/sub_58.824_100.000.6df72bc.png +0 -0
  148. package/dist/assets/img/emoji/messenger/sub_58.824_45.098.3d7a7ad.png +0 -0
  149. package/dist/assets/img/emoji/messenger/sub_58.824_47.059.0f4d6e2.png +0 -0
  150. package/dist/assets/img/emoji/messenger/sub_58.824_54.902.65724c1.png +0 -0
  151. package/dist/assets/img/emoji/messenger/sub_58.824_64.706.9da3cba.png +0 -0
  152. package/dist/assets/img/emoji/messenger/sub_58.824_72.549.edca5cf.png +0 -0
  153. package/dist/assets/img/emoji/messenger/sub_58.824_78.431.f910f2a.png +0 -0
  154. package/dist/assets/img/emoji/messenger/sub_58.824_88.235.def4e71.png +0 -0
  155. package/dist/assets/img/emoji/messenger/sub_60.784_11.765.49c03d0.png +0 -0
  156. package/dist/assets/img/emoji/messenger/sub_60.784_27.451.46b54e5.png +0 -0
  157. package/dist/assets/img/emoji/messenger/sub_60.784_29.412.e36d284.png +0 -0
  158. package/dist/assets/img/emoji/messenger/sub_60.784_3.922.bb191b0.png +0 -0
  159. package/dist/assets/img/emoji/messenger/sub_60.784_35.294.af7b927.png +0 -0
  160. package/dist/assets/img/emoji/messenger/sub_60.784_7.843.98f2a99.png +0 -0
  161. package/dist/assets/img/empty.29bed2d.svg +0 -23
  162. package/dist/assets/img/empty_1.0b98af0.svg +0 -11
  163. package/dist/assets/img/examplte_logo.f86535f.svg +0 -1
  164. package/dist/assets/img/external-link.90577cc.svg +0 -1
  165. package/dist/assets/img/fb_inverse_circle.36c2cfc.png +0 -0
  166. package/dist/assets/img/ghn.070f8e3.svg +0 -17
  167. package/dist/assets/img/ghtk.326eac1.svg +0 -18
  168. package/dist/assets/img/image_default.be0698b.png +0 -0
  169. package/dist/assets/img/info.ebce7ea.svg +0 -1
  170. package/dist/assets/img/loader.37000a7.svg +0 -1
  171. package/dist/assets/img/loading_static.8f403ae.svg +0 -10
  172. package/dist/assets/img/main-service1.d536cc2.png +0 -0
  173. package/dist/assets/img/main-service2.9b99549.png +0 -0
  174. package/dist/assets/img/not_found_search.2ddb8d1.png +0 -0
  175. package/dist/assets/img/package.8d37d0f.svg +0 -5
  176. package/dist/assets/img/package_fade.763c001.svg +0 -1
  177. package/dist/assets/img/rating--average.1ea492c.svg +0 -12
  178. package/dist/assets/img/rating--great.e3d712e.svg +0 -16
  179. package/dist/assets/img/rating--poor.2938a25.svg +0 -12
  180. package/dist/assets/img/search.f9705ff.svg +0 -1
  181. package/dist/assets/img/send.6db52a9.svg +0 -3
  182. package/dist/assets/img/shop.f7dc7d8.svg +0 -1
  183. package/dist/assets/img/shop_faded.df7845a.svg +0 -1
  184. package/dist/assets/img/subiz-mono.877e9f5.svg +0 -3
  185. package/dist/assets/img/x.26fdfa3.svg +0 -5
  186. package/dist/c41606bf9d1b604e46d5.png +0 -1
  187. package/dist/ce1f7450ce6c1aacd330.png +0 -1
  188. package/dist/cf8c01e88f4770a6e3e5.png +0 -1
  189. package/dist/dfbcfeab1d5622a737e2.png +0 -1
  190. package/dist/e4893ed8c2f7b8329919.png +0 -1
  191. package/dist/ec2ab4eb4ef73d186186.png +0 -1
  192. package/dist/malicious-app.js +0 -13
  193. package/dist/screenshoot.html +0 -7
  194. package/dist/screenshoot.js +0 -5919
@@ -4,7 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _default = require('css-loader!less-loader!../../assets/less/chatbox.less');
9
-
10
8
  exports.default = _default;
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = bind;
7
-
8
7
  /**
9
8
  * @fileoverview dragscroll - scroll area by dragging
10
9
  * @version 0.0.8
@@ -12,13 +11,13 @@ exports.default = bind;
12
11
  * @license MIT, see http://github.com/asvd/dragscroll
13
12
  * @copyright 2015 asvd <heliosframework@gmail.com>
14
13
  */
14
+
15
15
  function bind(el) {
16
16
  if (!el) return;
17
17
  el.removeEventListener('mousedown', el.md, 0);
18
18
  window.removeEventListener('mouseup', el.mu, 0);
19
19
  window.removeEventListener('mousemove', el.mm, 0);
20
20
  var lastClientX, pushed;
21
-
22
21
  el.md = function (e) {
23
22
  if (!el.hasAttribute('nochilddrag') || !document.elementFromPoint(e.pageX, e.pageY)) {
24
23
  pushed = 1;
@@ -26,17 +25,14 @@ function bind(el) {
26
25
  e.preventDefault();
27
26
  }
28
27
  };
29
-
30
28
  el.mu = () => {
31
29
  pushed = 0;
32
30
  };
33
-
34
31
  el.mm = function (e) {
35
32
  if (!pushed) return;
36
33
  el.scrollLeft -= -lastClientX + e.clientX;
37
34
  lastClientX = e.clientX;
38
35
  };
39
-
40
36
  el.addEventListener('mousedown', el.md, 0);
41
37
  window.addEventListener('mouseup', el.mu, 0);
42
38
  window.addEventListener('mousemove', el.mm, 0);
@@ -4,58 +4,39 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = _interopRequireDefault(require("../util/index.js"));
9
-
10
8
  var _ChatButton = _interopRequireDefault(require("./ChatButton.js"));
11
-
12
9
  var _Widget = _interopRequireDefault(require("./Widget.js"));
13
-
14
10
  var _common = require("../common.js");
15
-
16
11
  var _preact = require("preact");
17
-
18
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
-
24
15
  let promiseMainCSS = (() => Promise.resolve().then(() => _interopRequireWildcard(require('./css.js'))))();
25
-
26
16
  class Main extends _common.Com {
27
17
  constructor(props) {
28
18
  super(props);
29
19
  this.refButton = (0, _preact.createRef)();
30
20
  }
31
-
32
21
  async refreshCSS() {
33
22
  let plugins = this.props.store.matchPlugin();
34
-
35
23
  let found = _index.default.find(plugins, plugin => plugin.id === this.props.plugin.id);
36
-
37
24
  if (!found) return;
38
25
  let css = (await promiseMainCSS).default.default.toString();
39
-
40
- var outcss = _index.default.replaceCssVariable(css, this.props.plugin.chatbox);
41
-
26
+ var outcss = _index.default.replaceCssVariable(css, found.chatbox);
42
27
  _index.default.setCss(this.props.plugin.id, this.$cssStyleDiv, outcss);
43
28
  }
44
-
45
29
  componentWillUnmount() {
46
30
  _index.default.setCss(this.props.plugin.id, this.$cssStyleDiv, '');
47
31
  }
48
-
49
32
  async componentDidMount() {
50
33
  this.$cssStyleDiv = document.getElementById('subiz-style-for-' + this.props.plugin.id);
51
-
52
34
  if (!this.$cssStyleDiv) {
53
35
  this.$cssStyleDiv = document.createElement('style');
54
36
  document.head.appendChild(this.$cssStyleDiv);
55
37
  this.$cssStyleDiv.type = 'text/css';
56
38
  this.$cssStyleDiv.id = 'subiz-style-for-' + this.props.plugin.id;
57
39
  }
58
-
59
40
  this.setState({
60
41
  cssready: false,
61
42
  isShowWidget: false,
@@ -70,7 +51,6 @@ class Main extends _common.Com {
70
51
  this.setState({
71
52
  cssready: true
72
53
  });
73
-
74
54
  if (this.props.store.matchIsOpen() && this.props.store.matchLastview().view) {
75
55
  if (this.props.store.isMobile()) return;
76
56
  this.showWidget(Object.assign({}, this.props.store.matchLastview().opts, {
@@ -81,14 +61,12 @@ class Main extends _common.Com {
81
61
  if (!this.state.isShowWidget) this.hideWidget();
82
62
  }
83
63
  }
84
-
85
64
  render() {
86
65
  if (!this.state.cssready) return null;
87
66
  if (_index.default.isUserBanned(this.props.store.matchUser())) return null;
88
67
  if (!this.props.t) return null;
89
- var cls = this.props.store.isMobile() ? 'mobile' : 'desktop';
90
68
  return (0, _preact.h)("div", {
91
- class: cls
69
+ class: this.props.store.isMobile() ? 'mobile' : 'desktop'
92
70
  }, (0, _preact.h)(_ChatButton.default, {
93
71
  plugin: this.props.plugin,
94
72
  store: this.props.store,
@@ -108,22 +86,18 @@ class Main extends _common.Com {
108
86
  t: this.props.t
109
87
  }));
110
88
  }
111
-
112
89
  checkExpand() {
113
90
  if (this.props.store.isMobile()) return;
114
91
  if (this.props.plugin._no_auto_expand) return;
115
92
  if (this.props.store.matchHasManuallyClosed()) return;
116
93
  let convoM = this.props.store.matchConvo('*');
117
-
118
94
  let redconvo = _index.default.find(convoM, convo => !_index.default.isConvoSeen(convo, this.props.store.matchUser().id));
119
-
120
95
  if (!redconvo || !redconvo.id) return;
121
96
  if (!this.state.isShowWidget) this.showWidget({
122
97
  view: 'chat',
123
98
  cid: redconvo.id
124
99
  });
125
100
  }
126
-
127
101
  getCurrentView() {
128
102
  return {
129
103
  is_show_widget: this.state.isShowWidget,
@@ -131,33 +105,27 @@ class Main extends _common.Com {
131
105
  view: this.state.widgetView
132
106
  };
133
107
  }
134
-
135
108
  async showWidget(p) {
136
109
  this.refButton.current && this.refButton.current.ClearPreview();
137
-
138
110
  if (!p.view) {
139
111
  let lastview = this.props.store.matchLastview() || {};
140
112
  p.view = _index.default.get(lastview, 'view');
141
113
  p.cid = _index.default.get(lastview, 'opts.cid');
142
114
  }
143
-
144
115
  p = p || {};
145
-
146
116
  if (!p.view && !p.cid) {
147
117
  let convoM = this.props.store.matchConvo('*');
148
-
149
118
  let redconvo = _index.default.find(convoM, convo => !_index.default.isConvoSeen(convo, this.props.store.matchUser().id));
150
-
151
119
  p.cid = _index.default.get(redconvo, 'id', _index.default.get(convoM, '0.id'));
152
120
  p.view = 'chat';
153
121
  }
154
-
155
122
  if (this.props.store.isMobile()) modifyViewport();
156
123
  this.setState({
157
124
  widgetConvoId: p.cid,
158
125
  widgetView: p.view
159
126
  });
160
127
  this.props.store.setIsOpen(true);
128
+
161
129
  this.forceUpdate();
162
130
  this.setState({
163
131
  isShowWidget: true
@@ -166,15 +134,12 @@ class Main extends _common.Com {
166
134
  cid: p.cid
167
135
  });
168
136
  }
169
-
170
137
  showGreeting() {
171
138
  this.refButton.current && this.refButton.current.ShowGreeting();
172
139
  }
173
-
174
140
  hideGreeting() {
175
141
  this.refButton.current && this.refButton.current.HideGreeting();
176
142
  }
177
-
178
143
  hideWidget() {
179
144
  restoreViewport();
180
145
  this.props.store.setIsOpen(false);
@@ -182,23 +147,18 @@ class Main extends _common.Com {
182
147
  isShowWidget: false
183
148
  });
184
149
  }
185
-
186
150
  onWidgetClose() {
187
151
  this.refButton.current && this.refButton.current.ClearPreview();
188
152
  this.props.store.setHasManuallyClosed();
189
153
  this.hideWidget();
190
154
  }
191
-
192
155
  }
193
-
194
156
  exports.default = Main;
195
-
196
157
  function restoreViewport() {
197
158
  if (document.body && document.body.classList) document.body.classList.remove('sbz_no_scroll');
198
159
  let metatag = document.getElementById('subiz-meta-viewport');
199
160
  if (metatag) metatag.remove();
200
161
  }
201
-
202
162
  function modifyViewport() {
203
163
  if (document.body && document.body.classList) document.body.classList.add('sbz_no_scroll');
204
164
  let metatag = document.createElement('meta');
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = _interopRequireDefault(require("../util/index.js"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  class _default {
13
10
  constructor(config) {
14
11
  this.duration = config.duration || 100;
@@ -16,11 +13,9 @@ class _default {
16
13
  this.maxY = config.maxY || 500;
17
14
  this.minY = config.minY || 0;
18
15
  }
19
-
20
16
  play(v, y0, cb) {
21
17
  this.stop();
22
18
  var t0;
23
-
24
19
  var run = t => {
25
20
  if (!t) t = new _index.default.Date().getTime();
26
21
  var deltaT = t - t0;
@@ -29,7 +24,6 @@ class _default {
29
24
  if (done) return this.stop();
30
25
  this.animationframe = window.requestAnimationFrame(run);
31
26
  };
32
-
33
27
  this.animationframe = window.requestAnimationFrame(t => {
34
28
  t0 = t || new _index.default.Date().getTime();
35
29
  run(t0);
@@ -50,15 +44,11 @@ class _default {
50
44
  var y = linearTransform(y0, towardY, t, this.duration);
51
45
  return [y, eqFloat(y, towardY)];
52
46
  }
53
-
54
47
  stop() {
55
48
  window.cancelAnimationFrame(this.animationframe);
56
49
  }
57
-
58
50
  }
59
-
60
51
  exports.default = _default;
61
-
62
52
  function linearTransform(from, to, t, duration) {
63
53
  if (eqFloat(from, to)) return from;
64
54
  var s = to - from;
@@ -67,7 +57,6 @@ function linearTransform(from, to, t, duration) {
67
57
  if (from < to && x > to) x = to;else if (to < from && x < to) x = to;
68
58
  return x;
69
59
  }
70
-
71
60
  function eqFloat(a, b) {
72
61
  return Math.abs(a - b) <= 0.001;
73
62
  }
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _common = require("../common.js");
9
-
10
8
  var _preact = require("preact");
11
-
12
9
  const loadingimg = require('../../assets/img/loading_static.svg');
13
-
14
10
  class Spinner extends _common.Com {
15
11
  render() {
16
12
  let mode = (this.props.mode + '').toLowerCase();
@@ -21,14 +17,12 @@ class Spinner extends _common.Com {
21
17
  let style = `width: ${size}px !important;height: ${size}px!important;color: ${borderColor} !important;border-width: ${borderWidth}px !important;
22
18
  border-left-color: ${borderColor} !important;border-top-color: ${borderColor} !important;
23
19
  border-bottom-color: ${borderColor} !important;border-right-color: ${mainColor} !important;`;
24
-
25
20
  if (this.props.static) {
26
21
  let style = `width: ${size}px !important;height: ${size}px !important;`;
27
22
  if (size < 40) return (0, _preact.h)(LoaderIcon, {
28
23
  size: size + '',
29
24
  style: `stroke:${mainColor}`
30
25
  });
31
-
32
26
  if (this.props.center) {
33
27
  return (0, _preact.h)("div", {
34
28
  class: "loading"
@@ -38,20 +32,16 @@ class Spinner extends _common.Com {
38
32
  src: loadingimg
39
33
  }));
40
34
  }
41
-
42
35
  return (0, _preact.h)("img", {
43
36
  alt: "loading",
44
37
  style: style,
45
38
  src: loadingimg
46
39
  });
47
40
  }
48
-
49
41
  return (0, _preact.h)("div", {
50
42
  class: "spinner1",
51
43
  style: style
52
44
  });
53
45
  }
54
-
55
46
  }
56
-
57
47
  exports.default = Spinner;
@@ -4,18 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _index = _interopRequireDefault(require("../util/index.js"));
9
-
10
8
  var _common = require("../common.js");
11
-
12
9
  var _preact = require("preact");
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  var g_pub = new _index.default.Pubsub();
17
12
  setInterval(() => g_pub.publish('time'), 20 * 1000);
18
-
19
13
  class Time extends _common.Com {
20
14
  constructor(props) {
21
15
  super(props);
@@ -24,18 +18,14 @@ class Time extends _common.Com {
24
18
  langCode: 'en_US'
25
19
  });
26
20
  }
27
-
28
21
  updateTime() {
29
22
  var t = '';
30
-
31
23
  if (this.props.ago) {
32
24
  if (this.props.short) {
33
25
  if (Math.abs(this.props.time - new _index.default.Date().getTime()) > 86400000 * 10) {
34
26
  let tim = new _index.default.Date(this.props.time);
35
27
  let tzyear = tim.getFullYear();
36
-
37
28
  let locale = _index.default.get(navigator, 'languages.0', 'en-US');
38
-
39
29
  let tzmonthname = tim.toLocaleDateString(locale, {
40
30
  month: 'short'
41
31
  });
@@ -43,32 +33,25 @@ class Time extends _common.Com {
43
33
  t = tzdate + ' ' + tzmonthname + ' ' + tzyear;
44
34
  }
45
35
  }
46
-
47
36
  if (!t && this.props.time > 0) t = ago(this.props.time, new _index.default.Date().getTime());
48
37
  } else t = _index.default.shortTime(this.props.time, this.props.tzoffset);
49
-
50
38
  if (this.props.uppercase) t = t.toUpperCase();
51
39
  if (t === this.state.t) return;
52
40
  this.setState({
53
41
  t
54
42
  });
55
43
  }
56
-
57
44
  componentDidMount() {
58
45
  g_pub.on2(this, 'time', () => this.updateTime());
59
46
  this.updateTime();
60
47
  }
61
-
62
48
  render() {
63
49
  return (0, _preact.h)("span", {
64
50
  style: this.props.style
65
51
  }, this.state.t);
66
52
  }
67
-
68
53
  }
69
-
70
54
  exports.default = Time;
71
-
72
55
  function ago(timeA, timeB) {
73
56
  const relObj = {
74
57
  s: '%d s',
@@ -126,22 +109,17 @@ function ago(timeA, timeB) {
126
109
  const Tl = T.length;
127
110
  let result;
128
111
  let out;
129
-
130
112
  for (let i = 0; i < Tl; i += 1) {
131
113
  let t = T[i];
132
-
133
114
  if (t.d) {
134
115
  result = (timeA - timeB) / t.d;
135
116
  }
136
-
137
117
  let abs = Math.round(Math.abs(result));
138
-
139
118
  if (abs <= t.r || !t.r) {
140
119
  if (abs <= 1 && i > 0) t = T[i - 1];
141
120
  out = loc[t.l].replace('%d', abs);
142
121
  break;
143
122
  }
144
123
  }
145
-
146
124
  return out;
147
125
  }
@@ -4,35 +4,29 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = bind;
7
-
8
7
  function bind(el) {
9
8
  if (!el) return;
10
9
  el.removeEventListener('touchstart', el.md, 0);
11
10
  window.removeEventListener('touchend', el.mu, 0);
12
11
  window.removeEventListener('touchmove', el.mm, 0);
13
12
  var lastClientX, pushed;
14
-
15
13
  el.md = function (e) {
16
14
  let touch = getFirstTouch(e);
17
-
18
15
  if (!el.hasAttribute('nochilddrag') || !document.elementFromPoint(touch.pageX, touch.pageY)) {
19
16
  pushed = 1;
20
17
  lastClientX = touch.clientX;
21
18
  e.preventDefault();
22
19
  }
23
20
  };
24
-
25
21
  el.mu = () => {
26
22
  pushed = 0;
27
23
  };
28
-
29
24
  el.mm = function (e) {
30
25
  if (!pushed) return;
31
26
  let touch = getFirstTouch(e);
32
27
  el.scrollLeft -= -lastClientX + touch.clientX;
33
28
  lastClientX = touch.clientX;
34
29
  };
35
-
36
30
  el.addEventListener('touchstart', el.md, {
37
31
  passive: true
38
32
  });
@@ -43,7 +37,6 @@ function bind(el) {
43
37
  passive: true
44
38
  });
45
39
  }
46
-
47
40
  function getFirstTouch(ev) {
48
41
  if (!ev.touches) return {};
49
42
  if (!ev.touches.length) return {};
@@ -6,13 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Com = exports.Clickaway = void 0;
7
7
  exports.downloadLanguage = downloadLanguage;
8
8
  exports.langMessages = exports.getLocale = void 0;
9
-
10
9
  var _preact = require("preact");
11
-
12
10
  var _index = _interopRequireDefault(require("./util/index.js"));
13
-
14
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
12
  class Com extends _preact.Component {
17
13
  constructor(props) {
18
14
  super(props);
@@ -20,7 +16,6 @@ class Com extends _preact.Component {
20
16
  setTimeout(() => {
21
17
  if (this.componentWillUnmount) {
22
18
  let old = this.componentWillUnmount.bind(this);
23
-
24
19
  this.componentWillUnmount = () => {
25
20
  old();
26
21
  this._isMounted = false;
@@ -28,51 +23,38 @@ class Com extends _preact.Component {
28
23
  }
29
24
  }, 10);
30
25
  }
31
-
32
26
  }
33
-
34
27
  exports.Com = Com;
35
-
36
28
  class Clickaway extends Com {
37
29
  constructor(props) {
38
30
  super(props);
39
31
  this.setWrapperRef = this.setWrapperRef.bind(this);
40
32
  this.onClick = this.onClick.bind(this);
41
33
  }
42
-
43
34
  componentDidMount() {
44
35
  document.addEventListener('mousedown', this.onClick);
45
36
  }
46
-
47
37
  componentWillUnmount() {
48
38
  document.removeEventListener('mousedown', this.onClick);
49
39
  }
50
-
51
40
  setWrapperRef(node) {
52
41
  this.wrapperRef = node;
53
42
  }
54
-
55
43
  onClick(event) {
56
44
  if (this.wrapperRef && !this.wrapperRef.contains(event.target)) {
57
45
  this.props.onClickaway && this.props.onClickaway();
58
46
  }
59
47
  }
60
-
61
48
  render() {
62
49
  return (0, _preact.h)("div", {
63
50
  ref: this.setWrapperRef
64
51
  }, this.props.children);
65
52
  }
66
-
67
53
  }
68
-
69
54
  exports.Clickaway = Clickaway;
70
-
71
55
  const getLocale = (plugin, loc) => {
72
56
  if (!loc) loc = '';
73
-
74
57
  let found = _index.default.find(plugin.locales, l => l.toLowerCase().trim() === loc.toLowerCase().trim());
75
-
76
58
  if (found) return found;
77
59
  found = _index.default.find(plugin.locales, l => {
78
60
  l = l.replace('-', '_').split('_')[0].trim().toLowerCase();
@@ -82,22 +64,18 @@ const getLocale = (plugin, loc) => {
82
64
  if (found) return found;
83
65
  return plugin.locale || 'en-US';
84
66
  };
85
-
86
67
  exports.getLocale = getLocale;
87
68
  let langMessages = {};
88
69
  exports.langMessages = langMessages;
89
70
  let downloadLock = false;
90
-
91
71
  function downloadLanguage(store, locale, force) {
92
72
  if (downloadLock) return new Promise(resolve => setTimeout(() => downloadLanguage(store, locale, force).then(resolve), 100));
93
73
  downloadLock = true;
94
74
  let messages;
95
-
96
75
  if (locale === 'debug' || langMessages[locale] && !force) {
97
76
  downloadLock = false;
98
77
  return Promise.resolve();
99
78
  }
100
-
101
79
  return store.getLocaleContent(locale).then(res => {
102
80
  downloadLock = false;
103
81
  messages = _index.default.get(res, 'body.messages', []);