superdesk-ui-framework 7.0.0-dev-hg0 → 7.0.0-dev-hg2

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 (195) hide show
  1. package/app/fonts/sd_big-icons.eot +0 -0
  2. package/app/fonts/sd_big-icons.svg +69 -0
  3. package/app/fonts/sd_big-icons.ttf +0 -0
  4. package/app/fonts/sd_big-icons.woff +0 -0
  5. package/app/fonts/sd_icons.eot +0 -0
  6. package/app/fonts/sd_icons.svg +202 -0
  7. package/app/fonts/sd_icons.ttf +0 -0
  8. package/app/fonts/sd_icons.woff +0 -0
  9. package/app/img/AvatarDefaultImage.svg +6 -0
  10. package/app/img/DotsSmall-dark.svg +14 -0
  11. package/app/img/OneDot.svg +3 -0
  12. package/app/img/SD-logo.svg +52 -0
  13. package/app/img/dots.svg +3 -0
  14. package/app/img/empty_states/empty-state--large-1.svg +221 -0
  15. package/app/img/empty_states/empty-state--large-2.svg +207 -0
  16. package/app/img/empty_states/empty-state--large-3.svg +231 -0
  17. package/app/img/empty_states/empty-state--large-dashboard.svg +642 -0
  18. package/app/img/empty_states/empty-state--small-1.svg +112 -0
  19. package/app/img/empty_states/empty-state--small-2.svg +49 -0
  20. package/app/img/empty_states/empty-state--small-3.svg +47 -0
  21. package/app/img/icon_illustrations/IconIllustration__headlines.svg +25 -0
  22. package/app/img/icon_illustrations/IconIllustration__keywords.svg +46 -0
  23. package/app/img/icon_illustrations/IconIllustration__optimise.svg +38 -0
  24. package/app/img/icon_illustrations/IconIllustration__summary.svg +27 -0
  25. package/app/img/icon_illustrations/IconIllustration__translate.svg +12 -0
  26. package/app/img/icon_image_stack--white.svg +16 -0
  27. package/app/img/icon_image_stack.svg +16 -0
  28. package/app/img/spinner.svg +3 -0
  29. package/app/img/spinning-wheel.gif +0 -0
  30. package/app/img/theme-thumbnail.png +0 -0
  31. package/app/img/themes/theme-base.svg +1 -0
  32. package/app/img/themes/theme-contrast.svg +45 -0
  33. package/app/img/themes/theme-dark.svg +1 -0
  34. package/app/img/themes/theme-light.svg +1 -0
  35. package/app/img/three-dots.svg +33 -0
  36. package/app/styles/_accessibility.scss +358 -0
  37. package/app/styles/_alerts.scss +392 -0
  38. package/app/styles/_animations.scss +73 -0
  39. package/app/styles/_avatar.scss +526 -0
  40. package/app/styles/_badge.scss +106 -0
  41. package/app/styles/_big-icon-font.scss +182 -0
  42. package/app/styles/_boxed-list.scss +284 -0
  43. package/app/styles/_buttons.scss +874 -0
  44. package/app/styles/_carousel.scss +232 -0
  45. package/app/styles/_content-divider.scss +233 -0
  46. package/app/styles/_design-tokens.scss +6 -0
  47. package/app/styles/_drag-drop.scss +26 -0
  48. package/app/styles/_drag-handle.scss +48 -0
  49. package/app/styles/_empty-states.scss +81 -0
  50. package/app/styles/_expand-button.scss +31 -0
  51. package/app/styles/_hamburger.scss +160 -0
  52. package/app/styles/_helpers.scss +2220 -0
  53. package/app/styles/_icon-font.scss +488 -0
  54. package/app/styles/_icon-labels.scss +140 -0
  55. package/app/styles/_labels.scss +184 -0
  56. package/app/styles/_loaders.scss +29 -0
  57. package/app/styles/_master-desk.scss +323 -0
  58. package/app/styles/_mixins.scss +164 -0
  59. package/app/styles/_modals.scss +452 -0
  60. package/app/styles/_normalize.scss +466 -0
  61. package/app/styles/_panel-info.scss +48 -0
  62. package/app/styles/_popover.scss +29 -0
  63. package/app/styles/_pr-superdesk-theme.scss +4 -0
  64. package/app/styles/_publisher-styles.scss +195 -0
  65. package/app/styles/_reboot.scss +65 -0
  66. package/app/styles/_sd-tag-input.scss +715 -0
  67. package/app/styles/_simple-list.scss +158 -0
  68. package/app/styles/_spinner.scss +47 -0
  69. package/app/styles/_table-list.scss +385 -0
  70. package/app/styles/_tables.scss +150 -0
  71. package/app/styles/_tabs-vertical.scss +58 -0
  72. package/app/styles/_tabs.scss +232 -0
  73. package/app/styles/_tag-labels.scss +210 -0
  74. package/app/styles/_thumb-carousel.scss +247 -0
  75. package/app/styles/_time.scss +113 -0
  76. package/app/styles/_toggle-box.scss +175 -0
  77. package/app/styles/_toggle-button.scss +46 -0
  78. package/app/styles/_tooltips.scss +431 -0
  79. package/app/styles/_variables.scss +4 -0
  80. package/app/styles/app.scss +127 -0
  81. package/app/styles/components/_calendar-week-day.scss +99 -0
  82. package/app/styles/components/_card-item.scss +586 -0
  83. package/app/styles/components/_list-item.scss +694 -0
  84. package/app/styles/components/_load-more-indicator.scss +15 -0
  85. package/app/styles/components/_overflow-stack.scss +120 -0
  86. package/app/styles/components/_sd-circular-progress.scss +239 -0
  87. package/app/styles/components/_sd-collapse-box.scss +292 -0
  88. package/app/styles/components/_sd-comment-box.scss +42 -0
  89. package/app/styles/components/_sd-dropzone.scss +134 -0
  90. package/app/styles/components/_sd-editor-popup.scss +106 -0
  91. package/app/styles/components/_sd-grid-item.scss +865 -0
  92. package/app/styles/components/_sd-loader.scss +39 -0
  93. package/app/styles/components/_sd-media-carousel.scss +408 -0
  94. package/app/styles/components/_sd-notification-panel.scss +51 -0
  95. package/app/styles/components/_sd-pagination.scss +51 -0
  96. package/app/styles/components/_sd-photo-preview.scss +508 -0
  97. package/app/styles/components/_sd-searchbar.scss +276 -0
  98. package/app/styles/components/_sd-toaster.scss +226 -0
  99. package/app/styles/components/_subnav.scss +777 -0
  100. package/app/styles/components/_theme-selector.scss +221 -0
  101. package/app/styles/components/sd-slider.scss +125 -0
  102. package/app/styles/design-tokens/_brand-colors.scss +36 -0
  103. package/app/styles/design-tokens/_component-tokens.scss +11 -0
  104. package/app/styles/design-tokens/_design-tokens-general.scss +145 -0
  105. package/app/styles/design-tokens/_new-colors.scss +820 -0
  106. package/app/styles/design-tokens/_primitives.scss +161 -0
  107. package/app/styles/design-tokens/_semantic-colors.scss +161 -0
  108. package/app/styles/dropdowns/_basic-dropdown.scss +760 -0
  109. package/app/styles/dropdowns/_input-dropdown.scss +26 -0
  110. package/app/styles/dropdowns/_navigation_dropdown.scss +126 -0
  111. package/app/styles/dropdowns/_nested-dropdown.scss +95 -0
  112. package/app/styles/dropdowns/_other_dropdown.scss +59 -0
  113. package/app/styles/dropdowns/dropdown2.scss +4 -0
  114. package/app/styles/editor/_editor-buttons.scss +61 -0
  115. package/app/styles/editor/_editor-themes.scss +550 -0
  116. package/app/styles/form-elements/_autocomplete.scss +54 -0
  117. package/app/styles/form-elements/_checkbox.scss +770 -0
  118. package/app/styles/form-elements/_forms-general.scss +543 -0
  119. package/app/styles/form-elements/_input-preview.scss +80 -0
  120. package/app/styles/form-elements/_input-wrap.scss +147 -0
  121. package/app/styles/form-elements/_inputs.scss +1425 -0
  122. package/app/styles/form-elements/_radio.scss +65 -0
  123. package/app/styles/form-elements/_select-grid.scss +81 -0
  124. package/app/styles/form-elements/_switch.scss +109 -0
  125. package/app/styles/grids/_basic-grid.scss +206 -0
  126. package/app/styles/grids/_grid-layout.scss +1162 -0
  127. package/app/styles/grids/_layout-grid.scss +176 -0
  128. package/app/styles/grids/_sd-kanban-list.scss +92 -0
  129. package/app/styles/index.js +1 -0
  130. package/app/styles/interface-elements/_side-panel.scss +595 -0
  131. package/app/styles/layout/_basic-layout.scss +149 -0
  132. package/app/styles/layout/_container.scss +45 -0
  133. package/app/styles/layout/_editor.scss +464 -0
  134. package/app/styles/layout/_general.scss +92 -0
  135. package/app/styles/menus/_sd-bottom-tabs.scss +79 -0
  136. package/app/styles/menus/_sd-content-navigation.scss +50 -0
  137. package/app/styles/menus/_sd-left-navigation.scss +126 -0
  138. package/app/styles/menus/_sd-sidebar-menu.scss +465 -0
  139. package/app/styles/menus/_sd-top-menu.scss +105 -0
  140. package/app/styles/pr-superdesk-theme.scss +7 -0
  141. package/app/styles/primereact/_pr-autocomplete.scss +27 -0
  142. package/app/styles/primereact/_pr-datepicker.scss +288 -0
  143. package/app/styles/primereact/_pr-dialog.scss +399 -0
  144. package/app/styles/primereact/_pr-dropdown.scss +233 -0
  145. package/app/styles/primereact/_pr-general.scss +72 -0
  146. package/app/styles/primereact/_pr-menu.scss +60 -0
  147. package/app/styles/primereact/_pr-skeleton.scss +36 -0
  148. package/app/styles/primereact/_pr-tag-input.scss +66 -0
  149. package/app/styles/variables/_colors.scss +275 -0
  150. package/app/styles/variables/_dimensions.scss +89 -0
  151. package/app/styles/variables/_form-elements.scss +0 -0
  152. package/app/styles/variables/_typography.scss +20 -0
  153. package/dist/esm/components/EmptyState.d.ts.map +1 -1
  154. package/dist/esm/components/EmptyState.js +22 -1
  155. package/dist/esm/components/EmptyState.js.map +1 -1
  156. package/dist/fonts/sd_big-icons.eot +0 -0
  157. package/dist/fonts/sd_big-icons.svg +69 -0
  158. package/dist/fonts/sd_big-icons.ttf +0 -0
  159. package/dist/fonts/sd_big-icons.woff +0 -0
  160. package/dist/fonts/sd_icons.eot +0 -0
  161. package/dist/fonts/sd_icons.svg +202 -0
  162. package/dist/fonts/sd_icons.ttf +0 -0
  163. package/dist/fonts/sd_icons.woff +0 -0
  164. package/dist/img/AvatarDefaultImage.svg +6 -0
  165. package/dist/img/DotsSmall-dark.svg +14 -0
  166. package/dist/img/OneDot.svg +3 -0
  167. package/dist/img/SD-logo.svg +52 -0
  168. package/dist/img/dots.svg +3 -0
  169. package/dist/img/empty_states/empty-state--large-1.svg +221 -0
  170. package/dist/img/empty_states/empty-state--large-2.svg +207 -0
  171. package/dist/img/empty_states/empty-state--large-3.svg +231 -0
  172. package/dist/img/empty_states/empty-state--large-dashboard.svg +642 -0
  173. package/dist/img/empty_states/empty-state--small-1.svg +112 -0
  174. package/dist/img/empty_states/empty-state--small-2.svg +49 -0
  175. package/dist/img/empty_states/empty-state--small-3.svg +47 -0
  176. package/dist/img/icon_illustrations/IconIllustration__headlines.svg +25 -0
  177. package/dist/img/icon_illustrations/IconIllustration__keywords.svg +46 -0
  178. package/dist/img/icon_illustrations/IconIllustration__optimise.svg +38 -0
  179. package/dist/img/icon_illustrations/IconIllustration__summary.svg +27 -0
  180. package/dist/img/icon_illustrations/IconIllustration__translate.svg +12 -0
  181. package/dist/img/icon_image_stack--white.svg +16 -0
  182. package/dist/img/icon_image_stack.svg +16 -0
  183. package/dist/img/spinner.svg +3 -0
  184. package/dist/img/spinning-wheel.gif +0 -0
  185. package/dist/img/theme-thumbnail.png +0 -0
  186. package/dist/img/themes/theme-base.svg +1 -0
  187. package/dist/img/themes/theme-contrast.svg +45 -0
  188. package/dist/img/themes/theme-dark.svg +1 -0
  189. package/dist/img/themes/theme-light.svg +1 -0
  190. package/dist/img/three-dots.svg +33 -0
  191. package/dist/superdesk-ui.bundle.js +1 -1
  192. package/package.json +10 -3
  193. package/react/components/EmptyState.d.ts.map +1 -1
  194. package/react/components/EmptyState.js +22 -1
  195. package/react/components/EmptyState.js.map +1 -1
