@seamly/web-ui 21.0.9 → 22.0.0

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 (141) hide show
  1. package/build/dist/lib/components.js +9228 -7777
  2. package/build/dist/lib/components.js.map +1 -0
  3. package/build/dist/lib/components.min.js +2 -1
  4. package/build/dist/lib/components.min.js.LICENSE.txt +2 -2
  5. package/build/dist/lib/components.min.js.map +1 -0
  6. package/build/dist/lib/config.js +2 -1
  7. package/build/dist/lib/config.js.map +1 -0
  8. package/build/dist/lib/config.min.js +2 -1
  9. package/build/dist/lib/config.min.js.map +1 -0
  10. package/build/dist/lib/contexts.js +2 -1
  11. package/build/dist/lib/contexts.js.map +1 -0
  12. package/build/dist/lib/contexts.min.js +2 -1
  13. package/build/dist/lib/contexts.min.js.map +1 -0
  14. package/build/dist/lib/deprecated-view.css +1 -1
  15. package/build/dist/lib/deprecated-view.js +1 -1
  16. package/build/dist/lib/hooks.js +6999 -5996
  17. package/build/dist/lib/hooks.js.map +1 -0
  18. package/build/dist/lib/hooks.min.js +2 -1
  19. package/build/dist/lib/hooks.min.js.map +1 -0
  20. package/build/dist/lib/index.debug.js +940 -370
  21. package/build/dist/lib/index.debug.js.map +1 -0
  22. package/build/dist/lib/index.debug.min.js +2 -1
  23. package/build/dist/lib/index.debug.min.js.LICENSE.txt +334 -110
  24. package/build/dist/lib/index.debug.min.js.map +1 -0
  25. package/build/dist/lib/index.js +2810 -5472
  26. package/build/dist/lib/index.js.map +1 -0
  27. package/build/dist/lib/index.min.js +2 -1
  28. package/build/dist/lib/index.min.js.LICENSE.txt +2 -2
  29. package/build/dist/lib/index.min.js.map +1 -0
  30. package/build/dist/lib/sounds/beep.mp3 +0 -0
  31. package/build/dist/lib/standalone.js +10575 -13540
  32. package/build/dist/lib/standalone.js.map +1 -0
  33. package/build/dist/lib/standalone.min.js +2 -1
  34. package/build/dist/lib/standalone.min.js.LICENSE.txt +1 -1
  35. package/build/dist/lib/standalone.min.js.map +1 -0
  36. package/build/dist/lib/storage.js +2 -1
  37. package/build/dist/lib/storage.js.map +1 -0
  38. package/build/dist/lib/storage.min.js +2 -1
  39. package/build/dist/lib/storage.min.js.map +1 -0
  40. package/build/dist/lib/style-guide.js +1701 -5859
  41. package/build/dist/lib/style-guide.js.map +1 -0
  42. package/build/dist/lib/style-guide.min.js +2 -1
  43. package/build/dist/lib/style-guide.min.js.LICENSE.txt +2 -2
  44. package/build/dist/lib/style-guide.min.js.map +1 -0
  45. package/build/dist/lib/styles-default-implementation.css +1 -1
  46. package/build/dist/lib/styles-default-implementation.js +1 -1
  47. package/build/dist/lib/styles.css +1 -1
  48. package/build/dist/lib/styles.js +1 -1
  49. package/build/dist/lib/utils.js +11536 -14530
  50. package/build/dist/lib/utils.js.map +1 -0
  51. package/build/dist/lib/utils.min.js +2 -1
  52. package/build/dist/lib/utils.min.js.LICENSE.txt +1 -6
  53. package/build/dist/lib/utils.min.js.map +1 -0
  54. package/package.json +58 -48
  55. package/src/javascripts/api/conversation-connector.ts +2 -0
  56. package/src/javascripts/api/errors/seamly-api-error.ts +15 -0
  57. package/src/javascripts/api/index.ts +168 -94
  58. package/src/javascripts/config.ts +1 -1
  59. package/src/javascripts/config.types.ts +18 -11
  60. package/src/javascripts/domains/config/selectors.ts +1 -1
  61. package/src/javascripts/domains/config/slice.ts +12 -0
  62. package/src/javascripts/domains/forms/forms.types.ts +1 -0
  63. package/src/javascripts/domains/forms/hooks.ts +10 -2
  64. package/src/javascripts/domains/store/selectors.ts +23 -10
  65. package/src/javascripts/domains/store/slice.ts +63 -11
  66. package/src/javascripts/domains/store/store.types.ts +41 -1
  67. package/src/javascripts/domains/translations/components/options-button.tsx +1 -4
  68. package/src/javascripts/domains/translations/hooks.ts +11 -4
  69. package/src/javascripts/index.ts +2 -0
  70. package/src/javascripts/lib/url-helpers.ts +24 -0
  71. package/src/javascripts/schema.ts +10 -0
  72. package/src/javascripts/style-guide/states.js +109 -0
  73. package/src/javascripts/ui/components/conversation/conversation.tsx +2 -0
  74. package/src/javascripts/ui/components/conversation/event/chat-scroll/chat-scroll-provider.tsx +2 -0
  75. package/src/javascripts/ui/components/conversation/event/choice-prompt.js +1 -1
  76. package/src/javascripts/ui/components/conversation/event/text.js +1 -1
  77. package/src/javascripts/ui/components/conversation/event/upload.js +50 -9
  78. package/src/javascripts/ui/components/conversation/use-chat-scroll.ts +3 -2
  79. package/src/javascripts/ui/components/core/seamly-event-subscriber.ts +7 -1
  80. package/src/javascripts/ui/components/core/seamly-file-upload.tsx +156 -0
  81. package/src/javascripts/ui/components/entry/abort-transaction-button/abort-transaction-button.tsx +45 -0
  82. package/src/javascripts/ui/components/entry/text-entry/hooks.ts +108 -0
  83. package/src/javascripts/ui/components/entry/text-entry/index.js +7 -4
  84. package/src/javascripts/ui/components/entry/text-entry/{text-entry-form.js → text-entry-form.tsx} +8 -22
  85. package/src/javascripts/ui/components/form-controls/{input.js → input.tsx} +13 -2
  86. package/src/javascripts/ui/components/form-controls/{wrapper.js → wrapper.tsx} +8 -4
  87. package/src/javascripts/ui/components/view/{index.js → index.tsx} +53 -4
  88. package/src/javascripts/ui/components/view/window-view/{index.js → index.tsx} +14 -2
  89. package/src/javascripts/ui/components/widgets/{in-out-transition.js → in-out-transition.tsx} +67 -28
  90. package/src/javascripts/ui/hooks/{seamly-api-hooks.js → seamly-api-hooks.ts} +1 -1
  91. package/src/javascripts/ui/hooks/sounds/beep.mp3 +0 -0
  92. package/src/javascripts/ui/hooks/use-click-outside.ts +5 -3
  93. package/src/javascripts/ui/hooks/use-notifications.ts +114 -0
  94. package/src/javascripts/ui/hooks/use-timeout.ts +20 -0
  95. package/src/stylesheets/3-chat/_chat.scss +3 -5
  96. package/src/stylesheets/4-base/_formelements.scss +0 -36
  97. package/src/stylesheets/5-components/_abort-transaction.scss +10 -0
  98. package/src/stylesheets/5-components/_buttons.scss +18 -3
  99. package/src/stylesheets/5-components/_character-limit.scss +2 -2
  100. package/src/stylesheets/5-components/_chat-status.scss +26 -37
  101. package/src/stylesheets/5-components/_choice-prompt.scss +9 -10
  102. package/src/stylesheets/5-components/_conversation.scss +9 -62
  103. package/src/stylesheets/5-components/_disclaimer.scss +11 -3
  104. package/src/stylesheets/5-components/_error.scss +3 -2
  105. package/src/stylesheets/5-components/_idle.scss +3 -8
  106. package/src/stylesheets/5-components/_input.scss +34 -13
  107. package/src/stylesheets/5-components/_interrupt.scss +3 -10
  108. package/src/stylesheets/5-components/_loader.scss +1 -2
  109. package/src/stylesheets/5-components/_message-author.scss +2 -4
  110. package/src/stylesheets/5-components/_message-body.scss +33 -10
  111. package/src/stylesheets/5-components/_message-card.scss +2 -10
  112. package/src/stylesheets/5-components/_message-carousel.scss +4 -4
  113. package/src/stylesheets/5-components/_message-cta.scss +0 -6
  114. package/src/stylesheets/5-components/_message.scss +1 -0
  115. package/src/stylesheets/5-components/_modal.scss +2 -5
  116. package/src/stylesheets/5-components/_options.scss +17 -22
  117. package/src/stylesheets/5-components/_pre-chat-messages.scss +3 -1
  118. package/src/stylesheets/5-components/_prompt.scss +3 -7
  119. package/src/stylesheets/5-components/_skip-link.scss +2 -1
  120. package/src/stylesheets/5-components/_suggestions.scss +2 -2
  121. package/src/stylesheets/5-components/_translation-options.scss +5 -2
  122. package/src/stylesheets/5-components/_unread-messages.scss +33 -0
  123. package/src/stylesheets/5-components/_upload.scss +20 -27
  124. package/src/stylesheets/6-default-implementation/_hover.scss +14 -17
  125. package/src/stylesheets/7-deprecated/1-settings/_config.scss +17 -0
  126. package/src/stylesheets/7-deprecated/3-app/_app.scss +2 -1
  127. package/src/stylesheets/7-deprecated/5-components/_card.scss +1 -0
  128. package/src/stylesheets/7-deprecated/5-components/_chat-status.scss +66 -20
  129. package/src/stylesheets/7-deprecated/5-components/_conversation.scss +1 -4
  130. package/src/stylesheets/7-deprecated/5-components/_input.scss +6 -1
  131. package/src/stylesheets/7-deprecated/5-components/_interrupt.scss +1 -4
  132. package/src/stylesheets/7-deprecated/5-components/_message.scss +49 -12
  133. package/src/stylesheets/7-deprecated/5-components/_translation-options.scss +30 -37
  134. package/src/stylesheets/7-deprecated/5-components/_unread-messages.scss +38 -0
  135. package/src/stylesheets/deprecated-view.scss +1 -0
  136. package/src/stylesheets/styles.scss +2 -0
  137. package/webpack/config.common.js +6 -1
  138. package/webpack/config.package.js +18 -0
  139. package/webpack/defaults.js +1 -1
  140. package/src/javascripts/ui/components/core/seamly-file-upload.js +0 -86
  141. package/src/javascripts/ui/components/entry/text-entry/hooks.js +0 -46
