draft-components 0.61.1 → 0.63.1

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 (63) hide show
  1. package/components/calendar/calendar-day.d.ts +2 -1
  2. package/components/calendar/calendar-day.js +2 -2
  3. package/components/calendar/calendar.d.ts +4 -2
  4. package/components/calendar/calendar.js +6 -2
  5. package/components/date-picker/date-picker.d.ts +3 -1
  6. package/components/date-picker/date-picker.js +6 -3
  7. package/components/date-picker-popover/date-picker-popover.d.ts +18 -0
  8. package/components/date-picker-popover/date-picker-popover.js +35 -0
  9. package/components/date-picker-popover/index.d.ts +1 -0
  10. package/components/date-picker-popover/index.js +13 -0
  11. package/components/index.d.ts +1 -0
  12. package/components/index.js +1 -0
  13. package/components/slider/slider.d.ts +6 -5
  14. package/components/slider/slider.js +26 -8
  15. package/components/table/table-cell.d.ts +4 -2
  16. package/components/table/table-cell.js +2 -2
  17. package/css/draft-components.css +2 -2
  18. package/package.json +1 -1
  19. package/scss/components/_actions-group.scss +5 -3
  20. package/scss/components/_alert.scss +34 -32
  21. package/scss/components/_avatar.scss +20 -18
  22. package/scss/components/_box.scss +49 -47
  23. package/scss/components/_breadcrumbs.scss +6 -4
  24. package/scss/components/_button.scss +20 -18
  25. package/scss/components/_calendar.scss +21 -11
  26. package/scss/components/_checkbox.scss +4 -2
  27. package/scss/components/_date-picker.scss +4 -2
  28. package/scss/components/_date-preset-picker-popover.scss +11 -9
  29. package/scss/components/_datetime-input.scss +11 -9
  30. package/scss/components/_dialog.scss +9 -7
  31. package/scss/components/_form-field.scss +4 -2
  32. package/scss/components/_formatted-content.scss +23 -21
  33. package/scss/components/_inline-message.scss +3 -1
  34. package/scss/components/_input.scss +11 -9
  35. package/scss/components/_label.scss +5 -2
  36. package/scss/components/_loading-view.scss +20 -18
  37. package/scss/components/_non-ideal-state-view.scss +27 -25
  38. package/scss/components/_number-input.scss +4 -2
  39. package/scss/components/_radio-button.scss +4 -2
  40. package/scss/components/_radio-group.scss +17 -14
  41. package/scss/components/_scope-buttons.scss +4 -2
  42. package/scss/components/_secret.scss +4 -2
  43. package/scss/components/_segmented-control.scss +7 -5
  44. package/scss/components/_select.scss +9 -7
  45. package/scss/components/_selection-control.scss +11 -9
  46. package/scss/components/_slider.scss +88 -98
  47. package/scss/components/_switch.scss +5 -3
  48. package/scss/components/_table.scss +19 -16
  49. package/scss/components/_tabs.scss +13 -12
  50. package/scss/components/_tag.scss +37 -35
  51. package/scss/components/_text-input.scss +3 -1
  52. package/scss/components/_toast.scss +25 -23
  53. package/scss/components/_toaster.scss +8 -6
  54. package/scss/components/_tooltip.scss +6 -4
  55. package/scss/components/_vertical-navigation.scss +16 -14
  56. package/scss/draft-components-utils.scss +0 -1
  57. package/scss/draft-components.scss +0 -1
  58. package/scss/themes/_default-theme.scss +162 -156
  59. package/scss/utils/_borders.scss +14 -12
  60. package/scss/utils/_gap.scss +14 -12
  61. package/scss/utils/_margin.scss +14 -12
  62. package/scss/utils/_padding.scss +14 -12
  63. package/scss/.DS_Store +0 -0
