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

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 (184) hide show
  1. package/build/dist/lib/components.js +2 -1
  2. package/build/dist/lib/components.min.js +1 -1
  3. package/build/dist/lib/index.debug.js +188 -111
  4. package/build/dist/lib/index.debug.min.js +1 -1
  5. package/build/dist/lib/index.debug.min.js.LICENSE.txt +48 -20
  6. package/build/dist/lib/index.js +11764 -11970
  7. package/build/dist/lib/index.min.js +1 -1
  8. package/build/dist/lib/index.min.js.LICENSE.txt +0 -5
  9. package/build/dist/lib/standalone.js +7131 -7333
  10. package/build/dist/lib/standalone.min.js +1 -1
  11. package/build/dist/lib/standalone.min.js.LICENSE.txt +0 -5
  12. package/build/dist/lib/style-guide.js +2117 -2007
  13. package/build/dist/lib/style-guide.min.js +1 -1
  14. package/build/dist/lib/styles.css +1 -1
  15. package/package.json +1 -2
  16. package/src/.DS_Store +0 -0
  17. package/src/icons/icon_file-32.svg +1 -1
  18. package/src/javascripts/api/index.js +48 -37
  19. package/src/javascripts/config.js +1 -5
  20. package/src/javascripts/domains/app/actions.js +22 -5
  21. package/src/javascripts/domains/config/actions.js +3 -0
  22. package/src/javascripts/domains/config/reducer.js +9 -0
  23. package/src/javascripts/domains/forms/hooks.js +3 -1
  24. package/src/javascripts/domains/forms/provider.js +12 -0
  25. package/src/javascripts/domains/forms/reducer.js +2 -0
  26. package/src/javascripts/domains/i18n/hooks.js +2 -1
  27. package/src/javascripts/domains/i18n/reducer.js +2 -0
  28. package/src/javascripts/domains/interrupt/reducer.js +2 -2
  29. package/src/javascripts/domains/options/middleware.js +15 -31
  30. package/src/javascripts/domains/store/index.js +2 -1
  31. package/src/javascripts/domains/store/state-reducer.js +3 -8
  32. package/src/javascripts/domains/translations/components/options-dialog/form.js +1 -1
  33. package/src/javascripts/domains/translations/components/options-dialog/index.js +15 -1
  34. package/src/javascripts/domains/translations/reducer.js +2 -0
  35. package/src/javascripts/domains/visibility/actions.js +1 -1
  36. package/src/javascripts/domains/visibility/hooks.js +10 -8
  37. package/src/javascripts/domains/visibility/utils.js +1 -2
  38. package/src/javascripts/index.js +7 -2
  39. package/src/javascripts/lib/css.js +7 -1
  40. package/src/javascripts/lib/engine/index.js +4 -3
  41. package/src/javascripts/lib/external-api/index.js +38 -29
  42. package/src/javascripts/package/components.js +2 -1
  43. package/src/javascripts/style-guide/components/app.js +4 -4
  44. package/src/javascripts/style-guide/components/static-core.js +9 -3
  45. package/src/javascripts/style-guide/components/view.js +0 -1
  46. package/src/javascripts/style-guide/states.js +468 -348
  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/deprecated-app-frame.js +86 -0
  68. package/src/javascripts/ui/components/layout/modal-wrapper.js +0 -80
  69. package/src/javascripts/ui/components/layout/pre-chat-messages.js +45 -0
  70. package/src/javascripts/ui/components/options/options-frame.js +9 -4
  71. package/src/javascripts/ui/components/options/options.js +1 -4
  72. package/src/javascripts/ui/components/options/transcript/index.js +15 -1
  73. package/src/javascripts/ui/components/options/transcript/transcript-form.js +1 -1
  74. package/src/javascripts/ui/components/suggestions/index.js +174 -0
  75. package/src/javascripts/ui/components/suggestions/suggestions-item.js +40 -0
  76. package/src/javascripts/ui/components/suggestions/suggestions-list.js +24 -0
  77. package/src/javascripts/ui/components/view/app-view.js +21 -0
  78. package/src/javascripts/ui/components/view/deprecated-view.js +32 -0
  79. package/src/javascripts/ui/components/view/index.js +27 -0
  80. package/src/javascripts/ui/components/view/inline-view.js +45 -0
  81. package/src/javascripts/ui/components/view/window-view/collapse-button.js +20 -0
  82. package/src/javascripts/ui/components/view/window-view/index.js +82 -0
  83. package/src/javascripts/ui/components/view/window-view/window-open-button.js +68 -0
  84. package/src/javascripts/ui/components/widgets/lightbox.js +7 -2
  85. package/src/javascripts/ui/hooks/component-helper-hooks.js +0 -9
  86. package/src/javascripts/ui/hooks/seamly-hooks.js +0 -1
  87. package/src/javascripts/ui/hooks/seamly-state-hooks.js +28 -4
  88. package/src/javascripts/ui/hooks/use-seamly-chat.js +12 -3
  89. package/src/javascripts/ui/hooks/use-seamly-commands.js +4 -31
  90. package/src/javascripts/ui/utils/seamly-utils.js +2 -14
  91. package/src/stylesheets/1-settings/_animations.scss +0 -6
  92. package/src/stylesheets/1-settings/_config.scss +34 -35
  93. package/src/stylesheets/2-tools/_functions.scss +0 -5
  94. package/src/stylesheets/2-tools/_mixins.scss +4 -16
  95. package/src/stylesheets/3-app/_app.scss +78 -135
  96. package/src/stylesheets/4-base/_a11y.scss +0 -3
  97. package/src/stylesheets/4-base/_elements.scss +0 -11
  98. package/src/stylesheets/4-base/_formelements.scss +4 -14
  99. package/src/stylesheets/5-components/_avatar.scss +2 -44
  100. package/src/stylesheets/5-components/_buttons.scss +6 -45
  101. package/src/stylesheets/5-components/_chat-status.scss +14 -38
  102. package/src/stylesheets/5-components/_choice-prompt.scss +33 -2
  103. package/src/stylesheets/5-components/_collapse-button.scss +16 -0
  104. package/src/stylesheets/5-components/_conversation.scss +26 -2
  105. package/src/stylesheets/5-components/_disclaimer.scss +10 -12
  106. package/src/stylesheets/5-components/_divider.scss +7 -4
  107. package/src/stylesheets/5-components/_error.scss +19 -9
  108. package/src/stylesheets/5-components/_form.scss +9 -0
  109. package/src/stylesheets/5-components/_icon.scss +10 -1
  110. package/src/stylesheets/5-components/_idle.scss +0 -8
  111. package/src/stylesheets/5-components/_input.scss +14 -20
  112. package/src/stylesheets/5-components/_interrupt.scss +0 -2
  113. package/src/stylesheets/5-components/_loader.scss +0 -32
  114. package/src/stylesheets/5-components/_message-author.scss +40 -0
  115. package/src/stylesheets/5-components/_message-body.scss +194 -0
  116. package/src/stylesheets/5-components/_message-card.scss +55 -0
  117. package/src/stylesheets/5-components/_message-carousel.scss +143 -0
  118. package/src/stylesheets/5-components/_message-count.scss +11 -28
  119. package/src/stylesheets/5-components/_message-cta.scss +23 -0
  120. package/src/stylesheets/5-components/_message-info.scss +11 -0
  121. package/src/stylesheets/5-components/_message-translation-info.scss +17 -0
  122. package/src/stylesheets/5-components/_message.scss +13 -364
  123. package/src/stylesheets/5-components/_modal.scss +28 -58
  124. package/src/stylesheets/5-components/_notification.scss +0 -5
  125. package/src/stylesheets/5-components/_options.scss +27 -42
  126. package/src/stylesheets/5-components/_pre-chat-messages.scss +30 -0
  127. package/src/stylesheets/5-components/_prompt.scss +0 -8
  128. package/src/stylesheets/5-components/_skip-link.scss +3 -3
  129. package/src/stylesheets/5-components/_suggestions.scss +96 -0
  130. package/src/stylesheets/5-components/_unstarted.scss +50 -0
  131. package/src/stylesheets/5-components/_upload.scss +26 -28
  132. package/src/stylesheets/5-components/_window-open-button.scss +39 -0
  133. package/src/stylesheets/6-webui-only/_hover.scss +151 -0
  134. package/src/stylesheets/6-webui-only/_scrollbar.scss +31 -0
  135. package/src/stylesheets/7-deprecated/1-settings/_animations.scss +43 -0
  136. package/src/stylesheets/7-deprecated/1-settings/_config.scss +105 -0
  137. package/src/stylesheets/7-deprecated/2-tools/_functions.scss +22 -0
  138. package/src/stylesheets/7-deprecated/2-tools/_mixins.scss +77 -0
  139. package/src/stylesheets/7-deprecated/3-app/_app.scss +214 -0
  140. package/src/stylesheets/7-deprecated/4-base/_a11y.scss +14 -0
  141. package/src/stylesheets/7-deprecated/4-base/_elements.scss +21 -0
  142. package/src/stylesheets/7-deprecated/4-base/_formelements.scss +57 -0
  143. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_agent-info.scss +0 -0
  144. package/src/stylesheets/7-deprecated/5-components/_avatar.scss +64 -0
  145. package/src/stylesheets/7-deprecated/5-components/_buttons.scss +94 -0
  146. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_card.scss +0 -0
  147. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_carousel.scss +0 -0
  148. package/src/stylesheets/7-deprecated/5-components/_character-limit.scss +36 -0
  149. package/src/stylesheets/{5-components/_cobrowsing.scss → 7-deprecated/5-components/_chat-status.scss} +18 -16
  150. package/src/stylesheets/7-deprecated/5-components/_choice-prompt.scss +27 -0
  151. package/src/stylesheets/7-deprecated/5-components/_collapse-button.scss +17 -0
  152. package/src/stylesheets/7-deprecated/5-components/_conversation.scss +44 -0
  153. package/src/stylesheets/7-deprecated/5-components/_disclaimer.scss +36 -0
  154. package/src/stylesheets/7-deprecated/5-components/_divider.scss +91 -0
  155. package/src/stylesheets/7-deprecated/5-components/_error.scss +34 -0
  156. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_faq.scss +8 -3
  157. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_header-controls.scss +0 -0
  158. package/src/stylesheets/7-deprecated/5-components/_icon.scss +4 -0
  159. package/src/stylesheets/7-deprecated/5-components/_idle.scss +61 -0
  160. package/src/stylesheets/7-deprecated/5-components/_input.scss +78 -0
  161. package/src/stylesheets/7-deprecated/5-components/_interrupt.scss +35 -0
  162. package/src/stylesheets/7-deprecated/5-components/_loader.scss +78 -0
  163. package/src/stylesheets/7-deprecated/5-components/_message-count.scss +41 -0
  164. package/src/stylesheets/7-deprecated/5-components/_message.scss +385 -0
  165. package/src/stylesheets/7-deprecated/5-components/_modal.scss +138 -0
  166. package/src/stylesheets/7-deprecated/5-components/_notification.scss +20 -0
  167. package/src/stylesheets/7-deprecated/5-components/_options.scss +284 -0
  168. package/src/stylesheets/7-deprecated/5-components/_prompt.scss +44 -0
  169. package/src/stylesheets/7-deprecated/5-components/_skip-link.scss +21 -0
  170. package/src/stylesheets/{5-components → 7-deprecated/5-components}/_svg-graphic.scss +0 -0
  171. package/src/stylesheets/7-deprecated/5-components/_upload.scss +213 -0
  172. package/src/stylesheets/deprecated-view.scss +64 -0
  173. package/src/stylesheets/styles-webui-only.scss +3 -0
  174. package/src/stylesheets/styles.scss +15 -25
  175. package/webpack/config.common.js +7 -1
  176. package/webpack/config.site.js +4 -0
  177. package/webpack/config.test.js +1 -0
  178. package/webpack/defaults.js +5 -0
  179. package/src/javascripts/ui/components/conversation/event/hooks/use-text-rendering.js +0 -35
  180. package/src/javascripts/ui/components/layout/view.js +0 -36
  181. package/src/javascripts/ui/components/options/cobrowsing.js +0 -110
  182. package/src/javascripts/ui/components/warnings/cobrowsing-active-frame.js +0 -29
  183. package/src/javascripts/ui/components/warnings/cobrowsing-active.js +0 -33
  184. package/src/stylesheets/5-components/_modal_mode.scss +0 -108