@@ -1,6 +1,7 @@
1
1
  .#{$n}-message {
2
2
  display: flex;
3
3
  flex-flow: row wrap;
4
+ gap: $spacer * 0.25;
4
5
  width: 80%;
5
6
  }
6
7
 
@@ -4,10 +4,7 @@
4
4
  display: flex;
5
5
  position: fixed;
6
6
  z-index: 99;
7
- top: 0;
8
- right: 0;
9
- bottom: 0;
10
- left: 0;
7
+ inset: 0;
11
8
  align-items: center;
12
9
  justify-content: center;
13
10
  width: 100%;
@@ -59,6 +56,7 @@
59
56
  top: $spacer;
60
57
  right: $spacer;
61
58
  align-items: center;
59
+ gap: $spacer * 0.5;
62
60
  min-height: $buttonsize;
63
61
  padding: $spacer * 0.25 $spacer * 0.75;
64
62
  border: 0 none;
@@ -71,7 +69,6 @@
71
69
  flex: 0 0 $iconsize-small;
72
70
  width: $iconsize-small;
73
71
  height: $iconsize-small;
74
- margin-right: $spacer * 0.5;
75
72
 
76
73
  svg {
77
74
  width: inherit;
@@ -4,6 +4,7 @@
4
4
  flex: 0;
5
5
  align-items: center;
6
6
  justify-content: flex-end;
7
+ gap: $spacer * 0.5;
7
8
  width: 100%;
8
9
  padding: $spacer * 0.25;
9
10
  border-top: $thin-border solid $grey-b;
@@ -17,6 +18,7 @@
17
18
  display: flex;
18
19
  align-items: center;
19
20
  justify-content: flex-end;
21
+ gap: $spacer * 0.25;
20
22
  padding: $spacer * 0.25 $spacer * 0.5;
21
23
  border-radius: $borderradius-small;
22
24
  }
