@hellotext/hellotext 1.8.7 → 2.0.0

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 (106) hide show
  1. package/dist/hellotext.js +1 -1
  2. package/lib/api/businesses.cjs +37 -0
  3. package/lib/api/businesses.js +3 -9
  4. package/lib/api/events.cjs +45 -0
  5. package/lib/api/events.js +8 -14
  6. package/lib/api/forms.cjs +51 -0
  7. package/lib/api/forms.js +10 -17
  8. package/lib/api/index.cjs +51 -0
  9. package/lib/api/index.js +10 -23
  10. package/lib/api/response.cjs +76 -0
  11. package/lib/api/response.js +1 -7
  12. package/lib/api/submissions.cjs +47 -0
  13. package/lib/api/submissions.js +9 -17
  14. package/lib/api/webchat/messages.cjs +70 -0
  15. package/lib/api/webchat/messages.js +10 -18
  16. package/lib/api/webchats.cjs +44 -0
  17. package/lib/api/webchats.js +8 -16
  18. package/lib/builders/input_builder.cjs +61 -0
  19. package/lib/builders/input_builder.js +4 -11
  20. package/lib/builders/logo_builder.cjs +50 -0
  21. package/lib/builders/logo_builder.js +5 -12
  22. package/lib/channels/application_channel.cjs +67 -0
  23. package/lib/channels/application_channel.js +1 -8
  24. package/lib/channels/{web_chat_channel.js → webchat_channel.cjs} +35 -20
  25. package/lib/channels/webchat_channel.js +3 -11
  26. package/lib/controllers/form_controller.cjs +141 -0
  27. package/lib/controllers/form_controller.js +15 -22
  28. package/lib/controllers/mixins/usePopover.cjs +59 -0
  29. package/lib/controllers/mixins/usePopover.js +6 -14
  30. package/lib/controllers/{web_chat/pagination_controller.js → webchat/emoji_picker_controller.cjs} +74 -29
  31. package/lib/controllers/webchat/emoji_picker_controller.js +11 -17
  32. package/lib/controllers/webchat_controller.cjs +433 -0
  33. package/lib/controllers/webchat_controller.js +49 -51
  34. package/lib/core/configuration/forms.cjs +49 -0
  35. package/lib/core/configuration/forms.js +2 -8
  36. package/lib/core/configuration/{web_chat.js → webchat.cjs} +53 -38
  37. package/lib/core/configuration/webchat.js +2 -9
  38. package/lib/core/configuration.cjs +65 -0
  39. package/lib/core/configuration.js +8 -13
  40. package/lib/core/event.cjs +71 -0
  41. package/lib/core/event.js +5 -11
  42. package/lib/core/index.cjs +20 -0
  43. package/lib/core/index.js +2 -20
  44. package/lib/errors/index.cjs +19 -0
  45. package/lib/errors/index.js +2 -19
  46. package/lib/errors/invalid_event.cjs +34 -0
  47. package/lib/errors/invalid_event.js +1 -7
  48. package/lib/errors/not_initialized_error.cjs +34 -0
  49. package/lib/errors/not_initialized_error.js +1 -7
  50. package/lib/hellotext.cjs +152 -0
  51. package/lib/hellotext.js +18 -27
  52. package/lib/index.cjs +20 -0
  53. package/lib/index.js +12 -20
  54. package/lib/locales/en.cjs +22 -0
  55. package/lib/locales/en.js +2 -9
  56. package/lib/locales/es.cjs +22 -0
  57. package/lib/locales/es.js +2 -9
  58. package/lib/locales/index.cjs +14 -0
  59. package/lib/locales/index.js +6 -14
  60. package/lib/models/business.cjs +65 -0
  61. package/lib/models/business.js +5 -12
  62. package/lib/models/cookies.cjs +40 -0
  63. package/lib/models/cookies.js +3 -10
  64. package/lib/models/form.cjs +166 -0
  65. package/lib/models/form.js +10 -17
  66. package/lib/models/form_collection.cjs +119 -0
  67. package/lib/models/form_collection.js +15 -22
  68. package/lib/models/index.cjs +54 -0
  69. package/lib/models/index.js +7 -54
  70. package/lib/models/query.cjs +51 -0
  71. package/lib/models/query.js +3 -9
  72. package/lib/models/session.cjs +58 -0
  73. package/lib/models/session.js +12 -17
  74. package/lib/models/{web_chat.js → webchat.cjs} +14 -22
  75. package/lib/models/webchat.js +6 -13
  76. package/lib/vanilla.cjs +13 -0
  77. package/lib/vanilla.js +1 -13
  78. package/package.json +34 -7
  79. package/src/controllers/webchat_controller.js +72 -47
  80. package/src/hellotext.js +3 -4
  81. package/src/models/session.js +4 -3
  82. package/.babelrc +0 -24
  83. package/.github/workflows/ci.yml +0 -24
  84. package/.prettierignore +0 -3
  85. package/.prettierrc.json +0 -18
  86. package/MIT-LICENSE +0 -20
  87. package/__tests__/builders/input_builder_test.js +0 -117
  88. package/__tests__/core/configuration/forms_test.js +0 -30
  89. package/__tests__/core/configuration/webchat_test.js +0 -163
  90. package/__tests__/core/configuration_test.js +0 -28
  91. package/__tests__/core/event_test.js +0 -56
  92. package/__tests__/hellotext_test.js +0 -197
  93. package/__tests__/models/business_test.js +0 -26
  94. package/__tests__/models/cookies_test.js +0 -25
  95. package/__tests__/models/form_collection_test.js +0 -103
  96. package/__tests__/models/form_test.js +0 -131
  97. package/__tests__/models/query_test.js +0 -97
  98. package/docs/forms.md +0 -176
  99. package/docs/tracking.md +0 -203
  100. package/docs/webchat.md +0 -101
  101. package/jest.config.js +0 -4
  102. package/jest.setup.js +0 -16
  103. package/lib/api/web_chat/messages.js +0 -74
  104. package/lib/api/web_chats.js +0 -53
  105. package/styles/index.css +0 -38
  106. package/webpack.config.js +0 -24
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FormCollection = void 0;
7
+ var _hellotext = _interopRequireDefault(require("../hellotext"));
8
+ var _forms = _interopRequireDefault(require("../api/forms"));
9
+ var _core = require("../core");
10
+ var _form = require("./form");
11
+ var _errors = require("../errors");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
15
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
16
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
+ function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
19
+ var id = 0;
20
+ function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
21
+ var _formIdsToFetch = /*#__PURE__*/_classPrivateFieldLooseKey("formIdsToFetch");
22
+ let FormCollection = /*#__PURE__*/function () {
23
+ function FormCollection() {
24
+ _classCallCheck(this, FormCollection);
25
+ Object.defineProperty(this, _formIdsToFetch, {
26
+ get: _get_formIdsToFetch,
27
+ set: void 0
28
+ });
29
+ this.forms = [];
30
+ this.includes = this.includes.bind(this);
31
+ this.excludes = this.excludes.bind(this);
32
+ this.add = this.add.bind(this);
33
+ if (typeof MutationObserver !== 'undefined') {
34
+ this.mutationObserver = new MutationObserver(this.formMutationObserver.bind(this));
35
+ this.mutationObserver.observe(document.body, {
36
+ childList: true,
37
+ subtree: true
38
+ });
39
+ }
40
+ }
41
+ _createClass(FormCollection, [{
42
+ key: "formMutationObserver",
43
+ value: function formMutationObserver(mutations) {
44
+ const mutation = mutations.find(mutation => mutation.type === 'childList' && mutation.addedNodes.length > 0);
45
+ if (!mutation) return;
46
+ const forms = Array.from(document.querySelectorAll('[data-hello-form]'));
47
+ if (forms && _core.Configuration.forms.autoMount) {
48
+ this.collect();
49
+ }
50
+ }
51
+ }, {
52
+ key: "collect",
53
+ value: async function collect() {
54
+ if (_hellotext.default.notInitialized) {
55
+ throw new _errors.NotInitializedError();
56
+ }
57
+ if (this.fetching) return;
58
+ const formsIdsToFetch = _classPrivateFieldLooseBase(this, _formIdsToFetch)[_formIdsToFetch];
59
+ if (formsIdsToFetch.length === 0) return;
60
+ const promises = formsIdsToFetch.map(id => {
61
+ return _forms.default.get(id).then(response => response.json());
62
+ });
63
+ if (!_hellotext.default.business.enabledWhitelist) {
64
+ console.warn('No whitelist has been configured. It is advised to whitelist the domain to avoid bots from submitting forms.');
65
+ }
66
+ this.fetching = true;
67
+ await Promise.all(promises).then(forms => forms.forEach(this.add)).then(() => _hellotext.default.eventEmitter.dispatch('forms:collected', this)).then(() => this.fetching = false);
68
+ if (_core.Configuration.forms.autoMount) {
69
+ this.forms.forEach(form => form.mount());
70
+ }
71
+ }
72
+ }, {
73
+ key: "forEach",
74
+ value: function forEach(callback) {
75
+ this.forms.forEach(callback);
76
+ }
77
+ }, {
78
+ key: "map",
79
+ value: function map(callback) {
80
+ return this.forms.map(callback);
81
+ }
82
+ }, {
83
+ key: "add",
84
+ value: function add(data) {
85
+ if (this.includes(data.id)) return;
86
+ this.forms.push(new _form.Form(data));
87
+ }
88
+ }, {
89
+ key: "getById",
90
+ value: function getById(id) {
91
+ return this.forms.find(form => form.id === id);
92
+ }
93
+ }, {
94
+ key: "getByIndex",
95
+ value: function getByIndex(index) {
96
+ return this.forms[index];
97
+ }
98
+ }, {
99
+ key: "includes",
100
+ value: function includes(formId) {
101
+ return this.forms.some(form => form.id === formId);
102
+ }
103
+ }, {
104
+ key: "excludes",
105
+ value: function excludes(id) {
106
+ return !this.includes(id);
107
+ }
108
+ }, {
109
+ key: "length",
110
+ get: function () {
111
+ return this.forms.length;
112
+ }
113
+ }]);
114
+ return FormCollection;
115
+ }();
116
+ exports.FormCollection = FormCollection;
117
+ function _get_formIdsToFetch() {
118
+ return Array.from(document.querySelectorAll('[data-hello-form]')).map(form => form.dataset.helloForm).filter(this.excludes);
119
+ }
@@ -1,15 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FormCollection = void 0;
7
- var _hellotext = _interopRequireDefault(require("../hellotext"));
8
- var _forms = _interopRequireDefault(require("../api/forms"));
9
- var _core = require("../core");
10
- var _form = require("./form");
11
- var _errors = require("../errors");
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
14
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
15
3
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -20,6 +8,11 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
20
8
  function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
