superdesk-ui-framework 6.1.3 → 6.1.5

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 (56) hide show
  1. package/.github/CODEOWNERS +1 -1
  2. package/.github/workflows/publish-to-npm.yml +41 -32
  3. package/.prettierignore +2 -1
  4. package/CLAUDE.md +85 -0
  5. package/app/styles/_avatar.scss +2 -3
  6. package/app/styles/_buttons.scss +6 -4
  7. package/app/styles/_design-tokens.scss +4 -5
  8. package/app/styles/_sd-tag-input.scss +0 -1
  9. package/app/styles/_toggle-button.scss +3 -3
  10. package/app/styles/components/_list-item.scss +18 -5
  11. package/app/styles/components/_sd-photo-preview.scss +9 -7
  12. package/app/styles/design-tokens/_design-tokens-general.scss +50 -12
  13. package/app/styles/design-tokens/components/_checkbox-button.scss +14 -0
  14. package/app/styles/design-tokens/components/_checkbox.scss +13 -0
  15. package/app/styles/design-tokens/components/_components.scss +3 -0
  16. package/app/styles/design-tokens/primitives/_primitives.scss +2 -0
  17. package/app/styles/design-tokens/semantic/_semantics.scss +1 -0
  18. package/app/styles/form-elements/_checkbox.scss +105 -107
  19. package/app/styles/form-elements/_inputs.scss +2 -1
  20. package/app/styles/primereact/_pr-dropdown.scss +2 -2
  21. package/app-typescript/components/Button.stories.tsx +2 -1
  22. package/app-typescript/components/Lists/TableList.tsx +1 -1
  23. package/app-typescript/components/TreeSelect/TreeSelect.tsx +14 -1
  24. package/dist/components/BigIconFont.tsx +1 -1
  25. package/dist/components/IconFont.tsx +1 -1
  26. package/dist/examples.bundle.css +2 -2
  27. package/dist/examples.bundle.js +1 -1
  28. package/dist/examples.bundle.js.LICENSE.txt +30 -9
  29. package/dist/storybook/{components-Button-stories.d513b08d.iframe.bundle.js → components-Button-stories.d26accad.iframe.bundle.js} +1 -1
  30. package/dist/storybook/iframe.html +2 -2
  31. package/dist/storybook/main.dda7bbd4.iframe.bundle.js +1 -0
  32. package/dist/storybook/manifests/components.json +1 -1
  33. package/dist/storybook/project.json +1 -1
  34. package/dist/storybook/{runtime~main.4063e973.iframe.bundle.js → runtime~main.7d9dbba0.iframe.bundle.js} +1 -1
  35. package/dist/superdesk-ui.bundle.css +1 -1
  36. package/dist/superdesk-ui.bundle.js +1 -1
  37. package/dist/superdesk-ui.bundle.js.LICENSE.txt +23 -2
  38. package/package.json +3 -4
  39. package/react/components/Lists/TableList.d.ts +1 -1
  40. package/react/components/Lists/TableList.js +4 -4
  41. package/react/components/TreeSelect/TreeSelect.d.ts +1 -1
  42. package/react/components/TreeSelect/TreeSelect.js +18 -4
  43. package/storybook-static/{components-Button-stories.d513b08d.iframe.bundle.js → components-Button-stories.d26accad.iframe.bundle.js} +1 -1
  44. package/storybook-static/iframe.html +2 -2
  45. package/storybook-static/main.dda7bbd4.iframe.bundle.js +1 -0
  46. package/storybook-static/manifests/components.json +1 -1
  47. package/storybook-static/project.json +1 -1
  48. package/storybook-static/{runtime~main.4063e973.iframe.bundle.js → runtime~main.7d9dbba0.iframe.bundle.js} +1 -1
  49. package/webpack.config.js +1 -0
  50. package/dist/storybook/main.6ba8c211.iframe.bundle.js +0 -1
  51. package/storybook-static/main.6ba8c211.iframe.bundle.js +0 -1
  52. /package/app/styles/{design-tokens → deprecate}/_new-colors.scss +0 -0
  53. /package/app/styles/design-tokens/{_component-tokens.scss → components/_drag-handle.scss} +0 -0
  54. /package/app/styles/design-tokens/{_brand-colors.scss → primitives/_brand-colors.scss} +0 -0
  55. /package/app/styles/design-tokens/{_primitives.scss → primitives/_colors.scss} +0 -0
  56. /package/app/styles/design-tokens/{_semantic-colors.scss → semantic/_semantic-colors.scss} +0 -0
