@hellotext/hellotext 2.5.7 → 2.5.8

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 (102) hide show
  1. package/README.md +0 -25
  2. package/dist/hellotext.js +1 -1
  3. package/index.d.ts +0 -6
  4. package/lib/api/acks.cjs +17 -31
  5. package/lib/api/acks.js +17 -42
  6. package/lib/api/businesses.cjs +14 -28
  7. package/lib/api/businesses.js +13 -36
  8. package/lib/api/events.cjs +26 -40
  9. package/lib/api/events.js +28 -52
  10. package/lib/api/forms.cjs +24 -40
  11. package/lib/api/forms.js +24 -57
  12. package/lib/api/identifications.cjs +15 -29
  13. package/lib/api/identifications.js +15 -40
  14. package/lib/api/index.cjs +25 -51
  15. package/lib/api/index.js +27 -54
  16. package/lib/api/push/identities.cjs +30 -46
  17. package/lib/api/push/identities.js +30 -63
  18. package/lib/api/response.cjs +30 -52
  19. package/lib/api/response.js +31 -60
  20. package/lib/api/submissions.cjs +18 -34
  21. package/lib/api/submissions.js +18 -48
  22. package/lib/api/webchat/messages.cjs +44 -64
  23. package/lib/api/webchat/messages.js +44 -80
  24. package/lib/api/webchats.cjs +37 -56
  25. package/lib/api/webchats.js +37 -65
  26. package/lib/api/whatsapp_widgets.cjs +49 -72
  27. package/lib/api/whatsapp_widgets.js +48 -91
  28. package/lib/builders/input_builder.cjs +36 -48
  29. package/lib/builders/input_builder.js +36 -48
  30. package/lib/builders/logo_builder.cjs +10 -29
  31. package/lib/builders/logo_builder.js +20 -28
  32. package/lib/channels/application_channel.cjs +136 -178
  33. package/lib/channels/application_channel.js +137 -180
  34. package/lib/channels/webchat_channel.cjs +125 -170
  35. package/lib/channels/webchat_channel.js +125 -170
  36. package/lib/controllers/form_controller.cjs +82 -121
  37. package/lib/controllers/form_controller.js +82 -130
  38. package/lib/controllers/message_controller.cjs +211 -282
  39. package/lib/controllers/message_controller.js +209 -284
  40. package/lib/controllers/mixins/usePopover.cjs +3 -6
  41. package/lib/controllers/mixins/usePopover.js +17 -22
  42. package/lib/controllers/webchat/emoji_picker_controller.cjs +106 -150
  43. package/lib/controllers/webchat/emoji_picker_controller.js +105 -170
  44. package/lib/controllers/webchat/useBehaviour.js +5 -5
  45. package/lib/controllers/webchat/useOpeningSequence.js +6 -6
  46. package/lib/controllers/webchat/useTeaser.js +9 -9
  47. package/lib/controllers/webchat_controller.cjs +916 -1088
  48. package/lib/controllers/webchat_controller.js +926 -1152
  49. package/lib/core/configuration/forms.cjs +21 -35
  50. package/lib/core/configuration/forms.js +20 -35
  51. package/lib/core/configuration/locale.cjs +36 -71
  52. package/lib/core/configuration/locale.js +36 -70
  53. package/lib/core/configuration/push.cjs +9 -21
  54. package/lib/core/configuration/push.js +8 -20
  55. package/lib/core/configuration/webchat.cjs +142 -182
  56. package/lib/core/configuration/webchat.js +145 -189
  57. package/lib/core/configuration/whatsapp.cjs +76 -102
  58. package/lib/core/configuration/whatsapp.js +76 -105
  59. package/lib/core/configuration.cjs +60 -78
  60. package/lib/core/configuration.js +59 -78
  61. package/lib/core/event.cjs +36 -59
  62. package/lib/core/event.js +35 -61
  63. package/lib/core/sanitize_html.js +4 -4
  64. package/lib/errors/invalid_event.cjs +5 -26
  65. package/lib/errors/invalid_event.js +5 -26
  66. package/lib/errors/not_initialized_error.cjs +5 -26
  67. package/lib/errors/not_initialized_error.js +5 -26
  68. package/lib/hellotext.cjs +185 -223
  69. package/lib/hellotext.js +188 -247
  70. package/lib/index.js +1 -1
  71. package/lib/models/business.cjs +114 -152
  72. package/lib/models/business.js +117 -162
  73. package/lib/models/cookies.cjs +34 -51
  74. package/lib/models/cookies.js +34 -51
  75. package/lib/models/fingerprint.cjs +8 -23
  76. package/lib/models/fingerprint.js +25 -58
  77. package/lib/models/form.cjs +106 -142
  78. package/lib/models/form.js +105 -153
  79. package/lib/models/form_collection.cjs +63 -101
  80. package/lib/models/form_collection.js +61 -107
  81. package/lib/models/page.cjs +106 -129
  82. package/lib/models/page.js +106 -131
  83. package/lib/models/push.cjs +278 -322
  84. package/lib/models/push.js +284 -357
  85. package/lib/models/query.cjs +21 -41
  86. package/lib/models/query.js +21 -41
  87. package/lib/models/session.cjs +33 -65
  88. package/lib/models/session.js +30 -63
  89. package/lib/models/user.cjs +29 -51
  90. package/lib/models/user.js +29 -51
  91. package/lib/models/utm.cjs +15 -27
  92. package/lib/models/utm.js +17 -32
  93. package/lib/models/webchat.cjs +52 -76
  94. package/lib/models/webchat.js +52 -90
  95. package/lib/models/whatsapp_widget.cjs +41 -59
  96. package/lib/models/whatsapp_widget.js +41 -73
  97. package/lib/vanilla.cjs +4 -7
  98. package/lib/vanilla.js +2 -1
  99. package/package.json +1 -9
  100. package/src/index.bundle.js +0 -1
  101. package/src/vanilla.js +2 -1
  102. package/styles/index.css +0 -30