@@ -0,0 +1,526 @@
1
+ @use "variables/colors";
2
+ @use "variables/dimensions";
3
+
4
+ .sd-avatar {
5
+ display: block;
6
+ position: relative; // required for absolutely positioned indicators
7
+
8
+ &.sd-avatar--indicator-status--offline {
9
+ .sd-avatar-content {
10
+ outline: 2px solid var(--sd-colour-avatar-outline--offline);
11
+ outline-offset: 2px;
12
+ }
13
+
14
+ &.sd-avatar--x-small,
15
+ &.sd-avatar--small {
16
+ .sd-avatar-content {
17
+ outline: 1px solid var(--sd-colour-avatar-outline--offline);
18
+ }
19
+ }
20
+ }
21
+
22
+ &.sd-avatar--indicator-status--online {
23
+ .sd-avatar-content {
24
+ outline: 2px solid var(--sd-colour-avatar-outline--online);
25
+ outline-offset: 2px;
26
+ }
27
+
28
+ &.sd-avatar--x-small,
29
+ &.sd-avatar--small {
30
+ .sd-avatar-content {
31
+ outline: 1px solid var(--sd-colour-avatar-outline--online);
32
+ }
33
+ }
34
+ }
35
+
36
+ .sd-avatar-content {
37
+ display: flex;
38
+ width: 100%;
39
+ height: 100%;
40
+ align-items: center;
41
+ justify-content: center;
42
+ border-radius: dimensions.$border-radius__base--full;
43
+ color: colors.$white;
44
+ text-transform: uppercase;
45
+ letter-spacing: -0.03em;
46
+ overflow: hidden;
47
+
48
+ > img {
49
+ width: 100%;
50
+ }
51
+
52
+ &.sd-avatar-content--add-item {
53
+ background-color: var(--sd-colour-avatar-bg--light);
54
+ border: 1px dashed var(--sd-colour-avatar-border--light);
55
+ background-image: linear-gradient(var(--sd-colour-avatar-add) 0 0), linear-gradient(var(--sd-colour-avatar-add) 0 0);
56
+ background-position:center;
57
+ background-size: 50% 2px,2px 50%; /*thickness = 2px, length = 50% (25px)*/
58
+ background-repeat:no-repeat;
59
+ outline: 1px solid transparent;
60
+ outline-offset: 0px;
61
+ transition: all 0.2s ease;
62
+ }
63
+
64
+ &.sd-avatar-content--add-item--clickable {
65
+ &:hover {
66
+ background-image: linear-gradient(var(--sd-colour-avatar-add--hover) 0 0), linear-gradient(var(--sd-colour-avatar-add--hover) 0 0);
67
+ cursor: pointer;
68
+ outline: 1px solid var(--sd-colour-interactive);
69
+ outline-offset: 2px;
70
+ }
71
+ &:active {
72
+ background-image: linear-gradient(var(--sd-colour-avatar-add) 0 0), linear-gradient(var(--sd-colour-avatar-add) 0 0);
73
+ cursor: pointer;
74
+ outline: 2px solid var(--sd-colour-interactive);
75
+ }
76
+ }
77
+
78
+ &.sd-avatar-content--number {
79
+ background-color: var(--sd-colour-avatar-bg--light);
80
+ color: var(--color-text-muted);
81
+ outline: 1px solid transparent;
82
+ outline-offset: 0px;
83
+ transition: all 0.2s ease;
84
+ &:hover {
85
+ cursor: pointer;
86
+ outline: 1px solid var(--sd-colour-interactive);
87
+ outline-offset: 2px;
88
+ }
89
+ &:active {
90
+ cursor: pointer;
91
+ outline: 2px solid var(--sd-colour-interactive);
92
+ }
93
+ }
94
+ }
95
+
96
+ .sd-avatar-content--text {
97
+ background-color: var(--sd-colour-avatar-bg);
98
+ cursor: default;
99
+ span {
100
+ pointer-events: none;
101
+ }
102
+ }
103
+
104
+ .sd-avatar-content--dummy-img {
105
+ background-color: var(--sd-colour-avatar-bg--empty);
106
+ background-image: url('~../../images/avatar_dummy.svg');
107
+ background-repeat: no-repeat;
108
+ background-size: cover;
109
+ pointer-events: none;
110
+ }
111
+
112
+ &.sd-avatar--empty-light {
113
+ .sd-avatar-content--dummy-img {
114
+ background-color: var(--sd-colour-avatar-bg--light);
115
+ border: 1px dashed var(--sd-colour-avatar-border--light);
116
+ svg {
117
+ opacity: 0.25;
118
+ }
119
+ }
120
+ }
121
+
122
+ .sd-avatar__icon {
123
+ position: absolute;
124
+ display: flex;
125
+ align-items: center;
126
+ justify-content: center;
127
+ z-index: 1;
128
+ inset-block-end: -4px;
129
+ inset-inline-end: -4px;
130
+ opacity: 1;
131
+ color: var(--color-text-subdued);
132
+ pointer-events: none;
133
+ [class^="icon-"], [class*=" icon-"] {
134
+ color: inherit;
135
+ text-shadow: -1px 1px 0 var(--sd-item__main-Bg), 1px 1px 0 var(--sd-item__main-Bg), 1px -1px 0 var(--sd-item__main-Bg), -1px -1px 0 var(--sd-item__main-Bg);
136
+ }
137
+
138
+ }
139
+ .sd-avatar__coverage-state {
140
+ --dot-size: 6px;
141
+ display: flex;
142
+ height: var(--dot-size);
143
+ width: var(--dot-size);
144
+ position: absolute;
145
+ background-color: var(--sd-colour-coverage-state--default);
146
+ z-index: 2;
147
+ border-radius: var(--b-radius--full);
148
+ inset-block-end: -3px;
149
+ inset-inline-end: 3px;
150
+ box-shadow: 0 0 0 1px var(--sd-item__main-Bg);
151
+ pointer-events: none;
152
+ }
153
+
154
+ &.sd-avatar--x-small {
155
+ .sd-avatar__icon {
156
+ inset-block-end: -4px;
157
+ inset-inline-end: -10px;
158
+ }
159
+ }
160
+
161
+ &.sd-avatar--small {
162
+ .sd-avatar__icon {
163
+ inset-block-end: -4px;
164
+ inset-inline-end: -8px;
165
+ }
166
+ }
167
+
168
+ &.sd-avatar--medium {
169
+ .sd-avatar__icon {
170
+ inset-block-end: -3px;
171
+ inset-inline-end: -6px;
172
+ }
173
+ }
174
+
175
+ &.sd-avatar--large {
176
+ .sd-avatar__icon {
177
+ inset-block-end: -1px;
178
+ inset-inline-end: -4px;
179
+ }
180
+ }
181
+
182
+ &.sd-avatar--x-large {
183
+ .sd-avatar__icon {
184
+ inset-block-end: -2px;
185
+ inset-inline-end: -4px;
186
+ [class^="icon-"], [class*=" icon-"] {
187
+ --icon-base-size: 32px;
188
+ text-shadow: -2px 2px 0 var(--sd-item__main-Bg), 2px 2px 0 var(--sd-item__main-Bg), 2px -2px 0 var(--sd-item__main-Bg), -2px -2px 0 var(--sd-item__main-Bg);
189
+ }
190
+ }
191
+ }
192
+
193
+ &.sd-avatar--xx-large {
194
+ .sd-avatar__icon {
195
+ inset-block-end: -1px;
196
+ inset-inline-end: -2px;
197
+ [class^="icon-"], [class*=" icon-"] {
198
+ --icon-base-size: 32px;
199
+ text-shadow: -2px 2px 0 var(--sd-item__main-Bg), 2px 2px 0 var(--sd-item__main-Bg), 2px -2px 0 var(--sd-item__main-Bg), -2px -2px 0 var(--sd-item__main-Bg);
200
+ }
201
+ }
202
+ }
203
+ }
204
+
205
+ .sd-avatar--indicator-admin {
206
+ border-radius: dimensions.$border-radius__base--full;
207
+ position: absolute;
208
+ inset-block-start: -4px;
209
+ inset-inline-start: -4px;
210
+ inset-inline-end: auto;
211
+ z-index: 1;
212
+ color: #FF5722 !important;
213
+
214
+ &:after {
215
+ content: '';
216
+ display: block;
217
+ position: absolute;
218
+ inset-block-start: 4px;
219
+ inset-inline-start: 4px;
220
+ background: var(--sd-colour-background__base--00);
221
+ width: 8px;
222
+ height: 8px;
223
+ z-index: -1;
224
+ border-radius: dimensions.$border-radius__base--full;
225
+ }
226
+ }
227
+
228
+ .sd-avatar--x-small {
229
+ height: 20px;
230
+ width: 20px;
231
+ font-size: 1rem;
232
+
233
+ .sd-avatar--indicator-admin {
234
+ inset-block-start: -4px;
235
+ inset-inline-start: -6px;
236
+ }
237
+ }
238
+
239
+ .sd-avatar--small {
240
+ height: 24px;
241
+ width: 24px;
242
+ font-size: 1rem;
243
+
244
+ .sd-avatar--indicator-admin {
245
+ inset-block-start: -4px;
246
+ inset-inline-start: -6px;
247
+ }
248
+ }
249
+
250
+ .sd-avatar--medium {
251
+ height: 30px;
252
+ width: 30px;
253
+ font-size: 1.4rem;
254
+ }
255
+
256
+ .sd-avatar--large {
257
+ height: 48px;
258
+ width: 48px;
259
+ font-size: 1.8rem;
260
+
261
+ .sd-avatar--indicator-status--offline,
262
+ .sd-avatar--indicator-status--online {
263
+ height: 12px;
264
+ width: 12px;
265
+ inset-block-end: -1px;
266
+ inset-inline-end: -4px;
267
+ inset-inline-start: auto;
268
+ }
269
+
270
+ .sd-avatar--indicator-admin {
271
+ inset-block-start: -2px;
272
+ inset-inline-start: -4px;
273
+ inset-inline-end: auto;
274
+ }
275
+ }
276
+
277
+ .sd-avatar--x-large {
278
+ height: 96px;
279
+ width: 96px;
280
+ font-size: 3.2rem;
281
+
282
+ .sd-avatar--indicator-status--offline,
283
+ .sd-avatar--indicator-status--online {
284
+ height: 16px;
285
+ width: 16px;
286
+ inset-block-end: -2px;
287
+ inset-inline-end: 4px;
288
+ }
289
+
290
+ .sd-avatar--indicator-admin {
291
+ inset-block-start: 2px;
292
+ inset-inline-start: 0;
293
+ width: 24px;
294
+ height: 24px;
295
+ font-size: 24px;
296
+ &:after {
297
+ height: 14px;
298
+ width: 14px;
299
+ inset-block-start: 1px;
300
+ inset-inline-start: 5px;
301
+ }
302
+ }
303
+ }
304
+
305
+ .sd-avatar--xx-large {
306
+ height: 120px;
307
+ width: 120px;
308
+ font-size: 4rem;
309
+
310
+ .sd-avatar--indicator-status--offline,
311
+ .sd-avatar--indicator-status--online {
312
+ height: 18px;
313
+ width: 18px;
314
+ inset-block-end: -2px;
315
+ inset-inline-end: 8px;
316
+ }
317
+
318
+ .sd-avatar--indicator-admin {
319
+ inset-block-start: 4px;
320
+ inset-inline-start: 4px;
321
+ inset-inline-end: auto;
322
+ width: 24px;
323
+ height: 24px;
324
+ font-size: 24px;
325
+ &:after {
326
+ height: 14px;
327
+ width: 14px;
328
+ inset-block-start: 1px;
329
+ inset-inline-start: 5px;
330
+ }
331
+ }
332
+ }
333
+
334
+ .sd-avatar-group {
335
+ display: flex;
336
+
337
+ &.sd-avatar-group--stacked {
338
+ flex-wrap: nowrap;
339
+ gap: 0;
340
+ margin-inline-end: 8px;
341
+
342
+ > .sd-avatar,
343
+ > .d-contents .sd-avatar {
344
+ margin: 0 calc(-1 * var(--space--1)) 0 0;
345
+ .sd-avatar-content {
346
+ --avatar-shadow: var(--sd-item__main-Bg);
347
+ box-shadow: 0 0 0 2px var(--avatar-shadow);
348
+ }
349
+ &:hover {
350
+ z-index: 100;
351
+ }
352
+ }
353
+
354
+ > .sd-avatar--large,
355
+ > .d-contents .sd-avatar--large {
356
+ margin: 0 calc(-1 * var(--space--1-5)) 0 0;
357
+ }
358
+
359
+ &.sd-avatar-group--stacked--gap-small {
360
+ gap: var(--gap-0-5);
361
+ > .sd-avatar,
362
+ > .d-contents .sd-avatar {
363
+ margin: 0;
364
+ }
365
+ margin-inline-end: 0;
366
+ }
367
+
368
+ &.sd-avatar-group--stacked--gap-medium {
369
+ gap: var(--gap-1);
370
+ > .sd-avatar,
371
+ > .d-contents .sd-avatar {
372
+ margin: 0;
373
+ }
374
+ margin-inline-end: 0;
375
+ }
376
+
377
+ &.sd-avatar-group--stacked--gap-large {
378
+ gap: var(--gap-1-5);
379
+ > .sd-avatar,
380
+ > .d-contents .sd-avatar {
381
+ margin: 0;
382
+ }
383
+ margin-inline-end: 0;
384
+ }
385
+ }
386
+ &.sd-avatar-group--grid {
387
+ flex-wrap: wrap;
388
+ justify-content: flex-start;
389
+ gap: var(--gap-1-5);
390
+ }
391
+ }
392
+
393
+ .avatar-popup {
394
+ background-color: var(--color-dropdown-menu-Bg);
395
+ border-radius: var(--b-radius--large);
396
+ padding-block: var(--space--2);
397
+ padding-inline-start: var(--space--1-5);
398
+ padding-inline-end: var(--space--3);
399
+ box-shadow: var(--sd-shadow__dropdown);
400
+ display: flex;
401
+ flex-direction: column;
402
+ gap: var(--gap-1-5);
403
+ overflow: auto;
404
+ }
405
+
406
+ // Inline avatar display mode (like Material Design Chip)
407
+ .sd-avatar--inline {
408
+ display: inline-flex;
409
+ align-items: center;
410
+ gap: var(--gap-1);
411
+ vertical-align: middle;
412
+ background-color: var(--color-surface-faded);
413
+ border-radius: var(--b-radius--full);
414
+
415
+
416
+ .sd-avatar--inline__text {
417
+ color: var(--color-text);
418
+ font-size: var(--name-font-size);
419
+ line-height: 1;
420
+ white-space: nowrap;
421
+ overflow: hidden;
422
+ text-overflow: ellipsis;
423
+ // max-width: 200px;
424
+
425
+ }
426
+ &:has(.sd-avatar--x-small) {
427
+ gap: var(--gap-0-5);
428
+ .sd-avatar--inline__text {
429
+ --name-font-size: var(--text-size-xx-small);
430
+ padding-inline-end: 1em;
431
+ }
432
+ }
433
+ &:has(.sd-avatar--small) {
434
+ gap: var(--gap-0-5);
435
+ .sd-avatar--inline__text {
436
+ --name-font-size: var(--text-size-x-small);
437
+ padding-inline-end: 1em;
438
+
439
+ }
440
+ }
441
+ &:has(.sd-avatar--medium) {
442
+ gap: var(--gap-1);
443
+ .sd-avatar--inline__text {
444
+ --name-font-size: var(--text-size-small);
445
+ padding-inline-end: 1em;
446
+ }
447
+ }
448
+ &:has(.sd-avatar--large) {
449
+ gap: var(--gap-1);
450
+ .sd-avatar--inline__text {
451
+ --name-font-size: var(--text-size-small);
452
+ padding-inline-end: 1.5em;
453
+ }
454
+ }
455
+ &:has(.sd-avatar--x-large) {
456
+ gap: var(--gap-2);
457
+ .sd-avatar--inline__text {
458
+ --name-font-size: var(--text-size-medium);
459
+ padding-inline-end: 2.25em;
460
+ }
461
+ }
462
+ &:has(.sd-avatar--xx-large) {
463
+ gap: var(--gap-3);
464
+ .sd-avatar--inline__text {
465
+ --name-font-size: var(--text-size-large);
466
+ padding-inline-end: 2.25em;
467
+ }
468
+ }
469
+
470
+ // Modifier for text-start positioning (text before avatar)
471
+ &.sd-avatar--inline--text-start {
472
+ flex-direction: row-reverse;
473
+
474
+ .sd-avatar--inline__text {
475
+ padding-inline-end: 0;
476
+ padding-inline-start: 1em;
477
+ }
478
+
479
+ &:has(.sd-avatar--x-small) {
480
+ .sd-avatar--inline__text {
481
+ padding-inline-start: 1em;
482
+ }
483
+ }
484
+ &:has(.sd-avatar--small) {
485
+ .sd-avatar--inline__text {
486
+ padding-inline-start: 1em;
487
+ }
488
+ }
489
+ &:has(.sd-avatar--medium) {
490
+ .sd-avatar--inline__text {
491
+ padding-inline-start: 1em;
492
+ }
493
+ }
494
+ &:has(.sd-avatar--large) {
495
+ .sd-avatar--inline__text {
496
+ padding-inline-start: 1.5em;
497
+ }
498
+ }
499
+ &:has(.sd-avatar--x-large) {
500
+ .sd-avatar--inline__text {
501
+ padding-inline-start: 2.25em;
502
+ }
503
+ }
504
+ &:has(.sd-avatar--xx-large) {
505
+ .sd-avatar--inline__text {
506
+ padding-inline-start: 2.25em;
507
+ }
508
+ }
509
+ }
510
+ &:not(.sd-avatar--inline--text-start) {
511
+ &:has(.sd-avatar--x-small) {
512
+ &:has(.sd-avatar__icon) {
513
+ .sd-avatar--inline__text {
514
+ padding-inline-start: 0.5em;
515
+ }
516
+ }
517
+ }
518
+ &:has(.sd-avatar--small) {
519
+ &:has(.sd-avatar__icon) {
520
+ .sd-avatar--inline__text {
521
+ padding-inline-start: 0.25em;
522
+ }
523
+ }
524
+ }
525
+ }
526
+ }
@@ -0,0 +1,106 @@
1
+ @use "variables/colors";
2
+ @use "variables/dimensions";
3
+
4
+ /// Default colors for badges.
5
+ $badge-background: var(--sd-colour-bg--08) !default;
6
+ $badge-background-translucent: var(--sd-colour-bg-translucent--08);
7
+ $badge-color: var(--color-text-ondark) !default;
8
+ $badge-color-alt: var(--sd-colour-btn-txt-neutral) !default;
9
+
10
+ /// Coloring classes. A map of classes to output in the CSS.
11
+ $badge-palette: colors.$sd-basic-palette !default;
12
+
13
+ /// Default padding inside badges.
14
+ $badge-padding: 0.4em 0.5em 0.3em!default;
15
+
16
+ $badge-minwidth: 1.8em !default;
17
+
18
+ /// Default font size and line height for badges.
19
+ $badge-font-size: 1rem !default;
20
+ $badge-lineheight: 1.1em !default;
21
+
22
+ [data-theme="dark-ui"] {
23
+ .badge--light {
24
+ background-color: var(--buoyant-grey-200-a40);
25
+ }
26
+ }
27
+
28
+ /// Generates the base styles for a badge.
29
+ @mixin badge {
30
+ display: inline-block;
31
+ min-width: $badge-minwidth;
32
+ padding: $badge-padding;
33
+ border-radius: dimensions.$border-radius__base--full;
34
+ font-size: $badge-font-size;
35
+ line-height: $badge-lineheight;
36
+ text-align: center;
37
+ text-transform: uppercase;
38
+ font-weight: 400;
39
+ --sd-badge-bg: var(--sd-colour-bg--08);
40
+ background-color: var(--sd-badge-bg);
41
+ color: var(--color-text-ondark);
42
+
43
+ &--square {
44
+ border-radius: var(--b-radius--small);
45
+ }
46
+ }
47
+
48
+ .badge {
49
+ @include badge;
50
+
51
+ &.badge--primary {
52
+ --sd-badge-bg: var(--sd-colour-primary);
53
+ }
54
+
55
+ &.badge--success {
56
+ --sd-badge-bg: var(--sd-colour-success);
57
+ }
58
+
59
+ &.badge--warning {
60
+ --sd-badge-bg: var(--sd-colour-warning);
61
+ }
62
+
63
+ &.badge--alert {
64
+ --sd-badge-bg: var(--sd-colour-alert);
65
+ }
66
+
67
+ &.badge--highlight {
68
+ --sd-badge-bg: var(--sd-colour-highlight);
69
+ }
70
+
71
+ &.badge--sd-green {
72
+ --sd-badge-bg: var(--sd-colour-superdesk);
73
+ }
74
+
75
+ &.badge--secondary {
76
+ --sd-btn-bg: var(--sd-colour-secondary);
77
+ }
78
+
79
+ // light gray
80
+ &.badge--light {
81
+ background-color: var(--sd-colour-bg-translucent--08);
82
+ color: var(--color-text);
83
+ font-weight: 500;
84
+ }
85
+ }
86
+
87
+ // Element with badge
88
+ .element-with-badge {
89
+ display: inline-block;
90
+ position: relative;
91
+
92
+ .badge {
93
+ position: absolute;
94
+ inset-block-start: -.5rem;
95
+ inset-inline-end: -.8rem;
96
+ }
97
+
98
+ + .element-with-badge, + .btn {
99
+ margin-inline-start: 1.2rem;
100
+ vertical-align: top;
101
+ }
102
+ }
103
+ .btn + .element-with-badge {
104
+ margin-inline-start: 1.2rem;
105
+ vertical-align: top;
106
+ }