@@ -6,12 +6,6 @@
6
6
 
7
7
  // CHECKBOX & RADIO BUTTONS
8
8
 
9
- $checkBoxBorderColor: var(--color-checkbox-border);
10
- $checkBoxBorderColorHover: var(--color-checkbox-border-hover);
11
- $checkButtonTextColor: var(--color-text-muted);
12
- $checkButtonBorderColor: var(--sd-colour-line--light);
13
- $checkButtonBorderColorHover: var(--sd-colour-line--strong);
14
- $checkButtonBorderRadius: dimensions.$border-radius__base--small;
15
9
 
16
10
  @mixin check-base {
17
11
  --check-size: 1.6rem;
@@ -19,21 +13,21 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
19
13
  height: var(--check-size);
20
14
  display: inline-block;
21
15
  position: relative;
22
- background: transparent;
23
- border: 2px solid $checkBoxBorderColor;
16
+ background: var(--checkbox-color-bg-default);
17
+ border: 2px solid var(--checkbox-color-border-default);
24
18
  vertical-align: middle;
25
- font-family: typography.$baseFontFamily;
19
+ font-family: inherit;
26
20
  transition: all 0.2s ease-out;
27
21
  flex: 0 0 var(--check-size);
28
22
  }
29
23
 
30
24
  .sd-checkbox {
31
25
  @include check-base;
32
- border-radius: dimensions.$border-radius__base--x-small;
26
+ border-radius: var(--checkbox-radius);
33
27
 
34
28
  &::after {
35
- @include mixins.opacity(0);
36
- @include mixins.transition(all, 0.2s, ease-in);
29
+ opacity: 0;
30
+ transition: all 0.2s ease-in;
37
31
  font-family: 'sd_icons';
38
32
  content:'\e61d';
39
33
  font-weight: 400;
@@ -43,7 +37,7 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
43
37
  width: 1.2rem;
44
38
  -webkit-font-smoothing: antialiased;
45
39
  -moz-osx-font-smoothing: grayscale;
46
- color: #fff;
40
+ color: lch(100 0 0);
47
41
  position: absolute;
48
42
  inset-block-start: 0;
49
43
  inset-inline-start: 0;
@@ -51,13 +45,13 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
51
45
  }
52
46
 
53
47
  &:hover {
54
- border-color: $checkBoxBorderColorHover;
48
+ border-color: var(--checkbox-color-border-hover);
55
49
  cursor: pointer;
56
50
  }
57
51
 
58
52
  &.checked, &[checked="checked"] {
59
- border-color: colors.$sd-colour-interactive;
60
- background: colors.$sd-colour-interactive;
53
+ border-color: var(--checkbox-color-border-checked);
54
+ background: var(--checkbox-color-bg-checked);
61
55
 
62
56
  &::after {
63
57
  opacity: 1;
@@ -65,24 +59,23 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
65
59
  }
66
60
 
67
61
  &:hover {
68
- border-color: var(--sd-colour-interactive--hover);
69
- background-color: var(--sd-colour-interactive--hover);
62
+ border-color: var(--checkbox-color-border-checked);
63
+ background-color: var(--checkbox-color-bg-checked);
70
64
  }
71
65
  }
72
-
73
66
  }
74
67
 
75
68
  // Modifier for .sd-checkbox to create a radio button
