@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,178 +1,127 @@
1
- // See settings/_config.scss for vars
2
- $app-parts-padding: $spacer * 0.5;
3
- $app-header-bgcolor: $brand3;
4
-
5
1
  .#{$n}-app {
6
- @include responsiveAppSizing();
7
2
  @include boxSizing;
8
3
 
9
4
  display: flex;
10
- position: fixed;
11
- z-index: $z-index;
12
- right: $flex-spacer;
13
- bottom: $flex-spacer;
14
5
  flex-direction: column;
15
- width: $app-started-width;
16
- height: $app-full-height;
17
- overflow: hidden;
18
- transition: height $transition-slow, width $transition-slow;
19
- border: $thin-border solid set-border-color($app-bg);
20
- border-radius: $borderradius;
6
+ transform-origin: 100% 100%;
7
+ transition: margin $transition, height $transition, transform $transition,
8
+ opacity $transition;
21
9
  outline: 0;
22
- background-color: $app-bg;
23
- box-shadow: $boxshadow-ultralight;
24
10
  color: set-text-color($app-bg);
25
11
  font-family: $fontfamily-default;
26
- font-size: $fontsize-default;
12
+ font-size: $fontsize-small;
27
13
  }
28
14
 
29
15
  .#{$n}-app--layout-inline {
30
- position: relative;
31
- right: auto;
32
- bottom: auto;
33
- width: auto;
34
- height: 90vh;
35
- min-height: $app-inline-min-height;
36
- max-height: $app-inline-max-height;
37
- transition: height $transition, width $transition;
16
+ height: fit-content;
38
17
  background-color: initial;
39
18
  box-shadow: none;
40
19
 
41
20
  @include media('>phablet-l') {
42
- display: block;
43
- border: 0 none;
21
+ flex-direction: row;
44
22
  }
45
23
  }
46
24
 
47
- .#{$n}-app--collapsed {
48
- width: $app-initial-width;
49
- height: $app-collapsed-height;
50
- border: 0;
51
- background: none;
52
- box-shadow: none;
25
+ .#{$n}-app--layout-inline.#{$n}-app--collapsed .#{$n}-app-wrapper {
26
+ height: auto;
53
27
  }
54
28
 
55
- .#{$n}-app--collapsed.#{$n}-app--started {
56
- width: $app-started-width;
29
+ .#{$n}-app--layout-inline.#{$n}-app--user-responded {
30
+ transition: none;
57
31
  }
58
32
 
59
- .#{$n}-app-wrapper {
60
- display: flex;
61
- position: relative;
62
- z-index: 1;
63
- flex: 1 1 100%;
64
- flex-direction: column;
65
- width: 100%;
66
- transition: width $transition, margin-right $transition,
67
- border-radius $transition;
68
- background-color: $app-bg;
33
+ .#{$n}-app--layout-inline.#{$n}-app--user-responded .#{$n}-app-wrapper {
34
+ transition: none;
69
35
  }
70
36
 
71
- .#{$n}-app--layout-inline .#{$n}-app-wrapper {
72
- @include media('>phablet-l') {
73
- width: 50%;
74
- height: 100%;
75
- margin-right: 50%;
76
- border: $thin-border solid set-border-color($app-bg);
77
- border-top-left-radius: $borderradius;
78
- border-bottom-left-radius: $borderradius;
79
-
80
- &:last-child {
81
- width: 100%;
82
- margin-right: 0;
83
- border-radius: $borderradius;
84
- }
85
- }
86
-
87
- @include media('>desktop') {
88
- width: 67%;
89
- margin-right: 33%;
37
+ .#{$n}-app--layout-window {
38
+ @include responsiveAppSizing();
90
39
 
91
- &:last-child {
92
- width: 67%;
93
- margin-right: 33%;
94
- }
95
- }
40
+ display: none;
41
+ position: fixed;
42
+ z-index: $z-index;
43
+ right: $spacer;
44
+ bottom: $spacer;
45
+ width: $app-window-width;
46
+ max-width: calc(100% - #{$spacer * 2});
47
+ height: $app-window-height;
48
+ transform: scale(0);
49
+ opacity: 0;
96
50
  }
97
51
 
98
- .#{$n}-app__header {
52
+ .#{$n}-app--layout-window.#{$n}-transition--visible {
99
53
  display: flex;