@@ -1,23 +1,21 @@
1
- // ##### DISCLAIMER #####
2
- // ==================
3
-
4
- // VARS
5
- // ----
6
-
7
- $small-shadow-light: 0 $spacer * 0.2 $spacer * 0.3333 0 rgba(0, 0, 0, 0.1);
8
-
9
- // BASE
10
- // ----
11
-
12
1
  .#{$n}-disclaimer {
13
2
  display: block;
14
3
  flex: 0 0 auto;
15
4
  width: 100%;
16
5
  height: auto;
17
- padding: $spacer * 0.5 $spacer;
6
+ padding: $spacer;
18
7
  background-color: $grey-a;
19
8
  }
20
9
 
10
+ &.#{$n}-app--layout-window .#{$n}-disclaimer {
11
+ padding-right: $buttonsize + $spacer * 2;
12
+ }
13
+
14
+ .#{$n}-chat-status ~ .#{$n}-app__container .#{$n}-disclaimer {
15
+ margin-top: $buttonsize + $spacer * 2;
16
+ padding: $spacer * 0.5 $spacer;
17
+ }
18
+
21
19
  &.#{$n}-app--collapsed .#{$n}-disclaimer {
22
20
  display: none;
23
21
  }
@@ -8,8 +8,6 @@
8
8
  background: linear-gradient(180deg, $white 0%, $grey-a 100%);