@@ -25,7 +27,6 @@
25
27
  flex: 0 0 $iconsize-small;
26
28
  width: $iconsize-small;
27
29
  height: $iconsize-small;
28
- margin-right: $spacer * 0.25;
29
30
  }
30
31
 
31
32
  .#{$n}-chat__options__button .#{$n}-icon svg {
@@ -44,6 +45,8 @@
44
45
  position: absolute;
45
46
  right: $spacer * 0.5;
46
47
  bottom: calc(100% + (#{$spacer} * 0.5));
48
+ flex-direction: column;
49
+ gap: $spacer * 0.25;
47
50
  max-width: $spacer * 15;
48
51
  max-height: $spacer * 20;
49
52
  margin: 0;
@@ -60,7 +63,7 @@
60
63
  }
61
64
 
62
65
  .#{$n}-options__menu.#{$n}-transition--visible {
63
- display: block;
66
+ display: flex;
64
67
  }
65
68
 
66
69
  .#{$n}-options__menu.#{$n}-transition--in {
@@ -69,7 +72,6 @@
69
72
  }
70
73
 
71
74
  .#{$n}-options__menu__item {
72
- margin-bottom: $spacer * 0.25;
73
75
  transition: opacity 0.1s 0.1s ease;
74
76
  opacity: 0;