21
9
  var id = 0;
22
10
  function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
11
+ import Hellotext from '../hellotext';
12
+ import API from '../api/forms';
13
+ import { Configuration } from '../core';
14
+ import { Form } from './form';
15
+ import { NotInitializedError } from '../errors';
23
16
  var _formIdsToFetch = /*#__PURE__*/_classPrivateFieldLooseKey("formIdsToFetch");
24
17
  var FormCollection = /*#__PURE__*/function () {
25
18
  function FormCollection() {
@@ -46,7 +39,7 @@ var FormCollection = /*#__PURE__*/function () {
46
39
  var mutation = mutations.find(mutation => mutation.type === 'childList' && mutation.addedNodes.length > 0);
47
40
  if (!mutation) return;
48
41
  var forms = Array.from(document.querySelectorAll('[data-hello-form]'));
49
- if (forms && _core.Configuration.forms.autoMount) {
42
+ if (forms && Configuration.forms.autoMount) {
50
43
  this.collect();
51
44
  }
52
45
  }
@@ -54,21 +47,21 @@ var FormCollection = /*#__PURE__*/function () {
54
47
  key: "collect",
55
48
  value: function () {
56
49
  var _collect = _asyncToGenerator(function* () {
57
- if (_hellotext.default.notInitialized) {
58
- throw new _errors.NotInitializedError();
50
+ if (Hellotext.notInitialized) {
51
+ throw new NotInitializedError();
59
52
  }
60
53
  if (this.fetching) return;
61
54
  var formsIdsToFetch = _classPrivateFieldLooseBase(this, _formIdsToFetch)[_formIdsToFetch];
62
55
  if (formsIdsToFetch.length === 0) return;
63
56
  var promises = formsIdsToFetch.map(id => {
64
- return _forms.default.get(id).then(response => response.json());
57
+ return API.get(id).then(response => response.json());
65
58
  });
66
- if (!_hellotext.default.business.enabledWhitelist) {
59
+ if (!Hellotext.business.enabledWhitelist) {
67
60
  console.warn('No whitelist has been configured. It is advised to whitelist the domain to avoid bots from submitting forms.');
68
61
  }
69
62
  this.fetching = true;
70
- yield Promise.all(promises).then(forms => forms.forEach(this.add)).then(() => _hellotext.default.eventEmitter.dispatch('forms:collected', this)).then(() => this.fetching = false);
71
- if (_core.Configuration.forms.autoMount) {
63
+ yield Promise.all(promises).then(forms => forms.forEach(this.add)).then(() => Hellotext.eventEmitter.dispatch('forms:collected', this)).then(() => this.fetching = false);
64
+ if (Configuration.forms.autoMount) {
72
65
  this.forms.forEach(form => form.mount());
73
66
  }
74
67
  });
@@ -91,7 +84,7 @@ var FormCollection = /*#__PURE__*/function () {
91
84
  key: "add",
92
85
  value: function add(data) {
93
86
  if (this.includes(data.id)) return;
94
- this.forms.push(new _form.Form(data));
87
+ this.forms.push(new Form(data));
95
88
  }
96
89
  }, {
97
90
  key: "getById",
@@ -121,7 +114,7 @@ var FormCollection = /*#__PURE__*/function () {
121
114
  }]);
122
115
  return FormCollection;
123
116
  }();
124
- exports.FormCollection = FormCollection;
125
117
  function _get_formIdsToFetch() {
126
118
  return Array.from(document.querySelectorAll('[data-hello-form]')).map(form => form.dataset.helloForm).filter(this.excludes);
127
- }
119
+ }
120
+ export { FormCollection };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "Business", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _business.Business;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "Cookies", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _cookies.Cookies;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "Form", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _form.Form;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "FormCollection", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _form_collection.FormCollection;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "Query", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _query.Query;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "Session", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _session.Session;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "Webchat", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _webchat.Webchat;
46
+ }
47
+ });
48
+ var _business = require("./business");
49
+ var _form = require("./form");
50
+ var _query = require("./query");
51
+ var _cookies = require("./cookies");
52
+ var _form_collection = require("./form_collection");
53
+ var _webchat = require("./webchat");
54
+ var _session = require("./session");
@@ -1,54 +1,7 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Business", {
7
- enumerable: true,
8
- get: function get() {
9
- return _business.Business;
10
- }
11
- });
12
- Object.defineProperty(exports, "Cookies", {
13
- enumerable: true,
14
- get: function get() {
15
- return _cookies.Cookies;
16
- }
17
- });
18
- Object.defineProperty(exports, "Form", {
19
- enumerable: true,
20
- get: function get() {
21
- return _form.Form;
22
- }
23
- });
24
- Object.defineProperty(exports, "FormCollection", {
25
- enumerable: true,
26
- get: function get() {
27
- return _form_collection.FormCollection;
28
- }
29
- });
30
- Object.defineProperty(exports, "Query", {
31
- enumerable: true,
32
- get: function get() {
33
- return _query.Query;
34
- }
35
- });
36
- Object.defineProperty(exports, "Session", {
37
- enumerable: true,
38
- get: function get() {
39
- return _session.Session;
40
- }
41
- });
42
- Object.defineProperty(exports, "Webchat", {
43
- enumerable: true,
44
- get: function get() {
45
- return _webchat.Webchat;
46
- }
47
- });
48
- var _business = require("./business");
49
- var _form = require("./form");
50
- var _query = require("./query");
51
- var _cookies = require("./cookies");
52
- var _form_collection = require("./form_collection");
53
- var _webchat = require("./webchat");
54
- var _session = require("./session");
1
+ export { Business } from './business';
2
+ export { Form } from './form';
3
+ export { Query } from './query';
4
+ export { Cookies } from './cookies';
5
+ export { FormCollection } from './form_collection';
6
+ export { Webchat } from './webchat';
7
+ export { Session } from './session';
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Query = void 0;
7
+ var _cookies = require("./cookies");
8
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
13
+ let Query = /*#__PURE__*/function () {
14
+ function Query() {
15
+ _classCallCheck(this, Query);
16
+ this.urlSearchParams = new URLSearchParams(window.location.search);
17
+ }
18
+ _createClass(Query, [{
19
+ key: "get",
20
+ value: function get(param) {
21
+ return this.urlSearchParams.get(this.toHellotextParam(param));
22
+ }
23
+ }, {
24
+ key: "has",
25
+ value: function has(param) {
26
+ return this.urlSearchParams.has(this.toHellotextParam(param));
27
+ }
28
+ }, {
29
+ key: "inPreviewMode",
30
+ get: function () {
31
+ return this.has('preview');
32
+ }
33
+ }, {
34
+ key: "session",
35
+ get: function () {
36
+ return this.get('session') || _cookies.Cookies.get('hello_session');
37
+ }
38
+ }, {
39
+ key: "toHellotextParam",
40
+ value: function toHellotextParam(param) {
41
+ return `hello_${param}`;
42
+ }
43
+ }], [{
44
+ key: "inPreviewMode",
45
+ get: function () {
46
+ return new this().inPreviewMode;
47
+ }
48
+ }]);
49
+ return Query;
50
+ }();
51
+ exports.Query = Query;
@@ -1,15 +1,9 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Query = void 0;
7
- var _cookies = require("./cookies");
8
1
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
9
2
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
10
3
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
11
4
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
12
5
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ import { Cookies } from './cookies';
13
7
  var Query = /*#__PURE__*/function () {
14
8
  function Query() {
15
9
  _classCallCheck(this, Query);
@@ -33,7 +27,7 @@ var Query = /*#__PURE__*/function () {
33
27
  }, {
34
28
  key: "session",
35
29
  get: function get() {
36
- return this.get('session') || _cookies.Cookies.get('hello_session');
30
+ return this.get('session') || Cookies.get('hello_session');
37
31
  }
38
32
  }, {
39
33
  key: "toHellotextParam",
@@ -48,4 +42,4 @@ var Query = /*#__PURE__*/function () {
48
42
  }]);
49
43
  return Query;
50
44
  }();