@@ -1,9 +1,11 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-non-ideal-state {
2
4
  font-family: var(--dc-font-base);
3
- font-size: $font-size-base;
5
+ font-size: dc.$font-size-base;
4
6
  box-sizing: border-box;
5
- padding-right: $gap-4x;
6
- padding-left: $gap-4x;
7
+ padding-right: dc.$gap-4x;
8
+ padding-left: dc.$gap-4x;
7
9
  text-align: center;
8
10
  color: var(--dc-non-ideal-state-text-color);
9
11
  }
@@ -14,7 +16,7 @@
14
16
  }
15
17
 
16
18
  .dc-non-ideal-state__icon {
17
- margin-bottom: $gap-8x;
19
+ margin-bottom: dc.$gap-8x;
18
20
  color: var(--dc-non-ideal-state-icon-color);
19
21
  }
20
22
 
@@ -23,31 +25,31 @@
23
25
  }
24
26
 
25
27
  .dc-non-ideal-state__icon_red {
26
- color: $red-500;
28
+ color: dc.$red-500;
27
29
  }
28
30
 
29
31
  .dc-non-ideal-state__icon_orange {
30
- color: $orange-500;
32
+ color: dc.$orange-500;
31
33
  }
32
34
 
33
35
  .dc-non-ideal-state__icon_blue {
34
- color: $blue-500;
36
+ color: dc.$blue-500;
35
37
  }
36
38
 
37
39
  .dc-non-ideal-state__icon_green {
38
- color: $green-500;
40
+ color: dc.$green-500;
39
41
  }
40
42
 
41
43
  .dc-non-ideal-state__description {
42
- margin-top: $gap-2x;
44
+ margin-top: dc.$gap-2x;
43
45
  }
44
46
 
45
47
  .dc-non-ideal-state__actions {
46
- margin-top: $gap-4x;
48
+ margin-top: dc.$gap-4x;
47
49
  }
48
50
 
49
51
  .dc-non-ideal-state__content {
50
- margin-top: $gap-4x;
52
+ margin-top: dc.$gap-4x;
51
53
  }
52
54
 
53
55
  .dc-non-ideal-state_spacing_none {
@@ -56,36 +58,36 @@
56
58
  }
57
59
 
58
60
  .dc-non-ideal-state_spacing_2xs {
59
- padding-top: $gap-1x;
60
- padding-bottom: $gap-1x;
61
+ padding-top: dc.$gap-1x;
62
+ padding-bottom: dc.$gap-1x;
61
63
  }
62
64
 
63
65
  .dc-non-ideal-state_spacing_xs {
64
- padding-top: $gap-2x;
65
- padding-bottom: $gap-2x;
66
+ padding-top: dc.$gap-2x;
67
+ padding-bottom: dc.$gap-2x;
66
68
  }
67
69
 
68
70
  .dc-non-ideal-state_spacing_sm {
69
- padding-top: $gap-4x;
70
- padding-bottom: $gap-4x;
71
+ padding-top: dc.$gap-4x;
72
+ padding-bottom: dc.$gap-4x;
71
73
  }
72
74
 
73
75
  .dc-non-ideal-state_spacing_md {
74
- padding-top: $gap-8x;
75
- padding-bottom: $gap-8x;
76
+ padding-top: dc.$gap-8x;
77
+ padding-bottom: dc.$gap-8x;
76
78
  }
77
79
 
78
80
  .dc-non-ideal-state_spacing_lg {
79
- padding-top: $gap-16x;
80
- padding-bottom: $gap-16x;
81
+ padding-top: dc.$gap-16x;
82
+ padding-bottom: dc.$gap-16x;
81
83
  }
82
84
 
83
85
  .dc-non-ideal-state_spacing_xl {
84
- padding-top: $gap-20x;
85
- padding-bottom: $gap-20x;
86
+ padding-top: dc.$gap-20x;
87
+ padding-bottom: dc.$gap-20x;
86
88
  }
87
89
 
88
90
  .dc-non-ideal-state_spacing_2xl {
89
- padding-top: $gap-24x;
90
- padding-bottom: $gap-24x;
91
+ padding-top: dc.$gap-24x;
92
+ padding-bottom: dc.$gap-24x;
91
93
  }