75
77
 
@@ -146,7 +148,8 @@
146
148
  .#{$n}-options__body {
147
149
  display: flex;
148
150
  flex-direction: column;
149
- max-height: $spacer * 15;
151
+ gap: $spacer * 0.5;
152
+ max-height: $spacer * 16;
150
153
  transition: opacity 0.1s 0.1s ease;
151
154
  opacity: 0;
152
155
  }
@@ -161,7 +164,7 @@
161
164
  align-items: center;
162
165
  width: calc(100% - #{$buttonsize} - (#{$spacer} * 0.5));
163
166
  margin: 0;
164
- padding: $spacer $spacer $spacer * 0.5;
167
+ padding: $spacer 0 0 $spacer;
165
168
  color: $brand2;
166
169
  font-size: $fontsize-default;
167
170
  font-weight: $fontweight-bold;
@@ -174,6 +177,7 @@
174
177
  right: $spacer * 0.5;
175
178
  align-items: center;
176
179
  justify-content: center;
180
+ gap: 0;
177
181
  width: $buttonsize;
178
182
  height: $buttonsize;
179
183
  color: $interaction;
@@ -184,15 +188,17 @@
184
188
  flex: 0 0 $iconsize-small;
185
189
  width: $iconsize-small;
186
190
  height: $iconsize-small;
187
- }
188
191
 
189
- .#{$n}-options__close .#{$n}-icon path {
190
- fill: currentcolor;
192
+ path {
193
+ fill: currentcolor;
194
+ }
191
195
  }
192
196
 
193
197
  .#{$n}-options__form {
198
+ display: flex;
194
199
  flex: 1 1 auto;
195
200
  flex-direction: column;
201
+ gap: $spacer * 0.5;
196
202
  }
197
203
 
198
204
  .#{$n}-options__wrapper {
@@ -200,6 +206,7 @@
200
206
  flex: 1 1 auto;
201
207
  flex-wrap: wrap;
202
208
  align-items: flex-start;
209
+ gap: $spacer * 0.5;
203
210
  width: 100%;
204
211
  padding: 0 $spacer;
205
212
  overflow: auto;
@@ -208,7 +215,7 @@
208
215
  &:last-child::after {
209
216
  content: '';
210
217
  display: block;
211
- flex: 0 0 100%;
218
+ flex: 0 0 $spacer;
212
219
  width: 100%;
213
220
  height: $spacer;
214
221
  }
@@ -224,7 +231,6 @@
224
231
  .#{$n}-options__description {