9
9
  background-repeat: no-repeat;
10
10
  background-size: 100% 2 * $spacer;
11
- font-family: $fontfamily-default;
12
- font-size: $fontsize-small;
13
11
  line-height: 1.5;
14
12
 
15
13
  &::before {
@@ -48,8 +46,8 @@
48
46
  position: absolute;
49
47
  top: 2 * $spacer;
50
48
  left: 50%;
51
- width: $badge-touch-size;
52
- height: $badge-touch-size;
49
+ width: $dividersize;
50
+ height: $dividersize;
53
51
  transform: translate(-50%, -60%);
54
52
  border-radius: $borderradius-small;
55
53
  background: $white;
@@ -62,6 +60,11 @@
62
60
  height: 100%;
63
61
  }
64
62
 
63
+ .#{$n}-divider__body {
64
+ font-size: $fontsize-small;
65
+ text-align: center;
66
+ }
67
+
65
68
  .#{$n}-divider__time {
66
69
  text-align: center;
67
70
  }
@@ -4,16 +4,14 @@
4
4
  // BASE
5
5
  // ----
6
6
  .#{$n}-error {
7
- display: flex;
8
- align-items: flex-start;
7
+ display: block;
9
8
  width: 100%;
10
- margin: 0 0 $spacer * 0.5;
11
- padding: $spacer * 0.25 $spacer * 0.5;
12
- border-radius: $borderradius-small;
13
- background-color: rgba($negative, 0.1);
14
- color: $negative-dark;
15
- font-size: $fontsize-small;
16
- font-weight: $fontweight-bold;
9
+ margin: 0 0 $spacer * 0.25;
10
+
11
+ &:empty {
12
+ display: none;
13
+ margin: 0;
14
+ }
17
15
 
