@botonic/react 1.0.0-beta.0 → 1.0.0-dev.2

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 (118) hide show
  1. package/lib/components/button.js +2 -0
  2. package/lib/components/button.js.map +1 -1
  3. package/lib/components/components.js +1 -1
  4. package/lib/components/image.js +47 -5
  5. package/lib/components/image.js.map +1 -1
  6. package/lib/components/index.js +6 -6
  7. package/lib/components/markdown.js +1 -1
  8. package/lib/components/multichannel/multichannel-utils.js +8 -6
  9. package/lib/components/multichannel/multichannel-utils.js.map +1 -1
  10. package/lib/components/timestamps.js +1 -1
  11. package/lib/constants.js +2 -1
  12. package/lib/constants.js.map +1 -1
  13. package/lib/dev-app.js +7 -6
  14. package/lib/dev-app.js.map +1 -1
  15. package/lib/index.d.ts +3 -0
  16. package/lib/index.js +20 -20
  17. package/lib/message-utils.js +1 -1
  18. package/lib/util/dom.js +8 -2
  19. package/lib/util/dom.js.map +1 -1
  20. package/lib/util/environment.js +1 -1
  21. package/lib/util/objects.js +1 -1
  22. package/lib/util/react.js +1 -1
  23. package/lib/util/webchat.js +1 -1
  24. package/lib/webchat/actions.js +5 -1
  25. package/lib/webchat/actions.js.map +1 -1
  26. package/lib/webchat/devices/device-adapter.js +14 -4
  27. package/lib/webchat/devices/device-adapter.js.map +1 -1
  28. package/lib/webchat/devices/scrollbar-controller.js +5 -3
  29. package/lib/webchat/devices/scrollbar-controller.js.map +1 -1
  30. package/lib/webchat/header.js +1 -1
  31. package/lib/webchat/hooks.js +25 -6
  32. package/lib/webchat/hooks.js.map +1 -1
  33. package/lib/webchat/index.js +1 -1
  34. package/lib/webchat/webchat-reducer.js +11 -0
  35. package/lib/webchat/webchat-reducer.js.map +1 -1
  36. package/lib/webchat/webchat.js +21 -4
  37. package/lib/webchat/webchat.js.map +1 -1
  38. package/lib/webchat/webview.js +1 -1
  39. package/lib/webchat-app.js +20 -9
  40. package/lib/webchat-app.js.map +1 -1
  41. package/package.json +6 -6
  42. package/src/components/button.jsx +2 -0
  43. package/src/dev-app.jsx +8 -3
  44. package/src/experimental/components/message.jsx +8 -2
  45. package/src/experimental/constants.js +189 -0
  46. package/src/experimental/contexts.jsx +36 -0
  47. package/src/experimental/dev-app.jsx +14 -7
  48. package/src/experimental/index.js +94 -25
  49. package/src/experimental/msg-to-botonic.jsx +8 -8
  50. package/src/experimental/react-bot.jsx +1 -1
  51. package/src/experimental/util/dom.js +55 -0
  52. package/src/experimental/util/objects.js +39 -0
  53. package/src/experimental/util/webchat.js +61 -0
  54. package/src/experimental/webchat/actions.jsx +24 -0
  55. package/src/experimental/webchat/hooks.js +296 -0
  56. package/src/experimental/webchat/messages-reducer.js +86 -0
  57. package/src/experimental/webchat/session-view.jsx +166 -0
  58. package/src/experimental/webchat/webchat-dev.jsx +23 -19
  59. package/src/experimental/webchat/webchat-reducer.js +68 -0
  60. package/src/experimental/webchat/webchat.jsx +109 -82
  61. package/src/experimental/webchat-app.jsx +39 -15
  62. package/src/index.d.ts +1 -0
  63. package/src/util/dom.js +5 -3
  64. package/src/webchat/actions.jsx +1 -0
  65. package/src/webchat/devices/device-adapter.js +16 -4
  66. package/src/webchat/devices/scrollbar-controller.js +9 -4
  67. package/src/webchat/hooks.js +10 -0
  68. package/src/webchat/webchat-reducer.js +3 -0
  69. package/src/webchat/webchat.jsx +2 -1
  70. package/src/webchat-app.jsx +6 -4
  71. package/lib/experimental/components/audio.js +0 -46
  72. package/lib/experimental/components/audio.js.map +0 -1
  73. package/lib/experimental/components/carousel.js +0 -194
  74. package/lib/experimental/components/carousel.js.map +0 -1
  75. package/lib/experimental/components/custom-message.js +0 -132
  76. package/lib/experimental/components/custom-message.js.map +0 -1
  77. package/lib/experimental/components/document.js +0 -69
  78. package/lib/experimental/components/document.js.map +0 -1
  79. package/lib/experimental/components/image.js +0 -47
  80. package/lib/experimental/components/image.js.map +0 -1
  81. package/lib/experimental/components/index.js +0 -184
  82. package/lib/experimental/components/index.js.map +0 -1
  83. package/lib/experimental/components/location.js +0 -54
  84. package/lib/experimental/components/location.js.map +0 -1
  85. package/lib/experimental/components/markdown.js +0 -103
  86. package/lib/experimental/components/markdown.js.map +0 -1
  87. package/lib/experimental/components/message.js +0 -353
  88. package/lib/experimental/components/message.js.map +0 -1
  89. package/lib/experimental/components/text.js +0 -80
  90. package/lib/experimental/components/text.js.map +0 -1
  91. package/lib/experimental/components/video.js +0 -49
  92. package/lib/experimental/components/video.js.map +0 -1
  93. package/lib/experimental/components/whatsapp-template.js +0 -53
  94. package/lib/experimental/components/whatsapp-template.js.map +0 -1
  95. package/lib/experimental/dev-app.js +0 -240
  96. package/lib/experimental/dev-app.js.map +0 -1
  97. package/lib/experimental/index.js +0 -748
  98. package/lib/experimental/index.js.map +0 -1
  99. package/lib/experimental/msg-to-botonic.js +0 -162
  100. package/lib/experimental/msg-to-botonic.js.map +0 -1
  101. package/lib/experimental/node-app.js +0 -97
  102. package/lib/experimental/node-app.js.map +0 -1
  103. package/lib/experimental/react-bot.js +0 -167
  104. package/lib/experimental/react-bot.js.map +0 -1
  105. package/lib/experimental/webchat/assets/Inter-VariableFont_slnt,wght.ttf +0 -0
  106. package/lib/experimental/webchat/assets/botonic-logo-white.svg +0 -16
  107. package/lib/experimental/webchat/assets/messenger.svg +0 -10
  108. package/lib/experimental/webchat/assets/open-new-window.svg +0 -3
  109. package/lib/experimental/webchat/assets/open.svg +0 -3
  110. package/lib/experimental/webchat/assets/telegram.svg +0 -10
  111. package/lib/experimental/webchat/assets/webchat.svg +0 -21
  112. package/lib/experimental/webchat/assets/whatsapp.svg +0 -4
  113. package/lib/experimental/webchat/webchat-dev.js +0 -300
  114. package/lib/experimental/webchat/webchat-dev.js.map +0 -1
  115. package/lib/experimental/webchat/webchat.js +0 -1044
  116. package/lib/experimental/webchat/webchat.js.map +0 -1
  117. package/lib/experimental/webchat-app.js +0 -635
  118. package/lib/experimental/webchat-app.js.map +0 -1
