@smwb/ui-styles 1.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 (138) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/less/_prelude.less +6 -0
  4. package/less/components/accordion/accordion.entry.less +2 -0
  5. package/less/components/accordion/accordion.less +36 -0
  6. package/less/components/appBar/appBar.entry.less +2 -0
  7. package/less/components/appBar/appBar.less +95 -0
  8. package/less/components/appLayout/appLayout.entry.less +2 -0
  9. package/less/components/appLayout/appLayout.less +112 -0
  10. package/less/components/avatar/avatar.entry.less +2 -0
  11. package/less/components/avatar/avatar.less +74 -0
  12. package/less/components/badge/badge.entry.less +2 -0
  13. package/less/components/badge/badge.less +66 -0
  14. package/less/components/bottomBar/bottomBar.entry.less +2 -0
  15. package/less/components/bottomBar/bottomBar.less +84 -0
  16. package/less/components/breadcrumbs/breadcrumbs.entry.less +2 -0
  17. package/less/components/breadcrumbs/breadcrumbs.less +57 -0
  18. package/less/components/button/button.entry.less +2 -0
  19. package/less/components/button/button.less +164 -0
  20. package/less/components/buttonGroup/buttonGroup.entry.less +2 -0
  21. package/less/components/buttonGroup/buttonGroup.less +95 -0
  22. package/less/components/card/card.entry.less +2 -0
  23. package/less/components/card/card.less +56 -0
  24. package/less/components/carousel/carousel.entry.less +2 -0
  25. package/less/components/carousel/carousel.less +75 -0
  26. package/less/components/chat/chat.entry.less +2 -0
  27. package/less/components/chat/chat.less +623 -0
  28. package/less/components/chat/chat.variables.less +9 -0
  29. package/less/components/checkbox/checkbox.entry.less +2 -0
  30. package/less/components/checkbox/checkbox.less +109 -0
  31. package/less/components/chip/chip.entry.less +2 -0
  32. package/less/components/chip/chip.less +121 -0
  33. package/less/components/datePicker/dataPicker.entry.less +2 -0
  34. package/less/components/datePicker/dataPicker.less +235 -0
  35. package/less/components/divider/divider.entry.less +2 -0
  36. package/less/components/divider/divider.less +69 -0
  37. package/less/components/expansionPanel/expansionPanel.entry.less +2 -0
  38. package/less/components/expansionPanel/expansionPanel.less +136 -0
  39. package/less/components/fileDrop/fileDrop.entry.less +2 -0
  40. package/less/components/fileDrop/fileDrop.less +67 -0
  41. package/less/components/fileInput/fileInput.entry.less +2 -0
  42. package/less/components/fileInput/fileInput.less +4 -0
  43. package/less/components/floatingButton/floatingButton.entry.less +2 -0
  44. package/less/components/floatingButton/floatingButton.less +94 -0
  45. package/less/components/grid/grid.entry.less +2 -0
  46. package/less/components/grid/grid.less +174 -0
  47. package/less/components/icon/icon.entry.less +2 -0
  48. package/less/components/icon/icon.less +27 -0
  49. package/less/components/imagesList/imagesList.entry.less +2 -0
  50. package/less/components/imagesList/imagesList.less +35 -0
  51. package/less/components/imagesList/imagesListItem/imagesListItem.entry.less +2 -0
  52. package/less/components/imagesList/imagesListItem/imagesListItem.less +117 -0
  53. package/less/components/list/list.entry.less +2 -0
  54. package/less/components/list/list.less +87 -0
  55. package/less/components/menu/menu.entry.less +2 -0
  56. package/less/components/menu/menu.less +121 -0
  57. package/less/components/message/message.entry.less +2 -0
  58. package/less/components/message/message.less +103 -0
  59. package/less/components/modal/modal.entry.less +2 -0
  60. package/less/components/modal/modal.less +215 -0
  61. package/less/components/page/page.entry.less +2 -0
  62. package/less/components/page/page.less +39 -0
  63. package/less/components/pageHeader/pageHeader.entry.less +2 -0
  64. package/less/components/pageHeader/pageHeader.less +49 -0
  65. package/less/components/pagination/pagination.entry.less +2 -0
  66. package/less/components/pagination/pagination.less +103 -0
  67. package/less/components/progressIndicator/progressIndicator.entry.less +2 -0
  68. package/less/components/progressIndicator/progressIndicator.less +107 -0
  69. package/less/components/radioButton/radioButton.entry.less +2 -0
  70. package/less/components/radioButton/radioButton.less +138 -0
  71. package/less/components/rating/rating.entry.less +2 -0
  72. package/less/components/rating/rating.less +65 -0
  73. package/less/components/ripple/ripple.entry.less +2 -0
  74. package/less/components/ripple/ripple.less +24 -0
  75. package/less/components/screenDivider/screenDivider.entry.less +2 -0
  76. package/less/components/screenDivider/screenDivider.less +56 -0
  77. package/less/components/selectField/selectField.entry.less +2 -0
  78. package/less/components/selectField/selectField.less +182 -0
  79. package/less/components/sheet/sheet.entry.less +2 -0
  80. package/less/components/sheet/sheet.less +243 -0
  81. package/less/components/sidebar/sidebar.entry.less +2 -0
  82. package/less/components/sidebar/sidebar.less +137 -0
  83. package/less/components/skeleton/skeleton.entry.less +2 -0
  84. package/less/components/skeleton/skeleton.less +67 -0
  85. package/less/components/slider/slider.entry.less +2 -0
  86. package/less/components/slider/slider.less +294 -0
  87. package/less/components/snackbar/snackbar.entry.less +2 -0
  88. package/less/components/snackbar/snackbar.less +157 -0
  89. package/less/components/stack/stack.entry.less +2 -0
  90. package/less/components/stack/stack.less +10 -0
  91. package/less/components/stepper/stepper.entry.less +2 -0
  92. package/less/components/stepper/stepper.less +142 -0
  93. package/less/components/table/table.entry.less +2 -0
  94. package/less/components/table/table.less +192 -0
  95. package/less/components/table/tablePagination/tablePagination.entry.less +2 -0
  96. package/less/components/table/tablePagination/tablePagination.less +62 -0
  97. package/less/components/tabs/tab/tab.entry.less +2 -0
  98. package/less/components/tabs/tab/tab.less +114 -0
  99. package/less/components/tabs/tabs.entry.less +2 -0
  100. package/less/components/tabs/tabs.less +44 -0
  101. package/less/components/textField/textField.entry.less +2 -0
  102. package/less/components/textField/textField.less +373 -0
  103. package/less/components/timePicker/timePicker.entry.less +2 -0
  104. package/less/components/timePicker/timePicker.less +95 -0
  105. package/less/components/toggle/toggle.entry.less +2 -0
  106. package/less/components/toggle/toggle.less +110 -0
  107. package/less/components/tooltip/tooltip.entry.less +2 -0
  108. package/less/components/tooltip/tooltip.less +36 -0
  109. package/less/components/treeView/treeView.entry.less +2 -0
  110. package/less/components/treeView/treeView.less +71 -0
  111. package/less/components/typography/typography.entry.less +2 -0
  112. package/less/components/typography/typography.less +86 -0
  113. package/less/components.less +59 -0
  114. package/less/connects/rt/table.less +26 -0
  115. package/less/connects.less +1 -0
  116. package/less/default/globals/default.variables.less +584 -0
  117. package/less/foundation/breakpoints.less +80 -0
  118. package/less/foundation/elevation.less +61 -0
  119. package/less/foundation/palette.less +310 -0
  120. package/less/foundation/radius.less +21 -0
  121. package/less/foundation/sizing.less +35 -0
  122. package/less/foundation/spacing.less +164 -0
  123. package/less/foundation/typography.less +25 -0
  124. package/less/foundation.less +18 -0
  125. package/less/headless-base.less +2 -0
  126. package/less/responsive.less +41 -0
  127. package/less/site/globals/site.variables.less +25 -0
  128. package/less/templates/adminDashboard/adminDashboard.less +27 -0
  129. package/less/templates/summer-ui/auth.less +30 -0
  130. package/less/templates/summer-ui/authCard.less +33 -0
  131. package/less/templates/summer-ui/authLayout.less +11 -0
  132. package/less/templates.less +4 -0
  133. package/less/theme.less +30 -0
  134. package/less/themes/material/variables.less +370 -0
  135. package/less/themes/summer/variables.less +380 -0
  136. package/less/variables.less +260 -0
  137. package/normalize.css +484 -0
  138. package/package.json +21 -0