225
232
  display: block;
226
233
  width: 100%;
227
- margin-bottom: $spacer * 0.5;
228
234
  padding: 0 $spacer;
229
235
  font-size: $fontsize-medium;
230
236
  }
@@ -238,7 +244,7 @@
238
244
  border-radius: $borderradius-small;
239
245
  font-size: $fontsize-default;
240
246
 
241
- &:focus {
247
+ &:focus-visible {
242
248
  border: $thin-border solid $grey-b;
243
249
  }
244
250
 
@@ -249,25 +255,14 @@
249
255
  }
250
256
  }
251
257
 
252
- .#{$n}-options__active-language {
253
- color: $grey-e;
254
- font-size: $fontsize-medium;
255
- }
256
-
257
258
  .#{$n}-options__actions {
258
259
  display: flex;
259
260
  flex: 0 0 auto;
260
261
  justify-content: flex-end;
261
262
  width: 100%;
262
- margin-top: $spacer * 0.5;
263
263
  padding: 0;
264
264
  }
265
265
 
266
266
  .#{$n}-options__actions .#{$n}-button {
267
267
  width: 100%;
268
- margin-right: $spacer * 0.5;
269
-
270
- &:last-child {
271
- margin-right: 0;
272
- }
273
268
  }
@@ -1,6 +1,8 @@
1
1
  .#{$n}-pre-chat-messages {
2
2
  @include unList;
3
3
 
4
+ flex-direction: column;
5
+ gap: $spacer * 0.5;
4
6
  margin: 0;
5
7
  padding: 0;
6
8
  }
@@ -10,7 +12,7 @@
10
12
  }
11
13
 
12
14
  .#{$n}-unstarted-wrapper.#{$n}-transition--visible .#{$n}-pre-chat-messages {
13
- display: block;
15
+ display: flex;
14
16
  }
15
17
 
16
18
  .#{$n}-unstarted-wrapper--inline .#{$n}-pre-chat-messages {
@@ -3,26 +3,23 @@
3
3
  flex-direction: column;
4
4
  align-items: center;
5
5
  justify-content: space-between;
6
+ gap: $spacer * 0.5;
6
7
  max-height: initial;
7
8
  padding: $spacer * 0.5;
8
9
  }
9
10
 
10
11
  .#{$n}-prompt__title {
11
- margin-top: 0;
12
- margin-bottom: $spacer * 0.25;
12
+ margin: 0;
13
13
  font-size: $fontsize-default;
14
14
  font-weight: bold;
15
15
  text-align: center;
16
-
17
- &:last-child {
18
- margin-bottom: 0;
19
- }
20
16
  }
21
17
 
22
18
  .#{$n}-prompt__options {
23
19
  display: flex;
24
20
  flex-wrap: wrap;
25
21
  justify-content: center;
22
+ gap: $spacer * 0.25;
26
23
  width: 100%;
27
24
  margin: 0;
28
25
  padding: 0;
@@ -30,7 +27,6 @@
30
27
  }
31
28
 
32
29
  .#{$n}-prompt__options .#{$n}-button {
33
- margin: $spacer * 0.25 $spacer * 0.25 0;
34
30
  text-align: center;
35
31
  white-space: normal;
36
32
  }
@@ -14,8 +14,9 @@
14
14
  color: $white;
15
15
  font-size: $fontsize-small;
16
16
 
17
- &:focus {
17
+ &:focus-visible {
18
18
  transform: translate(-50%, 0%) scale(1);
19
+ outline: none;
19
20
  opacity: 1;
20
21
  }
21
22
  }
@@ -6,6 +6,7 @@
6
6
 
7
7
  .#{$n}-suggestions--aside {
8
8
  flex-direction: column;
9
+ gap: $spacer * 0.5;
9
10
  max-height: $chat-suggestions-maxheight;
10
11
  padding: $spacer;
11
12
  overflow: hidden;
@@ -44,7 +45,6 @@
44
45
 
45
46
  .#{$n}-suggestions__heading {
46
47
  flex: 0 0 auto;
47
- margin: 0 0 $spacer * 0.5;
48
48
  color: $brand1;