@@ -3,7 +3,7 @@
3
3
  // place to delegate click-to-open, the pre-conversation presentation, and timer
4
4
  // cleanup. Message sending stays on the controller because it owns the API flow
5
5
  // and optimistic customer bubble insertion.
6
- export var useTeaser = controller => {
6
+ export const useTeaser = controller => {
7
7
  Object.assign(controller, {
8
8
  // Called from `connect` after `usePopover` has given the controller `show`.
9
9
  // The teaser is optional, so setup first prepares reusable lifecycle state,
@@ -65,10 +65,10 @@ export var useTeaser = controller => {
65
65
  // how long it remains on screen before the next one replaces it. The
66
66
  // presentation stops after the last message instead of looping forever.
67
67
  scheduleNextTeaserMessage(currentIndex) {
68
- var nextIndex = currentIndex + 1;
68
+ const nextIndex = currentIndex + 1;
69
69
  if (nextIndex >= this.teaserMessages.length) return;
70
- var currentMessage = this.teaserMessages[currentIndex];
71
- var delay = this.teaserPresentationDelay(currentMessage);
70
+ const currentMessage = this.teaserMessages[currentIndex];
71
+ const delay = this.teaserPresentationDelay(currentMessage);
72
72
  this.teaserCycleTimeout = window.setTimeout(() => {
73
73
  this.teaserCycleTimeout = null;
74
74
  this.showTeaserMessage(nextIndex);
@@ -93,7 +93,7 @@ export var useTeaser = controller => {
93
93
  // them as zero, then use a small minimum so zero-delay presentations advance
94
94
  // deliberately instead of flashing through every message in one frame.
95
95
  teaserMessageDelay(message) {
96
- var delay = Number(message.dataset.delaySeconds || 0);
96
+ const delay = Number(message.dataset.delaySeconds || 0);
97
97
  return Number.isFinite(delay) ? delay : 0;
98
98
  },
99
99
  teaserPresentationDelay(message) {
@@ -103,7 +103,7 @@ export var useTeaser = controller => {
103
103
  // state. The hidden template is deliberately excluded because it is not a live
104
104
  // customer-visible message.
105
105
  hasRenderedConversationMessages() {
106
- var messages = [];
106
+ let messages = [];
107
107
  try {
108
108
  messages = Array.from(this.messageTargets || []);
109
109
  } catch (_error) {
@@ -112,9 +112,9 @@ export var useTeaser = controller => {
112
112
  return messages.some(message => message !== this.messageTemplateTarget);
113
113
  },
114
114
  teaserSeenKey() {
115
- var teaserVersion = this.hasTeaserTarget ? this.teaserTarget.dataset.teaserVersion : '';
116
- var versionSegment = teaserVersion ? ":".concat(teaserVersion) : '';
117
- return "hellotext:webchat:".concat(this.idValue || this.element.id, ":teaser-seen").concat(versionSegment);
115
+ const teaserVersion = this.hasTeaserTarget ? this.teaserTarget.dataset.teaserVersion : '';
116
+ const versionSegment = teaserVersion ? `:${teaserVersion}` : '';
117
+ return `hellotext:webchat:${this.idValue || this.element.id}:teaser-seen${versionSegment}`;
118
118
  },
119
119
  teaserSeenForSession() {
120
120
  try {