100
- position: relative;
101
- flex: 0 0 auto;
102
- flex-direction: row;
103
- justify-content: flex-end;
104
- height: $app-collapsed-height;
105
- padding: $app-parts-padding;
106
- border-bottom: $thin-border solid $grey-b;
107
- border-top-left-radius: $borderradius;
108
- border-top-right-radius: $borderradius;
109
54
  }
110
55
 
111
- .#{$n}-app--collapsed .#{$n}-app__header {
112
- border-bottom: 0;
113
- border-bottom-left-radius: $borderradius;
114
- border-bottom-right-radius: $borderradius;
115
- background-color: $app-header-bgcolor;
116
- color: set-text-color($app-header-bgcolor);
56
+ .#{$n}-app--layout-window.#{$n}-transition--in {
57
+ transform: scale(1);
58
+ opacity: 1;
117
59
  }
118
60
 
119
- .#{$n}-toggle-button {
120
- display: none;
121
- position: absolute;
61
+ .#{$n}-app--layout-app {
62
+ position: fixed;
122
63
  z-index: $z-index;
123
- flex-direction: column;
124
- justify-content: center;
64
+ top: 0;
65
+ right: 0;
66
+ bottom: 0;
67
+ left: 0;
125
68
  width: 100%;
126
- height: $app-collapsed-height;
127
- margin: 0;
128
- padding: $app-parts-padding $app-parts-padding $app-parts-padding
129
- $badge-touch-size + $app-parts-padding + $spacer * 0.5;
130
- border: 0;
131
- background: none;
132
- background-color: transparent;
133
- color: $white;
134
- font-size: $fontsize-small;
69
+ max-width: 100%;
70
+ height: 100%;
71
+ max-height: 100%;
135
72
  }
136
73
 
137
- .#{$n}-app--collapsed .#{$n}-toggle-button {
74
+ .#{$n}-app-wrapper {
138
75
  display: flex;
76
+ position: relative;
77
+ z-index: 1;
78
+ flex-direction: column;
79
+ width: 100%;
80
+ height: 100%;
81
+ overflow: hidden;
82
+ transition: flex $transition, width $transition, height $transition,
83
+ border-radius $transition;
84
+ border: $thin-border solid set-border-color($app-bg);
85
+ border-radius: $borderradius;
86
+ background-color: $app-bg;
87
+ box-shadow: $boxshadow-soft;
139
88
  }
140
89
 
141
- .#{$n}-toggle-button__title {
142
- margin: 0;
143
- font-size: $fontsize-small;
144
- }
145
-
146
- .#{$n}-toggle-button__subtitle {
147
- margin: 0;
148
- font-size: $fontsize-small;
149
- font-weight: $fontweight-bold;
90
+ .#{$n}-app--layout-app .#{$n}-app-wrapper {
91
+ border: 0 none;
92
+ border-radius: 0;
150
93
  }
151
94
 
152
- .#{$n}-toggle-button__button {
153
- position: absolute;
154
- z-index: $z-index;
155
- top: 0;
156
- left: 0;
95
+ .#{$n}-app--layout-inline .#{$n}-app-wrapper {
157
96
  width: 100%;
158
- height: 100%;
159
- margin: 0;
160
- padding: 0;
161
- border: 0;
162
- background: none;
97
+ height: 0;
98
+
99
+ @include media('>phablet-l', '<desktop') {
100
+ flex: 0 0 100%;
163
101
 
164
- &:focus {
165
- outline: 1px solid $white;
166
- outline-offset: -5px;
102
+ &:not(:only-child) {
103
+ flex: 0 0 50%;
104
+ width: 50%;
105
+ }
106
+ }
107
+
108
+ @include media('>desktop') {
109
+ flex: 0 0 67%;
110
+ width: 67%;
167
111
  }
168
112
  }
169
113
 
114
+ .#{$n}-app--layout-inline.#{$n}-transition--in .#{$n}-app-wrapper {
115
+ height: $app-inline-height;
116
+ max-height: $app-inline-maxheight;
117
+ }
118
+
170
119
  .#{$n}-app__container {
171
120
  display: flex;
172
121
  position: relative;
173
- flex: 1 1 auto;
174
122
  flex-direction: column;
175
- max-height: 100%;
123
+ width: 100%;
124
+ height: 100%;
176
125
  }
177
126
 
178
127
  .#{$n}-app__body {