@@ -1,3 +1,5 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-number-input {
2
4
  display: inline-flex;
3
5
  align-items: center;
@@ -8,10 +10,10 @@
8
10
  }
9
11
 
10
12
  .dc-number-input > * + * {
11
- margin-left: $gap-1x;
13
+ margin-left: dc.$gap-1x;
12
14
  }
13
15
 
14
16
  .dc-number-input__text-input {
15
17
  flex: auto;
16
- width: px-to-rem(160px);
18
+ width: dc.px-to-rem(160px);
17
19
  }
@@ -1,3 +1,5 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-radio-btn {
2
4
  --dc-selection-control-size: var(--dc-radio-btn-size);
3
5
  }
@@ -7,7 +9,7 @@
7
9
  }
8
10
 
9
11
  .dc-radio-btn__input {
10
- @include visually-hidden;
12
+ @include dc.visually-hidden;
11
13
  }
12
14
 
13
15
  .dc-radio-btn__radio {
@@ -42,7 +44,7 @@
42
44
  transform: translate(-50%, -50%);
43
45
  border-radius: 50%;
44
46
  background: currentColor;
45
- box-shadow: $shadow-xs;
47
+ box-shadow: dc.$shadow-xs;
46
48
  }
47
49
 
48
50
  .dc-radio-btn__input:focus + .dc-radio-btn__radio {
@@ -1,3 +1,5 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-radio-group {
2
4
  font-family: var(--dc-font-base);
3
5
  margin-top: 0;
@@ -7,27 +9,27 @@
7
9
  }
8
10
 
9
11
  .dc-radio-group > * + * {
10
- margin-top: $gap-2x;
12
+ margin-top: dc.$gap-2x;
11
13
  }
12
14
 
13
15
  .dc-radio-group-input {
14
- @include visually-hidden;
16
+ @include dc.visually-hidden;
15
17
  }
16
18
 
17
19
  .dc-radio-group-item {
18
20
  display: flex;
19
21
  align-items: center;
20
22
  box-sizing: border-box;
21
- padding: $gap-2x $gap-4x;
23
+ padding: dc.$gap-2x dc.$gap-4x;
22
24
  cursor: default;
23
25
  border: 2px solid var(--dc-radio-group-border-color);
24
- border-radius: $border-radius-md;
26
+ border-radius: dc.$border-radius-md;
25
27
  }
26
28
 
27
29
  .dc-radio-group-item__check {
28
30
  display: inline-block;
29
- width: px-to-rem(18px);
30
- height: px-to-rem(18px);
31
+ width: dc.px-to-rem(18px);
32
+ height: dc.px-to-rem(18px);
31
33
  color: var(--dc-radio-group-selection-color);
32
34
  border-radius: 50%;
33
35
  box-shadow: inset 0 0 0 1px var(--dc-radio-group-border-color);
@@ -38,23 +40,23 @@
38
40
  }
39
41
 
40
42
  .dc-radio-group-item > * + * {
41
- margin-left: $gap-4x;
43
+ margin-left: dc.$gap-4x;
42
44
  }
43
45
 
44
46
  .dc-radio-group-item__body {
45
- font-size: $font-size-sm;
47
+ font-size: dc.$font-size-sm;
46
48
  flex: auto;
47
49
  }
48
50
 
49
51
  .dc-radio-group-item__label {
50
- font-weight: $font-weight-medium;
52
+ font-weight: dc.$font-weight-medium;
51
53
  margin: 0;
52
54
  padding: 0;
53
55
  color: var(--dc-primary-text-color);
54
56
  }
55
57
 
56
58
  .dc-radio-group-item__description {
57
- margin-top: $gap-1x;
59
+ margin-top: dc.$gap-1x;
58
60
  color: var(--dc-secondary-text-color);
59
61
  }
60
62
 
@@ -62,6 +64,7 @@
62
64
  border-color: var(--dc-radio-group-selection-color);
63
65
  }
64
66
 
67
+ //noinspection CssMissingComma
65
68
  .dc-radio-group-input:checked
66
69
  ~ .dc-radio-group-item