49
49
  font-size: $fontsize-large;
50
50
  font-weight: $fontweight-bold;
@@ -56,6 +56,7 @@
56
56
  display: flex;
57
57
  flex-wrap: wrap;
58
58
  align-items: flex-start;
59
+ gap: $spacer * 0.25;
59
60
  width: 100%;
60
61
  height: auto;
61
62
  overscroll-behavior: contain;
@@ -73,7 +74,6 @@
73
74
  display: block;
74
75
  flex: 0 0 auto;
75
76
  max-width: 100%;
76
- margin: 0 $spacer * 0.25 $spacer * 0.25 0;
77
77
  }
78
78
 
79
79
  .#{$n}-suggestions--aside .#{$n}-suggestions__item {
@@ -1,4 +1,7 @@
1
1
  .#{$n}-translation-options {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: $spacer * 0.25;
2
5
  width: 100%;
3
6
  margin: 0;
4
7
 
@@ -10,6 +13,7 @@
10
13
  .#{$n}-translation-options__item {
11
14
  display: flex;
12
15
  align-items: center;
16
+ gap: $spacer * 0.5;
13
17
  width: 100%;
14
18
  padding: calc($spacer * 0.25) 0;
15
19
  color: $brand3;
@@ -22,14 +26,13 @@
22
26
  }
23
27
 
24
28
  > span {
25
- margin-left: 0.5em;
29
+ margin-left: -0.5em;
26
30
  }
27
31
 
28
32
  .#{$n}-icon {
29
33
  display: flex;
30
34
  width: $iconsize-small;
31
35
  height: $iconsize-small;
32
- margin-right: calc($spacer / 2);
33
36
  opacity: 0;
34
37
  }
35
38
 
@@ -0,0 +1,33 @@
1
+ .#{$n}-unread-messages {
2
+ display: none;
3
+ position: absolute;
4
+ bottom: $spacer;
5
+ align-items: center;
6
+ justify-content: center;
7
+ margin: 0;
8
+ opacity: 0;
9
+
10
+ &.#{$n}-transition--visible {
11
+ display: flex;
12
+ }
13
+
14
+ &.#{$n}-transition--in {
15
+ transition: opacity $transition 1s;
16
+ opacity: 1;
17
+ }
18
+
19
+ .#{$n}-button {
20
+ display: flex;
21
+ align-items: center;
22
+ gap: $spacer * 0.5;
23
+ }
24
+
25
+ .#{$n}-icon {
26
+ width: $spacer;
27
+ height: $spacer;
28
+
29
+ svg path {
30
+ fill: $white;
31
+ }
32
+ }
33
+ }
@@ -7,9 +7,7 @@
7
7
  }
8
8
 
9
9
  .#{$n}-upload-toggle-wrapper.#{$n}-transition--in {
10
- width: calc(
11
- #{$buttonsize} + (#{$spacer} * 0.5)
12
- ); // INSTEAD OF MARGIN CAUSING DOUBLE ANIMATIONS
10
+ width: $buttonsize;
13
11
  }
14
12
 
15
13
  .#{$n}-upload-toggle {
@@ -50,16 +48,20 @@
50
48
  // UPLOAD DIALOG
51
49
  .#{$n}-upload {
52
50
  width: 100%;
53
- padding: $spacer * 0.5 $spacer * 0.5 0;
51
+ padding: $spacer * 0.5;
54
52
  }
55
53
 
56
54
  .#{$n}-upload-form {
57
- display: block;
55
+ display: flex;
56
+ flex-direction: column;
57
+ gap: $spacer * 0.5;
58
58
  }
59
59
 
60
60
  .#{$n}-upload__container {
61
+ display: flex;
62
+ flex-direction: column;
63
+ gap: $spacer * 0.5;
61
64
  width: 100%;
62
- margin-bottom: $spacer * 0.5;
63
65
  }
64
66
 
65
67
  .#{$n}-upload__visible-label--text {
@@ -72,8 +74,6 @@
72
74
  .#{$n}-upload__content-hint {
73
75
  display: block;
74
76
  width: 100%;