@@ -181,31 +130,25 @@ $app-header-bgcolor: $brand3;
181
130
  flex-grow: 4;
182
131
  padding: 0;
183
132
  overflow-y: auto;
184
- border-bottom: $thin-border solid $grey-b;
185
- }
186
-
187
- .#{$n}-app--collapsed .#{$n}-app__body {
188
- display: none;
189
133
  }
190
134
 
191
135
  .#{$n}-app--layout-window .#{$n}-app__body {
192
136
  overscroll-behavior: contain;
193
- /* stylelint-disable-next-line property-no-vendor-prefix */
194
- -ms-scroll-chaining: none;
195
137
  }
196
138
 
197
139
  .#{$n}-app__entry {
198
140
  position: relative;
199
141
  flex: 0 0 auto;
200
- padding: $app-parts-padding;
142
+ padding: $spacer * 0.5;
143
+ border-top: $thin-border solid $grey-b;
201
144
 
202
145
  .#{$n}-entry__body--hidden {
203
146
  display: none;
204
147
  }
205
148
  }
206
149
 
207
- .#{$n}-app--collapsed .#{$n}-app__entry {
208
- display: none;
150
+ .#{$n}-app--layout-inline.#{$n}-app--collapsed .#{$n}-app__entry {
151
+ border: 0 none;
209
152
  }
210
153
 
211
154
  .#{$n}-entry__body {
@@ -2,9 +2,6 @@
2
2
 
3
3
  // ##### A11Y #####
4
4
  // ================
5
-
6
- // VISUALLY HIDDEN
7
-
8
5
  .#{$n}-visually-hidden {
9
6
  position: absolute !important;
10
7
  width: 1px;
@@ -1,6 +1,5 @@
1
1
  // ##### ELEMENTS #####
2
2
  // ====================
3
- // GENERAL ELEMENT STYLING
4
3
 
