@hellotext/hellotext 2.5.6 → 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 (113) hide show
  1. package/README.md +5 -26
  2. package/dist/hellotext.js +1 -1
  3. package/dist/hellotext.js.LICENSE.txt +1 -1
  4. package/index.d.ts +15 -6
  5. package/lib/api/acks.cjs +17 -31
  6. package/lib/api/acks.js +17 -42
  7. package/lib/api/businesses.cjs +14 -28
  8. package/lib/api/businesses.js +13 -36
  9. package/lib/api/events.cjs +26 -40
  10. package/lib/api/events.js +28 -52
  11. package/lib/api/forms.cjs +24 -40
  12. package/lib/api/forms.js +24 -57
  13. package/lib/api/identifications.cjs +15 -29
  14. package/lib/api/identifications.js +15 -40
  15. package/lib/api/index.cjs +26 -46
  16. package/lib/api/index.js +28 -49
  17. package/lib/api/push/identities.cjs +43 -0
  18. package/lib/api/push/identities.js +35 -0
  19. package/lib/api/response.cjs +30 -52
  20. package/lib/api/response.js +31 -60
  21. package/lib/api/submissions.cjs +18 -34
  22. package/lib/api/submissions.js +18 -48
  23. package/lib/api/webchat/messages.cjs +44 -64
  24. package/lib/api/webchat/messages.js +44 -80
  25. package/lib/api/webchats.cjs +37 -56
  26. package/lib/api/webchats.js +37 -65
  27. package/lib/api/whatsapp_widgets.cjs +49 -72
  28. package/lib/api/whatsapp_widgets.js +48 -91
  29. package/lib/builders/input_builder.cjs +36 -48
  30. package/lib/builders/input_builder.js +36 -48
  31. package/lib/builders/logo_builder.cjs +10 -29
  32. package/lib/builders/logo_builder.js +20 -28
  33. package/lib/channels/application_channel.cjs +136 -178
  34. package/lib/channels/application_channel.js +137 -180
  35. package/lib/channels/webchat_channel.cjs +125 -170
  36. package/lib/channels/webchat_channel.js +125 -170
  37. package/lib/controllers/form_controller.cjs +82 -121
  38. package/lib/controllers/form_controller.js +82 -130
  39. package/lib/controllers/message_controller.cjs +211 -282
  40. package/lib/controllers/message_controller.js +209 -284
  41. package/lib/controllers/mixins/usePopover.cjs +3 -6
  42. package/lib/controllers/mixins/usePopover.js +17 -22
  43. package/lib/controllers/webchat/emoji_picker_controller.cjs +106 -150
  44. package/lib/controllers/webchat/emoji_picker_controller.js +105 -170
  45. package/lib/controllers/webchat/useBehaviour.js +5 -5
  46. package/lib/controllers/webchat/useOpeningSequence.js +6 -6
  47. package/lib/controllers/webchat/useTeaser.js +9 -9
  48. package/lib/controllers/webchat_controller.cjs +916 -1088
  49. package/lib/controllers/webchat_controller.js +926 -1152
  50. package/lib/core/configuration/forms.cjs +21 -35
  51. package/lib/core/configuration/forms.js +20 -35
  52. package/lib/core/configuration/locale.cjs +36 -71
  53. package/lib/core/configuration/locale.js +36 -70
  54. package/lib/core/configuration/push.cjs +16 -0
  55. package/lib/core/configuration/push.js +10 -0
  56. package/lib/core/configuration/webchat.cjs +142 -182
  57. package/lib/core/configuration/webchat.js +145 -189
  58. package/lib/core/configuration/whatsapp.cjs +76 -102
  59. package/lib/core/configuration/whatsapp.js +76 -105
  60. package/lib/core/configuration.cjs +62 -75
  61. package/lib/core/configuration.js +61 -75
  62. package/lib/core/event.cjs +36 -59
  63. package/lib/core/event.js +35 -61
  64. package/lib/core/sanitize_html.js +4 -4
  65. package/lib/errors/invalid_event.cjs +5 -26
  66. package/lib/errors/invalid_event.js +5 -26
  67. package/lib/errors/not_initialized_error.cjs +5 -26
  68. package/lib/errors/not_initialized_error.js +5 -26
  69. package/lib/hellotext.cjs +186 -211
  70. package/lib/hellotext.js +189 -236
  71. package/lib/index.js +1 -1
  72. package/lib/models/business.cjs +115 -152
  73. package/lib/models/business.js +118 -162
  74. package/lib/models/cookies.cjs +34 -51
  75. package/lib/models/cookies.js +34 -51
  76. package/lib/models/fingerprint.cjs +8 -23
  77. package/lib/models/fingerprint.js +25 -58
  78. package/lib/models/form.cjs +106 -142
  79. package/lib/models/form.js +105 -153
  80. package/lib/models/form_collection.cjs +63 -101
  81. package/lib/models/form_collection.js +61 -107
  82. package/lib/models/index.cjs +7 -0
  83. package/lib/models/index.js +1 -0
  84. package/lib/models/page.cjs +106 -129
  85. package/lib/models/page.js +106 -131
  86. package/lib/models/push.cjs +345 -0
  87. package/lib/models/push.js +339 -0
  88. package/lib/models/query.cjs +21 -41
  89. package/lib/models/query.js +21 -41
  90. package/lib/models/session.cjs +33 -65
  91. package/lib/models/session.js +30 -63
  92. package/lib/models/user.cjs +29 -51
  93. package/lib/models/user.js +29 -51
  94. package/lib/models/utm.cjs +15 -27
  95. package/lib/models/utm.js +17 -32
  96. package/lib/models/webchat.cjs +52 -76
  97. package/lib/models/webchat.js +52 -90
  98. package/lib/models/whatsapp_widget.cjs +41 -59
  99. package/lib/models/whatsapp_widget.js +41 -73
  100. package/lib/vanilla.cjs +4 -7
  101. package/lib/vanilla.js +2 -1
  102. package/package.json +2 -10
  103. package/src/api/index.js +5 -0
  104. package/src/api/push/identities.js +42 -0
  105. package/src/core/configuration/push.js +12 -0
  106. package/src/core/configuration.js +5 -0
  107. package/src/hellotext.js +15 -1
  108. package/src/index.bundle.js +0 -1
  109. package/src/models/business.js +1 -0
  110. package/src/models/index.js +1 -0
  111. package/src/models/push.js +397 -0
  112. package/src/vanilla.js +2 -1
  113. 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 {