75
- margin-bottom: $spacer * 0.5;
76
- padding-right: $spacer;
77
77
  font-size: $fontsize-small;
78
78
  }
79
79
 
@@ -84,9 +84,9 @@
84
84
  border-radius: $borderradius-small;
85
85
  }
86
86
 
87
- .#{$n}-file-upload.#{$n}-focus-within {
87
+ .#{$n}-file-upload.#{$n}-focus-within:has(.#{$n}-upload__input:focus-visible) {
88
88
  outline: 1px dotted #212121;
89
- outline: 5px auto -webkit-focus-ring-color;
89
+ outline: 1px auto -webkit-focus-ring-color;
90
90
  }
91
91
 
92
92
  // VISUALLY HIDDEN
@@ -102,6 +102,7 @@
102
102
  display: flex;
103
103
  align-items: center;
104
104
  justify-content: flex-start;
105
+ gap: $spacer * 0.5;
105
106
  width: 100%;
106
107
  padding: $spacer * 0.5;
107
108
  color: $interaction;
@@ -112,7 +113,6 @@
112
113
  flex: 0 0 $iconsize-large;
113
114
  width: $iconsize-large;
114
115
  height: $iconsize-large;
115
- margin-right: $spacer * 0.5;
116
116
  }
117
117
 
118
118
  .#{$n}-upload__label .#{$n}-icon path {
@@ -145,28 +145,28 @@
145
145
  display: flex;
146
146
  flex: 0 0 100%;
147
147
  justify-content: flex-end;
148
+ gap: $spacer * 0.25;
148
149
  }
149
150
 
150
151
  .#{$n}-upload__cancel {
151
- margin-right: $spacer * 0.25;
152
152
  padding: $spacer * 0.5;
153
-
154
- &:last-child {
155
- margin-right: 0;
156
- }
157
153
  }
158
154
 
159
155
  // PROGRESS
156
+ .#{$n}-progress_container {
157
+ display: flex;
158
+ flex-direction: column;
159
+ gap: $spacer * 0.5;
160
+ }
161
+
160
162
  .#{$n}-progress__text {
161
163
  display: flex;
162
164
  align-items: flex-end;
165
+ gap: $spacer * 0.5;
163
166
  justify-content: space-between;
164
- margin-bottom: $spacer * 0.25;
165
167
  }
166
168
 
167
169
  .#{$n}-progress__text--file-name {
168
- max-width: calc(100% - (#{$spacer} * 2));
169
- padding-right: $spacer;
170
170
  overflow: hidden;
171
171
  font-size: $fontsize-medium;
172
172
  font-weight: $fontweight-bold;
@@ -176,19 +176,12 @@
176
176
  }
177
177
 
178
178
  .#{$n}-progress__text--percentage {
179
+ flex: 0 0 auto;
179
180
  color: $grey-d;
180
181
  font-size: $fontsize-medium;
181
182
  line-height: 1;
182
183
  }
183
184
 
184
- .#{$n}-progress .#{$n}-error {
185
- margin-top: $spacer * 0.5;
186
-
187
- &:empty {
188
- display: none;
189
- }
190
- }
191
-
192
185
  .#{$n}-progress__bar {
193
186
  appearance: none;
194
187
  width: 100%;
@@ -13,7 +13,7 @@
13
13
  transition: fill $transition;
14
14
  }
15
15
 
16
- &:hover svg path {
16
+ &:hover .#{$n}-icon svg path {
17
17
  fill: $white;
18
18
  }
19
19
  }
@@ -49,7 +49,7 @@
49
49
  }
50
50
  }
51
51
 
52
- .#{$n}-message__body a {
52
+ .#{$n}-message__body :is(a, [role='button']) {
53
53
  transition: background-color $transition, color $transition;
54
54
 
55
55
  &:hover {
@@ -57,7 +57,9 @@
57
57
  }
58
58
  }
59
59
 
60
- .#{$n}-conversation__item--source-agent .#{$n}-message__body a:hover {
60
+ .#{$n}-conversation__item--source-agent
61
+ .#{$n}-message__body
62
+ .#{$n}-download-link:hover {
61
63
  color: $interaction-dark;
