@odx/ui 1.0.0-rc.1 → 1.0.0-rc.3

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 (64) hide show
  1. package/323d385340fb9fee6450.svg +6 -0
  2. package/LICENSE +1 -0
  3. package/README.md +32 -0
  4. package/core-icons.css +37 -9
  5. package/core-icons.woff2 +0 -0
  6. package/core-theme.css +1 -1
  7. package/package.json +7 -8
  8. package/scss/{modules → abstract}/_breakpoints.scss +11 -11
  9. package/scss/{modules/_vertical-rythm.scss → abstract/_dimensions.scss} +28 -26
  10. package/scss/abstract/_index.scss +5 -0
  11. package/scss/abstract/_motion.scss +10 -0
  12. package/scss/abstract/_typography.scss +25 -0
  13. package/scss/abstract/_utils.scss +114 -0
  14. package/scss/components/accordion-item.component.scss +59 -0
  15. package/scss/components/accordion.component.scss +3 -0
  16. package/scss/components/{action-group/action-group.component.scss → action-group.component.scss} +10 -6
  17. package/scss/components/{area-header/area-header.component.scss → area-header.component.scss} +28 -27
  18. package/scss/components/{avatar/avatar.component.scss → avatar.component.scss} +13 -13
  19. package/scss/components/{badge/badge.component.scss → badge.component.scss} +10 -10
  20. package/scss/components/button-group.component.scss +98 -0
  21. package/scss/components/button.component.scss +123 -0
  22. package/scss/components/checkbox.component.scss +116 -0
  23. package/scss/components/content-box.component.scss +50 -0
  24. package/scss/components/form-field.component.scss +204 -0
  25. package/scss/components/header.component.scss +40 -0
  26. package/scss/components/icon.component.scss +35 -0
  27. package/scss/components/{link/link.component.scss → link.component.scss} +6 -4
  28. package/scss/components/{logo/logo.component.scss → logo.component.scss} +5 -4
  29. package/scss/components/main-menu-button.component.scss +7 -0
  30. package/scss/components/{main-menu/components/main-menu-item.component.scss → main-menu-item.component.scss} +13 -12
  31. package/scss/components/{main-menu/main-menu.component.scss → main-menu.component.scss} +35 -28
  32. package/scss/components/modal.component.scss +85 -0
  33. package/scss/components/radio-button.component.scss +120 -0
  34. package/scss/components/radio-group.component.scss +14 -0
  35. package/scss/components/switch.component.scss +163 -0
  36. package/scss/components/toggle-button-group.component.scss +25 -0
  37. package/scss/components/toggle-button.component.scss +55 -0
  38. package/scss/core.scss +34 -30
  39. package/scss/layout/_base.scss +29 -0
  40. package/scss/layout/_helpers.scss +95 -0
  41. package/scss/{modules → layout}/_layout.scss +96 -46
  42. package/scss/layout/_typography.scss +117 -0
  43. package/scss/{base/_reset.scss → reset.scss} +25 -5
  44. package/scss/variables/_color-palettes.scss +57 -54
  45. package/scss/variables/_colors.scss +12 -15
  46. package/scss/variables/_controls.scss +48 -0
  47. package/scss/variables/_index.scss +6 -0
  48. package/scss/variables/_typography.scss +18 -0
  49. package/scss/variables/_vertical-rythm.scss +3 -0
  50. package/scss/variables/_visuals.scss +12 -7
  51. package/scss/_helpers.scss +0 -15
  52. package/scss/base/_mixins.scss +0 -3
  53. package/scss/base/_utils.scss +0 -19
  54. package/scss/base/mixins/_container.scss +0 -31
  55. package/scss/base/mixins/_control.scss +0 -50
  56. package/scss/base/mixins/_transition.scss +0 -10
  57. package/scss/components/button/button.component.scss +0 -94
  58. package/scss/components/checkbox/checkbox.component.scss +0 -130
  59. package/scss/components/content-box/content-box.component.scss +0 -50
  60. package/scss/components/header/header.component.scss +0 -39
  61. package/scss/components/icon/icon.component.scss +0 -38
  62. package/scss/components/main-menu/components/main-menu-button.component.scss +0 -7
  63. package/scss/components/radio-group/_radio-group.component.scss +0 -145
  64. package/scss/modules/_typography.scss +0 -161