5
4
  p {
6
5
  margin: 0;
@@ -9,13 +8,3 @@ p {
9
8
  img {
10
9
  max-width: 100%;
11
10
  }
12
-
13
- h1,
14
- h2,
15
- h3,
16
- h4,
17
- h5,
18
- h6 {
19
- font-size: 1rem;
20
- font-weight: normal;
21
- }
@@ -26,30 +26,20 @@
26
26
  .#{$n}-input__select {
27
27
  appearance: none;
28
28
  width: 100%;
29
- height: 100%;
29
+ min-height: $buttonsize;
30
30
  padding: $spacer * 0.5;
31
- transition: padding $transition;
32
31
  border: $thin-border solid $grey-b;
33
32
  border-radius: $borderradius-small;
33
+ background-color: $white;
34
34
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxkZWZzLz48cGF0aCBmaWxsPSIjNEE0OEMxIiBkPSJNMi45OTgsNi41MDNjMC0wLjI0NywwLjA5MS0wLjQ5NCwwLjI3My0wLjY4N2MwLjM4LTAuNDAxLDEuMDEzLTAuNDE5LDEuNDE0LTAuMDRsMi41ODUsMi40NDYJYzAuMzk0LDAuMzczLDEuMDYsMC4zNzMsMS40NTQsMGwyLjU4Ni0yLjQ0NmMwLjQtMC4zNzksMS4wMzMtMC4zNjIsMS40MTMsMC4wNGMwLjM3OSwwLjQsMC4zNjIsMS4wMzQtMC4wMzksMS40MTRsLTIuNTg2LDIuNDQ2CWMtMS4xNTksMS4wOTYtMy4wNDMsMS4wOTYtNC4yMDMsMEwzLjMxLDcuMjI5QzMuMTAyLDcuMDMzLDIuOTk4LDYuNzY4LDIuOTk4LDYuNTAzeiIvPjwvc3ZnPg==');
35
35
  background-repeat: no-repeat;
36
36
  background-position: right $spacer * 0.5 top 50%;
37
37
  background-size: $spacer * 0.75 auto;
38
38
  color: $grey-e;
39
- font-size: $fontsize-small;
39
+ font-size: $fontsize-default;
40
40
  resize: none;
41
- // iOS will zoom in on focus if font-size below 16px, and not go back.
42
- // User has to pinch to zoom out; very nasty UX. So:
43
- @supports (-webkit-overflow-scrolling: touch) {
44
- font-size: 16px; // this should stay fixed!
45
- }
46
-
47
- &:hover {
48
- border: $thin-border solid $brand3;
49
- }
50
41
 
51
- &:disabled,
52
- &:disabled:hover {
42
+ &:disabled {
53
43
  border: $thin-border solid $grey-c;
54
44
  background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNnB4IiBoZWlnaHQ9IjE2cHgiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxkZWZzLz48cGF0aCBmaWxsPSIjYTNiNGJmIiBkPSJNMi45OTgsNi41MDNjMC0wLjI0NywwLjA5MS0wLjQ5NCwwLjI3My0wLjY4N2MwLjM4LTAuNDAxLDEuMDEzLTAuNDE5LDEuNDE0LTAuMDRsMi41ODUsMi40NDYJYzAuMzk0LDAuMzczLDEuMDYsMC4zNzMsMS40NTQsMGwyLjU4Ni0yLjQ0NmMwLjQtMC4zNzksMS4wMzMtMC4zNjIsMS40MTMsMC4wNGMwLjM3OSwwLjQsMC4zNjIsMS4wMzQtMC4wMzksMS40MTRsLTIuNTg2LDIuNDQ2CWMtMS4xNTksMS4wOTYtMy4wNDMsMS4wOTYtNC4yMDMsMEwzLjMxLDcuMjI5QzMuMTAyLDcuMDMzLDIuOTk4LDYuNzY4LDIuOTk4LDYuNTAzeiIvPjwvc3ZnPg==');
55
45
  color: $grey-c;
@@ -1,21 +1,9 @@
1
- // ##### AVATAR #####
2
- // ==================
3
-
4
- // VARS
5
- // ----
6
-
7
- $avatar-bgcolor: $brand1;
8
- $avatar-size: $badge-touch-size;
9
-
10
- // BASE
11
- // ----
12
-
13
1
  .#{$n}-avatar {
14
2
  display: block;
15
3
  position: relative;
16
4
  flex-shrink: 0;
17
- width: $avatar-size;
18
- height: $avatar-size;
5
+ width: $avatarsize;
6
+ height: $avatarsize;
19
7
  overflow: hidden;
20
8
  border-radius: $borderradius-small;
21
9
 
@@ -32,33 +20,3 @@ $avatar-size: $badge-touch-size;
32
20
  align-self: flex-end;
33
21
  margin-left: $spacer * 0.5;
34
22
  }
35
-
36
- // OPTIONS
37
- // -------
38
-
39
- // BG WHITE
40
-
41
- .#{$n}-avatar--bg-white {
42
- background-color: $white;
43
- }
44
-
45
- // ARROW RIGHT
46
-
47
- .#{$n}-avatar--arrow-right {
48
- margin-right: $spacer * 0.25;
49
- overflow: visible;
50
-
51
- &::after {
52
- content: '';
53
- display: inline-block;
54
- position: absolute;
55
- top: 50%;
56
- right: -($spacer * 0.3333);
57
- width: 0;
58
- height: 0;
59
- transform: translateY(-50%);
60
- border-top: $spacer * 0.25 solid transparent;
61
- border-bottom: $spacer * 0.25 solid transparent;
62
- border-left: ($spacer * 0.2) * 2 solid $avatar-bgcolor;
63
- }
64
- }
@@ -1,13 +1,10 @@
1
- $buttons-line-height: 30px;
2
- $buttons-border-radius: $buttons-line-height * 0.5;
3
- $button-transition: $transition;
4
-
5
1
  .#{$n}-button {
6
2
  display: inline-block;
7
3
  margin: 0;
8
4
  padding: 0;
9
5
  border: 0;
10
6
  background: none;
7
+ font-size: $fontsize-medium;
11
8
  text-align: left;
12
9
  cursor: pointer;
13
10
  }
@@ -19,28 +16,24 @@ $button-transition: $transition;
19
16
  font-weight: inherit;
20
17
  }
21
18
 
22
- // VARIATIONS
23
- // ----------
24
-
25
19
  .#{$n}-button--primary {
26
- min-height: $buttons-line-height;
27
- padding: $spacer * 0.25 $spacer * 0.75;
28
- border-radius: $buttons-border-radius;
29
- border-color: set-border-color($brand3);
20
+ min-height: $buttonsize;
21
+ padding: $spacer * 0.5 $spacer * 0.75;
22
+ border-radius: $borderradius-small;
30
23
  background-color: $interaction;