18
16
  .#{$n}-icon {
19
17
  flex: 0 0 16px;
@@ -21,4 +19,16 @@
21
19
  height: 16px;
22
20
  margin-right: $spacer * 0.25;
23
21
  }
22
+
23
+ .#{$n}-error__message {
24
+ display: flex;
25
+ align-items: flex-start;
26
+ width: 100%;
27
+ padding: $spacer * 0.25 $spacer * 0.5;
28
+ border-radius: $borderradius-small;
29
+ background-color: rgba($negative, 0.1);
30
+ color: $negative-dark;
31
+ font-size: $fontsize-small;
32
+ font-weight: $fontweight-bold;
33
+ }
24
34
  }
@@ -0,0 +1,9 @@
1
+ // ##### FORM #####
2
+ // ========================
3
+
4
+ .#{$n}-form {
5
+ display: flex;
6
+ flex: 1 1 100%;
7
+ width: 100%;
8
+ height: 100%;
9
+ }
@@ -1,4 +1,13 @@
1
1
  .#{$n}-icon {
2
- display: inline-block;
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ width: $iconsize-large;
6
+ height: $iconsize-large;
3
7
  line-height: 1;
4
8
  }
9
+
10
+ .#{$n}-icon svg {
11
+ width: 100%;
12
+ height: 100%;
13
+ }
@@ -1,8 +1,3 @@
1
- // ##### IDLE #####
2
- // ========================
3
-
4
- // BASE
5
- // ----
6
1
  .#{$n}-idle {
7
2
  display: flex;
8
3
  flex-direction: column;
@@ -12,9 +7,6 @@
12
7
  padding: $spacer * 0.5;
13
8
  }
14
9
 
15
- // PARTS
16
- // -----------
17
-
18
10
  .#{$n}-idle__title {
19
11
  margin-top: 0;
20
12
  margin-bottom: $spacer * 0.25;
