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,874 @@
1
+ @use "variables/colors";
2
+ @use "variables/dimensions";
3
+
4
+
5
+ $button-margin: 0 !default;
6
+ $button-opacity-disabled: 0.60 !default;
7
+ $icn-button-opacity-disabled: 0.40 !default;
8
+
9
+ // /// transitions for buttons.
10
+ $button-transition: all 0.2s ease-out, color 0.1s ease-out !default;
11
+ $button-focus-box-shadow: 0 0 0 3px colors.$sd-colour--focus-shadow;
12
+ $icn-button-focus-box-shadow: 0 0 0 2px colors.$sd-colour--focus-shadow;
13
+
14
+ ////////////////////////////// NEW BUTTONS //////////////////////////////
15
+
16
+ :root {
17
+ --new-button-hover-shadow: inset 0 0 0 3px hsla(0, 0%, 0%, 0.24);
18
+ --new-button-active-shadow: inset 0 0 0 5px hsla(0, 0%, 0%, 0.24);
19
+ }
20
+
21
+ [data-theme="dark-ui"], .dark-ui {
22
+ --new-button-hover-shadow: inset 0 0 0 3px hsla(0, 0%, 100%, 0.24);
23
+ --new-button-active-shadow: inset 0 0 0 5px hsla(0, 0%, 100%, 0.32);
24
+ }
25
+
26
+ @mixin new-button-base {
27
+ display: inline-flex;
28
+ align-items: center;
29
+ vertical-align: middle;
30
+ justify-content: center;
31
+ margin: $button-margin;
32
+ padding-block-start: 0;
33
+ padding-block-end: 0;
34
+ padding-inline: dimensions.$padding-x__button--default;
35
+ height: dimensions.$height__button--default;
36
+ font-size: dimensions.$font-size__button--default;
37
+ -webkit-appearance: none;
38
+ border: none;
39
+ border-radius: var(--b-radius--small);
40
+ transition: $button-transition;
41
+ text-transform: uppercase;
42
+ line-height: 1;
43
+ font-weight: 400;
44
+ letter-spacing: 0.1em;
45
+ text-align: center;
46
+ text-decoration: none;
47
+ cursor: pointer;
48
+ position: relative;
49
+ background-color: var(--sd-btn-bg);
50
+ box-shadow: inset 0 0 0 0 var(--new-button-hover-shadow);
51
+ gap: 0.6rem;
52
+
53
+ &:hover {
54
+ box-shadow: var(--new-button-hover-shadow);
55
+ text-decoration: none !important;
56
+ }
57
+
58
+ &:active {
59
+ box-shadow: var(--new-button-active-shadow);
60
+ }
61
+
62
+ &:focus-visible {
63
+ outline: $button-focus-box-shadow;
64
+ outline-offset: 1px;
65
+ }
66
+
67
+ [class^="icon-"], [class*=" icon-"] {
68
+ color: currentColor;
69
+ }
70
+ }
71
+
72
+ @mixin new-button-hollow {
73
+ border: 1px solid var(--sd-btn-border);
74
+ background-color: transparent !important;
75
+ box-shadow: inset 0 0 0 0 var(--sd-btn-shadow);
76
+
77
+ [class^="icon-"], [class*=" icon-"] {
78
+ color: var(--sd-btn-color);
79
+ }
80
+
81
+ &:hover {
82
+ box-shadow: inset 0 0 0 3px var(--sd-btn-shadow);
83
+ }
84
+
85
+ &:active {
86
+ box-shadow: inset 0 0 0 5px var(--sd-btn-shadow);
87
+ }
88
+
89
+ &:focus-visible {
90
+ outline: $button-focus-box-shadow;
91
+ outline-offset: 1px;
92
+ }
93
+ }
94
+
95
+ @mixin new-button-text-only {
96
+ --sd-btn-shadow: var(--color-surface-faded-translucent);
97
+ --sd-btn-txt: var(--color-text-muted);
98
+ --sd-btn-bg--hover: var(--color-neutral-light-default);
99
+ border: none;
100
+ background-color: transparent;
101
+ box-shadow: inset 0 0 0 0 var(--sd-btn-shadow);
102
+
103
+ [class^="icon-"], [class*=" icon-"] {
104
+ color: currentColor;
105
+ }
106
+
107
+ &:hover {
108
+ background-color: var(--sd-btn-bg--hover);
109
+ box-shadow: inset 0 0 0 0 var(--sd-btn-bg--shadow);
110
+ }
111
+
112
+ &:active {
113
+ background-color: var(--sd-btn-bg--hover);
114
+ box-shadow: inset 0 0 0 4px var(--sd-btn-shadow);
115
+ }
116
+
117
+ &:focus-visible {
118
+ box-shadow: $button-focus-box-shadow;
119
+ }
120
+ }
121
+
122
+ .btn {
123
+ --sd-btn-bg: var(--sd-colour-btn-bg-neutral);
124
+ --sd-btn-bg--hover: var(--sd-colour-btn-bg-neutral--hover);
125
+ --sd-btn-bg--active: var(--sd-colour-btn-bg-neutral--active);
126
+ color: var(--sd-colour-btn-txt-neutral);
127
+ @include new-button-base;
128
+
129
+ [class^="icon-"], [class*=" icon-"] {
130
+ margin-inline-start: -0.3rem;
131
+ }
132
+
133
+ // Hollow style
134
+ &.btn--hollow {
135
+ --sd-btn-border: var(--color-line-strong);
136
+ --sd-btn-color: var(--color-text-muted);
137
+ --sd-btn-shadow: var(--color-line-light);
138
+ color: var(--sd-btn-color);
139
+ @include new-button-hollow;
140
+
141
+ &.btn--primary {
142
+ --sd-btn-border: var(--sd-colour-interactive);
143
+ --sd-btn-color: var(--sd-colour-interactive--text);
144
+ --sd-btn-shadow: var(--sd-colour-interactive-translucent-25);
145
+ }
146
+
147
+ &.btn--success {
148
+ --sd-btn-border: var(--color-success-default);
149
+ --sd-btn-color: var(--color-success-text);
150
+ --sd-btn-shadow: var(--color-success-translucent);
151
+ }
152
+
153
+ &.btn--warning {
154
+ --sd-btn-border: var(--color-warning-default);
155
+ --sd-btn-color: var(--color-warning-text);
156
+ --sd-btn-shadow: var(--color-warning-translucent);
157
+ }
158
+
159
+ &.btn--alert {
160
+ --sd-btn-border: var(--color-alert-default);
161
+ --sd-btn-color: var(--color-alert-text);
162
+ --sd-btn-shadow: var(--color-alert-translucent);
163
+ }
164
+
165
+ &.btn--highlight {
166
+ --sd-btn-border: var(--color-highlight-default);
167
+ --sd-btn-color: var(--color-highlight-text);
168
+ --sd-btn-shadow: var(--color-highlight-translucent);
169
+ }
170
+
171
+ &.btn--sd-green {
172
+ --sd-btn-border: var(--sd-colour-superdesk-btn-border);
173
+ --sd-btn-color: var(--sd-colour-superdesk);
174
+ --sd-btn-shadow: var(--sd-colour-superdesk--translucent);
175
+ }
176
+
177
+ &.btn--primary,
178
+ &.btn--success,
179
+ &.btn--warning,
180
+ &.btn--alert,
181
+ &.btn--highlight,
182
+ &.btn--sd-green {
183
+ color: var(--sd-btn-color);
184
+
185
+ .sd-spinner__path {
186
+ stroke: var(--sd-btn-color);
187
+ }
188
+ }
189
+ }
190
+
191
+ // Text only
192
+ &.btn--text-only {
193
+ @include new-button-text-only;
194
+
195
+ &.btn--primary {
196
+ --sd-btn-shadow: var(--color-primary-translucent);
197
+ --sd-btn-txt: var(--color-primary-text);
198
+ --sd-btn-bg--hover: var(--color-primary-translucent);
199
+ }
200
+
201
+ &.btn--success {
202
+ --sd-btn-shadow: var(--color-success-translucent);
203
+ --sd-btn-txt: var(--color-success-text);
204
+ --sd-btn-bg--hover: var(--color-success-translucent);
205
+ }
206
+
207
+ &.btn--warning {
208
+ --sd-btn-shadow: var(--color-warning-translucent);
209
+ --sd-btn-txt: var(--color-warning-text);
210
+ --sd-btn-bg--hover: var(--color-warning-translucent);
211
+ }
212
+
213
+ &.btn--alert {
214
+ --sd-btn-shadow: var(--color-alert-translucent);
215
+ --sd-btn-txt: var(--color-alert-text);
216
+ --sd-btn-bg--hover: var(--color-alert-translucent);
217
+ }
218
+
219
+ &.btn--highlight {
220
+ --sd-btn-shadow: var(--color-highlight-translucent);
221
+ --sd-btn-txt: var(--color-highlight-text);
222
+ --sd-btn-bg--hover: var(--color-highlight-translucent);
223
+ }
224
+
225
+ &.btn--sd-green {
226
+ --sd-btn-hs: var(--sd-colour-superdesk-hs);
227
+ }
228
+
229
+ &.btn--primary,
230
+ &.btn--success,
231
+ &.btn--warning,
232
+ &.btn--alert,
233
+ &.btn--highlight,
234
+ &.btn--sd-green {
235
+ color: var(--sd-btn-txt);
236
+
237
+ .sd-spinner__path {
238
+ stroke: var(--sd-btn-txt);
239
+ }
240
+ }
241
+ }
242
+
243
+ &.btn--icon-only {
244
+ padding-inline: var(--space--1);
245
+ [class^="icon-"], [class*=" icon-"] {
246
+ margin: 0;
247
+ }
248
+ &.btn--small {
249
+ padding-inline: var(--space--0-5);
250
+ }
251
+
252
+ &.btn--large {
253
+ padding-inline: var(--space--1-5);
254
+ }
255
+
256
+ &.btn--icon-only-circle {
257
+ border-radius: dimensions.$border-radius__base--full;
258
+ padding: 0;
259
+ width: dimensions.$height__button--default;
260
+
261
+ &.btn--small {
262
+ width: dimensions.$height__button--small;
263
+ }
264
+
265
+ &.btn--large {
266
+ width: dimensions.$height__button--large;
267
+ }
268
+ }
269
+ }
270
+
271
+ &.btn--disabled, &[disabled] {
272
+ opacity: $button-opacity-disabled;
273
+ cursor: not-allowed;
274
+
275
+ :not(.no-disable) {
276
+ pointer-events: none;
277
+ }
278
+
279
+ box-shadow: none !important;
280
+
281
+ &:hover, &:active {
282
+ cursor: not-allowed;
283
+ }
284
+ }
285
+ }
286
+
287
+ // Sizes
288
+ .btn--small {
289
+ padding: dimensions.$padding-x__button--small;
290
+ height: dimensions.$height__button--small;
291
+ font-size: dimensions.$font-size__button--small;
292
+ }
293
+
294
+ .btn--large {
295
+ padding: dimensions.$padding-x__button--large;
296
+ height: dimensions.$height__button--large;
297
+ font-size: dimensions.$font-size__button--large;
298
+ }
299
+
300
+ .btn--expanded {
301
+ width: 100%;
302
+ margin-inline-end: 0;
303
+ margin-inline-start: 0;
304
+ }
305
+
306
+ // Colours
307
+ .btn--primary, .btn--success, .btn--warning, .btn--alert, .btn--highlight, .btn--sd-green {
308
+ color: var(--color-text-ondark);
309
+
310
+ [class^="icon-"], [class*=" icon-"] {
311
+ color: var(--color-text-ondark);
312
+ }
313
+
314
+ .sd-spinner__path {
315
+ stroke: var(--color-text-ondark);
316
+ }
317
+ }
318
+
319
+ .btn--primary {
320
+ --sd-btn-bg: var(--sd-colour-primary);
321
+ --sd-btn-bg--hover: var(--sd-colour-primary--hover);
322
+ --sd-btn-bg--active: var(--sd-colour-primary--active);
323
+ }
324
+
325
+ .btn--success {
326
+ --sd-btn-bg: var(--color-success-default);
327
+ --sd-btn-bg--hover: var(--color-success-default);
328
+ --sd-btn-bg--active: var(--color-success-default);
329
+ }
330
+
331
+ .btn--warning {
332
+ --sd-btn-bg: var(--color-warning-default);
333
+ --sd-btn-bg--hover: var(--color-warning-default);
334
+ --sd-btn-bg--active: var(--color-warning-default);
335
+ }
336
+
337
+ .btn--alert {
338
+ --sd-btn-bg: var(--color-alert-default);
339
+ --sd-btn-bg--hover: var(--color-alert-default);
340
+ --sd-btn-bg--active: var(--color-alert-default);
341
+ }
342
+
343
+ .btn--highlight {
344
+ --sd-btn-bg: var(--color-highlight-default);
345
+ --sd-btn-bg--hover: var(--color-highlight-default);
346
+ --sd-btn-bg--active: var(--color-highlight-default);
347
+ }
348
+
349
+ .btn--sd-green {
350
+ --sd-btn-bg: var(--sd-colour-superdesk);
351
+ --sd-btn-bg--hover: var(--sd-colour-superdesk);
352
+ --sd-btn-bg--active: var(--sd-colour-superdesk);
353
+ }
354
+
355
+ ////////////////////////////// END NEW BUTTONS /////////////////////////////
356
+
357
+ // Plain Icon buttons
358
+ @mixin icn-btn-style () {
359
+ display: inline-flex;
360
+ align-items: center;
361
+ justify-content: center;
362
+ font-size: 1.6rem;
363
+ transition: background-color .2s ease-out, color .1s ease-out, opacity .1s ease-out;
364
+ height: dimensions.$height__button--default;
365
+ width: dimensions.$height__button--default;
366
+ border-radius: dimensions.$border-radius__base--full;
367
+ background-color: transparent;
368
+ opacity: 0.75;
369
+ background-color: hsla(214, 13%, 55%, 0);
370
+ color: var(--color-icon-default);
371
+ text-decoration: none;
372
+ cursor: pointer;
373
+ flex-shrink: 0;
374
+
375
+ [class^="icon-"], [class*=" icon-"] {
376
+ color: var(--color-icon-default) !important;
377
+ vertical-align: baseline !important;
378
+ pointer-events: none;
379
+ }
380
+
381
+ &:hover {
382
+ opacity: 1;
383
+ text-decoration: none;
384
+ background-color: hsla(214, 13%, 55%, 0.2);
385
+ }
386
+
387
+ &:focus-visible {
388
+ opacity: 1;
389
+ background-color: hsla(214, 13%, 55%, 0.2);
390
+ box-shadow: $icn-button-focus-box-shadow;
391
+ outline: none;
392
+
393
+ [class^="icon-"], [class*=" icon-"] {
394
+ opacity: 1;
395
+ }
396
+ }
397
+
398
+ &:active {
399
+ opacity: 1;
400
+ background-color: hsla(214, 13%, 55%, 0.3);
401
+
402
+ [class^="icon-"], [class*=" icon-"] {
403
+ color: colors.$sd-colour-interactive;
404
+ opacity: 1;
405
+ }
406
+ }
407
+
408
+ &--disabled,
409
+ &:disabled {
410
+ opacity: $icn-button-opacity-disabled;
411
+ pointer-events: none;
412
+
413
+ &:hover, &:active, &:focus-visible {
414
+ background-color: transparent !important;
415
+ cursor: not-allowed;
416
+ opacity: $icn-button-opacity-disabled;
417
+
418
+ [class^="icon-"], [class*=" icon-"] {
419
+ opacity: 1;
420
+ color: inherit !important;
421
+ }
422
+ }
423
+ }
424
+ }
425
+
426
+ .icn-btn {
427
+ @include icn-btn-style;
428
+
429
+ &.icn-btn--x-large.icn-btn--outline,
430
+ &.icn-btn--x-large.icn-btn--outlineWhite {
431
+ border-width: 2px;
432
+ }
433
+ }
434
+
435
+ .icn-btn--small {
436
+ height: dimensions.$height__button--small;
437
+ width: dimensions.$height__button--small;
438
+ }
439
+
440
+ .icn-btn--x-large {
441
+ height: dimensions.$height__button--x-large;
442
+ width: dimensions.$height__button--x-large;
443
+
444
+ [class^="icon-"], [class*=" icon-"] {
445
+ vertical-align: baseline !important;
446
+ font-size: 2.4rem;
447
+ height: 2.4rem;
448
+ width: 2.4rem;
449
+ line-height: 2.4rem;
450
+ }
451
+
452
+ }
453
+
454
+ .icn-btn--outline {
455
+ border: 1px solid currentColor;
456
+
457
+ &:active:not(.icn-btn--disabled) {
458
+ border-color: var(--sd-colour-interactive);
459
+ }
460
+ }
461
+
462
+ .icn-btn--outlineWhite {
463
+ color: hsla(214, 13%, 95%, 0.8) !important;
464
+ border: 1px solid currentColor;
465
+
466
+ [class^="icon-"], [class*=" icon-"] {
467
+ color: hsla(214, 13%, 95%, 0.8) !important;
468
+ }
469
+
470
+ &:hover:not(.icn-btn--disabled) {
471
+ color: hsla(214, 13%, 95%, 1) !important;
472
+ border-color: hsla(214, 13%, 95%, 1);
473
+ background-color: hsla(0, 0%, 0%, 0.4);
474
+ [class^="icon-"], [class*=" icon-"] {
475
+ color: hsla(214, 13%, 95%, 1) !important;
476
+ }
477
+ }
478
+
479
+ &:active:not(.icn-btn--disabled) {
480
+ border-color: var(--sd-colour-interactive);
481
+ background-color: hsla(0, 0%, 0%, 0.6);
482
+ }
483
+ }
484
+
485
+ .p-dialog-header-close {
486
+ @include icn-btn-style;
487
+ height: dimensions.$height__button--small;
488
+ width: dimensions.$height__button--small;
489
+
490
+ &:hover {
491
+ opacity: 1;
492
+ text-decoration: none;
493
+ background-color: hsla(0, 0%, 61%, 0.2) !important;
494
+ }
495
+
496
+ &:active {
497
+ opacity: 1;
498
+ background-color: hsla(0, 0%, 61%, 0.3);
499
+ }
500
+ }
501
+
502
+ // Button navigation
503
+ .button-nav {
504
+ display: flex;
505
+ flex-direction: row;
506
+ align-content: center;
507
+ gap: dimensions.$sd-base-increment;
508
+ }
509
+
510
+ .button-nav__btn {
511
+ color: var(--color-text);
512
+ display: inline-block;
513
+ vertical-align: middle;
514
+ margin: 0;
515
+ padding-block-start: 0.7rem;
516
+ padding-block-end: 0.7rem;
517
+ padding-inline: 1.8rem;
518
+ background: transparent;
519
+ -webkit-appearance: none;
520
+ border: none;
521
+ border-radius: dimensions.$border-radius__base--full;
522
+ transition: $button-transition;
523
+ font-size: 1.4rem;
524
+ line-height: 1;
525
+ text-align: center;
526
+ text-decoration: none;
527
+ cursor: pointer;
528
+ background-color: var(--sd-colour-bg__button-nav-btn);
529
+
530
+ &:hover {
531
+ background-color: var(--sd-colour-bg__button-nav-btn--hover);
532
+ }
533
+
534
+ &:active, &--active, &--active:hover {
535
+ background-color: var(--sd-colour-bg__button-nav-btn--active);
536
+ box-shadow: inset 0 2px 0 0 hsla(0, 0%, 0%, 0.25);
537
+ }
538
+ }
539
+
540
+ // Button icon group
541
+ .btn-icon-group {
542
+ display: flex;
543
+ align-items: center;
544
+ gap: 6px;
545
+
546
+ [class^="icon-"], [class*=" icon-"] {
547
+ opacity: 0.6;
548
+ }
549
+ }
550
+
551
+
552
+ // BUTTON GROUPS
553
+ .button-group {
554
+ display: flex;
555
+ flex-direction: row;
556
+ align-items: center;
557
+ gap: dimensions.$sd-base-increment;
558
+
559
+ .btn {
560
+ margin: 0;
561
+ }
562
+ }
563
+
564
+ .button-group--left, .button-group--start {
565
+ margin-inline-end: auto;
566
+
567
+ .sd-navbtn {
568
+ border-inline-width: 0 1px;
569
+ }
570
+
571
+ &.button-group--compact {
572
+ gap: 0.5 * dimensions.$sd-base-increment;
573
+ }
574
+
575
+ .button-group--inline {
576
+ .sd-navbtn {
577
+ border-inline-width: 0 1px;
578
+ }
579
+ }
580
+ }
581
+
582
+ .button-group--inline {
583
+ margin-inline-end: 0;
584
+
585
+ .sd-navbtn {
586
+ border-inline-width: 0 1px;
587
+ }
588
+ }
589
+
590
+ .button-group--right, .button-group--end {
591
+ margin-inline-start: auto;
592
+ justify-content: flex-end;
593
+ }
594
+
595
+ .button-group--center {
596
+ margin-inline-start: auto;
597
+ margin-inline-end: auto;
598
+
599
+ .sd-navbtn {
600
+ border-inline-width: 0 1px;
601
+ &:first-child {
602
+ border-inline-width: 1px 1px;
603
+ }
604
+ }
605
+ }
606
+
607
+ .button-group--vertical {
608
+ flex-grow: 1;
609
+ flex-direction: column;
610
+ align-items: stretch;
611
+ justify-content: center;
612
+ }
613
+
614
+ .button-group--comfort {
615
+ gap: dimensions.$sd-base-increment;
616
+ }
617
+
618
+ .button-group--loose {
619
+ gap: dimensions.$sd-base-increment * 2;
620
+ }
621
+
622
+ .button-group--compact {
623
+ gap: dimensions.$sd-base-increment * 0.5;
624
+ }
625
+
626
+ .button-group--no-space {
627
+ gap: unset;
628
+ }
629
+
630
+ .button-group--padded {
631
+ padding-inline-start: dimensions.$sd-base-increment * 2;
632
+ padding-inline-end: dimensions.$sd-base-increment * 2;
633
+ }
634
+
635
+ .button-group__divider {
636
+ width: 1px;
637
+ height: dimensions.$sd-base-increment * 3;
638
+ }
639
+
640
+ .button-group__divider--mini {
641
+ padding: 0 !important;
642
+ width: 0;
643
+ border: none !important;
644
+ }
645
+
646
+ .button-group__divider--small {
647
+ margin-inline: var(--space--0-5);
648
+ }
649
+
650
+ .button-group__divider--medium {
651
+ margin-inline: var(--space--1);
652
+ }
653
+
654
+ .button-group__divider--large {
655
+ margin-inline: var(--space--1-5);
656
+ }
657
+
658
+ .button-group__divider--border {
659
+ border-inline-start: 1px dotted var(--sd-colour-line--strong);
660
+ }
661
+
662
+ .button-group--vertical {
663
+ .button-group__divider {
664
+ height: 1px;
665
+ width: auto;
666
+ margin-inline: var(--space--0);
667
+
668
+ &.button-group__divider--mini {
669
+ padding-block-start: var(--space--1-5);
670
+ }
671
+
672
+ &.button-group__divider--small {
673
+ margin-block: var(--space--0-5);
674
+ }
675
+
676
+ &.button-group__divider--medium {
677
+ margin-block: var(--space--1);
678
+ }
679
+
680
+ &.button-group__divider--large {
681
+ margin-block: var(--space--1-5);
682
+ }
683
+ }
684
+
685
+ .button-group__divider--border {
686
+ border-inline-start: none;
687
+ border-block-start: 1px dotted var(--sd-colour-line--strong);
688
+ }
689
+ }
690
+
691
+ .sd-create-btn {
692
+ width: 4.8rem;
693
+ height: 4.8rem;
694
+ line-height: 4.8rem;
695
+ padding: 0 !important;
696
+ overflow: hidden;
697
+ position: relative;
698
+ background: transparent;
699
+ vertical-align: top;
700
+ display: inline-flex;
701
+ align-items: center;
702
+ justify-content: center;
703
+ border: 0 solid var(--sd-colour-line--x-light);
704
+ border-inline-width: 1px 0;
705
+
706
+ .circle {
707
+ display: inline-block;
708
+ text-align: center;
709
+ width: 2.6rem;
710
+ height: 2.6rem;
711
+ margin: 0;
712
+ padding: 0;
713
+ border-radius: 50%;
714
+ background-color: var(--sd-colour-interactive);
715
+ color: hsl(0, 0%, 100%);
716
+ position: relative;
717
+ transition: all 0.2s ease;
718
+ }
719
+
720
+ &:hover {
721
+ .circle {
722
+ width: 3.4rem;
723
+ height: 3.4rem;
724
+ margin-inline-start: 0;
725
+ }
726
+ }
727
+
728
+ &:active {
729
+ .circle {
730
+ width: 6.8rem;
731
+ height: 6.8rem;
732
+ margin-inline-start: -1rem;
733
+ margin-inline-end: -1rem;
734
+ transition: all 0.05s ease;
735
+ }
736
+ }
737
+
738
+ i {
739
+ position: absolute;
740
+ z-index: 1;
741
+ display: block;
742
+ inset-block-start: 50%;
743
+ margin-block-start: -0.8rem;
744
+ inset-inline-start: 50%;
745
+ inset-inline-end: auto;
746
+ margin-inline-start: -0.8rem;
747
+ opacity: 1 !important;
748
+ color: hsl(0, 0%, 100%) !important;
749
+ line-height: 1.6rem !important;
750
+ }
751
+ }
752
+
753
+ .visuallyhidden {
754
+ border: 0;
755
+ clip: rect(0 0 0 0);
756
+ height: 1px;
757
+ margin: -1px;
758
+ overflow: hidden;
759
+ padding: 0;
760
+ position: absolute;
761
+ width: 1px;
762
+ }
763
+
764
+ .btn__state--loading {
765
+ position: absolute;
766
+ inset-block-start: 0;
767
+ inset-block-end: 0;
768
+ inset-inline-start: 0;
769
+ inset-inline-end: 0;
770
+ display: flex;
771
+ align-items: center;
772
+ justify-content: center;
773
+ z-index: 2;
774
+ }
775
+
776
+ .btn--loading {
777
+ color: transparent;
778
+ pointer-events: none;
779
+ }
780
+
781
+ .btn {
782
+ &[data-loading="true"] {
783
+ pointer-events: none;
784
+
785
+ .sd-spinner {
786
+ margin-inline-start: -0.3rem;
787
+ }
788
+
789
+ &.btn--icon-only {
790
+ .sd-spinner {
791
+ margin-inline-start: 0;
792
+ }
793
+ }
794
+ }
795
+ }
796
+
797
+ .button-group {
798
+ .tag-label {
799
+ margin: 0 !important;
800
+ }
801
+ }
802
+
803
+ // ILLUSTRATION BUTTONS
804
+
805
+ .illustration-button {
806
+ display: flex;
807
+ flex-direction: column;
808
+ align-items: center;
809
+ gap: var(--space--1);
810
+ border-radius: var(--b-radius--large);
811
+ border: 1px solid var(--sd-colour-line--light);
812
+ padding-inline: var(--space--2);
813
+ padding-block-start: var(--space--2);
814
+ padding-block-end: var(--space--1-5);
815
+ box-shadow: inset var(--sd-colour-interactive--alpha-30) 0 0 0 0, hsla(0, 0%, 0%, 0.16) 0 6px 12px -6px, hsla(0, 0%, 0%, 0.40) 0 2px 8px -8px;
816
+ transition: all 0.2s ease;
817
+ &:hover {
818
+ border: 1px solid var(--sd-colour-line--strong);
819
+ box-shadow: inset var(--sd-colour-interactive--alpha-30) 0 0 0 0, hsla(0, 0%, 0%, 0.24) 0 6px 12px -6px, hsla(0, 0%, 0%, 0.60) 0 2px 8px -8px;
820
+ }
821
+ &:active {
822
+ border: 1px solid var(--sd-colour-interactive);
823
+ box-shadow: inset var(--sd-colour-interactive--alpha-30) 0 0 0 4px;
824
+ }
825
+ &:focus-visible {
826
+ outline: 2px solid var(--sd-colour-interactive--alpha-60);
827
+ outline-offset: 1px;
828
+ }
829
+ &:disabled,
830
+ &.illustration-button--disabled {
831
+ box-shadow: none;
832
+ border: 1px solid var(--sd-colour-line--light);
833
+ pointer-events: none;
834
+ opacity: 0.6;
835
+ }
836
+
837
+ }
838
+ .illustration-button__illustration,
839
+ .svg-icon-illustration {
840
+ display: inline-block;
841
+ }
842
+ .illustration-button__text-label {
843
+ font-size: var(--text-size-small);
844
+ font-weight: 500;
845
+ line-height: 1.2;
846
+ text-align: center;
847
+ }
848
+
849
+ .headless-button {
850
+ display: flex;
851
+ align-items: center;
852
+ justify-content: center;
853
+ margin: 0;
854
+ padding: 0;
855
+ overflow: hidden;
856
+ outline: 1px solid transparent;
857
+ outline-offset: 0;
858
+ transition: all 0.2s ease;
859
+
860
+ &:hover,
861
+ &:focus-visible {
862
+ cursor: pointer;
863
+ outline-color: var(--sd-colour-interactive);
864
+ outline-offset: 1px;
865
+ }
866
+ &:active {
867
+ outline-width: 2px;
868
+ }
869
+ &:disabled {
870
+ opacity: 0.75;
871
+ cursor: not-allowed;
872
+ outline: none !important;
873
+ }
874
+ }