67
70
  .dc-radio-group-item__check-icon {
@@ -78,16 +81,16 @@
78
81
  }
79
82
 
80
83
  .dc-radio-group_type_simple-list > * + * {
81
- margin-top: $gap-1x;
84
+ margin-top: dc.$gap-1x;
82
85
  }
83
86
 
84
87
  .dc-radio-group_type_simple-list .dc-radio-group-item {
85
88
  display: inline-flex;
86
- padding: $gap-1x;
89
+ padding: dc.$gap-1x;
87
90
  border: none;
88
- border-radius: $border-radius-sm;
91
+ border-radius: dc.$border-radius-sm;
89
92
  }
90
93
 
91
94
  .dc-radio-group_type_simple-list .dc-radio-group-item__label {
92
- font-weight: $font-weight-normal;
95
+ font-weight: dc.$font-weight-normal;
93
96
  }
@@ -1,4 +1,6 @@
1
- $dc-scope-buttons-space: $gap-1x;
1
+ @use '../abstracts' as dc;
2
+
3
+ $dc-scope-buttons-space: dc.$gap-1x;
2
4
 
3
5
  .dc-scope-buttons {
4
6
  display: inline-flex;
@@ -29,7 +31,7 @@ $dc-scope-buttons-space: $gap-1x;
29
31
  }
30
32
 
31
33
  .dc-scope-buttons_bottom-pad {
32
- padding-bottom: $gap-1x;
34
+ padding-bottom: dc.$gap-1x;
33
35
  }
34
36
 