@@ -1,8 +1,3 @@
1
- // ##### INPUT #####
2
- // ========================
3
-
4
- // BASE
5
- // ----
6
1
  .#{$n}-input {
7
2
  display: flex;
8
3
  flex: 1 1 100%;
@@ -10,8 +5,6 @@
10
5
  height: 100%;
11
6
  }
12
7
 
13
- // PARTS
14
- // -----
15
8
  .#{$n}-input--text__container {
16
9
  display: flex;
17
10
  position: relative;
@@ -23,21 +16,15 @@
23
16
  .#{$n}-input__text {
24
17
  appearance: none;
25
18
  flex-grow: 4;
26
- height: 100%;
19
+ height: $buttonsize;
27
20
  margin-right: $spacer * 0.25;
28
21
  padding: $spacer * 0.5;
29
22
  transition: padding $transition;
30
23
  border: $thin-border solid transparent;
31
24
  border-radius: $borderradius-small;
32
25
  color: $grey-e;
33
- font-size: $fontsize-small;
26
+ font-size: $fontsize-default;
34
27
  resize: none;
35
- // iOS will zoom in on focus if font-size below 16px, and not go back.
36
- // User has to pinch to zoom out; bad UX.
37
- // Do not change this:
38
- @supports (-webkit-overflow-scrolling: touch) {
39
- font-size: 16px;
40
- }
41
28
 
42
29
  @include stylePlaceholder() {
43
30
  overflow: visible;
@@ -62,17 +49,24 @@
62
49
 
63
50
  .#{$n}-input__submit {
64
51
  display: flex;
52
+ flex: 0 0 $buttonsize;
65
53
  align-items: center;
66
54
  justify-content: center;
55
+ width: $buttonsize;
56
+ height: $buttonsize;
67
57
  padding: 0;
58
+ border-radius: $borderradius-small;
68
59
 
69
60
  &:disabled {
70
- opacity: 0.5;
71
61
  cursor: auto;
72
62
  }
63
+ }
73
64
 
74
- .#{$n}-icon {
75
- width: $badge-touch-size;
76
- height: $badge-touch-size;
77
- }
65
+ .#{$n}-input__submit .#{$n}-icon path {
66
+ transition: fill $transition;
67
+ fill: $interaction;
68
+ }
69
+
70
+ .#{$n}-input__submit:disabled .#{$n}-icon path {
71
+ fill: $grey-c;
78
72
  }
@@ -16,8 +16,6 @@
16
16
  justify-content: center;
17
17
  margin: $spacer * 0.5;
18
18
  padding: $spacer * 2;
19
- border: $thin-border solid $grey-b;
20
- border-radius: $borderradius;
21
19
  }
22
20
 
23
21
  .#{$n}-interrupt__title {
@@ -1,14 +1,6 @@
1
- // ##### LOADER #####
2
- // ==================
3
-
4
- // VARS
5
-
6
1
  $loader-animation-duration: 0.6s;
7
2
  $loader-quarter-duration: $loader-animation-duration * 0.2;
8
3
 
9
- // BASE
10
- // ----
11
-
12
4
  .#{$n}-loader {
13
5
  display: flex;
14
6
  flex-direction: row;
@@ -19,11 +11,6 @@ $loader-quarter-duration: $loader-animation-duration * 0.2;
19
11
  animation: #{$app-name}-fadeIn $loader-animation-duration * 0.5 linear;
20
12
  }
21
13
 
22
- // PARTS
23
- // -----
24
-
25
- // PART
26
-
27
14
  .#{$n}-loader__part {
28
15
  display: inline-block;
29
16
  width: $spacer * 0.3333;
@@ -57,22 +44,3 @@ $loader-quarter-duration: $loader-animation-duration * 0.2;
57
44
  animation-delay: $loader-quarter-duration * 4;
58
45
  }
59
46
  }