@@ -1,11 +1,11 @@
1
1
  @use 'sass:math';
2
- @use '../../modules/breakpoints' as br;
3
- @use '../../modules/vertical-rythm' as vr;
4
- @use '../../modules/typography' as t;
5
- @use '../../base/mixins' as mx;
6
- @use '../button/button.component';
7
- @use 'components/main-menu-button.component';
8
- @use 'components/main-menu-item.component';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/typography';
6
+ @use 'button.component';
7
+ @use 'main-menu-button.component';
8
+ @use 'main-menu-item.component';
9
9
 
10
10
  :root {
11
11
  --odx-main-menu-max-width: 100vw;
@@ -13,7 +13,7 @@
13
13
  --odx-main-menu-text-color: var(--odx-c-primary-text);
14
14
  --odx-main-menu-highlight-color: var(--odx-c-highlight);
15
15
 
16
- @include br.up(phone) {
16
+ @include breakpoints.up(phone) {
17
17
  --odx-main-menu-max-width: min(100vw, 384px);
18
18
  }
19
19
  }
@@ -37,7 +37,8 @@
37
37
  }
38
38
 
39
39
  &__overlay {
40
- background-color: var(--odx-c-overlay);
40
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
41
+ background-color: var(--odx-c-backdrop);
41
42
  height: 100%;
42
43
  left: 0;
43
44
  position: absolute;
@@ -47,8 +48,8 @@
47
48
  }
48
49
 
49
50
  &__actions {
50
- @include vr.height(2);
51
- @include vr.margin-x(0.5);
51
+ @include dimensions.height(2);
52
+ @include dimensions.margin-x(0.5);
52
53
  }
53
54
 
54
55
  &__header,
@@ -64,12 +65,15 @@
64
65
  }
65
66
 