51
- exports.Query = Query;
45
+ export { Query };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Session = void 0;
7
+ var _core = require("../core");
8
+ var _cookies = require("./cookies");
9
+ var _query2 = require("./query");
10
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
+ function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
16
+ var id = 0;
17
+ function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
18
+ var _session = /*#__PURE__*/_classPrivateFieldLooseKey("session");
19
+ var _query = /*#__PURE__*/_classPrivateFieldLooseKey("query");
20
+ let Session = /*#__PURE__*/function () {
21
+ function Session() {
22
+ _classCallCheck(this, Session);
23
+ }
24
+ _createClass(Session, null, [{
25
+ key: "session",
26
+ get: function () {
27
+ return _classPrivateFieldLooseBase(this, _session)[_session];
28
+ },
29
+ set: function (value) {
30
+ _classPrivateFieldLooseBase(this, _session)[_session] = value;
31
+ _cookies.Cookies.set('hello_session', value);
32
+ }
33
+ }, {
34
+ key: "initialize",
35
+ value: function initialize() {
36
+ _classPrivateFieldLooseBase(this, _query)[_query] = new _query2.Query();
37
+ if (_core.Configuration.session) {
38
+ this.session = _core.Configuration.session;
39
+ } else if (_classPrivateFieldLooseBase(this, _query)[_query].session) {
40
+ this.session = _classPrivateFieldLooseBase(this, _query)[_query].session;
41
+ } else if (_cookies.Cookies.get('hello_session')) {
42
+ this.session = _cookies.Cookies.get('hello_session');
43
+ } else if (_core.Configuration.autoGenerateSession) {
44
+ this.session = crypto.randomUUID();
45
+ }
46
+ }
47
+ }]);
48
+ return Session;
49
+ }();
50
+ exports.Session = Session;
51
+ Object.defineProperty(Session, _session, {
52
+ writable: true,
53
+ value: void 0
54
+ });
55
+ Object.defineProperty(Session, _query, {
56
+ writable: true,
57
+ value: void 0
58
+ });
@@ -1,11 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Session = void 0;
7
- var _core = require("../core");
8
- var _index = require("./index");
9
1
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
2
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
11
3
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -14,6 +6,9 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
14
6
  function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