@@ -0,0 +1,623 @@
1
+ @import "./chat.variables.less";
2
+
3
+ .smwb-chat {
4
+ position: relative;
5
+
6
+ &_bottom-right {
7
+ --smwb-chat-anchor-x: flex-end;
8
+ --smwb-chat-anchor-y: flex-end;
9
+ }
10
+
11
+ &_bottom-left {
12
+ --smwb-chat-anchor-x: flex-start;
13
+ --smwb-chat-anchor-y: flex-end;
14
+ }
15
+
16
+ &_top-right {
17
+ --smwb-chat-anchor-x: flex-end;
18
+ --smwb-chat-anchor-y: flex-start;
19
+ }
20
+
21
+ &_top-left {
22
+ --smwb-chat-anchor-x: flex-start;
23
+ --smwb-chat-anchor-y: flex-start;
24
+ }
25
+
26
+ &__trigger.smwb-fab {
27
+ position: fixed;
28
+ z-index: @chatShellZ;
29
+ }
30
+
31
+ &_bottom-right &__trigger.smwb-fab {
32
+ inset-inline-end: @chatTriggerOffset;
33
+ inset-block-end: @chatTriggerOffset;
34
+ inset-inline-start: auto;
35
+ inset-block-start: auto;
36
+ }
37
+
38
+ &_bottom-left &__trigger.smwb-fab {
39
+ inset-inline-start: @chatTriggerOffset;
40
+ inset-block-end: @chatTriggerOffset;
41
+ inset-inline-end: auto;
42
+ inset-block-start: auto;
43
+ }
44
+
45
+ &_top-right &__trigger.smwb-fab {
46
+ inset-inline-end: @chatTriggerOffset;
47
+ inset-block-start: @chatTriggerOffset;
48
+ inset-inline-start: auto;
49
+ inset-block-end: auto;
50
+ }
51
+
52
+ &_top-left &__trigger.smwb-fab {
53
+ inset-inline-start: @chatTriggerOffset;
54
+ inset-block-start: @chatTriggerOffset;
55
+ inset-inline-end: auto;
56
+ inset-block-end: auto;
57
+ }
58
+ }
59
+
60
+ .smwb-chat-shell {
61
+ position: fixed;
62
+ z-index: @chatShellZ;
63
+ display: flex;
64
+ flex-direction: column;
65
+ min-height: 0;
66
+ background-color: var(--smui-surfaceBackground);
67
+ border: 1px solid var(--smui-dividerColor);
68
+ border-radius: @chatRadius;
69
+ color: var(--smui-onSurfaceColor);
70
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
71
+ overflow: hidden;
72
+
73
+ &.smwb-chat-dropzone_active {
74
+ outline: 2px dashed var(--smui-primaryColor);
75
+ outline-offset: -2px;
76
+ background-color: var(--smui-primaryContainer);
77
+ }
78
+
79
+ &_bottom-right {
80
+ inset-inline-end: @chatTriggerOffset;
81
+ inset-block-end: calc(@chatTriggerOffset + 56px + @smui-space-md);
82
+ }
83
+
84
+ &_bottom-left {
85
+ inset-inline-start: @chatTriggerOffset;
86
+ inset-block-end: calc(@chatTriggerOffset + 56px + @smui-space-md);
87
+ }
88
+
89
+ &_top-right {
90
+ inset-inline-end: @chatTriggerOffset;
91
+ inset-block-start: calc(@chatTriggerOffset + 56px + @smui-space-md);
92
+ }
93
+
94
+ &_top-left {
95
+ inset-inline-start: @chatTriggerOffset;
96
+ inset-block-start: calc(@chatTriggerOffset + 56px + @smui-space-md);
97
+ }
98
+
99
+ &_floating {
100
+ width: min(@chatFloatingWidth, calc(100vw - @chatTriggerOffset * 2));
101
+ height: min(@chatFloatingHeight, calc(100vh - 120px));
102
+ }
103
+
104
+ &_fullHeight {
105
+ width: @chatDockedWidth;
106
+ max-width: 100vw;
107
+ inset-block-start: 0;
108
+ inset-block-end: 0;
109
+ height: auto;
110
+ border-radius: 0;
111
+ box-shadow: none;
112
+ }
113
+
114
+ &_fullHeight&_bottom-right,
115
+ &_fullHeight&_top-right {
116
+ inset-inline-end: 0;
117
+ inset-inline-start: auto;
118
+ border-inline-end: 0;
119
+ }
120
+
121
+ &_fullHeight&_bottom-left,
122
+ &_fullHeight&_top-left {
123
+ inset-inline-start: 0;
124
+ inset-inline-end: auto;
125
+ border-inline-start: 0;
126
+ }
127
+
128
+ &_fullscreen {
129
+ inset: 0;
130
+ width: 100%;
131
+ height: 100%;
132
+ border-radius: 0;
133
+ border: 0;
134
+ }
135
+
136
+ &__header {
137
+ flex-shrink: 0;
138
+ border-bottom: 1px solid var(--smui-dividerColor);
139
+ }
140
+
141
+ &__body {
142
+ flex: 1 1 auto;
143
+ min-height: 0;
144
+ display: flex;
145
+ flex-direction: column;
146
+ }
147
+
148
+ &__footer {
149
+ flex-shrink: 0;
150
+ border-top: 1px solid var(--smui-dividerColor);
151
+ padding: @chatPadding;
152
+ }
153
+ }
154
+
155
+ .smwb-chat-composer {
156
+ &__input {
157
+ min-height: 24px;
158
+ resize: none;
159
+ overflow: hidden;
160
+ line-height: 1.5;
161
+ }
162
+
163
+ &_attach-only {
164
+ display: flex;
165
+ align-items: center;
166
+ }
167
+ }
168
+
169
+ .smwb-chat-icon-button {
170
+ display: inline-flex;
171
+ align-items: center;
172
+ justify-content: center;
173
+ position: relative;
174
+ min-width: 0;
175
+ padding: @smui-space-xs;
176
+ user-select: none;
177
+ background-color: transparent;
178
+ border: 0;
179
+ border-radius: 50%;
180
+ color: var(--smui-onSurfaceColor);
181
+ cursor: pointer;
182
+ transition: background-color 150ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
183
+
184
+ &:hover:not(&_disabled) {
185
+ background-color: var(--smui-onSurfaceHover);
186
+ }
187
+
188
+ &:active:not(&_disabled) {
189
+ background-color: var(--smui-onSurfaceActive);
190
+ }
191
+
192
+ &[aria-pressed="true"] {
193
+ background-color: var(--smui-onSurfaceHover);
194
+ color: var(--smui-primaryColor);
195
+ }
196
+
197
+ &_primary:not(&_disabled) {
198
+ color: var(--smui-primaryColor);
199
+ }
200
+
201
+ &_disabled {
202
+ color: var(--smui-onSurfaceVariant);
203
+ cursor: default;
204
+ pointer-events: none;
205
+ }
206
+
207
+ &_edge-start {
208
+ margin-left: -12px;
209
+ }
210
+
211
+ &_edge-end {
212
+ margin-right: -12px;
213
+ }
214
+ }
215
+
216
+ .smwb-chat-header {
217
+ display: flex;
218
+ align-items: flex-start;
219
+ justify-content: space-between;
220
+ gap: @chatGap;
221
+ padding: @chatPadding;
222
+
223
+ &__main {
224
+ min-width: 0;
225
+ flex: 1 1 auto;
226
+ }
227
+
228
+ &__title {
229
+ font-weight: 500;
230
+ }
231
+
232
+ &__subtitle {
233
+ color: var(--smui-onSurfaceVariant);
234
+ font-size: 0.875rem;
235
+ }
236
+
237
+ &__actions {
238
+ display: flex;
239
+ align-items: center;
240
+ gap: @smui-space-xs;
241
+ flex-shrink: 0;
242
+ flex-wrap: wrap;
243
+ justify-content: flex-end;
244
+ }
245
+ }
246
+
247
+ .smwb-chat-messages {
248
+ flex: 1 1 auto;
249
+ min-height: 0;
250
+ overflow: auto;
251
+ display: flex;
252
+ flex-direction: column;
253
+ gap: @chatGap;
254
+ padding: @chatPadding;
255
+ -webkit-overflow-scrolling: touch;
256
+
257
+ &__sentinel {
258
+ width: 100%;
259
+ height: 1px;
260
+ flex-shrink: 0;
261
+ }
262
+
263
+ &__skeletons {
264
+ display: flex;
265
+ flex-direction: column;
266
+ gap: @chatGap;
267
+ width: 100%;
268
+ }
269
+ }
270
+
271
+ .smwb-chat-message-skeleton {
272
+ pointer-events: none;
273
+
274
+ &__bubble {
275
+ display: flex;
276
+ flex-direction: column;
277
+ gap: @smui-space-xs;
278
+ width: 100%;
279
+ padding: @smui-space-sm @smui-space-md;
280
+ }
281
+ }
282
+
283
+ .smwb-chat-message {
284
+ display: flex;
285
+ align-items: flex-end;
286
+ gap: @chatGap;
287
+ max-width: 100%;
288
+
289
+ &_start {
290
+ justify-content: flex-start;
291
+ }
292
+
293
+ &_end {
294
+ justify-content: flex-end;
295
+ }
296
+
297
+ &__content {
298
+ display: flex;
299
+ flex-direction: column;
300
+ gap: @smui-space-xxs;
301
+ max-width: min(100%, 320px);
302
+ }
303
+
304
+ &_end &__content {
305
+ align-items: flex-end;
306
+ }
307
+
308
+ &__author,
309
+ &__time {
310
+ color: var(--smui-onSurfaceVariant);
311
+ }
312
+
313
+ &__meta {
314
+ display: inline-flex;
315
+ align-items: center;
316
+ gap: @smui-space-xxs;
317
+ max-width: 100%;
318
+ }
319
+
320
+ &_end &__meta {
321
+ justify-content: flex-end;
322
+ }
323
+
324
+ &__status {
325
+ display: inline-flex;
326
+ align-items: center;
327
+ flex-shrink: 0;
328
+ line-height: 1;
329
+ color: var(--smui-onSurfaceVariant);
330
+ }
331
+
332
+ &__status_read {
333
+ color: var(--smui-primaryColor);
334
+ }
335
+
336
+ &__status_pending .material-symbols-outlined {
337
+ animation: smwb-chat-message-status-spin 1s linear infinite;
338
+ }
339
+
340
+ @keyframes smwb-chat-message-status-spin {
341
+ from {
342
+ transform: rotate(0deg);
343
+ }
344
+
345
+ to {
346
+ transform: rotate(360deg);
347
+ }
348
+ }
349
+
350
+ &__bubble {
351
+ padding: @smui-space-sm @smui-space-md;
352
+ border-radius: @smui-radius-md;
353
+ word-break: break-word;
354
+ }
355
+
356
+ &__bubble_incoming {
357
+ background-color: var(--smui-surfaceVariant);
358
+ color: var(--smui-onSurfaceColor);
359
+ }
360
+
361
+ &__bubble_outgoing {
362
+ background-color: var(--smui-primaryColor);
363
+ color: var(--smui-onPrimaryColor);
364
+ }
365
+
366
+ &__avatar {
367
+ flex-shrink: 0;
368
+ }
369
+ }
370
+
371
+ .smwb-chat-message-system {
372
+ display: flex;
373
+ justify-content: center;
374
+ text-align: center;
375
+ color: var(--smui-onSurfaceVariant);
376
+ padding: @smui-space-xs 0;
377
+ }
378
+
379
+ .smwb-chat-message-item_custom {
380
+ display: flex;
381
+ justify-content: center;
382
+ }
383
+
384
+ .smwb-chat-attachments {
385
+ display: flex;
386
+ flex-direction: column;
387
+ gap: @smui-space-xs;
388
+ margin-top: @smui-space-xs;
389
+ }
390
+
391
+ .smwb-chat-attachments__file {
392
+ color: inherit;
393
+ text-decoration: underline;
394
+ word-break: break-all;
395
+ }
396
+
397
+ .smwb-chat-attachment-image {
398
+ display: block;
399
+ padding: 0;
400
+ border: 0;
401
+ background: transparent;
402
+ cursor: pointer;
403
+ border-radius: @smui-radius-sm;
404
+ overflow: hidden;
405
+ max-width: 220px;
406
+
407
+ &__img {
408
+ display: block;
409
+ width: 100%;
410
+ height: auto;
411
+ object-fit: cover;
412
+ }
413
+
414
+ &__overlay {
415
+ position: fixed;
416
+ inset: 0;
417
+ z-index: @chatShellZ + 1;
418
+ display: flex;
419
+ align-items: center;
420
+ justify-content: center;
421
+ padding: @chatPadding;
422
+ background-color: rgba(0, 0, 0, 0.72);
423
+ opacity: 0;
424
+ transition: opacity 150ms ease-in-out;
425
+
426
+ &_enter-active,
427
+ &_enter-done {
428
+ opacity: 1;
429
+ }
430
+ }
431
+
432
+ &__overlay-img {
433
+ max-width: 100%;
434
+ max-height: 100%;
435
+ object-fit: contain;
436
+ }
437
+ }
438
+
439
+ .smwb-chat_embedded {
440
+ width: 100%;
441
+ height: 100%;
442
+ min-height: 0;
443
+ }
444
+
445
+ .smwb-chat-shell_embedded {
446
+ position: relative;
447
+ inset: auto;
448
+ z-index: auto;
449
+ width: 100%;
450
+ height: 100%;
451
+ max-height: none;
452
+ box-shadow: none;
453
+ border-radius: 0;
454
+ border: 0;
455
+ }
456
+
457
+ .smwb-chat-shell_overlay-context {
458
+ position: absolute;
459
+ }
460
+
461
+ .smwb-chat-overlay-layout {
462
+ position: relative;
463
+ height: 100%;
464
+ min-height: 0;
465
+ width: 100%;
466
+ isolation: isolate;
467
+
468
+ &__content {
469
+ height: 100%;
470
+ min-height: 0;
471
+ overflow: auto;
472
+ }
473
+ }
474
+
475
+ .smwb-chat_overlay-context {
476
+ position: absolute;
477
+ inset: 0;
478
+ z-index: @chatShellZ;
479
+ pointer-events: none;
480
+
481
+ .smwb-chat-shell,
482
+ .smwb-chat__trigger.smwb-fab {
483
+ pointer-events: auto;
484
+ }
485
+
486
+ .smwb-chat-shell_fullHeight {
487
+ width: var(--smwb-chat-overlay-w, @chatDockedWidth);
488
+ max-width: 100%;
489
+ inset-block: 0;
490
+ height: auto;
491
+ border-radius: 0;
492
+ box-shadow: 0 0 24px rgba(0, 0, 0, 0.12);
493
+ }
494
+
495
+ .smwb-chat-shell_fullHeight.smwb-chat-shell_bottom-right,
496
+ .smwb-chat-shell_fullHeight.smwb-chat-shell_top-right {
497
+ inset-inline-end: 0;
498
+ inset-inline-start: auto;
499
+ border-inline-end: 0;
500
+ }
501
+
502
+ .smwb-chat-shell_fullHeight.smwb-chat-shell_bottom-left,
503
+ .smwb-chat-shell_fullHeight.smwb-chat-shell_top-left {
504
+ inset-inline-start: 0;
505
+ inset-inline-end: auto;
506
+ border-inline-start: 0;
507
+ }
508
+
509
+ .smwb-chat-shell_floating {
510
+ width: min(@chatFloatingWidth, calc(100% - @chatTriggerOffset * 2));
511
+ height: min(@chatFloatingHeight, calc(100% - 120px));
512
+ }
513
+
514
+ .smwb-chat__trigger.smwb-fab {
515
+ position: absolute;
516
+ z-index: @chatShellZ;
517
+ }
518
+ }
519
+
520
+ .smwb-chat-layout {
521
+ display: flex;
522
+ min-height: 0;
523
+ height: 100%;
524
+ width: 100%;
525
+
526
+ &_collapsed {
527
+ position: relative;
528
+ }
529
+
530
+ &__panel {
531
+ flex: 0 0 var(--smwb-chat-layout-w, @chatLayoutWidth);
532
+ width: var(--smwb-chat-layout-w, @chatLayoutWidth);
533
+ min-width: 0;
534
+ min-height: 0;
535
+ display: flex;
536
+ flex-direction: column;
537
+ background-color: var(--smui-surfaceBackground);
538
+ border-inline-end: 1px solid var(--smui-dividerColor);
539
+ }
540
+
541
+ &_right &__panel {
542
+ border-inline-end: 0;
543
+ border-inline-start: 1px solid var(--smui-dividerColor);
544
+ }
545
+
546
+ &__content {
547
+ flex: 1 1 auto;
548
+ min-width: 0;
549
+ min-height: 0;
550
+ overflow: auto;
551
+ }
552
+ }
553
+
554
+ .smui-media-down(sm; {
555
+ .smwb-chat-shell {
556
+ &_floating {
557
+ width: calc(100vw - @smui-space-md * 2);
558
+ inset-inline: @smui-space-md;
559
+ height: min(@chatFloatingHeight, calc(100vh - 96px));
560
+ }
561
+
562
+ &_fullHeight {
563
+ width: min(@chatDockedWidth, 100vw);
564
+ inset-block: 0;
565
+ height: auto;
566
+ border-radius: 0;
567
+ box-shadow: none;
568
+ }
569
+
570
+ &_fullHeight&_bottom-right,
571
+ &_fullHeight&_top-right {
572
+ inset-inline-end: 0;
573
+ inset-inline-start: auto;
574
+ border-inline-end: 0;
575
+ }
576
+
577
+ &_fullHeight&_bottom-left,
578
+ &_fullHeight&_top-left {
579
+ inset-inline-start: 0;
580
+ inset-inline-end: auto;
581
+ border-inline-start: 0;
582
+ }
583
+ }
584
+
585
+ .smwb-chat {
586
+ &_bottom-right &__trigger.smwb-fab,
587
+ &_bottom-left &__trigger.smwb-fab,
588
+ &_top-right &__trigger.smwb-fab,
589
+ &_top-left &__trigger.smwb-fab {
590
+ inset-inline: auto;
591
+ inset-block: auto;
592
+ }
593
+
594
+ &_bottom-right &__trigger.smwb-fab {
595
+ inset-inline-end: @smui-space-md;
596
+ inset-block-end: @smui-space-md;
597
+ }
598
+
599
+ &_bottom-left &__trigger.smwb-fab {
600
+ inset-inline-start: @smui-space-md;
601
+ inset-block-end: @smui-space-md;
602
+ }
603
+
604
+ &_top-right &__trigger.smwb-fab {
605
+ inset-inline-end: @smui-space-md;
606
+ inset-block-start: @smui-space-md;
607
+ }
608
+
609
+ &_top-left &__trigger.smwb-fab {
610
+ inset-inline-start: @smui-space-md;
611
+ inset-block-start: @smui-space-md;
612
+ }
613
+ }
614
+ });
615
+
616
+ .smui-media-down(md; {
617
+ .smwb-chat-shell_fullscreen {
618
+ padding-top: env(safe-area-inset-top, 0px);
619
+ padding-right: env(safe-area-inset-right, 0px);
620
+ padding-bottom: env(safe-area-inset-bottom, 0px);
621
+ padding-left: env(safe-area-inset-left, 0px);
622
+ }
623
+ });
@@ -0,0 +1,9 @@
1
+ @chatGap: @smui-space-sm;
2
+ @chatPadding: @smui-space-md;
3
+ @chatRadius: @smui-radius-lg;
4
+ @chatFloatingWidth: 380px;
5
+ @chatFloatingHeight: 520px;
6
+ @chatDockedWidth: 400px;
7
+ @chatShellZ: 1002;
8
+ @chatTriggerOffset: @smui-space-lg;
9
+ @chatLayoutWidth: 400px;
@@ -0,0 +1,2 @@
1
+ @import (reference) "../../_prelude.less";
2
+ @import "./checkbox.less";