@seamly/web-ui 19.1.3 → 20.0.0-beta.1

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 (182) hide show
  1. package/CHANGELOG.md +625 -0
  2. package/build/dist/lib/components.js +2 -1
  3. package/build/dist/lib/components.min.js +1 -1
  4. package/build/dist/lib/index.debug.js +180 -125
  5. package/build/dist/lib/index.debug.min.js +1 -1
  6. package/build/dist/lib/index.debug.min.js.LICENSE.txt +45 -25
  7. package/build/dist/lib/index.js +7279 -7756
  8. package/build/dist/lib/index.min.js +1 -1
  9. package/build/dist/lib/index.min.js.LICENSE.txt +0 -5
  10. package/build/dist/lib/standalone.js +5700 -6184
  11. package/build/dist/lib/standalone.min.js +1 -1
  12. package/build/dist/lib/standalone.min.js.LICENSE.txt +0 -5
  13. package/build/dist/lib/style-guide.js +10820 -4993
  14. package/build/dist/lib/style-guide.min.js +2 -1
  15. package/build/dist/lib/style-guide.min.js.LICENSE.txt +9 -0
  16. package/build/dist/lib/styles.css +1 -1
  17. package/package.json +1 -2
  18. package/src/icons/icon_file-32.svg +1 -1
  19. package/src/javascripts/api/index.js +48 -37
  20. package/src/javascripts/config.js +1 -5
  21. package/src/javascripts/domains/app/actions.js +22 -5
  22. package/src/javascripts/domains/config/actions.js +3 -0
  23. package/src/javascripts/domains/config/reducer.js +9 -0
  24. package/src/javascripts/domains/forms/hooks.js +3 -1
  25. package/src/javascripts/domains/forms/provider.js +12 -0
  26. package/src/javascripts/domains/forms/reducer.js +2 -0
  27. package/src/javascripts/domains/i18n/hooks.js +2 -1
  28. package/src/javascripts/domains/i18n/reducer.js +2 -0
  29. package/src/javascripts/domains/interrupt/reducer.js +2 -2
  30. package/src/javascripts/domains/options/middleware.js +15 -31
  31. package/src/javascripts/domains/store/index.js +2 -1
  32. package/src/javascripts/domains/store/state-reducer.js +3 -8
  33. package/src/javascripts/domains/translations/components/options-dialog/form.js +1 -1
  34. package/src/javascripts/domains/translations/components/options-dialog/index.js +15 -1
  35. package/src/javascripts/domains/translations/reducer.js +2 -0
  36. package/src/javascripts/domains/visibility/actions.js +1 -1
  37. package/src/javascripts/domains/visibility/hooks.js +10 -8
  38. package/src/javascripts/domains/visibility/utils.js +1 -2
  39. package/src/javascripts/index.js +5 -3
  40. package/src/javascripts/lib/css.js +7 -1
  41. package/src/javascripts/lib/engine/index.js +4 -3
  42. package/src/javascripts/lib/external-api/index.js +38 -29
  43. package/src/javascripts/package/components.js +2 -1
  44. package/src/javascripts/style-guide/components/app.js +1 -1
  45. package/src/javascripts/style-guide/components/static-core.js +9 -3
  46. package/src/javascripts/style-guide/states.js +203 -298
  47. package/src/javascripts/ui/components/chat-app.js +1 -1
  48. package/src/javascripts/ui/components/conversation/component-filter.js +6 -0
  49. package/src/javascripts/ui/components/conversation/event/carousel-component/index.js +8 -1
  50. package/src/javascripts/ui/components/conversation/event/carousel-message/components/slide.js +2 -3
  51. package/src/javascripts/ui/components/conversation/event/conversation-suggestions.js +70 -0
  52. package/src/javascripts/ui/components/conversation/event/participant.js +2 -5
  53. package/src/javascripts/ui/components/conversation/event/splash.js +26 -0
  54. package/src/javascripts/ui/components/conversation/event/text.js +1 -2
  55. package/src/javascripts/ui/components/core/seamly-core.js +12 -9
  56. package/src/javascripts/ui/components/core/seamly-event-subscriber.js +4 -10
  57. package/src/javascripts/ui/components/core/seamly-instance-functions-loader.js +1 -8
  58. package/src/javascripts/ui/components/entry/entry-container.js +5 -3
  59. package/src/javascripts/ui/components/entry/text-entry/index.js +7 -1
  60. package/src/javascripts/ui/components/entry/text-entry/text-entry-form.js +5 -1
  61. package/src/javascripts/ui/components/entry/toggle-button.js +4 -2
  62. package/src/javascripts/ui/components/entry/upload/file-upload-form.js +1 -1
  63. package/src/javascripts/ui/components/form-controls/error.js +6 -2
  64. package/src/javascripts/ui/components/form-controls/form.js +26 -3
  65. package/src/javascripts/ui/components/layout/app-frame.js +24 -15
  66. package/src/javascripts/ui/components/layout/chat-frame.js +0 -2
  67. package/src/javascripts/ui/components/layout/modal-wrapper.js +0 -80
  68. package/src/javascripts/ui/components/layout/pre-chat-messages.js +45 -0
  69. package/src/javascripts/ui/components/options/options-frame.js +9 -4
  70. package/src/javascripts/ui/components/options/options.js +1 -4
  71. package/src/javascripts/ui/components/options/transcript/index.js +15 -1
  72. package/src/javascripts/ui/components/options/transcript/transcript-form.js +1 -1
  73. package/src/javascripts/ui/components/suggestions/index.js +174 -0
  74. package/src/javascripts/ui/components/suggestions/suggestions-item.js +40 -0
  75. package/src/javascripts/ui/components/suggestions/suggestions-list.js +24 -0
  76. package/src/javascripts/ui/components/view/app-view.js +21 -0
  77. package/src/javascripts/ui/components/view/deprecated-view.js +30 -0
  78. package/src/javascripts/ui/components/view/index.js +27 -0
  79. package/src/javascripts/ui/components/view/inline-view.js +45 -0
  80. package/src/javascripts/ui/components/view/window-view/collapse-button.js +20 -0
  81. package/src/javascripts/ui/components/view/window-view/index.js +82 -0
  82. package/src/javascripts/ui/components/view/window-view/window-open-button.js +68 -0
  83. package/src/javascripts/ui/components/widgets/lightbox.js +7 -2
  84. package/src/javascripts/ui/hooks/component-helper-hooks.js +0 -9
  85. package/src/javascripts/ui/hooks/seamly-hooks.js +0 -1
  86. package/src/javascripts/ui/hooks/seamly-state-hooks.js +28 -4
  87. package/src/javascripts/ui/hooks/use-seamly-chat.js +12 -3
  88. package/src/javascripts/ui/hooks/use-seamly-commands.js +4 -31
  89. package/src/javascripts/ui/utils/seamly-utils.js +2 -14
  90. package/src/stylesheets/1-settings/_animations.scss +0 -6
  91. package/src/stylesheets/1-settings/_config.scss +34 -35
  92. package/src/stylesheets/2-tools/_functions.scss +0 -5
  93. package/src/stylesheets/2-tools/_mixins.scss +4 -16
  94. package/src/stylesheets/3-app/_app.scss +78 -135
  95. package/src/stylesheets/4-base/_a11y.scss +0 -3
  96. package/src/stylesheets/4-base/_elements.scss +0 -11
  97. package/src/stylesheets/4-base/_formelements.scss +4 -14
  98. package/src/stylesheets/5-components/_avatar.scss +2 -44
  99. package/src/stylesheets/5-components/_buttons.scss +6 -45
  100. package/src/stylesheets/5-components/_chat-status.scss +14 -38
  101. package/src/stylesheets/5-components/_choice-prompt.scss +33 -2
  102. package/src/stylesheets/5-components/_collapse-button.scss +16 -0
  103. package/src/stylesheets/5-components/_conversation.scss +26 -2
  104. package/src/stylesheets/5-components/_disclaimer.scss +10 -12
  105. package/src/stylesheets/5-components/_divider.scss +7 -4
  106. package/src/stylesheets/5-components/_error.scss +1 -1
  107. package/src/stylesheets/5-components/_form.scss +9 -0
  108. package/src/stylesheets/5-components/_icon.scss +10 -1
  109. package/src/stylesheets/5-components/_idle.scss +0 -8
  110. package/src/stylesheets/5-components/_input.scss +14 -20
  111. package/src/stylesheets/5-components/_interrupt.scss +0 -2
  112. package/src/stylesheets/5-components/_loader.scss +0 -32
  113. package/src/stylesheets/5-components/_message-author.scss +40 -0
  114. package/src/stylesheets/5-components/_message-body.scss +194 -0
  115. package/src/stylesheets/5-components/_message-card.scss +55 -0
  116. package/src/stylesheets/5-components/_message-carousel.scss +143 -0
  117. package/src/stylesheets/5-components/_message-count.scss +11 -28
  118. package/src/stylesheets/5-components/_message-cta.scss +23 -0
  119. package/src/stylesheets/5-components/_message-info.scss +11 -0
  120. package/src/stylesheets/5-components/_message-translation-info.scss +17 -0
  121. package/src/stylesheets/5-components/_message.scss +13 -364
  122. package/src/stylesheets/5-components/_modal.scss +28 -58
  123. package/src/stylesheets/5-components/_notification.scss +0 -5
  124. package/src/stylesheets/5-components/_options.scss +27 -42
  125. package/src/stylesheets/5-components/_pre-chat-messages.scss +30 -0
  126. package/src/stylesheets/5-components/_prompt.scss +0 -8
  127. package/src/stylesheets/5-components/_skip-link.scss +3 -3
  128. package/src/stylesheets/5-components/_suggestions.scss +96 -0
  129. package/src/stylesheets/5-components/_unstarted.scss +50 -0
  130. package/src/stylesheets/5-components/_upload.scss +26 -28
  131. package/src/stylesheets/5-components/_window-open-button.scss +39 -0
  132. package/src/stylesheets/6-webui-only/_hover.scss +151 -0
  133. package/src/stylesheets/6-webui-only/_scrollbar.scss +31 -0
  134. package/src/stylesheets/7-deprecated/1-settings/_animations.scss +43 -0
  135. package/src/stylesheets/7-deprecated/1-settings/_config.scss +105 -0
  136. package/src/stylesheets/7-deprecated/2-tools/_functions.scss +22 -0
  137. package/src/stylesheets/7-deprecated/2-tools/_mixins.scss +77 -0
  138. package/src/stylesheets/7-deprecated/3-app/_app.scss +214 -0
  139. package/src/stylesheets/7-deprecated/4-base/_a11y.scss +14 -0
  140. package/src/stylesheets/7-deprecated/4-base/_elements.scss +21 -0
  141. package/src/stylesheets/7-deprecated/4-base/_formelements.scss +57 -0
  142. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_agent-info.scss +0 -0
  143. package/src/stylesheets/7-deprecated/5-components/_avatar.scss +64 -0
  144. package/src/stylesheets/7-deprecated/5-components/_buttons.scss +94 -0
  145. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_card.scss +0 -0
  146. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_carousel.scss +0 -0
  147. package/src/stylesheets/7-deprecated/5-components/_character-limit.scss +36 -0
  148. package/src/stylesheets/{5-components/_cobrowsing.scss → 7-deprecated/5-components/_chat-status.scss} +18 -16
  149. package/src/stylesheets/7-deprecated/5-components/_choice-prompt.scss +27 -0
  150. package/src/stylesheets/7-deprecated/5-components/_collapse-button.scss +17 -0
  151. package/src/stylesheets/7-deprecated/5-components/_conversation.scss +44 -0
  152. package/src/stylesheets/7-deprecated/5-components/_disclaimer.scss +36 -0
  153. package/src/stylesheets/7-deprecated/5-components/_divider.scss +91 -0
  154. package/src/stylesheets/7-deprecated/5-components/_error.scss +24 -0
  155. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_faq.scss +8 -3
  156. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_header-controls.scss +0 -0
  157. package/src/stylesheets/7-deprecated/5-components/_icon.scss +4 -0
  158. package/src/stylesheets/7-deprecated/5-components/_idle.scss +61 -0
  159. package/src/stylesheets/7-deprecated/5-components/_input.scss +78 -0
  160. package/src/stylesheets/7-deprecated/5-components/_interrupt.scss +35 -0
  161. package/src/stylesheets/7-deprecated/5-components/_loader.scss +78 -0
  162. package/src/stylesheets/7-deprecated/5-components/_message-count.scss +41 -0
  163. package/src/stylesheets/7-deprecated/5-components/_message.scss +385 -0
  164. package/src/stylesheets/7-deprecated/5-components/_modal.scss +138 -0
  165. package/src/stylesheets/7-deprecated/5-components/_notification.scss +20 -0
  166. package/src/stylesheets/7-deprecated/5-components/_options.scss +286 -0
  167. package/src/stylesheets/7-deprecated/5-components/_prompt.scss +44 -0
  168. package/src/stylesheets/7-deprecated/5-components/_skip-link.scss +21 -0
  169. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_svg-graphic.scss +0 -0
  170. package/src/stylesheets/7-deprecated/5-components/_upload.scss +213 -0
  171. package/src/stylesheets/deprecated-view.scss +64 -0
  172. package/src/stylesheets/styles-webui-only.scss +3 -0
  173. package/src/stylesheets/styles.scss +15 -25
  174. package/webpack/config.site.js +4 -0
  175. package/webpack/defaults.js +5 -0
  176. package/src/javascripts/ui/components/conversation/event/hooks/use-text-rendering.js +0 -35
  177. package/src/javascripts/ui/components/faq/faq.js +0 -162
  178. package/src/javascripts/ui/components/layout/view.js +0 -36
  179. package/src/javascripts/ui/components/options/cobrowsing.js +0 -110
  180. package/src/javascripts/ui/components/warnings/cobrowsing-active-frame.js +0 -29
  181. package/src/javascripts/ui/components/warnings/cobrowsing-active.js +0 -33
  182. package/src/stylesheets/5-components/_modal_mode.scss +0 -108