15
7
  var id = 0;
16
8
  function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
9
+ import { Configuration } from '../core';
10
+ import { Cookies } from './cookies';
11
+ import { Query } from './query';
17
12
  var _session = /*#__PURE__*/_classPrivateFieldLooseKey("session");
18
13
  var _query = /*#__PURE__*/_classPrivateFieldLooseKey("query");
19
14
  var Session = /*#__PURE__*/function () {
@@ -27,26 +22,25 @@ var Session = /*#__PURE__*/function () {
27
22
  },
28
23
  set: function set(value) {
29
24
  _classPrivateFieldLooseBase(this, _session)[_session] = value;
30
- _index.Cookies.set('hello_session', value);
25
+ Cookies.set('hello_session', value);
31
26
  }
32
27
  }, {
33
28
  key: "initialize",
34
29
  value: function initialize() {
35
- _classPrivateFieldLooseBase(this, _query)[_query] = new _index.Query();
36
- if (_core.Configuration.session) {
37
- this.session = _core.Configuration.session;
30
+ _classPrivateFieldLooseBase(this, _query)[_query] = new Query();
31
+ if (Configuration.session) {
32
+ this.session = Configuration.session;
38
33
  } else if (_classPrivateFieldLooseBase(this, _query)[_query].session) {
39
34
  this.session = _classPrivateFieldLooseBase(this, _query)[_query].session;
40
- } else if (_index.Cookies.get('hello_session')) {
41
- this.session = _index.Cookies.get('hello_session');
42
- } else if (_core.Configuration.autoGenerateSession) {
35
+ } else if (Cookies.get('hello_session')) {
36
+ this.session = Cookies.get('hello_session');
37
+ } else if (Configuration.autoGenerateSession) {
43
38
  this.session = crypto.randomUUID();
44
39
  }
45
40
  }
46
41
  }]);