35
37
  .dc-scope-buttons > .dc-scope-button + .dc-scope-button {
@@ -1,3 +1,5 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-secret {
2
4
  font-family: var(--dc-font-code);
3
5
  position: relative;
@@ -7,7 +9,7 @@
7
9
 
8
10
  .dc-secret__content {
9
11
  text-align: left;
10
- opacity: $opacity-75;
12
+ opacity: dc.$opacity-75;
11
13
  }
12
14
 
13
15
  .dc-secret__btn {
@@ -25,6 +27,6 @@
25
27
 
26
28
  .dc-secret_shown .dc-secret__btn {
27
29
  position: initial;
28
- margin-top: $gap-2x;
30
+ margin-top: dc.$gap-2x;
29
31
  transform: none;
30
32
  }
@@ -1,20 +1,22 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-segmented-control {
2
4
  position: relative;
3
5
  display: inline-flex;
4
6
  margin-top: 0;
5
7
  margin-bottom: 0;
6
- padding: px-to-rem(1px) px-to-rem(2px);
8
+ padding: dc.px-to-rem(1px) dc.px-to-rem(2px);
7
9
  list-style: none;
8
- border-radius: $border-radius-lg;
9
- background: rgba($gray-900, $opacity-5);
10
+ border-radius: dc.$border-radius-lg;
11
+ background: rgba(dc.$gray-900, dc.$opacity-5);
10
12
  }
11
13
 
12
14
  .dc-segmented-control_size_sm {
13
- border-radius: $border-radius-md;
15
+ border-radius: dc.$border-radius-md;
14
16
  }
15
17
 
16
18
  .dc-segmented-control_size_lg {
17
- border-radius: $border-radius-xl;
19
+ border-radius: dc.$border-radius-xl;
18
20
  }
19
21
 
20
22
  .dc-segmented-control__radio-btn {
@@ -1,34 +1,36 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  @function select-arrow-icon($color) {
2
- @return inline-svg(
4
+ @return dc.inline-svg(
3
5
  '<svg width="12" height="16" viewBox="0 0 12 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M3 11L6 14L9 11" stroke="#{$color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M9 5L6 2L3 5" stroke="#{$color}" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>'
4
6
  );
5
7
  }
6
8
 
7
9
  .dc-select {
8
- line-height: $leading-default;
10
+ line-height: dc.$leading-default;
9
11
  width: auto;
10
12
  padding-right: calc(1.25em + var(--dc-input-gap));
11
13
  padding-left: var(--dc-input-gap);
12
14
  cursor: pointer;
13
15
  color: initial;
14
16
  border: none;
15
- background-image: select-arrow-icon($gray-600);
17
+ background-image: select-arrow-icon(dc.$gray-600);
16
18
  background-repeat: no-repeat;
17
19
  background-position: calc(100% - var(--dc-input-gap)) center;
18
20
  background-size: 0.85em auto;
19
- box-shadow: 0 0 0 1px var(--dc-input-border-color), $shadow-xs;
21
+ box-shadow: 0 0 0 1px var(--dc-input-border-color), dc.$shadow-xs;
20
22
  }
21
23
 
22
24
  .dc-select:disabled {
23
- background-image: select-arrow-icon($gray-400);
25
+ background-image: select-arrow-icon(dc.$gray-400);
24
26
  }
25
27
 
26
28
  .dc-select[multiple] {
27
29
  height: initial;
28
- padding: $gap-2x 0;
30
+ padding: dc.$gap-2x 0;
29
31
  background: var(--dc-input-bg);
30
32
  }
31
33
 
32
34
  .dc-select option {
33
- padding: $gap-1x $gap-3x;
35
+ padding: dc.$gap-1x dc.$gap-3x;
34
36
  }
@@ -1,6 +1,8 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-selection-control {
2
- --dc-selection-control-size: #{px-to-rem(18px)};
3
- --dc-selection-control-gap: #{$gap-3x};
4
+ --dc-selection-control-size: #{dc.px-to-rem(18px)};
5
+ --dc-selection-control-gap: #{dc.$gap-3x};
4
6
  }
5
7
 
6
8
  .dc-selection-control {
@@ -18,20 +20,20 @@
18
20
  }
19
21
 
20
22
  .dc-selection-control__label {
21
- font-size: $font-size-sm;
22
- font-weight: $font-weight-medium;
23
- line-height: $leading-default;
23
+ font-size: dc.$font-size-sm;
24
+ font-weight: dc.$font-weight-medium;
25
+ line-height: dc.$leading-tight;
24
26
  display: inline-block;
25
27
  margin-left: var(--dc-selection-control-gap);
26
28
  user-select: none;
27
29
  color: var(--dc-primary-text-color);
28
- @include text-truncate;
30
+ @include dc.text-truncate;
29
31
  }
30
32
 
31
33
  .dc-selection-control__description {
32
- font-size: $font-size-sm;
33
- line-height: $leading-tight;
34
- margin-top: $gap-1x;
34
+ font-size: dc.$font-size-sm;
35
+ line-height: dc.$leading-tight;
36
+ margin-top: dc.$gap-1x;
35
37
  margin-left: calc(
36
38
  var(--dc-selection-control-size) + var(--dc-selection-control-gap)
37
39
  );
@@ -1,33 +1,37 @@
1
- @use 'sass:math';
1
+ @use 'sass:math' as math;
2
+ @use '../abstracts' as dc;
2
3
 
3
- $track-height: px-to-rem(2px);
4
- $thumb-height: px-to-rem(20px);
5
- $thumb-width: px-to-rem(10px);
6
- $thumb-shadow: 0 0 0 1px rgba($black, $opacity-10), $shadow-sm, $shadow-md;
7
-
8
- @mixin round-thumb-styles {
4
+ @mixin thumb {
9
5
  box-sizing: border-box;
10
- width: $thumb-height;
11
- height: $thumb-height;
6
+ width: var(--dc-slider-thumb-width);
7
+ height: var(--dc-slider-thumb-height);
8
+ cursor: pointer;
9
+ border: none;
12
10
  border-radius: 50%;
13
- border-color: transparent;
14
11
  background: var(--dc-slider-thumb-bg);
15
- box-shadow: $thumb-shadow;
12
+ box-shadow: (
13
+ 0 0 0 1px rgba(black, dc.$opacity-10),
14
+ 0 2px 3px rgba(black, dc.$opacity-15)
15
+ );
16
16
  appearance: none;
17
17
  }
18
18
 
19
- @mixin rect-thumb-styles {
20
- width: $thumb-width;
21
- border-radius: $border-radius-xs;
19
+ @mixin thumb-rect {
20
+ border-radius: calc(var(--dc-slider-thumb-width) / 2);
22
21
  }
23
22
 
24
- @mixin thumb-focus-styles {
25
- box-shadow: $thumb-shadow, 0 0 0 4px var(--dc-focus-ring-color);
23
+ @mixin thumb-focus {
24
+ box-shadow: (
25
+ 0 0 0 1px rgba(black, dc.$opacity-10),
26
+ 0 2px 3px rgba(black, dc.$opacity-15),
27
+ 0 0 0 2px var(--dc-focus-border-color)
28
+ );
26
29
  }
27
30
 
28
31
  .dc-slider {
29
- position: relative;
30
- box-sizing: border-box;
32
+ font-family: var(--dc-font-base);
33
+ display: flex;
34
+ flex-direction: column;
31
35
  width: 100%;
32
36
  }
33
37
 
@@ -35,106 +39,92 @@ $thumb-shadow: 0 0 0 1px rgba($black, $opacity-10), $shadow-sm, $shadow-md;
35
39
  opacity: var(--dc-disabled-state-opacity);
36
40
  }
37
41
 
38
- .dc-slider__tick_marks {
39
- position: absolute;
40
- top: 0;
41
- left: 0;
42
- display: flex;
43
- align-items: center;
44
- justify-content: space-between;
45
- width: 100%;
46
- height: 100%;
42
+ .dc-slider_thumb_rect {
43
+ --dc-slider-thumb-width: 10px;
47
44
  }
48
45
 
49
- .dc-slider__tick_marks > * {
50
- flex: 0 0 3px;
51
- height: 6px;
46
+ .dc-slider__input {
47
+ font: inherit;
48
+ width: inherit;
49
+ height: var(--dc-slider-track-height);
50
+ margin: (
51
+ calc((var(--dc-slider-thumb-height) - var(--dc-slider-track-height)) / 2) 0
52
+ );
53
+ padding: 0;
54
+ border-radius: 2px;
52
55
  background: var(--dc-slider-track-bg);
56
+ box-shadow: inset 0 0 0 1px rgba(black, 0.03);
57
+ appearance: none;
53
58
  }
54
59
 
55
- .dc-slider::before,
56
- .dc-slider__fill-track {
57
- position: absolute;
58
- top: math.div($thumb-height - $track-height, 2);
59
- left: 0;
60
- height: $track-height;
60
+ .dc-slider__input:focus {
61
+ outline: none;
61
62
  }
62
63
 
63
- .dc-slider::before {
64
- width: 100%;
65
- content: '';
66
- background: var(--dc-slider-track-bg);
64
+ .dc-slider__input::-webkit-slider-thumb {
65
+ @include thumb;
67
66
  }
68
67
 
69
- .dc-slider__fill-track {
70
- width: 0;
71
- background: var(--dc-slider-fill-track-bg);
68
+ .dc-slider__input::-moz-range-thumb {
69
+ @include thumb;
72
70
  }
73
71
 
74
- .dc-slider__input {
75
- position: relative;
76
- top: 0;
77
- left: 0;
78
- display: block;
79
- box-sizing: border-box;
80
- width: 100%;
81
- height: $thumb-height;
82
- cursor: pointer;
83
- opacity: 1;
84
- background: transparent;
85
- appearance: none;
86
-
87
- &::-ms-track {
88
- width: 100%;
89
- cursor: pointer;
90
- color: transparent;
91
- border-color: transparent;
92
- background: transparent;
93
- }
94
-
95
- &::-webkit-slider-thumb {
96
- @include round-thumb-styles;
97
- }
72
+ .dc-slider__input::-ms-thumb {
73
+ @include thumb;
74
+ }
98
75
 
99
- &::-moz-range-thumb {
100
- @include round-thumb-styles;
101
- }
76
+ .dc-slider__input:focus::-webkit-slider-thumb {
77
+ @include thumb-focus;
78
+ }
102
79
 
103
- &::-ms-thumb {
104
- @include round-thumb-styles;
105
- }
80
+ .dc-slider__input:focus::-moz-range-thumb {
81
+ @include thumb-focus;
82
+ }
106
83
 
107
- &:focus {
108
- outline: none;
109
- }
84
+ .dc-slider__input:focus::-ms-thumb {
85
+ @include thumb-focus;
86
+ }
110
87
 
111
- &:focus::-webkit-slider-thumb {
112
- @include thumb-focus-styles;
113
- }
88
+ .dc-slider_thumb_rect .dc-slider__input::-webkit-slider-thumb {
89
+ @include thumb-rect;
90
+ }
114
91
 
115
- &:focus::-moz-range-thumb {
116
- @include thumb-focus-styles;
117
- }
92
+ .dc-slider_thumb_rect .dc-slider__input::-moz-range-thumb {
93
+ @include thumb-rect;
94
+ }
118
95
 
119
- &:focus::-ms-thumb {
120
- @include thumb-focus-styles;
121
- }
96
+ .dc-slider_thumb_rect .dc-slider__input::-ms-thumb {
97
+ @include thumb-rect;
98
+ }
122
99
 
123
- &:disabled {
124
- cursor: default;
125
- }
100
+ .dc-slider__tick-marks {
101
+ display: flex;
102
+ align-items: flex-start;
103
+ justify-content: space-between;
104
+ margin-top: dc.$gap-1x;
126
105
  }
127
106
 
128
- .dc-slider__input_thumb_style_rect {
129
- &::-webkit-slider-thumb {
130
- @include rect-thumb-styles;
131
- }
107
+ .dc-slider-tick-mark {
108
+ font-size: dc.$font-size-xs;
109
+ display: inline-flex;
110
+ align-items: center;
111
+ flex-direction: column;
112
+ justify-content: flex-start;
113
+ width: var(--dc-slider-thumb-width);
114
+ text-align: center;
115
+ white-space: nowrap;
116
+ color: var(--dc-slider-tick-mark-color);
117
+ }
132
118
 
133
- &::-moz-range-thumb {
134
- @include rect-thumb-styles;
135
- }
119
+ .dc-slider-tick-mark::before {
120
+ display: inline-block;
121
+ flex: none;
122
+ width: 2px;
123
+ height: 8px;
124
+ content: '';
125
+ background: var(--dc-slider-track-bg);
126
+ }
136
127
 
137
- &::-ms-thumb {
138
- @include rect-thumb-styles;
139
- }
128
+ .dc-slider-tick-mark__label {
129
+ padding-top: dc.$gap-1x;
140
130
  }
@@ -1,3 +1,5 @@
1
+ @use '../abstracts' as dc;
2
+
1
3
  .dc-switch {
2
4
  --dc-selection-control-size: var(--dc-switch-width);
3
5
  }
@@ -7,7 +9,7 @@
7
9
  }
8
10
 
9
11
  .dc-switch__input {
10
- @include visually-hidden;
12
+ @include dc.visually-hidden;
11
13
  }
12
14
 
13
15
  .dc-switch__check {
@@ -17,7 +19,7 @@
17
19
  width: var(--dc-switch-width);
18
20
  height: var(--dc-switch-height);
19
21
  cursor: pointer;
20
- transition: $transition-quick;
22
+ transition: dc.$transition-quick;
21
23
  transition-property: border-color, background-color;
22
24
  border-radius: calc(var(--dc-switch-height) / 2);
23
25
  background: var(--dc-switch-bg);
@@ -38,7 +40,7 @@
38
40
  transition-property: transform, border-color;
39
41
  border-radius: 50%;
40
42
  background: var(--dc-input-accent-secondary-color);
41
- box-shadow: $shadow-sm, $shadow-md;
43
+ box-shadow: dc.$shadow-sm, dc.$shadow-md;
42
44
  }
43
45
 
44
46
  .dc-switch__input:checked + .dc-switch__check {