76
69
  .sd-checkbox--radio {
77
- border-radius: dimensions.$border-radius__base--full;
70
+ border-radius: var(--radius-full);
78
71
 
79
72
  &::after {
80
73
  height: 0.8rem;
81
74
  width: 0.8rem;
82
- border-radius: dimensions.$border-radius__base--full;
75
+ border-radius: var(--radius-full);
83
76
  content:' ';
84
77
  position: absolute;
85
- background-color: colors.$sd-colour-interactive;
78
+ background-color: var(--checkbox-color-bg-checked);
86
79
  inset-block-start: 0.2rem;
87
80
  inset-inline-start: 0.2rem;
88
81
  opacity: 0;
@@ -91,7 +84,7 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
91
84
  }
92
85
 
93
86
  &.checked, &[checked="checked"] {
94
- border-color: colors.$sd-colour-interactive;
87
+ border-color: var(--checkbox-color-border-checked);
95
88
  background: transparent;
96
89
 
97
90
  &::after {
@@ -107,28 +100,32 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
107
100
 
108
101
  // This modifier creates button styled checkboxes or radio buttons
109
102
  .sd-checkbox--button-style {
110
- @include mixins.transition(all, 0.2s, ease-out);
111
- @include mixins.text-overflow;
103
+ transition: all 0.2s ease-out;
104
+ overflow: hidden;
105
+ white-space: nowrap;
106
+ text-overflow: ellipsis;
112
107
  width: auto;
113
108
  padding: 0 1.2rem;
114
109
  line-height: 1;
115
- color: $checkButtonTextColor;
116
- border: 1px solid $checkButtonBorderColor;
117
- border-radius: $checkButtonBorderRadius;
110
+ color: var(--checkbox-button-color-text-default);
111
+ border: 1px solid var(--checkbox-button-color-border-default);
112
+ border-radius: var(--checkbox-button-radius);
118
113
  display: inline-flex;
119
114
  align-items: center;
120
115
  text-align: center;
121
- height: dimensions.$sd-base-increment * 4;
116
+ height:var(--checkbox-button-height);
122
117
 
123
118
  label {
124
- @include mixins.text-overflow;
119
+ overflow: hidden;
120
+ white-space: nowrap;
121
+ text-overflow: ellipsis;
125
122
  margin:0;
126
123
  display: inline;
127
124
  cursor: pointer;
128
125
  transition: none;
129
126
  text-align: center;
130
127
  line-height: 16px;
131
- font-family: typography.$baseFontFamily;
128
+ font-family: inherit;
132
129
 
133
130
  [class^="icon-"], [class*=" icon-"] {
134
131
  vertical-align: middle;
@@ -151,26 +148,26 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
151
148
 
152
149
  &:hover {
153
150
  color: var(--color-text);
154
- border-color: $checkButtonBorderColorHover;
151
+ border-color: var(--checkbox-button-color-border-hover);
155
152
  box-shadow: 0 1px 4px 0 hsla(0, 0%, 0%, 0.2);
156
153
  }
157
154
 
158
155
  &.checked, &[checked="checked"] {
159
- background-color: var(--sd-colour-interactive--active);
160
- border-color: var(--sd-colour-interactive--active);
156
+ background-color: var(--checkbox-button-color-bg-checked);
157
+ border-color: var(--checkbox-button-color-border-checked);
161
158
  border-top-color: var(--sd-colour-interactive--darken-20);
162
159
  box-shadow: inset 0 2px 0 0 hsla(0, 0%, 0%, 0.2);
163
- color: colors.$white;
160
+ color: var(--checkbox-button-color-text-checked);
164
161
 
165
162
  &:hover {
166
- color: colors.$white;
167
- border-color: var(--sd-colour-interactive--hover);
168
- background-color: var(--sd-colour-interactive--active);
163
+ color: var(--checkbox-button-color-text-checked);
164
+ border-color: var(--checkbox-button-color-border-checked);
165
+ background-color: var(--checkbox-button-color-bg-checked);
169
166
  box-shadow: inset 0 2px 0 0 hsla(0, 0%, 0%, 0.2);
170
167
  }
171
168
 
172
169
  label {
173
- color: colors.$white;
170
+ color: var(--checkbox-button-color-text-checked);
174
171
  }
175
172
  }
176
173
 
@@ -185,8 +182,8 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
185
182
  cursor: not-allowed !important;
186
183
 
187
184
  &:hover {
188
- color: $checkButtonTextColor;
189
- border-color: $checkButtonBorderColor;
185
+ color: var(--checkbox-button-color-text-default);
186
+ border-color: var(--checkbox-button-color-border-default);
190
187
  box-shadow: none;
191
188
  }
192
189
  }
@@ -220,13 +217,13 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
220
217
  .sd-check__group {
221
218
  padding: 0;
222
219
  display: flex;
223
- gap: dimensions.$sd-base-increment;
220
+ gap: var(--space-1);
224
221
  }
225
222
 
226
223
  .sd-check__group--grid {
227
224
  display: grid;
228
225
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
229
- grid-gap: dimensions.$sd-base-increment;
226
+ grid-gap: var(--space-1);
230
227
 
231
228
  .sd-check__wrapper {
232
229
  display: block;
@@ -259,19 +256,20 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
259
256
 
260
257
  .sd-check-new {
261
258
  @include check-base;
262
- border-radius: dimensions.$border-radius__base--x-small;
259
+ border-radius: var(--checkbox-radius);
263
260
 
264
261
  &::after {
262
+ --checkmark-size: 1.2rem;
265
263
  font-family: 'sd_icons';
266
264
  content:'\e61d';
267
265
  font-weight: 400;
268
- font-size: 1.2rem;
269
- line-height: 1.2rem;
270
- height: 1.2rem;
271
- width: 1.2rem;
266
+ font-size: var(--checkmark-size);
267
+ line-height: var(--checkmark-size);
268
+ height: var(--checkmark-size);
269
+ width: var(--checkmark-size);
272
270
  -webkit-font-smoothing: antialiased;
273
271
  -moz-osx-font-smoothing: grayscale;
274
- color: #fff;
272
+ color: var(--color-text-ondark);
275
273
  position: absolute;
276
274
  inset-block-start: 0;
277
275
  inset-inline-start: 0;
@@ -281,13 +279,13 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
281
279
  }
282
280
 
283
281
  &:hover {
284
- border-color: $checkBoxBorderColorHover;
282
+ border-color: var(--checkbox-color-border-hover);
285
283
  cursor: pointer;
286
284
  }
287
285
 
288
286
  &.checked, &[checked="checked"] {
289
- border-color: colors.$sd-colour-interactive;
290
- background: colors.$sd-colour-interactive;
287
+ border-color: var(--checkbox-color-border-checked);
288
+ background: var(--checkbox-color-bg-checked);
291
289
 
292
290
  &::after {
293
291
  opacity: 1;
@@ -295,39 +293,40 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
295
293
  }
296
294
 
297
295
  &:hover {
298
- border-color: var(--sd-colour-interactive--hover);
299
- background-color: var(--sd-colour-interactive--hover);
296
+ border-color: var(--checkbox-color-border-checked);
297
+ background: var(--checkbox-color-bg-checked);
300
298
  }
301
299
  }
302
300
  }
303
301
 
304
- .sd-check-new--disabled, .sd-check-new[disabled="disabled"] {
302
+ .sd-check-new--disabled,
303
+ .sd-check-new[disabled="disabled"] {
305
304
  opacity: 0.40;
306
305
  cursor: not-allowed !important;
307
306
 
308
307
  &:hover {
309
- color: $checkButtonTextColor;
310
- border-color: $checkButtonBorderColor;
308
+ color: var(--checkbox-color-text-default);
309
+ border-color: var(--checkbox-color-border-default);
311
310
  box-shadow: none;
312
311
  }
313
312
  }
314
313
 
315
314
  .sd-radio-new {
316
315
  @include check-base;
317
- border-radius: dimensions.$border-radius__base--full;
316
+ border-radius: var(--radius-full);
318
317
 
319
318
  &:hover {
320
- border-color: $checkBoxBorderColorHover;
319
+ border-color: var(--checkbox-color-border-hover);
321
320
  cursor: pointer;
322
321
  }
323
322
 
324
323
  &::after {
325
324
  height: 0.8rem;
326
325
  width: 0.8rem;
327
- border-radius: dimensions.$border-radius__base--full;
326
+ border-radius: var(--radius-full);
328
327
  content:' ';
329
328
  position: absolute;
330
- background-color: colors.$sd-colour-interactive;
329
+ background-color: var(--checkbox-color-bg-checked);
331
330
  inset-block-start: 0.2rem;
332
331
  inset-inline-start: 0.2rem;
333
332
  opacity: 0;
@@ -336,7 +335,7 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
336
335
  }
337
336
 
338
337
  &.checked, &[checked="checked"] {
339
- border-color: colors.$sd-colour-interactive;
338
+ border-color: var(--checkbox-color-border-checked);
340
339
  background: transparent;
341
340
 
342
341
  &::after {
@@ -356,8 +355,8 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
356
355
  cursor: not-allowed !important;
357
356
 
358
357
  &:hover {
359
- color: $checkButtonTextColor;
360
- border-color: $checkButtonBorderColor;
358
+ color: var(--checkbox-color-text-default);
359
+ border-color: var(--checkbox-color-border-default);
361
360
  box-shadow: none;
362
361
  }
363
362
  }
@@ -365,14 +364,14 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
365
364
  .sd-check-button {
366
365
  padding-inline: var(--space--1-5);
367
366
  line-height: 1;
368
- border: 1px solid $checkButtonBorderColor;
369
- border-radius: $checkButtonBorderRadius;
367
+ border: 1px solid var(--checkbox-button-color-border-default);
368
+ border-radius: var(--checkbox-button-radius);
370
369
  transition: all 0.2s ease-in-out;
371
370
  display: flex;
372
371
  align-items: center;
373
372
  justify-content: center;
374
- height: dimensions.$sd-base-increment * 4;
375
- color: var(--color-text);
373
+ height: var(--checkbox-button-height);
374
+ color: var(--checkbox-button-color-text-default);
376
375
  cursor: pointer;
377
376
 
378
377
  .sd-check-button__text-label {
@@ -398,28 +397,28 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
398
397
  &:hover {
399
398
  .sd-check-button__text-label {
400
399
  opacity: 1;
401
- border-color: $checkButtonBorderColorHover;
402
- box-shadow: 0 1px 4px 0 hsla(0, 0%, 0%, 0.16);
403
- color: var(--color-text);
400
+ border-color: var(--checkbox-button-color-border-hover);
401
+ box-shadow: 0 1px 4px 0 lch(0% 0 0 / 0.2);
402
+ color: var(--checkbox-button-color-text-default);
404
403
  }
405
404
  }
406
405
 
407
406
  &.checked, &[checked="checked"] {
408
- background-color: var(--sd-colour-interactive--active);
409
- border-color: var(--sd-colour-interactive--active);
407
+ background-color: var(--checkbox-button-color-bg-checked);
408
+ border-color: var(--checkbox-button-color-border-checked);
410
409
  border-top-color: var(--sd-colour-interactive--darken-20);
411
- box-shadow: inset 0 2px 0 0 hsla(0, 0%, 0%, 0.2);
412
- color: colors.$white;
410
+ box-shadow: inset 0 2px 0 0 lch(0% 0 0 / 0.2);
411
+ color: var(--checkbox-button-color-text-checked);
413
412
 
414
413
  .sd-check-button__text-label {
415
414
  opacity: 1;
416
415
  }
417
416
 
418
417
  &:hover {
419
- color: colors.$white;
420
- border-color: var(--sd-colour-interactive--active);
421
- background-color: var(--sd-colour-interactive--hover);
422
- box-shadow: inset 0 2px 0 0 hsla(0, 0%, 0%, 0.2);
418
+ color: var(--checkbox-button-color-text-checked);
419
+ border-color: var(--checkbox-button-color-border-checked);
420
+ background-color: var(--checkbox-button-color-bg-checked);
421
+ box-shadow: inset 0 2px 0 0 lch(0% 0 0 / 0.2);
423
422
  }
424
423
  }
425
424
 
@@ -434,16 +433,16 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
434
433
  flex-direction: row;
435
434
  flex-wrap: wrap;
436
435
  align-items: center;
437
- gap: dimensions.$sd-base-increment * 1;
436
+ gap: var(--space-1);
438
437
  flex: 1 0;
439
438
 
440
439
  &.sd-check-button__group--padded {
441
- margin-inline-start: dimensions.$sd-base-increment * 1.5;
442
- margin-inline-end: dimensions.$sd-base-increment * 1.5;
440
+ margin-inline-start: var(--space-1-5);
441
+ margin-inline-end: var(--space-1-5);
443
442
  }
444
443
 
445
444
  &.sd-check-button__group--compact {
446
- gap: dimensions.$sd-base-increment * 0.5;
445
+ gap: var(--space-0-5);
447
446
  }
448
447
 
449
448
  &.sd-check-button__group--no-wrap {
@@ -488,11 +487,11 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
488
487
  flex: 1 1 0;
489
488
  display: grid;
490
489
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
491
- grid-gap: dimensions.$sd-base-increment;
490
+ grid-gap: var(--space-1);
492
491
  align-self: stretch;
493
492
 
494
493
  &.sd-check-button__group--compact {
495
- grid-gap: math.div(dimensions.$sd-base-increment, 2);
494
+ grid-gap: var(--space-0-5);
496
495
  }
497
496
  }
498
497
 
@@ -525,7 +524,7 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
525
524
 
526
525
  &[label-position="left"], &[label-position="start"] {
527
526
  label {
528
- margin-inline-end: dimensions.$sd-base-increment;
527
+ margin-inline-end: var(--space-1);
529
528
  margin-inline-start: 0;
530
529
 
531
530
  &:empty {
@@ -553,8 +552,8 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
553
552
  input:checked {
554
553
  & ~ .sd-check-new,
555
554
  & ~ .sd-radio-new {
556
- border-color: colors.$sd-colour-interactive;
557
- background: colors.$sd-colour-interactive;
555
+ border-color: var(--checkbox-color-border-checked);
556
+ background: var(--checkbox-color-bg-checked);
558
557
 
559
558
  &::after {
560
559
  opacity: 1;
@@ -567,14 +566,14 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
567
566
  }
568
567
 
569
568
  & ~ label {
570
- color: colors.$sd-colour-interactive;
569
+ color: var(--checkbox-color-text-checked);
571
570
  }
572
571
  }
573
572
 
574
573
  input:focus {
575
574
  & ~ .sd-check-new,
576
575
  & ~ .sd-radio-new {
577
- box-shadow: 0 0 0 3px colors.$sd-colour--focus-shadow;
576
+ box-shadow: 0 0 0 3px var(--checkbox-color-shadow-focus);
578
577
  }
579
578
  }
580
579
 
@@ -621,11 +620,11 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
621
620
  display: flex;
622
621
  flex-direction: row;
623
622
  align-items: center;
624
- gap: dimensions.$sd-base-increment * 3;
623
+ gap: var(--space-3);
625
624
  }
626
625
 
627
626
  .sd-check__group-new--vertical {
628
- gap: dimensions.$sd-base-increment * 2;
627
+ gap: var(--space-2);
629
628
  flex-direction: column;
630
629
  align-items: flex-start;
631
630
  }
@@ -643,13 +642,13 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
643
642
  padding-inline-start: 1.2rem;
644
643
  padding-inline-end: 1.2rem;
645
644
  line-height: 1;
646
- border: 1px solid rgba(140, 140, 140, 0.5);
647
- border-radius: $checkButtonBorderRadius;
645
+ border: 1px solid var(--checkbox-button-color-border-default);
646
+ border-radius: var(--checkbox-button-radius);
648
647
  transition: all 0.2s ease-in-out;
649
648
  display: flex;
650
649
  align-items: center;
651
650
  justify-content: center;
652
- height: 3.2rem;
651
+ height: var(--checkbox-button-height);
653
652
  color: inherit;
654
653
  cursor: pointer;
655
654
  width: 100%;
@@ -661,7 +660,7 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
661
660
  }
662
661
 
663
662
  i + .sd-check-button__text-label-inner {
664
- margin-inline-start: dimensions.$sd-base-increment;
663
+ margin-inline-start: var(--space-1);
665
664
  }
666
665
  }
667
666
  }
@@ -684,11 +683,11 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
684
683
  .sd-check-button__input:checked {
685
684
  & ~ label {
686
685
  opacity: 1;
687
- color: colors.$white;
688
- background-color: var(--sd-colour-interactive);
689
- border-color: var(--sd-colour-interactive);
690
- border-top-color: var(--sd-colour-interactive--darken-20);
691
- box-shadow: inset 0 2px 0 0 rgba(0, 0, 0, 0.2);
686
+ color: var(--checkbox-button-color-text-checked);
687
+ background-color: var(--checkbox-button-color-bg-checked);
688
+ border-color: var(--checkbox-button-color-border-checked);
689
+ border-top-color: var(--checkbox-button-color-border-checked);
690
+ box-shadow: inset 0 3px 0 0 lch(0% 0 0 / 0.25);
692
691
  }
693
692
  }
694
693
  .sd-check-button__input:disabled {
@@ -700,12 +699,12 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
700
699
  }
701
700
  &:focus-within {
702
701
  .sd-check-button__text-label {
703
- box-shadow: 0 0 0 3px colors.$sd-colour--focus-shadow;
702
+ box-shadow: 0 0 0 3px var(--checkbox-button-color-shadow-focus);
704
703
  }
705
704
 
706
705
  .sd-check-button__input:checked {
707
706
  & ~ label {
708
- box-shadow: inset 0 2px 0 0 rgba(0, 0, 0, 0.2), 0 0 0 3px colors.$sd-colour--focus-shadow;
707
+ box-shadow: inset 0 3px 0 0 lch(0% 0 0 / 0.2), 0 0 0 3px var(--checkbox-button-color-shadow-focus);
709
708
  }
710
709
  }
711
710
 
@@ -724,8 +723,8 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
724
723
  padding-inline: var(--space--1-5);
725
724
  @include mixins.text-overflow;
726
725
  line-height: 1;
727
- border: 1px solid $checkButtonBorderColor;
728
- border-radius: $checkButtonBorderRadius;
726
+ border: 1px solid var(--checkbox-button-color-border-default);
727
+ border-radius: var(--checkbox-button-radius);
729
728
  transition: all 0.2s ease-in-out;
730
729
  display: inline-flex;
731
730
  align-items: center;
@@ -746,7 +745,7 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
746
745
  }
747
746
 
748
747
  &:hover {
749
- border-color: $checkButtonBorderColorHover;
748
+ border-color: var(--checkbox-button-color-border-hover);
750
749
  box-shadow: 0 1px 4px 0 hsla(0, 0%, 0%, 0.16);
751
750
  color: var(--color-text);
752
751
  text-decoration: none !important;
@@ -767,4 +766,3 @@ $checkButtonBorderRadius: dimensions.$border-radius__base--small;
767
766
  }
768
767
  }
769
768
  }
770
-
@@ -34,7 +34,8 @@
34
34
  background-color: var(--color-input-bg--hover);
35
35
  }
36
36
 
37
- &:focus {
37
+ &:focus,
38
+ &:focus-within {
38
39
  box-shadow: 0 1px 0 0 var(--sd-colour-interactive);
39
40
  border-color: var(--sd-colour-interactive);
40
41
  background-color: var(--sd-colour-interactive--alpha-20);
@@ -163,14 +163,14 @@
163
163
  }
164
164
 
165
165
  &:hover {
166
- border-color: checkbox.$checkBoxBorderColorHover;
166
+ border-color: var(--checkbox-color-border-hover);
167
167
  cursor: pointer;
168
168
  }
169
169
 
170
170
  .p-highlight {
171
171
  background-color: var(--sd-colour-interactive--hover);
172
172
  border: 2px solid var(--sd-colour-interactive--hover);
173
- border-radius: dimensions.$border-radius__base--x-small;
173
+ border-radius: var(--checkbox-radius);
174
174
  width: 1.6rem;
175
175
  height: 1.6rem;
176
176
  }
@@ -40,7 +40,8 @@ const meta = {
40
40
  'highlight',
41
41
  'sd-green',
42
42
  ],
43
- description: 'Button variant type. **Recommended:** primary, secondary, tertiary',
43
+ description:
44
+ 'Button variant type. **Recommended:** primary, secondary, tertiary. **Note:** Other variants should be avoided, as they will likely be deprecated in future versions.',
44
45
  table: {
45
46
  defaultValue: {summary: 'default'},
46
47
  },
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
3
  import classNames from 'classnames';
4
- import {DragDropContext, Droppable, Draggable, DropResult} from 'react-beautiful-dnd';
4
+ import {DragDropContext, Droppable, Draggable, DropResult} from '@hello-pangea/dnd';
5
5
  import {Tooltip} from '../Tooltip';
6
6
  import {Button} from '../Button';
7
7
  import {Dropdown, IMenuItem, ISubmenu, IMenuGroup} from '../Dropdown';
@@ -13,7 +13,7 @@ import {TreeSelectPill} from './TreeSelectPill';
13
13
  import {getPrefixedItemId, TreeSelectItem} from './TreeSelectItem';
14
14
  import {keyboardNavigation} from './KeyboardNavigation';
15
15
  import {WithPortal} from '../WithPortal';
16
- import {DragDropContext, Droppable, Draggable, DropResult} from 'react-beautiful-dnd';
16
+ import {DragDropContext, Droppable, Draggable, DropResult} from '@hello-pangea/dnd';
17
17
  import {getNextZIndex} from '../../zIndex';
18
18
  import {arrayMove} from '@sourcefabric/common';
19
19
  import {gettext} from '../../translations';
@@ -192,6 +192,19 @@ export class TreeSelect<T> extends React.Component<IProps<T>, IState<T>> {
192
192
  element.focus();
193
193
  }
194
194
  }
195
+ } else if (
196
+ e.key === 'Delete' &&
197
+ !this.state.openDropdown &&
198
+ !this.props.readOnly &&
199
+ !this.props.disabled &&
200
+ this.props.clearable !== false &&
201
+ this.treeSelectRef.current?.contains(document.activeElement) === true
202
+ ) {
203
+ if (e.ctrlKey) {
204
+ this.setState({value: []});
205
+ } else if (this.state.value.length > 0) {
206
+ this.setState({value: this.state.value.slice(0, -1)});
207
+ }
195
208
  }
196
209
  };
197
210
 
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import * as Markup from '../../js/react';
3
3
  import {Icon, Prop, PropsList} from '../../../app-typescript';
4
- import bigIconFont from '../../../app/styles/_big-icon-font.scss';
4
+ import * as bigIconFont from '../../../app/styles/_big-icon-font.scss';
5
5
 
6
6
  export default class BigIconFontDoc extends React.PureComponent {
7
7
  render() {
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import * as Markup from '../../js/react';
3
3
  import {Icon, Prop, PropsList} from '../../../app-typescript';
4
- import iconFont from '../../../app/styles/_icon-font.scss';
4
+ import * as iconFont from '../../../app/styles/_icon-font.scss';
5
5
 
6
6
  export default class IconFontDoc extends React.PureComponent {
7
7
  render() {