47
42
  return Session;
48
43
  }();
49
- exports.Session = Session;
50
44
  Object.defineProperty(Session, _session, {
51
45
  writable: true,
52
46
  value: void 0
@@ -54,4 +48,5 @@ Object.defineProperty(Session, _session, {
54
48
  Object.defineProperty(Session, _query, {
55
49
  writable: true,
56
50
  value: void 0
57
- });
51
+ });
52
+ export { Session };
@@ -3,49 +3,41 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WebChat = void 0;
6
+ exports.Webchat = void 0;
7
7
  var _hellotext = _interopRequireDefault(require("../hellotext"));
8
8
  var _core = require("../core");
9
9
  var _api = _interopRequireDefault(require("../api"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
12
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
11
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
14
12
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
15
13
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
16
14
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
15
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
18
- var WebChat = /*#__PURE__*/function () {
19
- function WebChat(data) {
20
- _classCallCheck(this, WebChat);
16
+ let Webchat = /*#__PURE__*/function () {
17
+ function Webchat(data) {
18
+ _classCallCheck(this, Webchat);
21
19
  this.data = data;
22
20
  this.render();
23
21
  }
24
- _createClass(WebChat, [{
22
+ _createClass(Webchat, [{
25
23
  key: "render",
26
24
  value: function render() {
27
25
  this.containerToAppendTo.appendChild(this.data.html);
28
26
  }
29
27
  }, {
30
28
  key: "containerToAppendTo",
31
- get: function get() {
32
- return document.querySelector(_core.Configuration.webChat.container);
29
+ get: function () {
30
+ return document.querySelector(_core.Configuration.webchat.container);
33
31
  }
34
32
  }], [{
35
33
  key: "load",
36
- value: function () {
37
- var _load = _asyncToGenerator(function* (id) {
38
- return new WebChat({
39
- id,
40
- html: yield _api.default.webChats.get(id)
41
- });
34
+ value: async function load(id) {
35
+ return new Webchat({
36
+ id,
37
+ html: await _api.default.webchats.get(id)
42
38
  });
43
- function load(_x) {
44
- return _load.apply(this, arguments);
45
- }
46
- return load;
47
- }()
39
+ }
48
40
  }]);
49
- return WebChat;
41
+ return Webchat;
50
42
  }();
51
- exports.WebChat = WebChat;
43
+ exports.Webchat = Webchat;
@@ -1,13 +1,3 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Webchat = void 0;
7
- var _hellotext = _interopRequireDefault(require("../hellotext"));
8
- var _core = require("../core");
9
- var _api = _interopRequireDefault(require("../api"));
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
12
2
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
3
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -15,6 +5,9 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
15
5
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
16
6
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
17
7
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
+ import Hellotext from '../hellotext';
9
+ import { Configuration } from '../core';
10
+ import API from '../api';
18
11
  var Webchat = /*#__PURE__*/function () {
19
12
  function Webchat(data) {
20
13
  _classCallCheck(this, Webchat);
@@ -29,7 +22,7 @@ var Webchat = /*#__PURE__*/function () {
29
22
  }, {
30
23
  key: "containerToAppendTo",
31
24
  get: function get() {
32
- return document.querySelector(_core.Configuration.webchat.container);
25
+ return document.querySelector(Configuration.webchat.container);
33
26
  }
34
27
  }], [{
35
28
  key: "load",
@@ -37,7 +30,7 @@ var Webchat = /*#__PURE__*/function () {
37
30
  var _load = _asyncToGenerator(function* (id) {
38
31
  return new Webchat({
39
32
  id,
40
- html: yield _api.default.webchats.get(id)
33
+ html: yield API.webchats.get(id)
41
34
  });
42
35
  });
43
36
  function load(_x) {
@@ -48,4 +41,4 @@ var Webchat = /*#__PURE__*/function () {
48
41
  }]);
49
42
  return Webchat;
50
43
  }();
51
- exports.Webchat = Webchat;
44
+ export { Webchat };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _hellotext.default;
10
+ }
11
+ });
12
+ var _hellotext = _interopRequireDefault(require("./hellotext"));
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }