superdesk-ui-framework 3.1.9 → 3.1.12

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 (87) hide show
  1. package/app/styles/_helpers.scss +913 -780
  2. package/app/styles/_master-desk.scss +2 -2
  3. package/app/styles/components/_sd-collapse-box.scss +113 -0
  4. package/app/styles/components/_subnav.scss +0 -1
  5. package/app/styles/design-tokens/_design-tokens-general.scss +19 -5
  6. package/app/styles/design-tokens/_new-colors.scss +11 -1
  7. package/app-typescript/components/ToggleBox/CustomHeaderToggleBox.tsx +56 -0
  8. package/app-typescript/components/{Togglebox.tsx → ToggleBox/SimpleToggleBox.tsx} +3 -14
  9. package/app-typescript/components/ToggleBox/index.tsx +41 -0
  10. package/app-typescript/components/TreeMenu.tsx +4 -2
  11. package/app-typescript/index.ts +1 -1
  12. package/dist/components/Alerts.tsx +1 -1
  13. package/dist/components/ContentDivider.tsx +1 -1
  14. package/dist/components/DragHandleDocs.tsx +2 -2
  15. package/dist/components/Index.tsx +105 -50
  16. package/dist/components/Panel.tsx +13 -13
  17. package/dist/components/Tags.tsx +2 -2
  18. package/dist/components/Togglebox.tsx +154 -15
  19. package/dist/components/utilities/BorderRadiusUtilities.tsx +56 -0
  20. package/dist/components/utilities/BorderUtilities.tsx +170 -0
  21. package/dist/components/utilities/DisplayUtilities.tsx +116 -0
  22. package/dist/components/utilities/FlexAndGridUtilities.tsx +551 -0
  23. package/dist/components/utilities/ObjectFitUtilities.tsx +53 -0
  24. package/dist/components/utilities/ObjectPositionUtilities.tsx +68 -0
  25. package/dist/components/utilities/OpacityUtilities.tsx +64 -0
  26. package/dist/components/utilities/OverflowUtilities.tsx +93 -0
  27. package/dist/components/utilities/PositionUtilities.tsx +52 -0
  28. package/dist/components/utilities/ShadowUtilities.tsx +123 -0
  29. package/dist/components/utilities/SpacingUtilities.tsx +2 -2
  30. package/dist/components/utilities/TextUtilities.tsx +44 -4
  31. package/dist/components.html +2 -4
  32. package/dist/components_deprecated/modals.html +2 -2
  33. package/dist/components_deprecated.html +1 -0
  34. package/dist/design-patterns/Index.tsx +1 -42
  35. package/dist/design-patterns.html +2 -4
  36. package/dist/design.html +1 -0
  37. package/dist/examples.bundle.css +15 -7
  38. package/dist/examples.bundle.js +3104 -1270
  39. package/dist/main.html +1 -0
  40. package/dist/playgrounds/react-playgrounds/Rundowns.tsx +1 -1
  41. package/dist/playgrounds/react-playgrounds/TestGround.tsx +214 -2
  42. package/dist/playgrounds.html +1 -0
  43. package/dist/superdesk-ui.bundle.css +1325 -999
  44. package/dist/superdesk-ui.bundle.js +1094 -919
  45. package/dist/vendor.bundle.js +13 -13
  46. package/examples/css/docs-page.css +15 -7
  47. package/examples/js/doc.js +13 -1
  48. package/examples/pages/components/Alerts.tsx +1 -1
  49. package/examples/pages/components/ContentDivider.tsx +1 -1
  50. package/examples/pages/components/DragHandleDocs.tsx +2 -2
  51. package/examples/pages/components/Index.tsx +105 -50
  52. package/examples/pages/components/Panel.tsx +13 -13
  53. package/examples/pages/components/Tags.tsx +2 -2
  54. package/examples/pages/components/Togglebox.tsx +154 -15
  55. package/examples/pages/components/utilities/BorderRadiusUtilities.tsx +56 -0
  56. package/examples/pages/components/utilities/BorderUtilities.tsx +170 -0
  57. package/examples/pages/components/utilities/DisplayUtilities.tsx +116 -0
  58. package/examples/pages/components/utilities/FlexAndGridUtilities.tsx +551 -0
  59. package/examples/pages/components/utilities/ObjectFitUtilities.tsx +53 -0
  60. package/examples/pages/components/utilities/ObjectPositionUtilities.tsx +68 -0
  61. package/examples/pages/components/utilities/OpacityUtilities.tsx +64 -0
  62. package/examples/pages/components/utilities/OverflowUtilities.tsx +93 -0
  63. package/examples/pages/components/utilities/PositionUtilities.tsx +52 -0
  64. package/examples/pages/components/utilities/ShadowUtilities.tsx +123 -0
  65. package/examples/pages/components/utilities/SpacingUtilities.tsx +2 -2
  66. package/examples/pages/components/utilities/TextUtilities.tsx +44 -4
  67. package/examples/pages/components.html +2 -4
  68. package/examples/pages/components_deprecated/modals.html +2 -2
  69. package/examples/pages/components_deprecated.html +1 -0
  70. package/examples/pages/design-patterns/Index.tsx +1 -42
  71. package/examples/pages/design-patterns.html +2 -4
  72. package/examples/pages/design.html +1 -0
  73. package/examples/pages/main.html +1 -0
  74. package/examples/pages/playgrounds/react-playgrounds/Rundowns.tsx +1 -1
  75. package/examples/pages/playgrounds/react-playgrounds/TestGround.tsx +214 -2
  76. package/examples/pages/playgrounds.html +1 -0
  77. package/package.json +1 -1
  78. package/react/components/ToggleBox/CustomHeaderToggleBox.d.ts +11 -0
  79. package/react/components/ToggleBox/CustomHeaderToggleBox.js +78 -0
  80. package/react/components/ToggleBox/SimpleToggleBox.d.ts +18 -0
  81. package/react/components/{Togglebox.js → ToggleBox/SimpleToggleBox.js} +7 -7
  82. package/react/components/ToggleBox/index.d.ts +26 -0
  83. package/react/components/ToggleBox/index.js +71 -0
  84. package/react/components/TreeMenu.js +4 -2
  85. package/react/index.d.ts +1 -1
  86. package/react/index.js +2 -2
  87. package/react/components/Togglebox.d.ts +0 -28
@@ -30,666 +30,990 @@
30
30
  cursor: pointer;
31
31
  }
32
32
 
33
- // DISPLAY HELPERS
34
- // Use classes with the form '.sd-display-- ', others will be deprecated
35
- .sd-display--none {
36
- display: none !important;
37
- }
38
33
 
39
- .sd-display--inline {
40
- display: inline !important;
34
+ // WEBKIT SCROLL
35
+ ::-webkit-scrollbar {
36
+ width: 8px;
37
+ height: 8px;
38
+ margin: -1px 0;
39
+ position: fixed;
40
+ inset-inline-end: 10px;
41
41
  }
42
42
 
43
- .sd-display--inline-block {
44
- display: inline-block !important;
43
+ ::-webkit-scrollbar:hover {
44
+ background-color: var(--sd-colour__webkit-scrollbar--hover);
45
+ cursor: pointer;
45
46
  }
46
47
 
47
- .sd-display--block {
48
- display: block !important;
48
+ ::-webkit-scrollbar-thumb {
49
+ background: var(--sd-colour__webkit-scrollbar-thumb);
49
50
  }
50
51
 
51
- // Browser ignores this element from the flow.
52
- // Use it to wrap other elements without breaking the layout (e.g. flex or grid)
53
- .sd-display--contents {
54
- display: contents !important;
52
+ ::-webkit-scrollbar-thumb:hover {
53
+ background: var(--sd-colour__webkit-scrollbar-thumb--hover);
54
+ cursor: pointer;
55
55
  }
56
56
 
57
- // Display Table
58
- .sd-display--table {
59
- display: table;
57
+ // HEADINGS
58
+ .sd-heading-3 {
59
+ font-size: 1.6rem;
60
+ margin-block-end: 1.6rem;
60
61
  }
61
62
 
62
- .sd-display--table-cell {
63
- display: table-cell;
63
+ // Deafult text syles based on type of data
64
+ p strong {
65
+ font-weight: 500;
64
66
  }
65
67
 
66
- .sd-display--table-row {
67
- display: table-row;
68
- }
68
+ time {
69
+ color: $sd-text-light;
70
+ font-weight: 400;
71
+ letter-spacing: .025em;
69
72
 
70
- .sd-display--table-column {
71
- display: table-column;
73
+ &.small {
74
+ font-size: calc(100% - 0.1rem);
75
+ }
72
76
  }
73
77
 
74
- .sd-display--table-column-group {
75
- display: table-column-group;
76
- }
78
+ // TYPOGRAPHY HELPERS
79
+ // -------------------------------------------------
77
80
 
78
- .sd-display--table-row-group {
79
- display: table-row-group;
81
+ h1,
82
+ h2,
83
+ h3,
84
+ h4,
85
+ h5,
86
+ h6 {
87
+ margin: 0;
80
88
  }
81
89
 
82
- .sd-display--table-footer-group {
83
- display: table-footer-group;
90
+ .sd-heading {
91
+ margin: 0;
84
92
  }
85
93
 
86
- .sd-display--table-header-group {
87
- display: table-header-group;
94
+ .sd-heading--h1 {
95
+ font-size: calc(var(--text-size--base) * 2.4);
96
+ font-weight: 400;
88
97
  }
89
98
 
90
- .sd-display--table-caption {
91
- display: table-caption;
99
+ .sd-heading--h2 {
100
+ font-size: calc(var(--text-size--base) * 2);
101
+ font-weight: 500;
92
102
  }
93
103
 
94
- .sd-display--inline-flex {
95
- display: inline-flex !important;
104
+ .sd-heading--h3 {
105
+ font-size: calc(var(--text-size--base) * 1.6);
106
+ font-weight: 400;
96
107
  }
97
108
 
98
- .sd-display--flex {
99
- display: flex !important;
109
+ .sd-heading--h4 {
110
+ font-size: calc(var(--text-size--base) * 1.5);
111
+ font-weight: 500;
100
112
  }
101
113
 
102
- // FLEXBOX PROPERTIES
103
- // Flex direction
104
- .sd-flex--direction-row {
105
- flex-direction: row !important;
114
+ .sd-heading--h5 {
115
+ font-size: calc(var(--text-size--base) * 1.4);
116
+ font-weight: 500;
106
117
  }
107
118
 
108
- .sd-flex--direction-col {
109
- flex-direction: column !important;
110
- }
119
+ .sd-heading--h6 {
120
+ font-size: calc(var(--text-size--base) * 1.2);
121
+ font-weight: 500;
122
+ text-transform: uppercase;
123
+ color: var(--color-text-light);
124
+ letter-spacing: 0.06em;
111
125
 
112
- .sd-flex--direction-row-reverse {
113
- flex-direction: row-reverse !important;
114
126
  }
115
127
 
116
- .sd-flex--direction-col-reverse {
117
- flex-direction: column-reverse !important;
128
+ .sd-text {
129
+ font-size: 1.4rem;
130
+ line-height: 1.4;
118
131
  }
119
132
 
120
- // Flex wrap
121
- .sd-flex--wrap {
122
- flex-wrap: wrap;
133
+ .sd-time {
134
+ font-size: 1.2rem;
135
+ display: inline-block;
136
+ color: var(--color-text-light);
137
+ letter-spacing: 0.025em;
123
138
  }
124
139
 
125
- .sd-flex--wrap-reverse {
126
- flex-wrap: wrap-reverse;
140
+ // Superdesk specific text helpers
141
+ .sd-text__slugline {
142
+ color: $sd-slugline;
143
+ font-weight: 500;
144
+ font-size: 1.2rem;
145
+ text-transform: uppercase;
146
+ margin-inline-end: 1rem;
127
147
  }
128
148
 
129
- .sd-flex--nowrap {
130
- flex-wrap: nowrap;
149
+ .sd-text__title {
150
+ color: inherit;
151
+ font-weight: 500;
152
+ font-size: 1.6rem;
153
+ line-height: 1.4;
131
154
  }
132
155
 
133
- // Flex flex
134
- .sd-flex--flex-1 {
135
- flex: 1 1 0%;
156
+ .sd-text__date-time {
157
+ color: var(--color-text-light);
158
+ font-weight: 400;
159
+ letter-spacing: .025em;
136
160
  }
137
161
 
138
- .sd-flex--flex-1 {
139
- flex: 1 1 0%;
162
+ .sd-text__date-time--small {
163
+ font-size: 1.2rem;
140
164
  }
141
165
 
142
- .sd-flex--flex-auto {
143
- flex: 1 1 auto;
166
+ .sd-text__date-and-author {
167
+ font-size: 1.3rem;
144
168
  }
145
169
 
146
- .sd-flex--flex-initial {
147
- flex: 0 1 auto;
170
+ .sd-text__author {
171
+ font-weight: 500;
148
172
  }
149
173
 
150
- .sd-flex--flex-none {
151
- flex: none;
174
+ .sd-text__info {
175
+ font-weight: 300;
176
+ color: var(--color-text-light);
152
177
  }
153
178
 
154
- // Flex shrink & grow
155
- .sd-flex--shrink {
156
- flex-shrink: 1 !important;
157
- }
179
+ .sd-text-icon {
180
+ display: inline-flex;
158
181
 
159
- .sd-flex--shrink-0 {
160
- flex-shrink: 0 !important;
182
+ i {
183
+ margin-inline-end: 0.3rem;
184
+ }
161
185
  }
162
186
 
163
- .sd-flex--grow {
164
- flex-grow: 1 !important;
187
+ .sd-text-icon+.sd-text-icon {
188
+ margin-inline-end: 1rem;
165
189
  }
166
190
 
167
- .sd-flex--grow-0 {
168
- flex-grow: 0 !important;
191
+ .sd-text-icon.sd-text-icon--aligned-r+.sd-text-icon.sd-text-icon--aligned-r {
192
+ margin-inline-end: 0;
193
+ margin-inline-start: 1rem;
169
194
  }
170
195
 
171
- // Flex alignment
172
- .sd-flex--justify-start {
173
- justify-content: flex-start !important;
174
- }
175
196
 
176
- .sd-flex--justify-end {
177
- justify-content: flex-end !important;
197
+ // padding all (KILL THIS AFTER REFACTORING)
198
+ .sd-padding-all--0 {
199
+ padding: 0 !important;
178
200
  }
179
201
 
180
- .sd-flex--justify-center {
181
- justify-content: center !important;
202
+ .sd-padding-all--0-5 {
203
+ padding: $sd-base-increment * 0.5 !important;
182
204
  }
183
205
 
184
- .sd-flex--justify-between {
185
- justify-content: space-between !important;
206
+ .sd-padding-all--1 {
207
+ padding: $sd-base-increment !important;
186
208
  }
187
209
 
188
- .sd-flex--justify-around {
189
- justify-content: space-around !important;
210
+ .sd-padding-all--1-5 {
211
+ padding: $sd-base-increment * 1.5 !important;
190
212
  }
191
213
 
192
- .sd-flex--justify-evenly {
193
- justify-content: space-evenly !important;
214
+ .sd-padding-all--2 {
215
+ padding: $sd-base-increment * 2 !important;
194
216
  }
195
217
 
196
- .sd-flex--items-start {
197
- align-items: flex-start !important;
218
+ .sd-padding-all--3 {
219
+ padding: $sd-base-increment * 3 !important;
198
220
  }
199
221
 
200
- .sd-flex--items-end {
201
- align-items: flex-end !important;
222
+ // margin all (KILL THIS AFTER REFACTORING)
223
+ .sd-margin-all--0 {
224
+ margin: 0 !important;
202
225
  }
203
226
 
204
- .sd-flex--items-center {
205
- align-items: center !important;
227
+ .sd-margin-all--0-5 {
228
+ margin: $sd-base-increment * 0.5 !important;
206
229
  }
207
230
 
208
- .sd-flex--items-baseline {
209
- align-items: baseline !important;
231
+ .sd-margin-all--1 {
232
+ margin: $sd-base-increment * 1 !important;
210
233
  }
211
234
 
212
- .sd-flex--items-stretch {
213
- align-items: stretch !important;
235
+ .sd-margin-all--1-5 {
236
+ margin: $sd-base-increment * 1.5 !important;
214
237
  }
215
238
 
216
- // Hide if empty
217
- .sd-empty:empty {
218
- display: none !important;
239
+ .sd-margin-all--2 {
240
+ margin: $sd-base-increment * 2 !important;
219
241
  }
220
242
 
221
- // POSITION HELPERS
222
- .sd-position--static {
223
- position: static;
243
+ .sd-margin-all--3 {
244
+ margin: $sd-base-increment * 3 !important;
224
245
  }
225
246
 
226
- .sd-position--fixed {
227
- position: fixed;
228
- }
229
247
 
230
- .sd-position--relative {
231
- position: relative;
248
+ .sd-wrap-helper {
249
+ display: contents !important;
232
250
  }
233
251
 
234
- .sd-position--absolute {
252
+ .sd-accessibility__btn-text--invisible,
253
+ .sd-accessibility__screenreader-text {
235
254
  position: absolute;
255
+ top: 0;
256
+ inset-inline-start: 0;
257
+ font-size: 0.1rem;
258
+ color: transparent !important;
259
+ pointer-events: none;
236
260
  }
237
261
 
238
- .sd-position--sticky {
239
- position: sticky;
240
- }
241
-
242
- // OVERFLOW HELPERS
243
- .sd-overflow--auto {
262
+ // remove this after refactoring
263
+ .overflow-auto {
244
264
  overflow: auto !important;
245
265
  }
246
266
 
247
- .sd-overflow--hidden {
267
+ .overflow-hidden {
248
268
  overflow: hidden !important;
249
269
  }
250
270
 
251
- .sd-overflow--visible {
252
- overflow: visible !important;
271
+ .overflow-x-hidden {
272
+ overflow-x: hidden !important;
253
273
  }
254
274
 
255
- .sd-overflow--scroll {
256
- overflow: scroll !important;
275
+ .sd-d-none {
276
+ display: none !important;
257
277
  }
258
278
 
259
- .sd-overflow--x-auto {
260
- overflow-x: auto !important;
279
+ .sd-d-inline {
280
+ display: inline !important;
261
281
  }
262
282
 
263
- .sd-overflow--y-auto {
264
- overflow-y: auto !important;
283
+ .sd-d-inline-block {
284
+ display: inline-block !important;
265
285
  }
266
286
 
267
- .sd-overflow--x-hidden {
268
- overflow-x: hidden !important;
287
+ .sd-d-block {
288
+ display: block !important;
269
289
  }
270
290
 
271
- .sd-overflow--y-hidden {
272
- overflow-y: hidden !important;
291
+ .sd-d-flex {
292
+ display: flex !important;
273
293
  }
274
294
 
275
- .sd-overflow--x-visible {
276
- overflow-x: visible !important;
295
+ .sd-d-inline-flex {
296
+ display: inline-flex !important;
277
297
  }
278
298
 
279
- .sd-overflow--y-visible {
280
- overflow-y: visible !important;
299
+ .sd-display-flex-column {
300
+ display: flex;
301
+ flex-direction: column;
302
+ overflow: auto;
281
303
  }
282
304
 
283
- .sd-overflow--x-scroll {
284
- overflow-x: scroll !important;
305
+ .sd-flex-wrap {
306
+ flex-wrap: wrap;
285
307
  }
286
308
 
287
- .sd-overflow--y-scroll {
288
- overflow-y: scroll !important;
309
+ .sd-flex-shrink {
310
+ flex-shrink: 1 !important;
289
311
  }
290
312
 
291
- // TEXT OVERFLOW
292
- .sd-overflow-ellipsis,
293
- .sd-overflow--ellipsis {
294
- text-overflow: ellipsis;
295
- white-space: nowrap;
296
- overflow: hidden;
313
+ .sd-flex-no-shrink {
314
+ flex-shrink: 0 !important;
297
315
  }
298
316
 
299
- // OBJECT FIT HELPERS
300
- .sd-object-fit--contain {
301
- object-fit: contain;
317
+ .sd-flex-justify-end {
318
+ justify-content: flex-end !important;
302
319
  }
303
320
 
304
- .sd-object-fit--cover {
305
- object-fit: cover;
321
+ .sd-flex-justify-center {
322
+ justify-content: center !important;
306
323
  }
307
324
 
308
- .sd-object-fit--fill {
309
- object-fit: fill;
325
+ .sd-flex-justify-space-between {
326
+ justify-content: space-between !important;
310
327
  }
311
328
 
312
- .sd-object-fit--none {
313
- object-fit: none;
329
+ .sd-flex-align-items-center {
330
+ align-items: center !important;
314
331
  }
315
332
 
316
- .sd-object-fit--scale-down {
317
- object-fit: scale-down;
333
+ .sd-flex-grow {
334
+ flex-grow: 1 !important;
318
335
  }
319
336
 
320
- // OBJECT POSITION HELPERS
321
- // Defines the positin of any selected replaced element (e.g., an <img>)
322
- // within the box that contains it. For it to work it must be used with 'sd-object-fit--none' (object-fit: none;)
323
-
324
- .sd-object-position--bottom {
325
- object-position: bottom;
337
+ .sd-flex-no-grow {
338
+ flex-grow: 0 !important;
326
339
  }
327
340
 
328
- .sd-object-position--center {
329
- object-position: center;
341
+ .sd-no-wrap {
342
+ white-space: nowrap;
330
343
  }
331
344
 
332
- .sd-object-position--left {
333
- object-position: inline-start;
334
- }
335
345
 
336
- .sd-object-position--left-bottom {
337
- object-position: left bottom;
338
- }
339
346
 
340
- .sd-object-position--left-top {
341
- object-position: left top;
342
- }
343
347
 
344
- .sd-object-position--right {
345
- object-position: right;
346
- }
347
348
 
348
- .sd-object-position--right-bottom {
349
- object-position: right bottom;
350
- }
351
349
 
352
- .sd-object-position--right-top {
353
- object-position: right top;
350
+
351
+
352
+
353
+ // FONT FAMILY
354
+ .sd-text__serif,
355
+ .sd-text--serif {
356
+ font-family: $baseFontFamilySerif;
357
+ }
358
+ .sd-text--sans {
359
+ font-family: $baseFontFamily;
360
+ }
361
+ .sd-text--mono {
362
+ font-family: $baseFontFamilyMono;
354
363
  }
355
364
 
356
- .sd-object-position--top {
357
- object-position: top;
365
+ // WHITESPACE
366
+ .sd-whitespace--normal,
367
+ .whitespace-normal {
368
+ white-space: normal;
369
+ }
370
+ .sd-whitespace--nowrap,
371
+ .whitespace-nowrap {
372
+ white-space: nowrap;
373
+ }
374
+ .sd-whitespace--pre,
375
+ .whitespace-pre {
376
+ white-space: pre;
377
+ }
378
+ .sd-whitespace--pre-line,
379
+ .whitespace-pre-line {
380
+ white-space: pre-line;
381
+ }
382
+ .sd-whitespace--pre-wrap,
383
+ .whitespace-pre-wrap {
384
+ white-space: pre-wrap;
385
+ }
386
+ .whitespace-break-spaces {
387
+ white-space: break-spaces;
358
388
  }
359
389
 
360
- // SHADOW HELPER CLASSES
361
390
 
362
- $sd-shadowProperties: (
363
- 'z0': (none),
364
- 'z1': (0 1px 3px rgba(0, 0, 0, .16), 0 0 1px rgba(0, 0, 0, .1)),
365
- 'z2': (0 1px 4px rgba(0, 0, 0, .16), 0 2px 6px rgba(0, 0, 0, .12), 0 0 1px rgba(0, 0, 0, .1)),
366
- 'z3': (0 1px 6px rgba(0, 0, 0, .16), 0 3px 8px rgba(0, 0, 0, .24), 0 0 1px rgba(0, 0, 0, .1)),
367
- 'z4': (0 2px 10px rgba(0, 0, 0, .2), 0 6px 16px rgba(0, 0, 0, .3), 0 0 1px rgba(0, 0, 0, .1)),
368
- );
369
- // Add more shadow items with this syntax and new classes will be generated:
370
- // z5: (0 2px 10px rgba(0,0,0,.2), ... ),
371
- // Output:
372
- // .sd-shadow--z5 { 0 2px 10px rgba(0,0,0,.2),...
373
391
 
374
- @mixin shadowMixinExtend {
375
- transition: box-shadow 0.3s ease-out;
392
+ // ==================================================== //
376
393
 
377
- &.btn:active {
378
- box-shadow: none !important;
379
- transition: box-shadow 0.4s ease-out;
380
- }
394
+ // Background colours
395
+ .sd-panel-bg--100 {
396
+ background-color: var(--sd-colour-panel-bg--100);
381
397
  }
382
398
 
383
- @each $name,
384
- $value in $sd-shadowProperties {
385
- .sd-shadow--#{$name} {
386
- box-shadow: #{$value} !important;
387
- @include shadowMixinExtend;
388
- }
399
+ .sd-panel-bg--000 {
400
+ background-color: var(--sd-item__main-Bg);
389
401
  }
390
402
 
391
- // sd-shadow mixin
392
- // Uses items from $sd-shadowProperties as parameter (z1, z2...)
393
- // You can create new classes with this syntax:
394
- // .customClass { @include sd-shadow(z1); color: #fff; }
395
- // Output:
396
- // .customClass { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.16), 0 0 1px rgba(0, 0, 0, 0.1); color: #fff; }
397
-
398
- @mixin sd-shadow($sd-shadowPropertiesItem) {
399
- box-shadow: #{map-get($sd-shadowProperties, $sd-shadowPropertiesItem)};
403
+ .sd-panel-bg--gradient-1 {
404
+ background-color: var(--sd-item__main-Bg);
405
+ background: linear-gradient(180deg, var(--sd-colour-interactive--alpha-20) 0%, var(--sd-item__main-Bg) 40%);
400
406
  }
401
407
 
402
- // How to use sd-shadow mixin
403
- // .nekaKlasa {
404
- // color: red;
405
- // @include sd-shadow('z1');
406
- // }
408
+ .sd-state--focus:focus-within,
409
+ .sd-state--active {
410
+ box-shadow: var(--sd-shadow__item--selected) !important;
411
+ transition: box-shadow 0.3s ease, filter 0.3s ease;
412
+ }
407
413
 
414
+ .sd-width--xxx-small {
415
+ width: var(--width__container--xxx-small) !important;
416
+ }
408
417
 
409
- // WEBKIT SCROLL
410
- ::-webkit-scrollbar {
411
- width: 8px;
412
- height: 8px;
413
- margin: -1px 0;
414
- position: fixed;
415
- inset-inline-end: 10px;
418
+ .sd-width--xx-small {
419
+ width: var(--width__container--xx-small);
416
420
  }
417
421
 
418
- ::-webkit-scrollbar:hover {
419
- background-color: var(--sd-colour__webkit-scrollbar--hover);
420
- cursor: pointer;
422
+ .sd-width--x-small {
423
+ width: var(--width__container--x-small);
421
424
  }
422
425
 
423
- ::-webkit-scrollbar-thumb {
424
- background: var(--sd-colour__webkit-scrollbar-thumb);
426
+ .sd-width--small {
427
+ width: var(--width__container--small);
425
428
  }
426
429
 
427
- ::-webkit-scrollbar-thumb:hover {
428
- background: var(--sd-colour__webkit-scrollbar-thumb--hover);
429
- cursor: pointer;
430
+ .sd-width--medium {
431
+ width: var(--width__container--medium);
430
432
  }
431
433
 
432
- // HEADINGS
433
- .sd-heading-3 {
434
- font-size: 1.6rem;
435
- margin-block-end: 1.6rem;
434
+ .sd-width--large {
435
+ width: var(--width__container--large);
436
436
  }
437
437
 
438
- // Deafult text syles based on type of data
439
- p strong {
440
- font-weight: 500;
438
+ .sd-width--x-large {
439
+ width: var(--width__container--x-large);
441
440
  }
442
441
 
443
- time {
444
- color: $sd-text-light;
445
- font-weight: 400;
446
- letter-spacing: .025em;
442
+ .sd-width--xx-large {
443
+ width: var(--width__container--xx-large);
444
+ }
447
445
 
448
- &.small {
449
- font-size: calc(100% - 0.1rem);
450
- }
446
+ .sd-width--xxx-large {
447
+ width: var(--width__container--xxx-large);
451
448
  }
452
449
 
453
- // TYPOGRAPHY HELPERS
454
- // -------------------------------------------------
450
+ .sd-width--full {
451
+ width: var(--width__container--full);
452
+ }
455
453
 
456
- h1,
457
- h2,
458
- h3,
459
- h4,
460
- h5,
461
- h6 {
462
- margin: 0;
454
+ .sd-gap--x-small {
455
+ gap: var(--gap--x-small);
463
456
  }
464
457
 
465
- .sd-heading {
466
- margin: 0;
458
+ .sd-gap--small {
459
+ gap: var(--gap--small);
467
460
  }
468
461
 
469
- .sd-heading--h1 {
470
- font-size: calc(var(--text-size--base) * 2.4);
471
- font-weight: 400;
462
+ .sd-gap--medium {
463
+ gap: var(--gap--medium);
472
464
  }
473
465
 
474
- .sd-heading--h2 {
475
- font-size: calc(var(--text-size--base) * 2);
476
- font-weight: 500;
466
+ .sd-gap--large {
467
+ gap: var(--gap--large);
477
468
  }
478
469
 
479
- .sd-heading--h3 {
480
- font-size: calc(var(--text-size--base) * 1.6);
481
- font-weight: 400;
470
+ .sd-gap--x-large {
471
+ gap: var(--gap--x-large);
482
472
  }
483
473
 
484
- .sd-heading--h4 {
485
- font-size: calc(var(--text-size--base) * 1.5);
486
- font-weight: 500;
474
+ .sd-gap--xx-large {
475
+ gap: var(--gap--xx-large);
487
476
  }
488
477
 
489
- .sd-heading--h5 {
490
- font-size: calc(var(--text-size--base) * 1.4);
491
- font-weight: 500;
478
+ .sd-gap--auto {
479
+ gap: var(--gap--auto);
492
480
  }
493
481
 
494
- .sd-heading--h6 {
495
- font-size: calc(var(--text-size--base) * 1.2);
496
- font-weight: 500;
497
- text-transform: uppercase;
498
- color: var(--color-text-light);
499
- letter-spacing: 0.06em;
482
+ // MAX-HEIGHT:
500
483
 
484
+ .max-h-5 {
485
+ max-height: calc(5 * var(--base-increment)) !important;
501
486
  }
502
-
503
- .sd-text {
504
- font-size: 1.4rem;
505
- line-height: 1.4;
487
+ .max-h-6 {
488
+ max-height: calc(6 * var(--base-increment)) !important;
506
489
  }
507
-
508
- .sd-time {
509
- font-size: 1.2rem;
510
- display: inline-block;
511
- color: var(--color-text-light);
512
- letter-spacing: 0.025em;
490
+ .max-h-8 {
491
+ max-height: calc(8 * var(--base-increment)) !important;
492
+ }
493
+ .max-h-10 {
494
+ max-height: calc(10 * var(--base-increment)) !important;
495
+ }
496
+ .max-h-15 {
497
+ max-height: calc(15 * var(--base-increment)) !important;
498
+ }
499
+ .max-h-20 {
500
+ max-height: calc(20 * var(--base-increment)) !important;
501
+ }
502
+ .max-h-25 {
503
+ max-height: calc(25 * var(--base-increment)) !important;
504
+ }
505
+ .max-h-30 {
506
+ max-height: calc(30 * var(--base-increment)) !important;
513
507
  }
514
508
 
509
+ .max-h-full {
510
+ max-height: 100%;
511
+ }
512
+ .max-h-screen {
513
+ max-height: 100svh;
514
+ }
515
515
 
516
516
 
517
517
 
518
- // Line Clamp
519
- // limit the number of horizontal lines in an elemnt (e.g. <p>)
520
- // it doesn't work if the element has set flex-grow: 1;
521
- @mixin line-clamp-base {
522
- overflow: hidden;
523
- display: -webkit-box;
524
- -webkit-box-orient: vertical;
518
+ // Hide if empty
519
+ .sd-empty:empty,
520
+ .empty-hidden:empty {
521
+ display: none !important;
525
522
  }
526
523
 
527
- .sd-line-clamp--1 {
528
- @include line-clamp-base;
529
- -webkit-line-clamp: 1;
530
- }
531
524
 
532
- .sd-line-clamp--2 {
533
- @include line-clamp-base;
534
- -webkit-line-clamp: 2;
535
- }
525
+ // ================================================================================================
526
+ // DOCUMENTED UTILITY CLASSES
527
+ // ================================================================================================
536
528
 
537
- .sd-line-clamp--3 {
538
- @include line-clamp-base;
539
- -webkit-line-clamp: 3;
529
+ // DISPLAY HELPERS --------------------------------------------------------------------------------
530
+ // Use classes with the form '.d-block' etc., others will be deprecated
531
+ .sd-display--block,
532
+ .d-block {
533
+ display: block !important;
540
534
  }
541
-
542
- .sd-line-clamp--4 {
543
- @include line-clamp-base;
544
- -webkit-line-clamp: 4;
535
+ .sd-display--inline-block,
536
+ .d-inline-block {
537
+ display: inline-block !important;
545
538
  }
546
-
547
- .sd-line-clamp--5 {
548
- @include line-clamp-base;
549
- -webkit-line-clamp: 5;
539
+ .sd-display--inline,
540
+ .d-inline {
541
+ display: inline !important;
550
542
  }
551
-
552
- .sd-line-clamp--6 {
553
- @include line-clamp-base;
554
- -webkit-line-clamp: 6;
543
+ .sd-display--flex,
544
+ .d-flex {
545
+ display: flex !important;
555
546
  }
556
-
557
- .sd-line-clamp--none {
558
- -webkit-line-clamp: unset;
547
+ .sd-display--inline-flex,
548
+ .d-inline-flex {
549
+ display: inline-flex !important;
559
550
  }
560
-
561
- // Superdesk specific text helpers
562
- .sd-text__slugline {
563
- color: $sd-slugline;
564
- font-weight: 500;
565
- font-size: 1.2rem;
566
- text-transform: uppercase;
567
- margin-inline-end: 1rem;
551
+ .d-grid {
552
+ display: grid !important;
568
553
  }
569
-
570
- .sd-text__title {
571
- color: inherit;
572
- font-weight: 500;
573
- font-size: 1.6rem;
574
- line-height: 1.4;
554
+ .d-inline-grid {
555
+ display: grid !important;
575
556
  }
576
-
577
- .sd-text__date-time {
578
- color: var(--color-text-light);
579
- font-weight: 400;
580
- letter-spacing: .025em;
557
+ .sd-display--contents, // Browser ignores this element from the flow. se it to wrap other elements without breaking the layout (e.g. flex or grid)
558
+ .d-contents {
559
+ display: contents !important;
560
+ }
561
+ .sd-display--none,
562
+ .d-none {
563
+ display: none !important;
564
+ }
565
+ .d-flow-root {
566
+ display: flow-root !important;
567
+ }
568
+ .d-list-item {
569
+ display: list-item !important;
570
+ }
571
+ // Display Table
572
+ .sd-display--table,
573
+ .d-table {
574
+ display: table;
575
+ }
576
+ .d-inline-table {
577
+ display: table;
578
+ }
579
+ .sd-display--table-caption,
580
+ .d-table-caption {
581
+ display: table-caption;
582
+ }
583
+ .sd-display--table-cell,
584
+ .d-table-cell {
585
+ display: table-cell;
586
+ }
587
+ .sd-display--table-column,
588
+ .d-table-column {
589
+ display: table-column;
590
+ }
591
+ .sd-display--table-column-group,
592
+ .d-table-column-group {
593
+ display: table-column-group;
594
+ }
595
+ .sd-display--table-footer-group,
596
+ .d-table-footer-group {
597
+ display: table-footer-group;
598
+ }
599
+ .sd-display--table-header-group,
600
+ .d-table-header-group {
601
+ display: table-header-group;
602
+ }
603
+ .sd-display--table-row,
604
+ .d-table-row {
605
+ display: table-row;
606
+ }
607
+ .sd-display--table-row-group,
608
+ .d-table-row-group {
609
+ display: table-row-group;
581
610
  }
582
611
 
583
- .sd-text__date-time--small {
584
- font-size: 1.2rem;
612
+ // FLEXBOX & GRID PROPERTIES ----------------------------------------------------------------------
613
+ // Flex direction
614
+ .sd-flex--direction-row,
615
+ .flex-row {
616
+ flex-direction: row !important;
617
+ }
618
+ .sd-flex--direction-col,
619
+ .flex-col {
620
+ flex-direction: column !important;
621
+ }
622
+ .sd-flex--direction-row-reverse,
623
+ .flex-row-reverse {
624
+ flex-direction: row-reverse !important;
625
+ }
626
+ .sd-flex--direction-col-reverse,
627
+ .flex-col-reverse {
628
+ flex-direction: column-reverse !important;
629
+ }
630
+ // Flex wrap
631
+ .sd-flex--wrap,
632
+ .flex-wrap {
633
+ flex-wrap: wrap;
634
+ }
635
+ .sd-flex--wrap-reverse,
636
+ .flex-wrap-reverse {
637
+ flex-wrap: wrap-reverse;
638
+ }
639
+ .sd-flex--nowrap,
640
+ .flex-nowrap {
641
+ flex-wrap: nowrap;
642
+ }
643
+ // Flex flex
644
+ .sd-flex--flex-1,
645
+ .flex-1 {
646
+ flex: 1 1 0%;
647
+ }
648
+ .sd-flex--flex-auto,
649
+ .flex-auto {
650
+ flex: 1 1 auto;
651
+ }
652
+ .sd-flex--flex-initial,
653
+ .flex-initial {
654
+ flex: 0 1 auto;
655
+ }
656
+ .sd-flex--flex-none,
657
+ .flex-none {
658
+ flex: none;
659
+ }
660
+ // Flex grow & shrink
661
+ .sd-flex--grow,
662
+ .flex-grow {
663
+ flex-grow: 1 !important;
664
+ }
665
+ .sd-flex--grow-0,
666
+ .flex-grow-0 {
667
+ flex-grow: 0 !important;
668
+ }
669
+ .sd-flex--shrink,
670
+ .flex-shrink {
671
+ flex-shrink: 1 !important;
672
+ }
673
+ .sd-flex--shrink-0,
674
+ .flex-shrink-0 {
675
+ flex-shrink: 0 !important;
676
+ }
677
+ // Flex justify content
678
+ .sd-flex--justify-start,
679
+ .justify-start {
680
+ justify-content: flex-start !important;
681
+ }
682
+ .sd-flex--justify-end,
683
+ .justify-end {
684
+ justify-content: flex-end !important;
685
+ }
686
+ .sd-flex--justify-center,
687
+ .justify-center {
688
+ justify-content: center !important;
689
+ }
690
+ .sd-flex--justify-between,
691
+ .justify-between {
692
+ justify-content: space-between !important;
693
+ }
694
+ .sd-flex--justify-around,
695
+ .justify-around {
696
+ justify-content: space-around !important;
697
+ }
698
+ .sd-flex--justify-evenly,
699
+ .justify-evenly {
700
+ justify-content: space-evenly !important;
701
+ }
702
+ .justify-normal {
703
+ justify-content: normal !important;
704
+ }
705
+ .justify-stretch {
706
+ justify-content: stretch !important;
707
+ }
708
+ // Flex align items
709
+ .sd-flex--items-start,
710
+ .items-start {
711
+ align-items: flex-start !important;
712
+ }
713
+ .sd-flex--items-end,
714
+ .items-end {
715
+ align-items: flex-end !important;
716
+ }
717
+ .sd-flex--items-center,
718
+ .items-center {
719
+ align-items: center !important;
720
+ }
721
+ .sd-flex--items-baseline,
722
+ .items-baseline {
723
+ align-items: baseline !important;
724
+ }
725
+ .sd-flex--items-stretch,
726
+ .items-stretch {
727
+ align-items: stretch !important;
728
+ }
729
+ // Grid Justify Items
730
+ .justify-items-start {
731
+ justify-items: start;
732
+ }
733
+ .justify-items-end {
734
+ justify-items: end;
735
+ }
736
+ .justify-items-center {
737
+ justify-items: center;
738
+ }
739
+ .justify-items-stretch {
740
+ justify-items: stretch;
741
+ }
742
+ // Flex & Grid Align Content
743
+ .content-normal {
744
+ align-content: normal;
745
+ }
746
+ .content-center {
747
+ align-content: center;
748
+ }
749
+ .content-start {
750
+ align-content: start;
751
+ }
752
+ .content-end {
753
+ align-content: end;
754
+ }
755
+ .content-between {
756
+ align-content: space-between;
757
+ }
758
+ .content-around {
759
+ align-content: space-around;
760
+ }
761
+ .content-evenly {
762
+ align-content: space-evenly;
763
+ }
764
+ .content-baseline {
765
+ align-content: baseline;
766
+ }
767
+ .content-stretch {
768
+ align-content: stretch;
769
+ }
770
+ // Flex & Grid Align Self
771
+ .self-auto {
772
+ align-self: auto;
773
+ }
774
+ .self-start {
775
+ align-self: flex-start;
776
+ }
777
+ .self-end {
778
+ align-self: flex-end;
779
+ }
780
+ .self-center {
781
+ align-self: center;
782
+ }
783
+ .self-stretch {
784
+ align-self: stretch;
785
+ }
786
+ .self-baseline {
787
+ align-self: baseline;
788
+ }
789
+ // Grid Justify Self
790
+ .justify-self-auto {
791
+ justify-self: auto;
792
+ }
793
+ .justify-self-start {
794
+ justify-self: start;
795
+ }
796
+ .justify-self-end {
797
+ justify-self: end;
798
+ }
799
+ .justify-self-center {
800
+ justify-self: center;
801
+ }
802
+ .justify-self-stretch {
803
+ justify-self: stretch;
804
+ }
805
+ // Place Content
806
+ .place-content-center {
807
+ place-content: center;
808
+ }
809
+ .place-content-start {
810
+ place-content: start;
811
+ }
812
+ .place-content-end {
813
+ place-content: end;
814
+ }
815
+ .place-content-between {
816
+ place-content: space-between;
817
+ }
818
+ .place-content-around {
819
+ place-content: space-around;
820
+ }
821
+ .place-content-evenly {
822
+ place-content: space-evenly;
823
+ }
824
+ .place-content-baseline {
825
+ place-content: baseline;
826
+ }
827
+ .place-content-stretch {
828
+ place-content: stretch;
829
+ }
830
+ // Place Items
831
+ .place-items-start {
832
+ place-items: start;
833
+ }
834
+ .place-items-end {
835
+ place-items: end;
836
+ }
837
+ .place-items-center {
838
+ place-items: center;
839
+ }
840
+ .place-items-baseline {
841
+ place-items: baseline;
842
+ }
843
+ .place-items-stretch {
844
+ place-items: stretch;
845
+ }
846
+ // Place Self
847
+ .place-self-auto {
848
+ place-self: auto;
849
+ }
850
+ .place-self-start {
851
+ place-self: start;
852
+ }
853
+ .place-self-end {
854
+ place-self: end;
855
+ }
856
+ .place-self-center {
857
+ place-self: center;
858
+ }
859
+ .place-self-stretch {
860
+ place-self: stretch;
585
861
  }
586
862
 
587
- .sd-text__date-and-author {
588
- font-size: 1.3rem;
863
+ // POSITION HELPERS -------------------------------------------------------------------------------
864
+ .sd-position--static,
865
+ .p-static {
866
+ position: static;
589
867
  }
590
868
 
591
- .sd-text__author {
592
- font-weight: 500;
869
+ .sd-position--fixed,
870
+ .p-fixed {
871
+ position: fixed;
593
872
  }
594
873
 
595
- .sd-text__info {
596
- font-weight: 300;
597
- color: var(--color-text-light);
874
+ .sd-position--relative,
875
+ .p-relative {
876
+ position: relative;
598
877
  }
599
878
 
600
- .sd-text-icon {
601
- display: inline-flex;
602
-
603
- i {
604
- margin-inline-end: 0.3rem;
605
- }
879
+ .sd-position--absolute,
880
+ .p-absolute {
881
+ position: absolute;
606
882
  }
607
883
 
608
- .sd-text-icon+.sd-text-icon {
609
- margin-inline-end: 1rem;
884
+ .sd-position--sticky,
885
+ .p-sticky {
886
+ position: sticky;
610
887
  }
611
888
 
612
- .sd-text-icon.sd-text-icon--aligned-r+.sd-text-icon.sd-text-icon--aligned-r {
613
- margin-inline-end: 0;
614
- margin-inline-start: 1rem;
889
+ // OVERFLOW HELPERS -------------------------------------------------------------------------------
890
+ .sd-overflow--auto,
891
+ .overflow-auto {
892
+ overflow: auto !important;
615
893
  }
616
-
617
- // Opacity helpers
618
- .sd-opacity--20 {
619
- opacity: 0.2 !important;
894
+ .sd-overflow--hidden,
895
+ .overflow-hidden {
896
+ overflow: hidden !important;
620
897
  }
621
-
622
- .sd-opacity--25 {
623
- opacity: 0.25 !important;
898
+ .sd-overflow--visible,
899
+ .overflow-visible {
900
+ overflow: visible !important;
624
901
  }
625
-
626
- .sd-opacity--30 {
627
- opacity: 0.3 !important;
902
+ .sd-overflow--scroll,
903
+ .overflow-scroll {
904
+ overflow: scroll !important;
628
905
  }
629
-
630
- .sd-opacity--40 {
631
- opacity: 0.4 !important;
906
+ .sd-overflow--x-auto,
907
+ .overflow-x-auto {
908
+ overflow-x: auto !important;
632
909
  }
633
-
634
- .sd-opacity--50 {
635
- opacity: 0.5 !important;
910
+ .sd-overflow--y-auto,
911
+ .overflow-y-auto {
912
+ overflow-y: auto !important;
636
913
  }
637
-
638
- .sd-opacity--60 {
639
- opacity: 0.6 !important;
914
+ .sd-overflow--x-hidden,
915
+ .overflow-x-hidden {
916
+ overflow-x: hidden !important;
640
917
  }
641
-
642
- .sd-opacity--75 {
643
- opacity: 0.75 !important;
918
+ .sd-overflow--y-hidden,
919
+ .overflow-y-hidden {
920
+ overflow-y: hidden !important;
921
+ }
922
+ .sd-overflow--x-visible,
923
+ .overflow-x-visible {
924
+ overflow-x: visible !important;
925
+ }
926
+ .sd-overflow--y-visible,
927
+ .overflow-y-visible {
928
+ overflow-y: visible !important;
929
+ }
930
+ .sd-overflow--x-scroll,
931
+ .overflow-x-scroll {
932
+ overflow-x: scroll !important;
933
+ }
934
+ .sd-overflow--y-scroll,
935
+ .overflow-y-scroll {
936
+ overflow-y: scroll !important;
937
+ }
938
+ .overflow-clip {
939
+ overflow: clip !important;
940
+ }
941
+ .overflow-x-clip {
942
+ overflow-x: clip !important;
943
+ }
944
+ .overflow-y-clip {
945
+ overflow-y: clip !important;
644
946
  }
645
947
 
948
+ // SHADOW HELPER CLASSES --------------------------------------------------------------------------
949
+ .sd-shadow--z1 {
950
+ box-shadow: var(--sd-shadow--z1);
951
+ }
952
+ .sd-shadow--z2 {
953
+ box-shadow: var(--sd-shadow--z2);
954
+ }
955
+ .sd-shadow--z3 {
956
+ box-shadow: var(--sd-shadow--z3);
957
+ }
958
+ .sd-shadow--z4 {
959
+ box-shadow: var(--sd-shadow--z4);
960
+ }
961
+ .sd-shadow--none {
962
+ box-shadow: none;
963
+ }
964
+ // Uses the drop-shadow filter property
965
+ .sd-drop-shadow--z1 {
966
+ filter: var(--sd-drop-shadow--z1);
967
+ }
968
+ .sd-drop-shadow--z2 {
969
+ filter: var(--sd-drop-shadow--z2);
970
+ }
971
+ .sd-drop-shadow--z3 {
972
+ filter: var(--sd-drop-shadow--z3);
973
+ }
974
+ .sd-drop-shadow--z4 {
975
+ filter: var(--sd-drop-shadow--z4);
976
+ }
646
977
 
647
- // Margin auto
978
+ // MARGINS ----------------------------------------------------------------------------------------
648
979
 
980
+ // MARGIN AUTO
649
981
  .m-auto,
650
982
  .sd-margin--auto {
651
983
  margin: auto !important;
652
984
  }
653
-
654
985
  .ml-auto,
655
986
  .ms-auto,
656
987
  .sd-margin-l--auto,
657
988
  .sd-margin-s--auto {
658
989
  margin-inline-start: auto !important;
659
990
  }
660
-
661
991
  .mr-auto,
662
992
  .me-auto,
663
993
  .sd-margin-r--auto,
664
994
  .sd-margin-e--auto {
665
995
  margin-inline-end: auto !important;
666
996
  }
667
-
668
997
  .mt-auto,
669
998
  .sd-margin-t--auto {
670
999
  margin-block-start: auto !important;
671
1000
  }
672
-
673
1001
  .mb-auto,
674
1002
  .sd-margin-b--auto {
675
1003
  margin-block-end: auto !important;
676
1004
  }
677
-
678
1005
  .mlr-auto,
679
1006
  .mx-auto,
680
1007
  .sd-margin-x--auto {
681
1008
  margin-inline-start: auto !important;
682
1009
  margin-inline-end: auto !important;
683
1010
  }
684
-
685
1011
  .my-auto,
686
1012
  .sd-margin-y--auto {
687
1013
  margin-block-start: auto !important;
688
1014
  margin-block-end: auto !important;
689
1015
  }
690
1016
 
691
-
692
- // MARGINS ---------------------------------------------- //
693
1017
  // MARGIN (all sides)
694
1018
  .m-0,
695
1019
  .sd-margin--0 {
@@ -937,7 +1261,8 @@ h6 {
937
1261
  margin-block-start: calc(5 * var(--base-increment)) !important;
938
1262
  margin-block-end: calc(5 * var(--base-increment)) !important;
939
1263
  }
940
- // PADDINGS ---------------------------------------------- //
1264
+
1265
+ // PADDINGS ---------------------------------------------------------------------------------------
941
1266
  // PADDING (all sides)
942
1267
  .p-0,
943
1268
  .sd-padding--0 {
@@ -1146,261 +1471,73 @@ h6 {
1146
1471
  }
1147
1472
  // PADDING BLOCK (y, top & bottom)
1148
1473
  .py-0,
1149
- .sd-padding-y--0 {
1150
- padding-block-start: 0 !important;
1151
- padding-block-end: 0 !important;
1152
- }
1153
- .py-0-5,
1154
- .sd-padding-y--0-5 {
1155
- padding-block-start: calc(0.5 * var(--base-increment)) !important;
1156
- padding-block-end: calc(0.5 * var(--base-increment)) !important;
1157
- }
1158
- .py-1,
1159
- .sd-padding-y--1 {
1160
- padding-block-start: calc(1 * var(--base-increment)) !important;
1161
- padding-block-end: calc(1 * var(--base-increment)) !important;
1162
- }
1163
- .py-1-5,
1164
- .sd-padding-y--1-5 {
1165
- padding-block-start: calc(1.5 * var(--base-increment)) !important;
1166
- padding-block-end: calc(1.5 * var(--base-increment)) !important;
1167
- }
1168
- .py-2,
1169
- .sd-padding-y--2 {
1170
- padding-block-start: calc(2 * var(--base-increment)) !important;
1171
- padding-block-end: calc(2 * var(--base-increment)) !important;
1172
- }
1173
- .py-3,
1174
- .sd-padding-y--3 {
1175
- padding-block-start: calc(3 * var(--base-increment)) !important;
1176
- padding-block-end: calc(3 * var(--base-increment)) !important;
1177
- }
1178
- .py-4,
1179
- .sd-padding-y--4 {
1180
- padding-block-start: calc(4 * var(--base-increment)) !important;
1181
- padding-block-end: calc(4 * var(--base-increment)) !important;
1182
- }
1183
- .py-5,
1184
- .sd-padding-y--5 {
1185
- padding-block-start: calc(5 * var(--base-increment)) !important;
1186
- padding-block-end: calc(5 * var(--base-increment)) !important;
1187
- }
1188
-
1189
- // padding all (KILL THIS AFTER REFACTORING)
1190
- .sd-padding-all--0 {
1191
- padding: 0 !important;
1192
- }
1193
-
1194
- .sd-padding-all--0-5 {
1195
- padding: $sd-base-increment * 0.5 !important;
1196
- }
1197
-
1198
- .sd-padding-all--1 {
1199
- padding: $sd-base-increment !important;
1200
- }
1201
-
1202
- .sd-padding-all--1-5 {
1203
- padding: $sd-base-increment * 1.5 !important;
1204
- }
1205
-
1206
- .sd-padding-all--2 {
1207
- padding: $sd-base-increment * 2 !important;
1208
- }
1209
-
1210
- .sd-padding-all--3 {
1211
- padding: $sd-base-increment * 3 !important;
1212
- }
1213
-
1214
- // margin all (KILL THIS AFTER REFACTORING)
1215
- .sd-margin-all--0 {
1216
- margin: 0 !important;
1217
- }
1218
-
1219
- .sd-margin-all--0-5 {
1220
- margin: $sd-base-increment * 0.5 !important;
1221
- }
1222
-
1223
- .sd-margin-all--1 {
1224
- margin: $sd-base-increment * 1 !important;
1225
- }
1226
-
1227
- .sd-margin-all--1-5 {
1228
- margin: $sd-base-increment * 1.5 !important;
1229
- }
1230
-
1231
- .sd-margin-all--2 {
1232
- margin: $sd-base-increment * 2 !important;
1233
- }
1234
-
1235
- .sd-margin-all--3 {
1236
- margin: $sd-base-increment * 3 !important;
1237
- }
1238
-
1239
- // END
1240
-
1241
-
1242
- .sd-wrap-helper {
1243
- display: contents !important;
1244
- }
1245
-
1246
- .sd-accessibility__btn-text--invisible,
1247
- .sd-accessibility__screenreader-text {
1248
- position: absolute;
1249
- top: 0;
1250
- inset-inline-start: 0;
1251
- font-size: 0.1rem;
1252
- color: transparent !important;
1253
- pointer-events: none;
1254
- }
1255
-
1256
- // remove this after refactoring
1257
- .overflow-auto {
1258
- overflow: auto !important;
1259
- }
1260
-
1261
- .overflow-hidden {
1262
- overflow: hidden !important;
1263
- }
1264
-
1265
- .overflow-x-hidden {
1266
- overflow-x: hidden !important;
1267
- }
1268
-
1269
- .sd-d-none {
1270
- display: none !important;
1271
- }
1272
-
1273
- .sd-d-inline {
1274
- display: inline !important;
1275
- }
1276
-
1277
- .sd-d-inline-block {
1278
- display: inline-block !important;
1279
- }
1280
-
1281
- .sd-d-block {
1282
- display: block !important;
1283
- }
1284
-
1285
- .sd-d-flex {
1286
- display: flex !important;
1287
- }
1288
-
1289
- .sd-d-inline-flex {
1290
- display: inline-flex !important;
1291
- }
1292
-
1293
- .sd-display-flex-column {
1294
- display: flex;
1295
- flex-direction: column;
1296
- overflow: auto;
1297
- }
1298
-
1299
- .sd-flex-wrap {
1300
- flex-wrap: wrap;
1301
- }
1302
-
1303
- .sd-flex-shrink {
1304
- flex-shrink: 1 !important;
1305
- }
1306
-
1307
- .sd-flex-no-shrink {
1308
- flex-shrink: 0 !important;
1309
- }
1310
-
1311
- .sd-flex-justify-end {
1312
- justify-content: flex-end !important;
1313
- }
1314
-
1315
- .sd-flex-justify-center {
1316
- justify-content: center !important;
1317
- }
1318
-
1319
- .sd-flex-justify-space-between {
1320
- justify-content: space-between !important;
1321
- }
1322
-
1323
- .sd-flex-align-items-center {
1324
- align-items: center !important;
1325
- }
1326
-
1327
- .sd-flex-grow {
1328
- flex-grow: 1 !important;
1329
- }
1330
-
1331
- .sd-flex-no-grow {
1332
- flex-grow: 0 !important;
1333
- }
1334
-
1335
- .sd-no-wrap {
1336
- white-space: nowrap;
1474
+ .sd-padding-y--0 {
1475
+ padding-block-start: 0 !important;
1476
+ padding-block-end: 0 !important;
1337
1477
  }
1338
-
1339
-
1340
- // Border Radius
1341
- .sd-radius--x-small {
1342
- border-radius: var(--b-radius--x-small);
1478
+ .py-0-5,
1479
+ .sd-padding-y--0-5 {
1480
+ padding-block-start: calc(0.5 * var(--base-increment)) !important;
1481
+ padding-block-end: calc(0.5 * var(--base-increment)) !important;
1343
1482
  }
1344
-
1345
- .sd-radius--small {
1346
- border-radius: var(--b-radius--small);
1483
+ .py-1,
1484
+ .sd-padding-y--1 {
1485
+ padding-block-start: calc(1 * var(--base-increment)) !important;
1486
+ padding-block-end: calc(1 * var(--base-increment)) !important;
1347
1487
  }
1348
-
1349
- .sd-radius--medium {
1350
- border-radius: var(--b-radius--medium);
1488
+ .py-1-5,
1489
+ .sd-padding-y--1-5 {
1490
+ padding-block-start: calc(1.5 * var(--base-increment)) !important;
1491
+ padding-block-end: calc(1.5 * var(--base-increment)) !important;
1351
1492
  }
1352
-
1353
- .sd-radius--large {
1354
- border-radius: var(--b-radius--large);
1493
+ .py-2,
1494
+ .sd-padding-y--2 {
1495
+ padding-block-start: calc(2 * var(--base-increment)) !important;
1496
+ padding-block-end: calc(2 * var(--base-increment)) !important;
1355
1497
  }
1356
-
1357
- .sd-radius--x-large {
1358
- border-radius: var(--b-radius--x-large);
1498
+ .py-3,
1499
+ .sd-padding-y--3 {
1500
+ padding-block-start: calc(3 * var(--base-increment)) !important;
1501
+ padding-block-end: calc(3 * var(--base-increment)) !important;
1359
1502
  }
1360
-
1361
- .sd-radius--full {
1362
- border-radius: var(--b-radius--full);
1503
+ .py-4,
1504
+ .sd-padding-y--4 {
1505
+ padding-block-start: calc(4 * var(--base-increment)) !important;
1506
+ padding-block-end: calc(4 * var(--base-increment)) !important;
1363
1507
  }
1364
-
1365
- // Border
1366
- .sd-border--x-light {
1367
- border: 1px solid var(--sd-colour-line--x-light);
1508
+ .py-5,
1509
+ .sd-padding-y--5 {
1510
+ padding-block-start: calc(5 * var(--base-increment)) !important;
1511
+ padding-block-end: calc(5 * var(--base-increment)) !important;
1368
1512
  }
1369
1513
 
1370
- .sd-border--light {
1371
- border: 1px solid var(--sd-colour-line--light);
1514
+ // GAP --------------------------------------------------------------------------------------------
1515
+ .gap-0 {
1516
+ gap: var(--gap-0); // 0px
1372
1517
  }
1373
-
1374
- .sd-border--medium {
1375
- border: 1px solid var(--sd-colour-line--medium);
1518
+ .gap-0-5 {
1519
+ gap: var(--gap-0-5); // 4px
1376
1520
  }
1377
-
1378
- .sd-border--strong {
1379
- border: 1px solid var(--sd-colour-line--strong);
1521
+ .gap-1 {
1522
+ gap: var(--gap-1); // 8px
1380
1523
  }
1381
-
1382
- .sd-border--x-light {
1383
- border: 1px solid var(--sd-colour-line--x-light);
1524
+ .gap-1-5 {
1525
+ gap: var(--gap-1-5); // 12px
1384
1526
  }
1385
-
1386
- .sd-border-style--dotted {
1387
- border-style: dotted !important;
1527
+ .gap-2 {
1528
+ gap: var(--gap-2); // 16px
1388
1529
  }
1389
-
1390
- .sd-border-style--dashed {
1391
- border-style: dashed !important;
1530
+ .gap-3 {
1531
+ gap: var(--gap-3); // 24px
1392
1532
  }
1393
-
1394
- .sd-border-width--2 {
1395
- border-width: 2px;
1533
+ .gap-4 {
1534
+ gap: var(--gap-4); // 32px
1396
1535
  }
1397
-
1398
- .sd-border-width--3 {
1399
- border-width: 3px;
1536
+ .gap-5 {
1537
+ gap: var(--gap-5); // 40px
1400
1538
  }
1401
1539
 
1402
- // ==================== TYPOGRAPHY =================== //
1403
-
1540
+ // TYPOGRAPHY -------------------------------------------------------------------------------------
1404
1541
  // FONT SIZE
1405
1542
  .text-2xs {
1406
1543
  font-size: calc(var(--text-size--base) * 1); // 12px;
@@ -1483,7 +1620,6 @@ h6 {
1483
1620
  .italic {
1484
1621
  font-style: italic;
1485
1622
  }
1486
-
1487
1623
  .sd-text--non-italic,
1488
1624
  .non-italic {
1489
1625
  font-style: normal;
@@ -1512,59 +1648,19 @@ h6 {
1512
1648
  text-align: justify;
1513
1649
  }
1514
1650
 
1515
- // FONT FAMILY
1516
- .sd-text__serif,
1517
- .sd-text--serif {
1518
- font-family: $baseFontFamilySerif;
1519
- }
1520
- .sd-text--sans {
1521
- font-family: $baseFontFamily;
1522
- }
1523
- .sd-text--mono {
1524
- font-family: $baseFontFamilyMono;
1525
- }
1526
-
1527
- // WHITESPACE
1528
- .sd-whitespace--normal,
1529
- .whitespace-normal {
1530
- white-space: normal;
1531
- }
1532
- .sd-whitespace--nowrap,
1533
- .whitespace-nowrap {
1534
- white-space: nowrap;
1535
- }
1536
- .sd-whitespace--pre,
1537
- .whitespace-pre {
1538
- white-space: pre;
1539
- }
1540
- .sd-whitespace--pre-line,
1541
- .whitespace-pre-line {
1542
- white-space: pre-line;
1543
- }
1544
- .sd-whitespace--pre-wrap,
1545
- .whitespace-pre-wrap {
1546
- white-space: pre-wrap;
1547
- }
1548
- .whitespace-break-spaces {
1549
- white-space: break-spaces;
1550
- }
1551
-
1552
1651
  // TEXT TRANSFORM
1553
1652
  .sd-txt-transform--uppercase,
1554
1653
  .text-uppercase {
1555
1654
  text-transform: uppercase;
1556
1655
  }
1557
-
1558
1656
  .sd-txt-transform--lowercase,
1559
1657
  .text-lowercase {
1560
1658
  text-transform: lowercase;
1561
1659
  }
1562
-
1563
1660
  .sd-txt-transform--capitalize,
1564
1661
  .text-capitalize {
1565
1662
  text-transform: capitalize;
1566
1663
  }
1567
-
1568
1664
  .sd-txt-transform--none,
1569
1665
  .text-normal-case {
1570
1666
  text-transform: none;
@@ -1668,151 +1764,188 @@ h6 {
1668
1764
  -webkit-line-clamp: none;
1669
1765
  }
1670
1766
 
1671
- // ==================================================== //
1672
-
1673
- // Background colours
1674
- .sd-panel-bg--100 {
1675
- background-color: var(--sd-colour-panel-bg--100);
1767
+ // BORDER RADIUS ----------------------------------------------------------------------------------
1768
+ .sd-radius--x-small,
1769
+ .radius-xs {
1770
+ border-radius: var(--b-radius--x-small);
1676
1771
  }
1677
-
1678
- .sd-panel-bg--000 {
1679
- background-color: var(--sd-item__main-Bg);
1772
+ .sd-radius--small,
1773
+ .radius-sm {
1774
+ border-radius: var(--b-radius--small);
1680
1775
  }
1681
-
1682
- .sd-panel-bg--gradient-1 {
1683
- background-color: var(--sd-item__main-Bg);
1684
- background: linear-gradient(180deg, var(--sd-colour-interactive--alpha-20) 0%, var(--sd-item__main-Bg) 40%);
1776
+ .sd-radius--medium,
1777
+ .radius-md {
1778
+ border-radius: var(--b-radius--medium);
1685
1779
  }
1686
-
1687
- .sd-state--focus:focus-within,
1688
- .sd-state--active {
1689
- box-shadow: var(--sd-shadow__item--selected) !important;
1690
- transition: box-shadow 0.3s ease, filter 0.3s ease;
1780
+ .sd-radius--large,
1781
+ .radius-lg {
1782
+ border-radius: var(--b-radius--large);
1691
1783
  }
1692
-
1693
- .sd-width--xxx-small {
1694
- width: var(--width__container--xxx-small) !important;
1784
+ .sd-radius--x-large,
1785
+ .radius-xl {
1786
+ border-radius: var(--b-radius--x-large);
1695
1787
  }
1696
-
1697
- .sd-width--xx-small {
1698
- width: var(--width__container--xx-small);
1788
+ .sd-radius--full,
1789
+ .radius-full {
1790
+ border-radius: var(--b-radius--full);
1699
1791
  }
1700
1792
 
1701
- .sd-width--x-small {
1702
- width: var(--width__container--x-small);
1793
+ // BORDER -----------------------------------------------------------------------------------------
1794
+ .sd-border--x-light,
1795
+ .border-x-light {
1796
+ border: 1px solid var(--sd-colour-line--x-light);
1703
1797
  }
1704
-
1705
- .sd-width--small {
1706
- width: var(--width__container--small);
1798
+ .sd-border--light,
1799
+ .border-light {
1800
+ border: 1px solid var(--sd-colour-line--light);
1707
1801
  }
1708
-
1709
- .sd-width--medium {
1710
- width: var(--width__container--medium);
1802
+ .sd-border--medium,
1803
+ .border-medium {
1804
+ border: 1px solid var(--sd-colour-line--medium);
1711
1805
  }
1712
-
1713
- .sd-width--large {
1714
- width: var(--width__container--large);
1806
+ .sd-border--strong,
1807
+ .border-strong {
1808
+ border: 1px solid var(--sd-colour-line--strong);
1715
1809
  }
1716
1810
 
1717
- .sd-width--x-large {
1718
- width: var(--width__container--x-large);
1811
+ // BORDER STYLE
1812
+ .sd-border-style--solid,
1813
+ .border-solid {
1814
+ border-style: solid;
1719
1815
  }
1720
-
1721
- .sd-width--xx-large {
1722
- width: var(--width__container--xx-large);
1816
+ .sd-border-style--dotted,
1817
+ .border-dotted {
1818
+ border-style: dotted;
1723
1819
  }
1724
-
1725
- .sd-width--xxx-large {
1726
- width: var(--width__container--xxx-large);
1820
+ .sd-border-style--dashed,
1821
+ .border-dashed {
1822
+ border-style: dashed;
1727
1823
  }
1728
-
1729
- .sd-width--full {
1730
- width: var(--width__container--full);
1824
+ .border-double {
1825
+ border-style: double;
1731
1826
  }
1732
1827
 
1733
- .sd-gap--x-small {
1734
- gap: var(--gap--x-small);
1828
+ // BORDER WIDTH
1829
+ .sd-border-width--0,
1830
+ .border-0 {
1831
+ border-width: 0px;
1735
1832
  }
1736
-
1737
- .sd-gap--small {
1738
- gap: var(--gap--small);
1833
+ .sd-border-width--1,
1834
+ .border-1 {
1835
+ border-width: 1px;
1739
1836
  }
1740
-
1741
- .sd-gap--medium {
1742
- gap: var(--gap--medium);
1837
+ .sd-border-width--2,
1838
+ .border-2 {
1839
+ border-width: 2px;
1743
1840
  }
1744
-
1745
- .sd-gap--large {
1746
- gap: var(--gap--large);
1841
+ .sd-border-width--3,
1842
+ .border-3 {
1843
+ border-width: 3px;
1747
1844
  }
1748
-
1749
- .sd-gap--x-large {
1750
- gap: var(--gap--x-large);
1845
+ .sd-border-width--4,
1846
+ .border-4 {
1847
+ border-width: 4px;
1751
1848
  }
1752
-
1753
- .sd-gap--xx-large {
1754
- gap: var(--gap--xx-large);
1849
+ .border-x-0 {
1850
+ border-inline-start-width: 0px;
1851
+ border-inline-end-width: 0px;
1755
1852
  }
1756
-
1757
- .sd-gap--auto {
1758
- gap: var(--gap--auto);
1853
+ .border-y-0 {
1854
+ border-block-start-width: 0px;
1855
+ border-block-end-width: 0px;
1856
+ }
1857
+ .border-s-0 {
1858
+ border-inline-start-width: 0px;
1859
+ }
1860
+ .border-e-0 {
1861
+ border-inline-end-width: 0px;
1862
+ }
1863
+ .border-t-0 {
1864
+ border-top: 0px;
1865
+ }
1866
+ .border-b-0 {
1867
+ border-bottom: 0px;
1759
1868
  }
1760
1869
 
1761
- // MAX-HEIGHT:
1762
-
1763
- .max-h-5 {
1764
- max-height: calc(5 * var(--base-increment)) !important;
1870
+ // OPACITY HELPERS --------------------------------------------------------------------------------
1871
+ .sd-opacity--0,
1872
+ .opacity-0 {
1873
+ opacity: 0;
1765
1874
  }
1766
- .max-h-6 {
1767
- max-height: calc(6 * var(--base-increment)) !important;
1875
+ .sd-opacity--20,
1876
+ .opacity-20 {
1877
+ opacity: 0.2;
1768
1878
  }
1769
- .max-h-8 {
1770
- max-height: calc(8 * var(--base-increment)) !important;
1879
+ .sd-opacity--25,
1880
+ .opacity-25 {
1881
+ opacity: 0.25;
1771
1882
  }
1772
- .max-h-10 {
1773
- max-height: calc(10 * var(--base-increment)) !important;
1883
+ .sd-opacity--30,
1884
+ .opacity-30 {
1885
+ opacity: 0.3;
1774
1886
  }
1775
- .max-h-15 {
1776
- max-height: calc(15 * var(--base-increment)) !important;
1887
+ .sd-opacity--40,
1888
+ .opacity-40 {
1889
+ opacity: 0.4;
1777
1890
  }
1778
- .max-h-20 {
1779
- max-height: calc(20 * var(--base-increment)) !important;
1891
+ .sd-opacity--50,
1892
+ .opacity-50 {
1893
+ opacity: 0.5;
1780
1894
  }
1781
- .max-h-25 {
1782
- max-height: calc(25 * var(--base-increment)) !important;
1895
+ .sd-opacity--60,
1896
+ .opacity-60 {
1897
+ opacity: 0.6;
1783
1898
  }
1784
- .max-h-30 {
1785
- max-height: calc(30 * var(--base-increment)) !important;
1899
+ .sd-opacity--75,
1900
+ .opacity-75 {
1901
+ opacity: 0.75;
1786
1902
  }
1787
1903
 
1788
- .max-h-full {
1789
- max-height: 100%;
1904
+ // OBJECT FIT HELPERS -----------------------------------------------------------------------------
1905
+ .object-contain {
1906
+ object-fit: contain;
1790
1907
  }
1791
- .max-h-screen {
1792
- max-height: 100svh;
1908
+ .object-cover {
1909
+ object-fit: cover;
1910
+ }
1911
+ .object-fill {
1912
+ object-fit: fill;
1913
+ }
1914
+ .object-none {
1915
+ object-fit: none;
1916
+ }
1917
+ .object-scale-down {
1918
+ object-fit: scale-down;
1793
1919
  }
1794
1920
 
1795
- .gap-0 {
1796
- gap: var(--gap-0); // 0px
1921
+ // OBJECT POSITION HELPERS ------------------------------------------------------------------------
1922
+ // Defines the positin of any selected replaced element (e.g., an <img>)
1923
+ // within the box that contains it. For it to work it must be used with 'sd-object-fit--none' (object-fit: none;)
1924
+
1925
+ .object-bottom {
1926
+ object-position: bottom;
1797
1927
  }
1798
- .gap-0-5 {
1799
- gap: var(--gap-0-5); // 4px
1928
+ .object-center {
1929
+ object-position: center;
1800
1930
  }
1801
- .gap-1 {
1802
- gap: var(--gap-1); // 8px
1931
+ .object-left {
1932
+ object-position: left;
1803
1933
  }
1804
- .gap-1-5 {
1805
- gap: var(--gap-1-5); // 12px
1934
+ .object-left-bottom {
1935
+ object-position: left bottom;
1806
1936
  }
1807
- .gap-2 {
1808
- gap: var(--gap-2); // 16px
1937
+ .object-left-top {
1938
+ object-position: left top;
1809
1939
  }
1810
- .gap-3 {
1811
- gap: var(--gap-3); // 24px
1940
+ .object-right {
1941
+ object-position: right;
1812
1942
  }
1813
- .gap-4 {
1814
- gap: var(--gap-4); // 32px
1943
+ .object-right-bottom {
1944
+ object-position: right bottom;
1815
1945
  }
1816
- .gap-5 {
1817
- gap: var(--gap-5); // 40px
1946
+ .object-right-top {
1947
+ object-position: right top;
1948
+ }
1949
+ .object-top {
1950
+ object-position: top;
1818
1951
  }