31
24
  color: set-text-color($interaction);
32
25
  font-weight: $fontweight-bold;
33
26
  }
34
27
 
35
28
  .#{$n}-button--secondary {
36
- padding: $spacer * 0.5;
29
+ padding: $spacer * 0.5 $spacer * 0.75;
37
30
  color: $interaction;
38
31
  font-weight: $fontweight-bold;
39
32
  }
40
33
 
41
34
  .#{$n}-button--tertiary {
42
35
  padding: $spacer * 0.1 $spacer * 0.25;
43
- border-radius: $borderradius;
36
+ border-radius: $borderradius-small;
44
37
  background-color: initial;
45
38
  color: set-text-color($interaction);
46
39
  font-size: $fontsize-small;
@@ -52,38 +45,6 @@ $button-transition: $transition;
52
45
  cursor: auto;
53
46
  }
54
47
 
55
- .#{$n}-button--choose-again {
56
- display: flex;
57
- align-items: center;
58
- margin: $spacer * 0.25 0 $spacer * 0.5;
59
- padding: 0;
60
-
61
- &:last-child {
62
- margin-bottom: 0;
63
- }
64
- }
65
-
66
- .#{$n}-button--choose-again .#{$n}-icon {
67
- display: flex;
68
- flex: 0 0 $badge-touch-size * 0.25;
69
- align-items: center;
70
- justify-content: center;
71
- width: $badge-touch-size * 0.25;
72
- height: $badge-touch-size * 0.25;
73
- margin: $spacer * 0.15 $spacer * 0.25;
74
- transform-origin: 50% 50%;
75
- transition: transform $button-transition;
76
- }
77
-
78
- .#{$n}-button--choose-again[aria-expanded='true'] .#{$n}-icon {
79
- transform: rotate(180deg);
80
- }
81
-
82
- .#{$n}-button--choose-again .#{$n}-icon svg {
83
- display: block;
84
- width: 100%;
85
- }
86
-
87
48
  .#{$n}-button__state {
88
49
  display: inline-block;
89
50
  margin: $spacer * -0.15 $spacer * -0.15 $spacer * -0.15 $spacer * 0.15;
@@ -1,63 +1,39 @@
1
- // ##### OPTIONS #####
2
- // ===================
3
-
4
- // BASE
5
- // ----
6
1
  .#{$n}-chat-status {
7
2
  display: flex;
3
+ position: absolute;
4
+ z-index: 1;
5
+ top: $spacer;
6
+ left: $spacer;
8
7
  align-items: center;
9
8
  justify-content: space-between;
10
- padding: $spacer * 0.25 $spacer * 0.5;
11
- border-bottom: 1px solid $grey-b;
9
+ width: calc(100% - #{$spacer * 2});
10
+ height: $buttonsize;
11
+ min-height: $buttonsize;
12
+ padding: $spacer * 0.25 $spacer;
13
+ border-radius: $borderradius-large;
12
14
  background-color: $white;
15
+ box-shadow: $boxshadow;
13
16
  }
14
17
 
15
- .#{$n}-chat-status.#{$n}-chat-status--cobrowsing {
16
- border: 0 none;
17
- background-color: $brand3;
18
+ &.#{$n}-app--layout-window .#{$n}-chat-status {
19
+ width: calc(100% - #{$spacer * 2.5 + $buttonsize});
18
20
  }
19
21
 
20
22
  &.#{$n}-app--collapsed .#{$n}-chat-status {
21
23
  display: none;
22
24
  }
23
25
 
24
- // PARTS
25
- // -----
26
26
  .#{$n}-chat-status__title {
27
27
  display: flex;
28
+ flex: 1;
28
29
  align-items: center;
29
30
  margin: 0 $spacer * 0.5 0 0;
30
31
  color: $grey-e;
31
32
  font-size: $fontsize-small;
32
33
  font-weight: $fontweight-bold;
33
- line-height: 1;
34
- }
35
-
36
- .#{$n}-chat-status--cobrowsing .#{$n}-chat-status__title {
37
- color: $white;
38
-
39
- &::before {
40
- content: '';
41
- display: block;
42
- flex: 0 0 $spacer * 0.3;
43
- width: $spacer * 0.3;
44
- height: $spacer * 0.3;
45
- margin-right: $spacer * 0.25;
46
- animation-name: #{$app-name}-blink;
47
- animation-duration: 1s;
48
- animation-timing-function: ease-in-out;
49
- animation-iteration-count: infinite;
50
- animation-direction: normal;
51
- animation-fill-mode: forwards;
52
- border-radius: 50% 50%;
53
- background-color: currentColor;
54
- }
34
+ line-height: 1.25;
55
35
  }