@@ -1,240 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.DevApp = void 0;
9
-
10
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
-
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
-
16
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
-
18
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
-
20
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
-
22
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
23
-
24
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
25
-
26
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
27
-
28
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
29
-
30
- var _lodash = _interopRequireDefault(require("lodash.merge"));
31
-
32
- var _react = _interopRequireDefault(require("react"));
33
-
34
- var _reactDom = require("react-dom");
35
-
36
- var _constants = require("../constants");
37
-
38
- var _dom = require("../util/dom");
39
-
40
- var _reactBot = require("./react-bot");
41
-
42
- var _webchatDev = require("./webchat/webchat-dev");
43
-
44
- var _webchatApp = require("./webchat-app");
45
-
46
- var _excluded = ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "shadowDOM", "hostId", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage"],
47
- _excluded2 = ["theme", "persistentMenu", "coverComponent", "blockInputs", "enableEmojiPicker", "enableAttachments", "enableUserInput", "enableAnimations", "storage", "storageKey", "onInit", "onOpen", "onClose", "onMessage"];
48
-
49
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
50
-
51
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
52
-
53
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
54
-
55
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
56
-
57
- var DevApp = /*#__PURE__*/function (_WebchatApp) {
58
- (0, _inherits2["default"])(DevApp, _WebchatApp);
59
-
60
- var _super = _createSuper(DevApp);
61
-
62
- function DevApp(_ref) {
63
- var _this;
64
-
65
- var _ref$theme = _ref.theme,
66
- theme = _ref$theme === void 0 ? {} : _ref$theme,
67
- persistentMenu = _ref.persistentMenu,
68
- coverComponent = _ref.coverComponent,
69
- blockInputs = _ref.blockInputs,
70
- enableEmojiPicker = _ref.enableEmojiPicker,
71
- enableAttachments = _ref.enableAttachments,
72
- enableUserInput = _ref.enableUserInput,
73
- enableAnimations = _ref.enableAnimations,
74
- shadowDOM = _ref.shadowDOM,
75
- hostId = _ref.hostId,
76
- storage = _ref.storage,
77
- storageKey = _ref.storageKey,
78
- onInit = _ref.onInit,
79
- onOpen = _ref.onOpen,
80
- onClose = _ref.onClose,
81
- onMessage = _ref.onMessage,
82
- botOptions = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
83
- (0, _classCallCheck2["default"])(this, DevApp);
84
- _this = _super.call(this, {
85
- theme: theme,
86
- persistentMenu: persistentMenu,
87
- coverComponent: coverComponent,
88
- blockInputs: blockInputs,
89
- enableEmojiPicker: enableEmojiPicker,
90
- enableAttachments: enableAttachments,
91
- enableUserInput: enableUserInput,
92
- enableAnimations: enableAnimations,
93
- shadowDOM: shadowDOM,
94
- hostId: hostId,
95
- storage: storage,
96
- storageKey: storageKey,
97
- onInit: onInit,
98
- onOpen: onOpen,
99
- onClose: onClose,
100
- onMessage: onMessage
101
- });
102
- _this.bot = new _reactBot.ReactBot(_objectSpread({}, botOptions));
103
- return _this;
104
- }
105
-
106
- (0, _createClass2["default"])(DevApp, [{
107
- key: "getComponent",
108
- value: function getComponent() {
109
- var _this2 = this;
110
-
111
- var optionsAtRuntime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
112
- var _optionsAtRuntime$the = optionsAtRuntime.theme,
113
- theme = _optionsAtRuntime$the === void 0 ? {} : _optionsAtRuntime$the,
114
- persistentMenu = optionsAtRuntime.persistentMenu,
115
- coverComponent = optionsAtRuntime.coverComponent,
116
- blockInputs = optionsAtRuntime.blockInputs,
117
- enableEmojiPicker = optionsAtRuntime.enableEmojiPicker,
118
- enableAttachments = optionsAtRuntime.enableAttachments,
119
- enableUserInput = optionsAtRuntime.enableUserInput,
120
- enableAnimations = optionsAtRuntime.enableAnimations,
121
- storage = optionsAtRuntime.storage,
122
- storageKey = optionsAtRuntime.storageKey,
123
- onInit = optionsAtRuntime.onInit,
124
- onOpen = optionsAtRuntime.onOpen,
125
- onClose = optionsAtRuntime.onClose,
126
- onMessage = optionsAtRuntime.onMessage,
127
- webchatOptions = (0, _objectWithoutProperties2["default"])(optionsAtRuntime, _excluded2);
128
- theme = (0, _lodash["default"])(this.theme, theme);
129
- persistentMenu = persistentMenu || this.persistentMenu;
130
- coverComponent = coverComponent || this.coverComponent;
131
- blockInputs = blockInputs || this.blockInputs;
132
- enableEmojiPicker = enableEmojiPicker || this.enableEmojiPicker;
133
- enableAttachments = enableAttachments || this.enableAttachments;
134
- enableUserInput = enableUserInput || this.enableUserInput;
135
- enableAnimations = enableAnimations || this.enableAnimations;
136
- storage = storage || this.storage;
137
- storageKey = storageKey || this.storageKey;
138
- this.onInit = onInit || this.onInit;
139
- this.onOpen = onOpen || this.onOpen;
140
- this.onClose = onClose || this.onClose;
141
- this.onMessage = onMessage || this.onMessage;
142
- return /*#__PURE__*/_react["default"].createElement(_webchatDev.WebchatDev, (0, _extends2["default"])({}, webchatOptions, {
143
- ref: this.webchatRef,
144
- host: this.host,
145
- shadowDOM: this.shadowDOM,
146
- theme: theme,
147
- persistentMenu: persistentMenu,
148
- coverComponent: coverComponent,
149
- blockInputs: blockInputs,
150
- enableEmojiPicker: enableEmojiPicker,
151
- enableAttachments: enableAttachments,
152
- enableUserInput: enableUserInput,
153
- enableAnimations: enableAnimations,
154
- storage: storage,
155
- storageKey: storageKey,
156
- getString: function getString(stringId, session) {
157
- return _this2.bot.getString(stringId, session);
158
- },
159
- setLocale: function setLocale(locale, session) {
160
- return _this2.bot.setLocale(locale, session);
161
- },
162
- onInit: function onInit() {
163
- return _this2.onInitWebchat.apply(_this2, arguments);
164
- },
165
- onOpen: function onOpen() {
166
- return _this2.onOpenWebchat.apply(_this2, arguments);
167
- },
168
- onClose: function onClose() {
169
- return _this2.onCloseWebchat.apply(_this2, arguments);
170
- },
171
- onUserInput: function onUserInput() {
172
- return _this2.onUserInput.apply(_this2, arguments);
173
- }
174
- }));
175
- }
176
- }, {
177
- key: "render",
178
- value: function render(dest) {
179
- var _this3 = this;
180
-
181
- var optionsAtRuntime = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
182
- (0, _dom.onDOMLoaded)(function () {
183
- _this3.createRootElement(dest);
184
-
185
- (0, _reactDom.render)(_this3.getComponent(optionsAtRuntime), _this3.getReactMountNode(dest));
186
- });
187
- }
188
- }, {
189
- key: "onUserInput",
190
- value: function () {
191
- var _onUserInput = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) {
192
- var _this4 = this;
193
-
194
- var input, session, lastRoutePath, resp;
195
- return _regenerator["default"].wrap(function _callee$(_context) {
196
- while (1) {
197
- switch (_context.prev = _context.next) {
198
- case 0:
199
- input = _ref2.input, session = _ref2.session, lastRoutePath = _ref2.lastRoutePath;
200
- this.onMessage && this.onMessage(this, {
201
- from: _constants.SENDERS.user,
202
- message: input
203
- });
204
- _context.next = 4;
205
- return this.bot.input({
206
- input: input,
207
- session: session,
208
- lastRoutePath: lastRoutePath
209
- });
210
-
211
- case 4:
212
- resp = _context.sent;
213
- this.onMessage && resp.response.map(function (r) {
214
- return _this4.onMessage(_this4, {
215
- from: _constants.SENDERS.bot,
216
- message: r
217
- });
218
- });
219
- this.webchatRef.current.addBotResponse(resp);
220
-
221
- case 7:
222
- case "end":
223
- return _context.stop();
224
- }
225
- }
226
- }, _callee, this);
227
- }));
228
-
229
- function onUserInput(_x) {
230
- return _onUserInput.apply(this, arguments);
231
- }
232
-
233
- return onUserInput;
234
- }()
235
- }]);
236
- return DevApp;
237
- }(_webchatApp.WebchatApp);
238
-
239
- exports.DevApp = DevApp;
240
- //# sourceMappingURL=dev-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/experimental/dev-app.jsx"],"names":["DevApp","theme","persistentMenu","coverComponent","blockInputs","enableEmojiPicker","enableAttachments","enableUserInput","enableAnimations","shadowDOM","hostId","storage","storageKey","onInit","onOpen","onClose","onMessage","botOptions","bot","ReactBot","optionsAtRuntime","webchatOptions","webchatRef","host","stringId","session","getString","locale","setLocale","onInitWebchat","onOpenWebchat","onCloseWebchat","onUserInput","dest","createRootElement","getComponent","getReactMountNode","input","lastRoutePath","from","SENDERS","user","message","resp","response","map","r","current","addBotResponse","WebchatApp"],"mappings":"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","sourcesContent":["import merge from 'lodash.merge'\nimport React from 'react'\nimport { render } from 'react-dom'\n\nimport { SENDERS } from '../constants'\nimport { onDOMLoaded } from '../util/dom'\nimport { ReactBot } from './react-bot'\nimport { WebchatDev } from './webchat/webchat-dev'\nimport { WebchatApp } from './webchat-app'\n\nexport class DevApp extends WebchatApp {\n constructor({\n theme = {},\n persistentMenu,\n coverComponent,\n blockInputs,\n enableEmojiPicker,\n enableAttachments,\n enableUserInput,\n enableAnimations,\n shadowDOM,\n hostId,\n storage,\n storageKey,\n onInit,\n onOpen,\n onClose,\n onMessage,\n ...botOptions\n }) {\n super({\n theme,\n persistentMenu,\n coverComponent,\n blockInputs,\n enableEmojiPicker,\n enableAttachments,\n enableUserInput,\n enableAnimations,\n shadowDOM,\n hostId,\n storage,\n storageKey,\n onInit,\n onOpen,\n onClose,\n onMessage,\n })\n this.bot = new ReactBot({\n ...botOptions,\n })\n }\n\n getComponent(optionsAtRuntime = {}) {\n let {\n theme = {},\n persistentMenu,\n coverComponent,\n blockInputs,\n enableEmojiPicker,\n enableAttachments,\n enableUserInput,\n enableAnimations,\n storage,\n storageKey,\n onInit,\n onOpen,\n onClose,\n onMessage,\n ...webchatOptions\n } = optionsAtRuntime\n theme = merge(this.theme, theme)\n persistentMenu = persistentMenu || this.persistentMenu\n coverComponent = coverComponent || this.coverComponent\n blockInputs = blockInputs || this.blockInputs\n enableEmojiPicker = enableEmojiPicker || this.enableEmojiPicker\n enableAttachments = enableAttachments || this.enableAttachments\n enableUserInput = enableUserInput || this.enableUserInput\n enableAnimations = enableAnimations || this.enableAnimations\n storage = storage || this.storage\n storageKey = storageKey || this.storageKey\n this.onInit = onInit || this.onInit\n this.onOpen = onOpen || this.onOpen\n this.onClose = onClose || this.onClose\n this.onMessage = onMessage || this.onMessage\n return (\n <WebchatDev\n {...webchatOptions}\n ref={this.webchatRef}\n host={this.host}\n shadowDOM={this.shadowDOM}\n theme={theme}\n persistentMenu={persistentMenu}\n coverComponent={coverComponent}\n blockInputs={blockInputs}\n enableEmojiPicker={enableEmojiPicker}\n enableAttachments={enableAttachments}\n enableUserInput={enableUserInput}\n enableAnimations={enableAnimations}\n storage={storage}\n storageKey={storageKey}\n getString={(stringId, session) => this.bot.getString(stringId, session)}\n setLocale={(locale, session) => this.bot.setLocale(locale, session)}\n onInit={(...args) => this.onInitWebchat(...args)}\n onOpen={(...args) => this.onOpenWebchat(...args)}\n onClose={(...args) => this.onCloseWebchat(...args)}\n onUserInput={(...args) => this.onUserInput(...args)}\n />\n )\n }\n\n render(dest, optionsAtRuntime = {}) {\n onDOMLoaded(() => {\n this.createRootElement(dest)\n render(this.getComponent(optionsAtRuntime), this.getReactMountNode(dest))\n })\n }\n\n async onUserInput({ input, session, lastRoutePath }) {\n this.onMessage &&\n this.onMessage(this, { from: SENDERS.user, message: input })\n const resp = await this.bot.input({ input, session, lastRoutePath })\n this.onMessage &&\n resp.response.map(r =>\n this.onMessage(this, { from: SENDERS.bot, message: r })\n )\n this.webchatRef.current.addBotResponse(resp)\n }\n}\n"],"file":"dev-app.js"}