62
64
  }
63
65
 
@@ -69,11 +71,18 @@
69
71
  color: $white;
70
72
  }
71
73
 
72
- .#{$n}-message--type-upload .#{$n}-icon path {
74
+ .#{$n}-download-link:hover .#{$n}-icon svg path {
75
+ fill: $white;
76
+ }
77
+
78
+ .#{$n}-message--type-upload .#{$n}-icon svg path {
73
79
  transition: fill $transition;
74
80
  }
75
81
 
76
- .#{$n}-download-link:hover .#{$n}-icon path {
82
+ .#{$n}-conversation__item--source-agent
83
+ .#{$n}-download.#{$n}-download-link:hover
84
+ .#{$n}-icon
85
+ path {
77
86
  fill: $white;
78
87
  }
79
88
 
@@ -83,10 +92,6 @@
83
92
  &:hover {
84
93
  border-color: $interaction-dark;
85
94
  }
86
-
87
- &:focus {
88
- border-color: transparent;
89
- }
90
95
  }
91
96
 
92
97
  .#{$n}-input__submit:not([aria-disabled='true']):hover .#{$n}-icon path {
@@ -121,14 +126,6 @@
121
126
  background-color: $interaction-dark;
122
127
  }
123
128
 
124
- .#{$n}-file-upload {
125
- transition: border $transition;
126
-
127
- &:hover {
128
- border-color: $interaction-dark;
129
- }
130
- }
131
-
132
129
  .#{$n}-upload__label {
133
130
  transition: color $transition;
134
131
 
@@ -73,6 +73,7 @@ $thin-border: 1px !default;
73
73
  // BORDER-RADIUS
74
74
  $borderradius: $spacer * 0.5 !default;
75
75
  $borderradius-small: $borderradius * 0.5 !default;
76
+ $borderradius-large: $borderradius * 2 !default;
76
77
 
77
78
  // DIMENSIONS
78
79
  $app-initial-width: 195px !default;
@@ -86,6 +87,22 @@ $viewport-width: 100vw !default;
86
87
  $viewport-height: 100vh !default;
87
88
  $badge-touch-size: 32px !default;
88
89
 
90
+ // ICON SIZES
91
+ $iconsize-small: 16px !default;
92
+ $iconsize: 24px !default;
93
+ $iconsize-large: 32px !default;
94
+
95
+ // BUTTON SIZED
96
+ $buttonsize-small: 32px !default;
97
+ $buttonsize: 40px !default;
98
+
99
+ // AVATAR SIZES
100
+ $avatarsize: 32px !default;
101
+ $avatarsize-large: 48px !default;
102
+
103
+ // DIVIDER
104
+ $dividersize: 32px !default;
105
+
89
106
  // Z-INDEX
90
107
  $z-index: 1 !default;
91
108
 
@@ -13,6 +13,7 @@ $app-header-bgcolor: $brand3;
13
13
  bottom: $flex-spacer;
14
14
  flex-direction: column;
15
15
  width: $app-started-width;
16
+ max-width: calc(100% - #{$flex-spacer * 2});
16
17
  height: $app-full-height;
17
18
  overflow: hidden;
18
19
  transition: height $transition-slow, width $transition-slow;
@@ -172,6 +173,7 @@ $app-header-bgcolor: $brand3;
172
173
  position: relative;
173
174
  flex-grow: 1;
174
175
  justify-content: center;
176
+ border-bottom: $thin-border solid $grey-b;
175
177
 
176
178
  &__scroll-area {
177
179
  display: flex;
@@ -196,7 +198,6 @@ $app-header-bgcolor: $brand3;
196
198
  position: relative;
197
199
  flex-grow: 4;
198
200
  padding: 0;
199
- border-bottom: $thin-border solid $grey-b;
200
201
  }
201
202
 
202
203
  .#{$n}-app--collapsed.#{$n}-app--deprecated .#{$n}-chat__body {
@@ -50,4 +50,5 @@
50
50
  display: block;
51
51
  align-self: flex-end;
52
52
  width: 100%;
53
+ text-decoration: none;
53
54
  }