56
36
 
57
37
  .#{$n}-chat-status .#{$n}-button--tertiary {
58
38
  color: $interaction;
59
39
  }
60
-
61
- .#{$n}-chat-status--cobrowsing .#{$n}-button--tertiary {
62
- color: $white;
63
- }
@@ -16,12 +16,43 @@
16
16
  }
17
17
 
18
18
  .#{$n}-choice-prompt__item .#{$n}-button {
19
- display: block;
20
- width: 100%;
19
+ display: inline-block;
21
20
  white-space: normal;
22
21
  }
23
22
 
24
23
  .#{$n}-choice-prompt__item--secondary .#{$n}-button {
24
+ padding: $spacer * 0.25 0;
25
25
  background-color: initial;
26
26
  color: $interaction;
27
27
  }
28
+
29
+ .#{$n}-button--choose-again {
30
+ display: flex;
31
+ align-items: center;
32
+ margin: $spacer * 0.25 0 $spacer * 0.5;
33
+ padding: 0;
34
+
35
+ &:last-child {
36
+ margin-bottom: 0;
37
+ }
38
+ }
39
+
40
+ .#{$n}-button--choose-again .#{$n}-icon {
41
+ display: flex;
42
+ flex: 0 0 $iconsize-small * 0.5;
43
+ align-items: center;
44
+ justify-content: center;
45
+ width: $iconsize-small * 0.5;
46
+ height: $iconsize-small * 0.5;
47
+ margin: 0 $spacer * 0.5;
48
+ transform-origin: 50% 50%;
49
+ transition: transform $transition;
50
+ }
51
+
52
+ .#{$n}-button--choose-again .#{$n}-icon path {
53
+ fill: currentColor;
54
+ }
55
+
56
+ .#{$n}-button--choose-again[aria-expanded='true'] .#{$n}-icon {
57
+ transform: rotate(180deg);
58
+ }
@@ -0,0 +1,16 @@
1
+ .#{$n}-collapse-button {
2
+ display: flex;
3
+ position: absolute;
4
+ z-index: 1;
5
+ top: $spacer;
6
+ right: $spacer;
7
+ align-items: center;
8
+ justify-content: center;
9
+ width: $buttonsize;
10
+ height: $buttonsize;
11
+ padding: 0;
12
+ border: 0 none;
13
+ border-radius: 50% 50%;
14
+ background-color: $white;
15
+ box-shadow: $boxshadow;
16
+ }
@@ -19,7 +19,7 @@
19
19
  margin: auto 0 0;
20
20
  padding: $spacer $spacer 0;
21
21
 
22
- // FF and IE11 give wrong spacing at bottom otherwise
22
+ // FF bottom spacing bug
23
23
  &::after {
24
24
  content: '';
25
25
  display: block;
@@ -29,7 +29,18 @@
29
29
  }
30
30
  }
31
31
 
32
- .#{$n}-app--layout-inline .#{$n}-conversation {
32
+ .#{$n}-chat-status ~ .#{$n}-app__container .#{$n}-conversation {
33
+ padding-top: $buttonsize + $spacer * 2;
34
+ }
35
+
36
+ .#{$n}-chat-status
37
+ ~ .#{$n}-app__container
38
+ .#{$n}-disclaimer
39
+ + .#{$n}-conversation {
40
+ padding-top: 0;
41
+ }
42
+
43
+ &.#{$n}-app--layout-inline .#{$n}-conversation {
33
44
  position: relative;
34
45
  }
35
46
 
@@ -41,4 +52,17 @@
41
52
 
42
53
  .#{$n}-conversation__item--new-participant {
43
54
  margin-top: $spacer;
55
+
56
+ &:first-child {
57
+ margin-top: 0;
58
+ }
59
+ }
60
+
61
+ .#{$n}-conversation__item--source-info {
62
+ margin-top: $spacer;
63
+ margin-bottom: $spacer;
64
+
65
+ &:last-child {
66
+ margin-bottom: 0;
67
+ }
44
68
  }