60
-
61
- // VARIATIONS
62
- // ----------
63
-
64
- // WHITE
65
-
66
- .#{$n}-loader--white {
67
- .#{$n}-loader__part {
68
- background-color: $white;
69
- }
70
- }
71
-
72
- // GREY
73
-
74
- .#{$n}-loader--grey {
75
- .#{$n}-loader__part {
76
- background-color: $grey-b;
77
- }
78
- }
@@ -0,0 +1,40 @@
1
+ .#{$n}-message__author {
2
+ display: none;
3
+ flex-direction: row;
4
+ align-items: center;
5
+ justify-content: flex-start;
6
+ width: 100%;
7
+ margin-bottom: 0.3rem;
8
+ padding: 0 $spacer * 0.5;
9
+ font-weight: $fontweight-bold;
10
+ }
11
+
12
+ .#{$n}-message--source-user .#{$n}-message__author {
13
+ justify-content: flex-end;
14
+ }
15
+
16
+ .#{$n}-message__avatar {
17
+ width: $avatarsize * 0.5;
18
+ height: $avatarsize * 0.5;
19
+ margin: 0 0.5em 0 0;
20
+
21
+ .#{$n}-avatar {
22
+ display: block;
23
+ width: 100%;
24
+ height: 100%;
25
+ object-fit: contain;
26
+ }
27
+ }
28
+
29
+ .#{$n}-conversation__item--new-participant .#{$n}-message__author {
30
+ display: flex;
31
+ }
32
+
33
+ .#{$n}-message--source-user .#{$n}-message__avatar {
34
+ order: 2;
35
+ margin: 0 0 0 $spacer * 0.5;
36
+ }
37
+
38
+ .#{$n}-message--source-user .#{$n}-message__author-name {
39
+ order: 1;
40
+ }
@@ -0,0 +1,194 @@
1
+ .#{$n}-message__body {
2
+ display: block;
3
+ position: relative;
4
+ max-width: 100%;
5
+ margin-bottom: $spacer * 0.25;
6
+ padding: $spacer * 0.5 $spacer * 0.75;
7
+ border-radius: $borderradius;
8
+ background-color: $threadlist-agent-text-bgcolor;
9
+ color: set-text-color($threadlist-agent-text-bgcolor);
10
+
11
+ .#{$n}-icon svg path {
12
+ fill: set-text-color($threadlist-agent-text-bgcolor);
13
+ }
14
+
15
+ &:last-child {
16
+ margin-bottom: 0;
17
+ }
18
+ }
19
+
20
+ .#{$n}-conversation__item--source-info .#{$n}-message__body {
21
+ flex: 0 0 100%;
22
+ width: 100%;
23
+ padding: 0 $spacer * 0.75 $spacer * 0.5;
24
+ border-radius: 0;
25
+ background-color: initial;
26
+ text-align: center;
27
+ }
28
+
29
+ .#{$n}-message--source-user .#{$n}-message__body {
30
+ background-color: $threadlist-user-text-bgcolor;
31
+ color: set-text-color($threadlist-user-text-bgcolor);
32
+
33
+ .#{$n}-icon svg path {
34
+ fill: set-text-color($threadlist-user-text-bgcolor);
35
+ }
36
+ }
37
+
38
+ // Splash
39
+ .#{$n}-message--type-splash .#{$n}-message__body {
40
+ padding: 0;
41
+ border-radius: 0;
42
+ background-color: initial;
43
+ font-size: $fontsize-xxlarge;
44
+ font-weight: $fontweight-bold;
45
+ }
46
+
47
+ // Suggestions
48
+ .#{$n}-message--type-suggestions .#{$n}-message__body {
49
+ width: 100%;
50
+ padding: 0;
51
+ background-color: initial;
52
+ }
53
+
54
+ // Text
55
+ .#{$n}-message--type-text .#{$n}-message__body,
56
+ .#{$n}-message--type-splash .#{$n}-message__body {
57
+ p,
58
+ ul,
59
+ ol {
60
+ margin: 0 0 $spacer 0;
61
+ }
62
+
63
+ p:last-child,
64
+ ul:last-child,
65
+ ol:last-child {
66
+ margin: 0;
67
+ }
68
+
69
+ ul {
70
+ padding-left: 1.5em;
71
+ }
72
+
73
+ ul li {
74
+ list-style-type: disc;
75
+ }
76
+
77
+ a {
78
+ color: $interaction;
79
+ overflow-wrap: break-word;
80
+ word-break: break-word;
81
+ hyphens: auto;
82
+ }
83
+ }
84
+
85
+ .cvco-message--source-user .#{$n}-message__body a {
86
+ color: $white;
87
+ }
88
+
89
+ // Loading
90
+ .#{$n}-message--type-loading .#{$n}-message__body {
91
+ align-self: flex-start;
92
+ }
93
+
94
+ // Choice Prompt
95
+ .#{$n}-message--type-choice-prompt .#{$n}-message__body {
96
+ width: 100%;
97
+ padding: 0;
98
+ background-color: initial;
99
+ }
100
+
101
+ // Image
102
+ .#{$n}-message--type-image .#{$n}-message__body {
103
+ padding: 0;
104
+ }
105
+
106
+ .#{$n}-message--type-image img {
107
+ display: block;
108
+ width: 100%;
109
+ height: auto;
110
+ overflow: hidden;
111
+ border-radius: $borderradius;
112
+ }
113
+
114
+ // Video
115
+ .#{$n}-message--type-video .#{$n}-message__body {
116
+ width: 100%;
117
+ padding: 0;
118
+ background-color: $black;
119
+ }
120
+
121
+ .#{$n}-message--type-video iframe {
122
+ display: block;
123
+ width: 100%;
124
+ aspect-ratio: 6 / 4;
125
+ border: 0 none;
126
+ border-radius: $borderradius;
127
+ }
128
+
129
+ // Download
130
+ .#{$n}-message--type-upload {
131
+ .#{$n}-download {
132
+ display: flex;
133
+ align-items: center;
134
+ width: 100%;
135
+ }
136
+
137
+ a {
138
+ color: inherit;
139
+ text-align: left;
140
+ word-break: break-all;
141
+ }
142
+
143
+ .#{$n}-icon {
144
+ flex: 0 0 $iconsize-small;
145
+ width: $iconsize-small;
146
+ height: $iconsize-small;
147
+ margin-right: $spacer * 0.5;
148
+ }
149
+
150
+ .#{$n}-icon svg {
151
+ width: 100%;
152
+ height: 100%;
153
+ }
154
+ }
155
+
156
+ .#{$n}-conversation__item--source-agent .#{$n}-message--type-upload {
157
+ .#{$n}-icon path {
158
+ fill: $interaction;
159
+ }
160
+
161
+ a {
162
+ color: $interaction;
163
+ }
164
+ }
165
+
166
+ .#{$n}-message .#{$n}-message__info {
167
+ margin-top: $spacer * 0.2;
168
+ color: $grey-d;
169
+ font-size: $fontsize-small;
170
+ line-height: 1.35;
171
+ }
172
+
173
+ // CTA
174
+ .#{$n}-message--type-cta .#{$n}-message__body {
175
+ display: flex;
176
+ flex-direction: column;
177
+ width: 100%;
178
+ padding: $spacer * 0.5 $spacer * 0.75 $spacer * 0.75;
179
+ background-color: $brand2;
180
+ }
181
+
182
+ // Cards
183
+ .#{$n}-message--type-card .#{$n}-message__body {
184
+ display: flex;
185
+ flex-direction: column;
186
+ width: 100%;
187
+ padding: 0;
188
+ }
189
+
190
+ // Carousel
191
+ .#{$n}-message--type-carousel .#{$n}-message__body {
192
+ display: block;
193
+ padding: 0;
194
+ }
@@ -0,0 +1,55 @@
1
+ .#{$n}-card__wrapper {
2
+ display: flex;
3
+ flex-direction: column;
4
+ height: 100%;
5
+ }
6
+
7
+ .#{$n}-card__image {
8
+ flex: 0 0 auto;
9
+ width: 100%;
10
+ height: $spacer * 8;
11
+ object-fit: cover;
12
+ object-position: center;
13
+ overflow: hidden;
14
+ border-top-left-radius: $borderradius;
15
+ border-top-right-radius: $borderradius;
16
+ }
17
+
18
+ .#{$n}-card__content {
19
+ display: flex;
20
+ flex: 1 1 auto;
21
+ flex-wrap: wrap;
22
+ padding: $spacer * 0.5 $spacer * 0.75 $spacer * 0.75;
23
+ }
24
+
25
+ .#{$n}-card__title {
26
+ display: block;
27
+ flex: 0 0 100%;
28
+ width: 100%;
29
+ margin: 0 0 $spacer * 0.25;
30
+ padding: 0;
31
+ font-size: $fontsize-default;
32
+ font-weight: $fontweight-bold;
33
+
34
+ &:last-child {
35
+ margin-bottom: 0;
36
+ }
37
+ }
38
+
39
+ .#{$n}-card__description {
40
+ display: block;
41
+ width: 100%;
42
+ margin-bottom: $spacer;
43
+
44
+ &:last-child {
45
+ margin-bottom: 0;
46
+ }
47
+ }
48
+
49
+ .#{$n}-card__content .#{$n}-button {
50
+ display: block;
51
+ align-self: flex-end;
52
+ width: 100%;
53
+ font-weight: $fontweight-bold;
54
+ text-decoration: none;
55
+ }
@@ -0,0 +1,143 @@
1
+ .#{$n}-carousel {
2
+ position: relative;
3
+ }
4
+
5
+ .#{$n}-carousel__slides-wrapper {
6
+ display: block;
7
+ width: 100%;
8
+ overflow: hidden;
9
+ }
10
+
11
+ .#{$n}-carousel__slides {
12
+ display: flex;
13
+ position: relative;
14
+ flex-direction: row;
15
+ padding: 0;
16
+ transition: left $transition;
17
+ list-style: none;
18
+ }
19
+
20
+ .#{$n}-carousel__slide {
21
+ display: block;
22
+ width: 100%;
23
+ padding: 0;
24
+ list-style: none;
25
+ }
26
+
27
+ .#{$n}-carousel-item {
28
+ display: flex;
29
+ flex-direction: column;
30
+ width: 100%;
31
+ height: 100%;
32
+ }
33
+
34
+ /* stylelint-disable no-descending-specificity */
35
+ .#{$n}-carousel-item .#{$n}-button {
36
+ display: block;
37
+ width: 100%;
38
+ }
39
+ /* stylelint-enable */
40
+
41
+ .#{$n}-carousel-controls {
42
+ display: flex;
43
+ position: relative;
44
+ justify-content: space-between;
45
+ width: 100%;
46
+ height: fit-content;
47
+ padding: 0;
48
+ border-top: 1px solid $grey-b;
49
+ }
50
+
51
+ /* stylelint-disable no-descending-specificity */
52
+ .#{$n}-carousel-controls .#{$n}-button {
53
+ display: flex;
54
+ align-items: center;
55
+ justify-content: center;
56
+ width: $buttonsize;
57
+ height: $buttonsize;
58
+ background-color: initial;
59
+ color: transparent;
60
+ font-size: 0;
61
+ }
62
+
63
+ .#{$n}-carousel-controls .#{$n}-button--previous {
64
+ left: 0;
65
+ }
66
+
67
+ .#{$n}-carousel-controls .#{$n}-button--next {
68
+ right: 0;
69
+ }
70
+
71
+ .#{$n}-carousel__controls .#{$n}-button .#{$n}-icon {
72
+ display: block;
73
+ width: $iconsize-small;
74
+ height: $iconsize-small;
75
+ padding: 0;
76
+ border: 0;
77
+ }
78
+
79
+ .#{$n}-carousel__controls .#{$n}-button .#{$n}-icon svg path {
80
+ fill: $interaction;
81
+ }
82
+ /* stylelint-enable */
83
+
84
+ .#{$n}-carousel__pagination {
85
+ display: flex;
86
+ position: relative;
87
+ align-items: center;
88
+ justify-content: center;
89
+ padding: 0 $spacer * 0.5;
90
+ }
91
+
92
+ .#{$n}-carousel-pagination {
93
+ display: flex;
94
+ position: relative;
95
+ flex-direction: row;
96
+ justify-content: center;
97
+ width: 100%;
98
+ margin: 0 auto;
99
+ padding: 0;
100
+ }
101
+
102
+ .#{$n}-carousel-pagination__wrapper {
103
+ display: flex;
104
+ position: relative;
105
+ flex-direction: row;
106
+ justify-content: center;
107
+ }
108
+
109
+ .#{$n}-carousel-pagination__item {
110
+ display: block;
111
+ list-style: none;
112
+ }
113
+
114
+ .#{$n}-carousel-pagination__button {
115
+ display: block;
116
+ position: relative;
117
+ width: $buttonsize-small;
118
+ height: $buttonsize-small;
119
+ padding: 0;
120
+ border: 0;
121
+ border-radius: 0;
122
+ background-color: initial;
123
+
124
+ &::before {
125
+ content: '';
126
+ display: block;
127
+ position: absolute;
128
+ top: 50%;
129
+ left: 50%;
130
+ width: $iconsize-small * 0.6;
131
+ height: $iconsize-small * 0.6;
132
+ transform: translate(-50%, -50%);
133
+ transform-origin: 50% 50%;
134
+ border-radius: 50% 50%;
135
+ background-color: $grey-c;
136
+ }
137
+ }
138
+
139
+ .#{$n}-is-active .#{$n}-carousel-pagination__button {
140
+ &::before {
141
+ background-color: $brand1;
142
+ }
143
+ }