66
67
  &__content {
67
- @include vr.padding-x(0.5);
68
+ --odx-v-scrollbar-thumb-color: var(--blue-400);
69
+ --odx-v-scrollbar-thumb-color-hover: var(--blue-500);
70
+
71
+ @include dimensions.padding-x(0.5);
68
72
 
69
73
  display: flex;
70
74
  flex-direction: column;
71
- max-width: calc(var(--odx-main-menu-max-width) + vr.get-size(2));
72
- min-height: vr.get-size(5);
75
+ max-width: calc(var(--odx-main-menu-max-width) + dimensions.get-size(2));
76
+ min-height: dimensions.get-size(5);
73
77
  overflow: auto;
74
78
 
75
79
  > * {
@@ -79,39 +83,42 @@
79
83
 
80
84
  &__info {
81
85
  @extend .odx-text;
82
- @include vr.padding-x(1);
83
- @include vr.padding-y(0.5);
86
+ @include dimensions.padding-x(1);
87
+ @include dimensions.padding-y(0.5);
84
88
 
85
- column-gap: vr.get-size(1);
89
+ column-gap: dimensions.get-size(1);
86
90
  display: flex;
87
91
  flex-wrap: wrap;
88
92
 
89
- @include br.up(tablet) {
90
- @include vr.padding-y(1);
93
+ @include breakpoints.up(tablet) {
94
+ @include dimensions.padding-y(1);
91
95
  }
92
96
  }
93
97
 
94
98
  &__footer {
95
- @include mx.center-content();
96
- @include vr.height(1);
97
- @include vr.padding-x(1);
98
- @include vr.padding(math.div(16, 24), top);
99
- @include vr.padding(math.div(32, 24), bottom);
99
+ @include dimensions.height(1);
100
+ @include dimensions.padding-x(1);
101
+ @include dimensions.padding(math.div(16, 24), top);
102
+ @include dimensions.padding(math.div(32, 24), bottom);
103
+ @include utils.center-content();
100
104
 
101
105
  display: grid;
102
- gap: vr.get-size(0.5);
106
+ gap: dimensions.get-size(0.5);
103
107
  grid-template-columns: 1fr auto;
104
108
  user-select: none;
105
109
 
106
110
  > .odx-text {
107
- @include vr.line-height(math.div(12, 24));
111
+ @include dimensions.line-height(math.div(12, 24));
108
112
 
109
113
  opacity: 0.3;
110
114
  word-wrap: break-word;
111
115
  }
112
116
  }
113
117
 
114
- .odx-link:visited {
115
- color: var(--odx-c-link);
118
+ .odx-link {
119
+ &:visited,
120
+ &:hover {
121
+ color: var(--odx-c-link);
122
+ }
116
123
  }
117
124
  }
@@ -0,0 +1,85 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/breakpoints';
4
+
5
+ .odx-modal {
6
+ --odx-modal-margin-y: #{dimensions.get-size(2)};
7
+ --odx-modal-margin-x: #{dimensions.get-size(math.div(8, 24))};
8
+ --odx-modal-max-width: #{dimensions.get-size(20)};
9
+
10
+ $root: &;
11
+ $modal-padding: math.div(12, 24);
12
+
13
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
14
+ background-color: var(--odx-c-backdrop-dark);
15
+ display: block;
16
+ height: 100%;
17
+ left: 0;
18
+ overflow: auto;
19
+ overscroll-behavior: contain;
20
+ position: fixed;
21
+ top: 0;
22
+ width: 100%;
23
+ z-index: 1000;
24
+
25
+ @include breakpoints.up(phone) {
26
+ --odx-modal-margin-y: #{dimensions.get-size(3)};
27
+ --odx-modal-margin-x: #{dimensions.get-size(1)};
28
+ }
29
+
30
+ &__container {
31
+ @include dimensions.padding-x(math.div(16, 24));
32
+
33
+ background-color: var(--odx-c-background-content);
34
+ border-radius: var(--odx-v-border-radius);
35
+ box-shadow: var(--odx-v-backdrop-box-shadow-layer-2);
36
+ display: flex;
37
+ flex-direction: column;
38
+ margin: var(--odx-modal-margin-y) auto 0;
39
+ max-height: calc(100vh - 2 * var(--odx-modal-margin-y));
40
+ min-height: dimensions.get-size(7);
41
+ width: min(var(--odx-modal-max-width), calc(100vw - 2 * var(--odx-modal-margin-x)));
42
+
43
+ #{$root}--medium & {
44
+ --odx-modal-max-width: #{dimensions.get-size(30)};
45
+ }
46
+
47
+ #{$root}--large & {
48
+ --odx-modal-max-width: #{dimensions.get-size(50)};
49
+ }
50
+ }
51
+
52
+ &__header,
53
+ &__footer {
54
+ display: flex;
55
+ flex: 0 0 auto;
56
+ }
57
+
58
+ &__header {
59
+ @include dimensions.min-height(1);
60
+ @include dimensions.padding(math.div(12, 24), top);
61
+
62
+ > .odx-area-header {
63
+ @include dimensions.margin(-1, left);
64
+ @include dimensions.margin(-0.5, right);
65
+
66
+ flex: 1 1 auto;
67
+ max-width: 100%;
68
+ }
69
+ }
70
+
71
+ &__content {
72
+ @include dimensions.padding-y($modal-padding);
73
+
74
+ display: block;
75
+ overflow: auto;
76
+ }
77
+
78
+ &__footer {
79
+ --odx-grid-gutter: #{dimensions.get-size(math.div(16, 24))};
80
+ @include dimensions.height(2.5);
81
+ @include dimensions.padding($modal-padding, bottom);
82
+
83
+ justify-content: flex-end;
84
+ }
85
+ }
@@ -0,0 +1,120 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/motion';
6
+
7
+ .odx-radio-button {
8
+ $root: &;
9
+
10
+ color: var(--odx-control-color);
11
+ display: block;
12
+
13
+ &.is-disabled {
14
+ color: var(--odx-input-control-color-disabled);
15
+ }
16
+
17
+ &.is-readonly {
18
+ @include utils.non-interactive();
19
+ }
20
+
21
+ &__label {
22
+ @include dimensions.line-height(1);
23
+ @include motion.transition(background-color color outline);
24
+ @include typography.font-size(0);
25
+ @include utils.interactive($focus-within: true);
26
+
27
+ border-radius: dimensions.get-size(1);
28
+ color: inherit;
29
+ display: inline-flex;
30
+ min-height: dimensions.get-size(1);
31
+ padding: 0 2px;
32
+ user-select: auto;
33
+ vertical-align: top;
34
+
35
+ #{$root}--with-label & {
36
+ border-bottom-right-radius: calc(2 * var(--odx-v-border-radius-controls));
37
+ border-top-right-radius: calc(2 * var(--odx-v-border-radius-controls));
38
+ }
39
+
40
+ #{$root}.is-disabled & {
41
+ cursor: default;
42
+ }
43
+ }
44
+
45
+ &__input {
46
+ @include utils.visually-hidden();
47
+ }
48
+
49
+ &__indicator {
50
+ @include dimensions.container(1, math.div(20, 24));
51
+ @include motion.transition(background-color color outline-color);
52
+ @include utils.center-content();
53
+ @include utils.with-outline();
54
+
55
+ background-color: var(--odx-control-background-color);
56
+ border-radius: 50%;
57
+ color: var(--odx-control-color-selected);
58
+ flex: 0 0 auto;
59
+ outline-color: var(--odx-control-outline-color);
60
+ padding: 1px;
61
+
62
+ &::before {
63
+ @include dimensions.container(math.div(4, 24));
64
+ @include motion.transition(transform);
65
+
66
+ background-color: currentcolor;
67
+ border-radius: 50%;
68
+ content: '';
69
+ transform: scale(0);
70
+ }
71
+
72
+ #{$root}:hover & {
73
+ background-color: var(--odx-control-background-color-hover);
74
+ outline-color: var(--odx-control-outline-color-hover);
75
+ }
76
+
77
+ #{$root}.is-active &,
78
+ #{$root}__input:checked ~ & {
79
+ background-color: var(--odx-control-background-color-selected);
80
+ outline-color: var(--odx-control-outline-color-selected);
81
+
82
+ &::before {
83
+ transform: scale(1);
84
+ }
85
+ }
86
+
87
+ #{$root}.has-error & {
88
+ background-color: var(--odx-control-background-color-error);
89
+ color: var(--odx-control-color-error);
90
+ outline-color: var(--odx-control-outline-color-error);
91
+ }
92
+
93
+ #{$root}.has-error:hover & {
94
+ outline-color: var(--odx-control-outline-color-error-hover);
95
+ }
96
+
97
+ #{$root}.is-disabled & {
98
+ background-color: var(--odx-control-background-color-disabled);
99
+ color: var(--odx-control-color-disabled);
100
+ outline-color: var(--odx-control-outline-color-disabled);
101
+ }
102
+
103
+ #{$root}.is-readonly & {
104
+ background-color: var(--odx-control-background-color-readonly);
105
+ color: var(--odx-control-color-readonly);
106
+ outline-color: var(--odx-control-outline-color-readonly);
107
+ }
108
+ }
109
+
110
+ &__content {
111
+ @include dimensions.margin(0.5, left);
112
+
113
+ padding-left: 2px;
114
+
115
+ &:empty {
116
+ margin: 0;
117
+ padding: 0;
118
+ }
119
+ }
120
+ }
@@ -0,0 +1,14 @@
1
+ @use '../abstract/dimensions';
2
+
3
+ .odx-radio-group {
4
+ @include dimensions.padding-y(0.5);
5
+
6
+ align-items: flex-start;
7
+ display: flex;
8
+ flex-direction: column;
9
+
10
+ &--horizontal {
11
+ column-gap: dimensions.get-size(0.5);
12
+ flex-flow: row wrap;
13
+ }
14
+ }
@@ -0,0 +1,163 @@
1
+ @use 'sass:math';
2
+ @use '../layout/helpers';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+ @use '../abstract/motion';
7
+
8
+ @mixin indicator-color($background, $stroke: null) {
9
+ background-color: $background;
10
+ @if ($stroke) {
11
+ border-color: $stroke;
12
+ } @else {
13
+ border-color: $background;
14
+ }
15
+ }
16
+
17
+ .odx-switch {
18
+ $root: &;
19
+
20
+ color: var(--odx-c-text);
21
+ display: inline-block;
22
+
23
+ &.is-disabled {
24
+ color: var(--odx-input-control-color-disabled);
25
+ }
26
+
27
+ &.is-readonly {
28
+ @include utils.non-interactive();
29
+ }
30
+
31
+ &__label {
32
+ @include dimensions.line-height(1);
33
+ @include motion.transition(background-color color outline-color);
34
+ @include typography.font-size(0);
35
+ @include utils.interactive($focus-within: true);
36
+
37
+ align-items: center;
38
+ border-radius: dimensions.get-size(0.5);
39
+ color: inherit;
40
+ display: inline-flex;
41
+ min-height: dimensions.get-size(1);
42
+ padding: 0 2px;
43
+ user-select: auto;
44
+ user-select: none;
45
+ vertical-align: top;
46
+
47
+ #{$root}.is-disabled & {
48
+ cursor: default;
49
+ }
50
+
51
+ &:has(#{$root}__content:not(:empty)) {
52
+ border-bottom-right-radius: var(--odx-v-border-radius-controls);
53
+ border-top-right-radius: var(--odx-v-border-radius-controls);
54
+ }
55
+ }
56
+
57
+ &__input {
58
+ @include utils.visually-hidden();
59
+
60
+ &:focus-visible {
61
+ ~ #{$root}__indicator:before {
62
+ box-shadow: 0 0 0 1px var(--odx-c-background-content);
63
+ outline-color: var(--odx-c-focus);
64
+ }
65
+ }
66
+ }
67
+
68
+ &__indicator {
69
+ $indicator-width: dimensions.get-size(1.5);
70
+ $indicator-height: dimensions.get-size(math.div(1, 6));
71
+ $track-size: dimensions.get-size(math.div(20, 24));
72
+ $border: 1px solid var(--odx-control-outline-color);
73
+
74
+ @include motion.transition(background-color color outline-color);
75
+
76
+ background-color: var(--odx-control-background-color);
77
+ border: $border;
78
+ border-radius: calc(#{$indicator-height} / 2);
79
+ color: var(--odx-control-color-selected);
80
+ height: $indicator-height;
81
+ position: relative;
82
+ width: $indicator-width;
83
+
84
+ &::before {
85
+ @include motion.transition(background-color transform border-color outline-color);
86
+
87
+ background-color: var(--odx-control-background-color);
88
+ border: $border;
89
+ border-radius: 50%;
90
+ box-sizing: border-box;
91
+ content: '';
92
+ display: block;
93
+ height: $track-size;
94
+ outline: var(--odx-v-outline);
95
+ outline-color: var(--odx-c-background-content);
96
+ position: absolute;
97
+ top: calc(#{$track-size} / -2 + 50%);
98
+ transform: translateX(-1px);
99
+ width: $track-size;
100
+ }
101
+
102
+ #{$root}:hover &::before {
103
+ background-color: var(--odx-control-background-color-hover);
104
+ }
105
+
106
+ #{$root}.is-active:hover &::before {
107
+ @include indicator-color(var(--odx-c-highlight-hover));
108
+ }
109
+
110
+ #{$root}.is-active &,
111
+ #{$root}__input:indeterminate ~ &,
112
+ #{$root}__input:checked ~ & {
113
+ @include indicator-color(var(--odx-control-background-color-selected));
114
+
115
+ &::before {
116
+ @include indicator-color(var(--odx-control-background-color-selected));
117
+
118
+ transform: translateX(calc((#{$indicator-width} - #{$track-size}) - 1px));
119
+ }
120
+ }
121
+
122
+ #{$root}.has-error & {
123
+ @include indicator-color(var(--odx-control-background-color-error));
124
+
125
+ &::before {
126
+ @include indicator-color(var(--odx-control-background-color-error));
127
+ }
128
+ }
129
+
130
+ #{$root}.has-error:hover & {
131
+ outline-color: var(--odx-control-outline-color-error-hover);
132
+ }
133
+
134
+ #{$root}.is-disabled & {
135
+ @include indicator-color(var(--odx-c-secondary-disabled));
136
+
137
+ &::before {
138
+ @include indicator-color(var(--odx-c-secondary-disabled));
139
+
140
+ outline-color: transparent;
141
+ }
142
+ }
143
+
144
+ #{$root}.is-disabled:not(.is-active) & {
145
+ @include indicator-color(var(--odx-control-background-color-disabled));
146
+
147
+ &::before {
148
+ @include indicator-color(var(--odx-control-background-color-disabled));
149
+ }
150
+ }
151
+ }
152
+
153
+ &__content {
154
+ @include dimensions.margin(0.5, left);
155
+
156
+ padding-left: 2px;
157
+
158
+ &:empty {
159
+ margin: 0;
160
+ padding: 0;
161
+ }
162
+ }
163
+ }
@@ -0,0 +1,25 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/utils';
5
+
6
+ .odx-toggle-button-group {
7
+ @include dimensions.height(2, 1.5);
8
+ @include dimensions.padding-x(math.div(6, 24));
9
+ @include motion.transition(background-color);
10
+ @include utils.center-content(true);
11
+ @include utils.with-outline();
12
+
13
+ border-radius: var(--odx-v-border-radius-controls);
14
+ column-gap: dimensions.get-size(math.div(6, 24));
15
+
16
+ &.has-error:not(.is-disabled, .is-readonly) {
17
+ background-color: var(--odx-c-error);
18
+ outline-color: var(--odx-c-error-outline);
19
+ }
20
+
21
+ &:not(.is-disabled, .is-readonly):hover,
22
+ &:focus-within:has(:focus-visible) {
23
+ background-color: var(--blue-700-5);
24
+ }
25
+ }
@@ -0,0 +1,55 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ .odx-toggle-button {
8
+ @include dimensions.height(1);
9
+ @include motion.transition(background-color color outline);
10
+ @include typography.font-size(0);
11
+ @include utils.interactive($focus-within: true);
12
+
13
+ border-radius: 1px;
14
+ color: var(--odx-control-color);
15
+ display: block;
16
+ display: inline-flex;
17
+ overflow: hidden;
18
+ vertical-align: top;
19
+
20
+ &.is-active,
21
+ &.is-active:focus-within {
22
+ --odx-c-focus-outline: var(--cyan-700);
23
+
24
+ background-color: var(--odx-control-background-color-selected);
25
+ color: var(--odx-control-color-selected);
26
+ }
27
+
28
+ &.is-disabled {
29
+ background-color: transparent;
30
+ color: var(--odx-input-control-color-disabled);
31
+ }
32
+
33
+ &.is-readonly {
34
+ background-color: var(--odx-control-background-color-readonly);
35
+ color: var(--odx-control-color-readonly);
36
+ cursor: default;
37
+ }
38
+
39
+ &.is-active.is-disabled {
40
+ background-color: var(--odx-control-background-color-disabled);
41
+ color: var(--odx-control-color-disabled);
42
+ }
43
+
44
+ &.is-active.is-readonly {
45
+ background-color: var(--odx-control-background-color-readonly);
46
+ color: var(--odx-control-color-readonly);
47
+ outline-color: var(--odx-control-outline-color-readonly);
48
+ }
49
+
50
+ &__label {
51
+ @include dimensions.padding-x(math.div(1, 3));
52
+
53
+ cursor: inherit;
54
+ }
55
+ }
package/scss/core.scss CHANGED
@@ -1,17 +1,4 @@
1
- @use 'base/reset';
2
- @use 'helpers';
3
-
4
- /*
5
- Variables
6
- */
7
- @use 'variables/color-palettes';
8
- @use 'variables/colors';
9
- @use 'variables/visuals';
10
-
11
- /*
12
- Modules
13
- */
14
- @use 'modules/breakpoints' with (
1
+ @use 'abstract/breakpoints' with (
15
2
  $breakpoints: (
16
3
  'phone-s': 360px,
17
4
  'phone': 420px,
@@ -20,24 +7,41 @@
20
7
  'desktop': 1200px,
21
8
  )
22
9
  );
23
- @use 'modules/layout' as layout;
24
- @use 'modules/typography' as t;
25
- @use 'modules/vertical-rythm' as vr;
10
+ @use 'variables';
11
+ @use 'reset';
12
+
13
+ /*
14
+ Layout
15
+ */
16
+
17
+ @use 'layout/base';
18
+ @use 'layout/layout';
19
+ @use 'layout/helpers';
20
+ @use 'layout/typography';
26
21
 
27
22
  /*
28
23
  Components
29
24
  */
30
25
 
31
- @use 'components/action-group/action-group.component';
32
- @use 'components/area-header/area-header.component';
33
- @use 'components/avatar/avatar.component';
34
- @use 'components/badge/badge.component';
35
- @use 'components/button/button.component';
36
- @use 'components/checkbox/checkbox.component';
37
- @use 'components/content-box/content-box.component';
38
- @use 'components/icon/icon.component';
39
- @use 'components/link/link.component';
40
- @use 'components/logo/logo.component';
41
- @use 'components/main-menu/main-menu.component';
42
- @use 'components/header/header.component';
43
- @use 'components/radio-group/radio-group.component';
26
+ @use 'components/accordion.component';
27
+ @use 'components/accordion-item.component';
28
+ @use 'components/action-group.component';
29
+ @use 'components/area-header.component';
30
+ @use 'components/avatar.component';
31
+ @use 'components/badge.component';
32
+ @use 'components/button-group.component';
33
+ @use 'components/button.component';
34
+ @use 'components/checkbox.component';
35
+ @use 'components/content-box.component';
36
+ @use 'components/form-field.component';
37
+ @use 'components/header.component';
38
+ @use 'components/icon.component';
39
+ @use 'components/link.component';
40
+ @use 'components/logo.component';
41
+ @use 'components/main-menu.component';
42
+ @use 'components/modal.component';
43
+ @use 'components/radio-button.component';
44
+ @use 'components/radio-group.component';
45
+ @use 'components/switch.component.scss';
46
+ @use 'components/toggle-button.component';
47
+ @use 'components/toggle-button-group.component';
@@ -0,0 +1,29 @@
1
+ @use '../abstract/utils';
2
+
3
+ * {
4
+ scrollbar-color: var(--odx-v-scrollbar-thumb-color) var(--odx-v-scrollbar-track-color);
5
+ }
6
+
7
+ ::-webkit-scrollbar {
8
+ appearance: none;
9
+ width: 12px;
10
+ }
11
+
12
+ ::-webkit-scrollbar-track,
13
+ ::-webkit-scrollbar-thumb {
14
+ border: 3px solid transparent;
15
+ }
16
+
17
+ ::-webkit-scrollbar-track {
18
+ background-color: var(--odx-v-scrollbar-track-color);
19
+ }
20
+
21
+ ::-webkit-scrollbar-thumb {
22
+ background-clip: content-box;
23
+ background-color: var(--odx-v-scrollbar-thumb-color);
24
+ border-radius: var(--odx-v-border-radius);
25
+
26
+ &:hover {
27
+ background-color: var(--odx-v-scrollbar-thumb-color-hover);
28
+ }
29
+ }