@@ -40,7 +40,6 @@ const baseState = {
40
40
  historyLoaded: false,
41
41
  skiplinkTargetId: randomId(),
42
42
  optionsButtonId: randomId(),
43
- cobrowseContainerId: randomId(),
44
43
  serviceData: {},
45
44
  options: {
46
45
  features: {},
@@ -66,7 +65,7 @@ const participantInfo = {
66
65
  'e65fa8dc-97ab-4711-8fec-82bae6461aa2': {
67
66
  avatar,
68
67
  id: 'e65fa8dc-97ab-4711-8fec-82bae6461aa2',
69
- introduction: "You're now talking to {{name}} gimme a minit",
68
+ introduction: "You're now talking to Mrs. Bot gimme a minit",
70
69
  name: 'Mrs. Bot',
71
70
  service: {
72
71
  expose: { map: {}, version: 2 },
@@ -78,7 +77,7 @@ const participantInfo = {
78
77
  },
79
78
  'e65fa8dc-97ab-4711-8fec-82bae6461aa3': {
80
79
  id: 'e65fa8dc-97ab-4711-8fec-82bae6461aa3',
81
- introduction: "You're now talking to {{name}} gimme a minit",
80
+ introduction: "You're now talking to Mrs. Bot gimme a minit",
82
81
  name: 'Mrs. Bot',
83
82
  service: {
84
83
  expose: { map: {}, version: 2 },
@@ -174,7 +173,6 @@ const infoMessage = {
174
173
  body: {
175
174
  text: 'This is a system generated info message',
176
175
  type: 'text',
177
- variables: {},
178
176
  },
179
177
  fromClient: false,
180
178
  id: randomId(),
@@ -217,7 +215,7 @@ const participantMessage = {
217
215
  participant: {
218
216
  avatar,
219
217
  id: 'e65fa8dc-97ab-4711-8fec-82bae6461aa2',
220
- introduction: "You're now talking to {{name}} gimme a minit",
218
+ introduction: "You're now talking to Mrs. Bot gimme a minit",
221
219
  name: 'Mrs. Bot',
222
220
  service: {
223
221
  expose: { map: {}, version: 2 },
@@ -241,7 +239,7 @@ const participantMessageDefaultIcon = {
241
239
  messageStatus: 'received',
242
240
  participant: {
243
241
  id: 'e65fa8dc-97ab-4711-8fec-82bae6461aa3',
244
- introduction: "You're now talking to {{name}} gimme a minit",
242
+ introduction: "You're now talking to Mrs. Bot gimme a minit",
245
243
  name: 'Mrs. Bot',
246
244
  service: {
247
245
  expose: { map: {}, version: 2 },
@@ -263,7 +261,6 @@ const getCustomMessage = ({ type, data, text }) => ({
263
261
  type,
264
262
  text,
265
263
  data,
266
- variables: {},
267
264
  },
268
265
  participant: 'e65fa8dc-97ab-4711-8fec-82bae6461aa2',
269
266
  service: {
@@ -287,7 +284,6 @@ const shortTextMessage = {
287
284
  body: {
288
285
  text: 'What do you want to do?',
289
286
  type: 'text',
290
- variables: {},
291
287
  },
292
288
  fromClient: false,
293
289
  fromHistory: true,
@@ -305,6 +301,19 @@ const shortTextMessage = {
305
301
  },
306
302
  }
307
303
 
304
+ const splashMessage = {
305
+ type: 'message',
306
+ payload: {
307
+ type: 'splash',
308
+ id: randomId(),
309
+ body: {
310
+ text: 'Example splash message ✨',
311
+ type: 'text',
312
+ variables: {},
313
+ },
314
+ },
315
+ }
316
+
308
317
  const ctaMessage = {
309
318
  type: 'message',
310
319
  payload: {
@@ -336,7 +345,6 @@ const longTextMessage = {
336
345
  body: {
337
346
  text: 'What do you want to do? This is a really long message from a bot that has a lot to say about a lot of things. Currently I am contemplating my own bot existence and constantly asking myself who I am. What do you want to do? This is a really long message from a bot that has a lot to say about a lot of things. Currently I am contemplating my own bot existence and constantly asking myself who I am. What do you want to do? This is a really long message from a bot that has a lot to say about a lot of things. Currently I am contemplating my own bot existence and constantly asking myself who I am.',
338
347
  type: 'text',
339
- variables: {},
340
348
  },
341
349
  fromClient: false,
342
350
  fromHistory: true,
@@ -360,7 +368,6 @@ const textMessageBoldItalicUnderline = {
360
368
  body: {
361
369
  text: 'Bubble with **bold** *italic* <u>underline</u>',
362
370
  type: 'text',
363
- variables: {},
364
371
  },
365
372
  fromClient: false,
366
373
  fromHistory: true,
@@ -382,24 +389,8 @@ const textMessageWithLinks = {
382
389
  type: 'message',
383
390
  payload: {
384
391
  body: {
385
- text: '{{link_1}} and {{link_2}} embedded in text',
392
+ text: '<a href="https://google.com" data-link-id="1">Link in same window</a> and <a href="https://google.com" data-link-id="2" target="_blank">link in new window</a> embedded in text',
386
393
  type: 'text',
387
- variables: {
388
- link_1: {
389
- id: '1',
390
- name: 'Link in same window',
391
- newTab: false,
392
- type: 'link',
393
- url: 'https://google.com',
394
- },
395
- link_2: {
396
- id: '2',
397
- name: 'link in new window',
398
- newTab: true,
399
- type: 'link',
400
- url: 'https://google.com',
401
- },
402
- },
403
394
  },
404
395
  fromClient: false,
405
396
  fromHistory: true,
@@ -421,17 +412,8 @@ const textMessageWithLongLink = {
421
412
  type: 'message',
422
413
  payload: {
423
414
  body: {
424
- text: 'Here is a long link {{link_1}} embedded in text',
415
+ text: 'Here is a long link <a href="https://google.com" data-link-id="1">click me click me please click me yoohoooo please please click me here I am click me now what are you waiting for click me now now now now now click meeeeeeeeeeeeee</a> embedded in text',
425
416
  type: 'text',
426
- variables: {
427
- link_1: {
428
- id: '1',
429
- name: 'click me click me please click me yoohoooo please please click me here I am click me now what are you waiting for click me now now now now now click meeeeeeeeeeeeee',
430
- newTab: false,
431
- type: 'link',
432
- url: 'https://google.com',
433
- },
434
- },
435
417
  },
436
418
  fromClient: false,
437
419
  fromHistory: true,
@@ -455,7 +437,6 @@ const textMesageWithBullets = {
455
437
  body: {
456
438
  text: '<ul>\n<li>Bullets</li>\n<li>bullets</li>\n<li>bullets</li>\n</ul>\n',
457
439
  type: 'text',
458
- variables: {},
459
440
  },
460
441
  fromClient: false,
461
442
  fromHistory: true,
@@ -563,11 +544,6 @@ const choicePromptMessage = {
563
544
  text: 'T-Dialog',
564
545
  type: 'choice',
565
546
  },
566
- {
567
- id: '3555079c-6f60-45e1-82c7-5d5832634a3f',
568
- text: 'Escalation - Cobrowser',
569
- type: 'choice',
570
- },
571
547
  {
572
548
  id: 'a8ba3ce8-3324-4e7a-accc-944ff78ac890',
573
549
  text: 'Customers',
@@ -615,7 +591,6 @@ const userMessage = {
615
591
  body: {
616
592
  text: 'This is what the user typed',
617
593
  type: 'text',
618
- variables: {},
619
594
  },
620
595
  fromClient: true,
621
596
  fromHistory: true,
@@ -634,7 +609,6 @@ const userMessageLong = {
634
609
  body: {
635
610
  text: 'This is what the user typed. And sometimes the user has quite a lot to say and then we get longer lines that need to wrap well and not break the styling so here goes with just such a line right here!!',
636
611
  type: 'text',
637
- variables: {},
638
612
  },
639
613
  fromClient: true,
640
614
  fromHistory: true,
@@ -735,6 +709,44 @@ const translationsSlice = {
735
709
  containerId: randomId(),
736
710
  }
737
711
 
712
+ const suggestions = [
713
+ {
714
+ id: '1',
715
+ question: 'Invoices',
716
+ categories: ['mixed', 'short'],
717
+ },
718
+ {
719
+ id: '2',
720
+ question: 'Temporary subscription pause',
721
+ categories: ['mixed', 'medium'],
722
+ },
723
+ {
724
+ id: '3',
725
+ question: 'Cancellation',
726
+ categories: ['mixed', 'short'],
727
+ },
728
+ {
729
+ id: '4',
730
+ question: 'Apps',
731
+ categories: ['mixed', 'medium'],
732
+ },
733
+ {
734
+ id: '5',
735
+ question: 'At what date will my subscription end?',
736
+ categories: ['mixed', 'long'],
737
+ },
738
+ {
739
+ id: 'A',
740
+ question: 'Quotes',
741
+ categories: ['short'],
742
+ },
743
+ {
744
+ id: 'B',
745
+ question: 'How to get in touch with us',
746
+ categories: ['long'],
747
+ },
748
+ ]
749
+
738
750
  const categoryKeys = {
739
751
  unstarted: 'unstarted',
740
752
  messages: 'messages',
@@ -742,8 +754,9 @@ const categoryKeys = {
742
754
  uploads: 'uploads',
743
755
  features: 'features',
744
756
  options: 'options',
745
- faq: 'faq',
746
- minimized: 'minimized',
757
+ suggestions: 'suggestions',
758
+ minimizedWindow: 'minimizedWindow',
759
+ minimizedInline: 'minimizedInline',
747
760
  translations: 'translations',
748
761
  }
749
762
 
@@ -772,11 +785,18 @@ export const categories = {
772
785
  heading: 'Options',
773
786
  description: '',
774
787
  },
775
- [categoryKeys.faq]: {
776
- heading: 'FAQ',
788
+ [categoryKeys.suggestions]: {
789
+ heading: 'Suggestions',
790
+ description: '',
791
+ },
792
+ [categoryKeys.minimizedWindow]: {
793
+ heading: 'Minimized window',
794
+ desciption: '',
795
+ },
796
+ [categoryKeys.minimizedInline]: {
797
+ heading: 'Minimized Inline',
777
798
  description: '',
778
799
  },
779
- [categoryKeys.minimized]: { heading: 'Minimized window', desciption: '' },
780
800
  [categoryKeys.translations]: {
781
801
  heading: 'Translations',
782
802
  description: '',
@@ -856,6 +876,7 @@ const standardState = {
856
876
  activeServiceSessionId: '3942159e-9878-469e-9120-f44fd6be0f35',
857
877
  },
858
878
  events: [
879
+ splashMessage,
859
880
  participantMessage,
860
881
  infoMessage,
861
882
  shortTextMessage,
@@ -973,7 +994,6 @@ const standardState = {
973
994
  body: {
974
995
  text: 'Long ago when a dialog started',
975
996
  type: 'text',
976
- variables: {},
977
997
  },
978
998
  },
979
999
  },
@@ -1035,7 +1055,6 @@ const standardState = {
1035
1055
  body: {
1036
1056
  text: 'Long ago when a dialog started',
1037
1057
  type: 'text',
1038
- variables: {},
1039
1058
  },
1040
1059
  },
1041
1060
  },
@@ -1048,7 +1067,6 @@ const standardState = {
1048
1067
  body: {
1049
1068
  text: 'Above me should be a time indicator showing the full date',
1050
1069
  type: 'text',
1051
- variables: {},
1052
1070
  },
1053
1071
  },
1054
1072
  },
@@ -1061,7 +1079,6 @@ const standardState = {
1061
1079
  body: {
1062
1080
  text: 'Another message',
1063
1081
  type: 'text',
1064
- variables: {},
1065
1082
  },
1066
1083
  },
1067
1084
  },
@@ -1074,7 +1091,6 @@ const standardState = {
1074
1091
  body: {
1075
1092
  text: 'And another message',
1076
1093
  type: 'text',
1077
- variables: {},
1078
1094
  },
1079
1095
  },
1080
1096
  },
@@ -1087,7 +1103,6 @@ const standardState = {
1087
1103
  body: {
1088
1104
  text: 'Above me should be a time indicator showing "yesterday"',
1089
1105
  type: 'text',
1090
- variables: {},
1091
1106
  },
1092
1107
  },
1093
1108
  },
@@ -1100,7 +1115,6 @@ const standardState = {
1100
1115
  body: {
1101
1116
  text: 'Another message',
1102
1117
  type: 'text',
1103
- variables: {},
1104
1118
  },
1105
1119
  },
1106
1120
  },
@@ -1113,7 +1127,6 @@ const standardState = {
1113
1127
  body: {
1114
1128
  text: 'And another message',
1115
1129
  type: 'text',
1116
- variables: {},
1117
1130
  },
1118
1131
  },
1119
1132
  },
@@ -1126,7 +1139,6 @@ const standardState = {
1126
1139
  body: {
1127
1140
  text: 'Above me should be a time indicator showing me the dialog continues today',
1128
1141
  type: 'text',
1129
- variables: {},
1130
1142
  },
1131
1143
  },
1132
1144
  },
@@ -1167,6 +1179,21 @@ const standardState = {
1167
1179
  },
1168
1180
  ],
1169
1181
  },
1182
+ suggestionsMessage: {
1183
+ category: categoryKeys.messages,
1184
+ headingText: 'Suggestions message',
1185
+ description: '',
1186
+ ...baseState,
1187
+ events: [
1188
+ {
1189
+ type: 'service_data',
1190
+ payload: {
1191
+ type: 'suggestion',
1192
+ body: suggestions,
1193
+ },
1194
+ },
1195
+ ],
1196
+ },
1170
1197
  errorWithAction: {
1171
1198
  // Important: This cannot pick up the language files so the text is hard set here.
1172
1199
  category: categoryKeys.errors,
@@ -1202,9 +1229,15 @@ const standardState = {
1202
1229
  headingText: `Chat status bar`,
1203
1230
  description: '',
1204
1231
  ...baseState,
1205
- options: {
1206
- features: { cobrowsing: { enabled: true } },
1207
- userSelectedOptions: { cobrowsing: true },
1232
+ translations: {
1233
+ ...translationsSlice,
1234
+ currentLocale: 'nl',
1235
+ isActive: true,
1236
+ isAvailable: true,
1237
+ languages: [
1238
+ { locale: 'nl', nativeName: 'Dutch' },
1239
+ { locale: 'en', nativeName: 'English' },
1240
+ ],
1208
1241
  },
1209
1242
  },
1210
1243
  characterLimit: {
@@ -1368,7 +1401,7 @@ const standardState = {
1368
1401
  ...baseState,
1369
1402
  options: {
1370
1403
  ...baseState.options,
1371
- features: { cobrowsing: { enabled: true } },
1404
+ features: { sendTranscript: { enabled: true } },
1372
1405
  },
1373
1406
  },
1374
1407
  optionsSingleTriggerUnavailable: {
@@ -1378,7 +1411,7 @@ const standardState = {
1378
1411
  ...baseState,
1379
1412
  options: {
1380
1413
  ...baseState.options,
1381
- features: { cobrowsing: { enabled: false } },
1414
+ features: { sendTranscript: { enabled: false } },
1382
1415
  },
1383
1416
  },
1384
1417
  optionsMultiple: {
@@ -1407,52 +1440,6 @@ const standardState = {
1407
1440
  },
1408
1441
  },
1409
1442
  },
1410
- optionCobrowseOff: {
1411
- category: categoryKeys.options,
1412
- headingText: 'Cobrowse option off',
1413
- description: '',
1414
- ...baseState,
1415
- options: {
1416
- ...baseState.options,
1417
- optionActive: 'cobrowsing',
1418
- panelActive: true,
1419
- features: {
1420
- cobrowsing: { enabled: true },
1421
- sendTranscript: { enabled: true },
1422
- },
1423
- },
1424
- },
1425
- optionCobrowseOn: {
1426
- category: categoryKeys.options,
1427
- headingText: 'Cobrowse option on',
1428
- description: '',
1429
- ...baseState,
1430
- options: {
1431
- ...baseState.options,
1432
- optionActive: 'cobrowsing',
1433
- panelActive: true,
1434
- userSelectedOptions: { cobrowsing: true },
1435
- features: {
1436
- cobrowsing: { enabled: true },
1437
- sendTranscript: { enabled: true },
1438
- },
1439
- },
1440
- },
1441
- optionCobrowseUnavailable: {
1442
- category: categoryKeys.options,
1443
- headingText: 'Cobrowse option unavailable',
1444
- description: '',
1445
- ...baseState,
1446
- options: {
1447
- ...baseState.options,
1448
- optionActive: 'cobrowsing',
1449
- panelActive: true,
1450
- features: {
1451
- cobrowsing: { enabled: false },
1452
- sendTranscript: { enabled: true },
1453
- },
1454
- },
1455
- },
1456
1443
  optionSendTranscript: {
1457
1444
  category: categoryKeys.options,
1458
1445
  headingText: 'Send transcript option',
@@ -1463,191 +1450,10 @@ const standardState = {
1463
1450
  optionActive: 'sendTranscript',
1464
1451
  panelActive: true,
1465
1452
  features: {
1466
- cobrowsing: { enabled: true },
1467
1453
  sendTranscript: { enabled: true },
1468
1454
  },
1469
1455
  },
1470
1456
  },
1471
- faqEmptyList: {
1472
- category: categoryKeys.faq,
1473
- headingText: 'Empty FAQ list',
1474
- description: '',
1475
- ...baseState,
1476
- config: {
1477
- ...baseState.config,
1478
- showFaq: true,
1479
- },
1480
- serviceData: {
1481
- suggestion: {
1482
- body: [],
1483
- },
1484
- },
1485
- },
1486
- faqList: {
1487
- category: categoryKeys.faq,
1488
- headingText: 'FAQ list',
1489
- description: '',
1490
- ...baseState,
1491
-
1492
- config: {
1493
- ...baseState.config,
1494
- showFaq: true,
1495
- },
1496
- serviceData: {
1497
- suggestion: {
1498
- body: [
1499
- {
1500
- id: 1,
1501
- question: 'Lorem ipsum dolor sit amet',
1502
- categories: ['short'],
1503
- },
1504
- {
1505
- id: 2,
1506
- question:
1507
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
1508
- categories: ['short'],
1509
- },
1510
- {
1511
- id: 3,
1512
- question:
1513
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
1514
- categories: ['short'],
1515
- },
1516
- ],
1517
- },
1518
- },
1519
- },
1520
- faqListLong: {
1521
- category: categoryKeys.faq,
1522
- headingText: 'Long FAQ list',
1523
- description: '',
1524
- ...baseState,
1525
- config: {
1526
- ...baseState.config,
1527
- showFaq: true,
1528
- },
1529
- serviceData: {
1530
- suggestion: {
1531
- body: [
1532
- {
1533
- id: 1,
1534
- question: 'Lorem ipsum dolor sit amet',
1535
- categories: ['long'],
1536
- },
1537
- {
1538
- id: 2,
1539
- question:
1540
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
1541
- categories: ['long'],
1542
- },
1543
- {
1544
- id: 3,
1545
- question:
1546
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
1547
- categories: ['long'],
1548
- },
1549
- {
1550
- id: 4,
1551
- question:
1552
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
1553
- categories: ['long'],
1554
- },
1555
- {
1556
- id: 5,
1557
- question: 'Lorem ipsum dolor sit amet',
1558
- categories: ['long'],
1559
- },
1560
- {
1561
- id: 6,
1562
- question:
1563
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
1564
- categories: ['long'],
1565
- },
1566
- {
1567
- id: 7,
1568
- question:
1569
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
1570
- categories: ['long'],
1571
- },
1572
- {
1573
- id: 8,
1574
- question:
1575
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
1576
- categories: ['long'],
1577
- },
1578
- {
1579
- id: 9,
1580
- question: 'Lorem ipsum dolor sit amet',
1581
- categories: ['long'],
1582
- },
1583
- {
1584
- id: 10,
1585
- question:
1586
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
1587
- categories: ['long'],
1588
- },
1589
- {
1590
- id: 11,
1591
- question:
1592
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
1593
- categories: ['long'],
1594
- },
1595
- {
1596
- id: 12,
1597
- question:
1598
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
1599
- categories: ['long'],
1600
- },
1601
- {
1602
- id: 13,
1603
- question: 'Lorem ipsum dolor sit amet',
1604
- categories: ['long'],
1605
- },
1606
- {
1607
- id: 14,
1608
- question:
1609
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
1610
- categories: ['long'],
1611
- },
1612
- {
1613
- id: 15,
1614
- question:
1615
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
1616
- categories: ['long'],
1617
- },
1618
- {
1619
- id: 16,
1620
- question:
1621
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
1622
- categories: ['long'],
1623
- },
1624
- {
1625
- id: 17,
1626
- question: 'Lorem ipsum dolor sit amet',
1627
- categories: ['long'],
1628
- },
1629
- {
1630
- id: 18,
1631
- question:
1632
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
1633
- categories: ['long'],
1634
- },
1635
- {
1636
- id: 19,
1637
- question:
1638
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam',
1639
- categories: ['long'],
1640
- },
1641
- {
1642
- id: 20,
1643
- question:
1644
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed',
1645
- categories: ['long'],
1646
- },
1647
- ],
1648
- },
1649
- },
1650
- },
1651
1457
  translationsAvailable: {
1652
1458
  category: categoryKeys.translations,
1653
1459
  headingText: 'Show translations available',
@@ -1670,7 +1476,6 @@ const standardState = {
1670
1476
  options: {
1671
1477
  ...baseState.options,
1672
1478
  features: {
1673
- cobrowsing: { enabled: true },
1674
1479
  sendTranscript: { enabled: true },
1675
1480
  },
1676
1481
  },
@@ -1754,6 +1559,86 @@ const standardState = {
1754
1559
  },
1755
1560
  }
1756
1561
 
1562
+ const inlineInterface = {
1563
+ minimizedInline: {
1564
+ category: categoryKeys.minimizedInline,
1565
+ headingText: 'Inline minimized',
1566
+ description: '',
1567
+ inline: {
1568
+ ...baseState,
1569
+ config: {
1570
+ ...baseState.config,
1571
+ layoutMode: 'inline',
1572
+ },
1573
+ visibility: {
1574
+ ...baseState.visibility,
1575
+ visibility: visibilityStates.minimized,
1576
+ },
1577
+ },
1578
+ },
1579
+ minimizedInlinePrechat: {
1580
+ category: categoryKeys.minimizedInline,
1581
+ headingText: 'Inline minimized with pre-chat messages',
1582
+ description: '',
1583
+ inline: {
1584
+ ...baseState,
1585
+ config: {
1586
+ ...baseState.config,
1587
+ layoutMode: 'inline',
1588
+ preChatEvents: [splashMessage],
1589
+ },
1590
+ visibility: {
1591
+ ...baseState.visibility,
1592
+ visibility: visibilityStates.minimized,
1593
+ },
1594
+ },
1595
+ },
1596
+ minimizedInlinePrechatSuggestions: {
1597
+ category: categoryKeys.minimizedInline,
1598
+ headingText: 'Inline minimized with pre-chat messages & suggestions',
1599
+ description: '',
1600
+ inline: {
1601
+ ...baseState,
1602
+ config: {
1603
+ ...baseState.config,
1604
+ layoutMode: 'inline',
1605
+ preChatEvents: [splashMessage],
1606
+ },
1607
+ serviceData: {
1608
+ suggestion: {
1609
+ body: suggestions,
1610
+ },
1611
+ },
1612
+ visibility: {
1613
+ ...baseState.visibility,
1614
+ visibility: visibilityStates.minimized,
1615
+ },
1616
+ },
1617
+ },
1618
+ inlineWithSuggestions: {
1619
+ category: categoryKeys.suggestions,
1620
+ headingText: 'Suggestions',
1621
+ description: '',
1622
+ inline: {
1623
+ ...baseState,
1624
+ config: {
1625
+ ...baseState.config,
1626
+ layoutMode: 'inline',
1627
+ showFaq: true,
1628
+ },
1629
+ visibility: {
1630
+ ...baseState.visibility,
1631
+ visibility: visibilityStates.open,
1632
+ },
1633
+ serviceData: {
1634
+ suggestion: {
1635
+ body: suggestions,
1636
+ },
1637
+ },
1638
+ },
1639
+ },
1640
+ }
1641
+
1757
1642
  const buildStandardState = (layoutModes, customComponentEventBodies = []) => {
1758
1643
  const intermediateState = {
1759
1644
  ...standardState,
@@ -1797,8 +1682,8 @@ export const getStateObj = (layoutModes, customComponentEventBodies) => ({
1797
1682
  ...buildStandardState(layoutModes, customComponentEventBodies),
1798
1683
  ...(layoutModes.indexOf('window') !== -1
1799
1684
  ? {
1800
- minimized: {
1801
- category: categoryKeys.minimized,
1685
+ minimizedWindow: {
1686
+ category: categoryKeys.minimizedWindow,
1802
1687
  headingText: 'Unstarted minimized',
1803
1688
  description: '',
1804
1689
  window: {
@@ -1810,8 +1695,8 @@ export const getStateObj = (layoutModes, customComponentEventBodies) => ({
1810
1695
  },
1811
1696
  },
1812
1697
  },
1813
- minimizedStarted: {
1814
- category: categoryKeys.minimized,
1698
+ minimizedWindowStarted: {
1699
+ category: categoryKeys.minimizedWindow,
1815
1700
  headingText: 'Started minimized',
1816
1701
  description: '',
1817
1702
  window: {
@@ -1825,8 +1710,8 @@ export const getStateObj = (layoutModes, customComponentEventBodies) => ({
1825
1710
  headerTitles,
1826
1711
  },
1827
1712
  },
1828
- minimizedStartedUnread: {
1829
- category: categoryKeys.minimized,
1713
+ minimizedWindowStartedUnread: {
1714
+ category: categoryKeys.minimizedWindow,
1830
1715
  headingText: 'Minimized with unread messages',
1831
1716
  description: '',
1832
1717
  window: {
@@ -1841,6 +1726,26 @@ export const getStateObj = (layoutModes, customComponentEventBodies) => ({
1841
1726
  unreadEvents: 12,
1842
1727
  },
1843
1728
  },
1729
+ minimizedWindowPrechat: {
1730
+ category: categoryKeys.minimizedWindow,
1731
+ headingText: 'Minimized with pre-chat messages',
1732
+ description: '',
1733
+ window: {
1734
+ ...baseState,
1735
+ config: {
1736
+ ...baseState.config,
1737
+ layoutMode: 'window',
1738
+ preChatEvents: [splashMessage],
1739
+ },
1740
+ visibility: {
1741
+ ...baseState.visibility,
1742
+ visibility: visibilityStates.minimized,
1743
+ },
1744
+ participantInfo,
1745
+ headerTitles,
1746
+ },
1747
+ },
1844
1748
  }
1845
1749
  : {}),
1750
+ ...inlineInterface,
1846
1751
  })