@odx/ui 1.0.0-rc.8 → 1.0.0

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 (74) hide show
  1. package/README.md +3 -2
  2. package/ag-grid-theme.css +1 -0
  3. package/core-theme.css +1 -1
  4. package/package.json +4 -1
  5. package/scss/3rdparty/ag-grid/theme.scss +220 -0
  6. package/scss/abstract/_breakpoints.scss +12 -6
  7. package/scss/abstract/_dimensions.scss +2 -1
  8. package/scss/abstract/_motion.scss +3 -1
  9. package/scss/abstract/_typography.scss +9 -5
  10. package/scss/abstract/_utils.scss +9 -1
  11. package/scss/assets/fonts/PangeaText-MediumWeb.woff2 +0 -0
  12. package/scss/assets/fonts/PangeaText-RegularWeb.woff2 +0 -0
  13. package/scss/assets/fonts/PangeaText-SemiBoldWeb.woff2 +0 -0
  14. package/scss/assets/icons.css.hbs +23 -0
  15. package/scss/assets/images/logo.svg +6 -0
  16. package/scss/cdk/active-indicator.scss +1 -1
  17. package/scss/cdk/connected-overlay.scss +2 -2
  18. package/scss/components/action-group.component.scss +3 -3
  19. package/scss/components/area-header.component.scss +15 -11
  20. package/scss/components/avatar.component.scss +6 -1
  21. package/scss/components/badge.component.scss +7 -16
  22. package/scss/components/bar.component.scss +93 -0
  23. package/scss/components/breadcrumbs.component.scss +30 -0
  24. package/scss/components/button-group.component.scss +14 -10
  25. package/scss/components/button.component.scss +26 -4
  26. package/scss/components/card.component.scss +174 -0
  27. package/scss/components/checkbox.component.scss +1 -0
  28. package/scss/components/chip.component.scss +1 -0
  29. package/scss/components/content-box.component.scss +20 -16
  30. package/scss/components/dropdown.component.scss +3 -1
  31. package/scss/components/expandable-list-item.component.scss +66 -0
  32. package/scss/components/form-field.component.scss +31 -3
  33. package/scss/components/header.component.scss +9 -3
  34. package/scss/components/icon.component.scss +5 -10
  35. package/scss/components/launch-tile.component.scss +9 -8
  36. package/scss/components/link.component.scss +8 -0
  37. package/scss/components/list-item.component.scss +1 -1
  38. package/scss/components/loading-spinner.component.scss +14 -3
  39. package/scss/components/logo.component.scss +6 -1
  40. package/scss/components/main-menu-button.component.scss +4 -0
  41. package/scss/components/main-menu-item.component.scss +10 -1
  42. package/scss/components/main-menu.component.scss +15 -8
  43. package/scss/components/mainfilter-group.component.scss +141 -0
  44. package/scss/components/menu.component.scss +52 -0
  45. package/scss/components/modal.component.scss +72 -13
  46. package/scss/components/navigation-back.component.scss +23 -0
  47. package/scss/components/select.component.scss +9 -7
  48. package/scss/components/slider.component.scss +1 -0
  49. package/scss/components/spinbox.component.scss +4 -0
  50. package/scss/components/switch.component.scss +2 -1
  51. package/scss/components/tab-bar-item.component.scss +1 -1
  52. package/scss/components/tab-bar.component.scss +1 -1
  53. package/scss/components/toast-item.component.scss +77 -0
  54. package/scss/components/toast.component.scss +33 -0
  55. package/scss/components/toggle-button-group.component.scss +5 -3
  56. package/scss/components/toggle-button.component.scss +21 -13
  57. package/scss/components/tooltip.component.scss +3 -2
  58. package/scss/core.scss +14 -11
  59. package/scss/layout/_description-list.scss +2 -1
  60. package/scss/layout/_helpers.scss +2 -0
  61. package/scss/layout/_layout.scss +4 -0
  62. package/scss/layout/_typography.scss +6 -4
  63. package/scss/reset.scss +1 -0
  64. package/scss/skeleton/_skeleton.scss +49 -0
  65. package/scss/variables/_color-palettes-dark.scss +53 -0
  66. package/scss/variables/_color-palettes.scss +1 -1
  67. package/scss/variables/_colors-dark.scss +43 -0
  68. package/scss/variables/_colors.scss +9 -3
  69. package/scss/variables/_controls.scss +11 -1
  70. package/scss/variables/_index.scss +2 -0
  71. package/scss/variables/_typography.scss +2 -2
  72. package/scss/variables/_visuals.scss +10 -3
  73. package/core-icons.css +0 -43
  74. package/core-icons.woff2 +0 -0
@@ -1,10 +1,10 @@
1
1
  @use 'sass:math';
2
2
  @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
3
4
  @use '../abstract/motion';
5
+ @use '../abstract/typography';
4
6
  @use '../abstract/utils';
5
- @use '../abstract/dimensions';
6
-
7
- // TODO: check distances
7
+ @use './avatar.component' as avatar;
8
8
 
9
9
  .odx-launch-tile {
10
10
  $root: &;
@@ -15,6 +15,7 @@
15
15
  @include utils.with-outline-bold();
16
16
 
17
17
  background-color: var(--odx-c-background-content);
18
+ behavior: button;
18
19
  border-radius: var(--odx-v-border-radius);
19
20
  display: block;
20
21
  padding: $main-padding;
@@ -23,7 +24,7 @@
23
24
  &:focus-visible,
24
25
  &:hover,
25
26
  &:focus-within:has(:focus-visible) {
26
- box-shadow: var(--odx-v-backdrop-box-shadow-layer-1);
27
+ box-shadow: var(--odx-v-box-shadow-layer-1);
27
28
  }
28
29
 
29
30
  &__container {
@@ -53,9 +54,9 @@
53
54
 
54
55
  &__title {
55
56
  @include dimensions.margin-y(math.div(9, 24));
57
+ @include typography.font-weight(medium);
56
58
 
57
59
  font-size: dimensions.get-size(math.div(20, 24));
58
- font-weight: var(--odx-typography-font-weight-medium);
59
60
  line-height: dimensions.get-size(math.div(30, 24));
60
61
  }
61
62
 
@@ -89,7 +90,7 @@
89
90
  }
90
91
  }
91
92
 
92
- .odx-action-group {
93
+ .odx-launch-tile-menu {
93
94
  margin: 0;
94
95
  position: absolute;
95
96
  right: $main-padding;
@@ -97,13 +98,13 @@
97
98
  }
98
99
 
99
100
  .odx-avatar {
100
- @include dimensions.container(math.div(64, 24));
101
+ @include avatar.avatar-size(math.div(64, 24), math.div(64, 24), 2, math.div(48, 24));
101
102
  @include dimensions.margin-y(math.div(4, 24));
102
103
 
103
104
  flex: 0 0 auto;
104
105
 
105
106
  @include breakpoints.up(phone) {
106
- @include dimensions.container(math.div(128, 24));
107
+ @include avatar.avatar-size(math.div(128, 24), math.div(128, 24), 4, math.div(76, 24));
107
108
 
108
109
  margin: dimensions.get-size(math.div(4, 24)) auto 0;
109
110
  }
@@ -1,6 +1,14 @@
1
1
  @use '../abstract/motion';
2
2
  @use '../abstract/utils';
3
3
 
4
+ body {
5
+ @include utils.dark-theme-selector() {
6
+ --odx-c-link: var(--cyan-700);
7
+ --odx-c-link-hover: var(--cyan-800);
8
+ --odx-c-link-active: var(--cyan-900);
9
+ }
10
+ }
11
+
4
12
  .odx-link {
5
13
  @include motion.transition(color background-color outline);
6
14
  @include utils.interactive();
@@ -63,7 +63,7 @@
63
63
  &--danger {
64
64
  --odx-c-focus: var(--odx-c-danger);
65
65
 
66
- @include utils.with-outline-bold;
66
+ @include utils.with-outline-bold();
67
67
 
68
68
  background-color: var(--odx-c-danger);
69
69
  color: var(--odx-c-danger-text);
@@ -2,6 +2,17 @@
2
2
  @use '../abstract/motion';
3
3
  @use '../abstract/utils';
4
4
 
5
+ body {
6
+ --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
7
+
8
+ @include utils.dark-theme-selector() {
9
+ .odx-button {
10
+ --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
11
+ }
12
+ --odx-loading-spinner-track-stroke-color: var(--gray-200);
13
+ }
14
+ }
15
+
5
16
  .odx-loading-spinner {
6
17
  $root: &;
7
18
 
@@ -15,7 +26,7 @@
15
26
  scroll-behavior: contain;
16
27
  top: 0;
17
28
  width: 100%;
18
- z-index: 1;
29
+ z-index: var(--odx-v-layer-2);
19
30
  }
20
31
 
21
32
  &__backdrop {
@@ -32,10 +43,10 @@
32
43
  position: absolute;
33
44
  top: 50%;
34
45
  transform: translate(-50%, -50%);
35
- z-index: 2;
46
+ z-index: var(--odx-v-layer-3);
36
47
 
37
48
  &__track {
38
- stroke: var(--blue-700-15);
49
+ stroke: var(--odx-loading-spinner-track-stroke-color);
39
50
  }
40
51
  }
41
52
 
@@ -1,8 +1,13 @@
1
1
  @use '../abstract/dimensions';
2
+ @use '../abstract/utils';
2
3
 
3
- :root {
4
+ body {
4
5
  --odx-logo-color: var(--odx-c-primary);
5
6
  --odx-logo-color-inverse: var(--odx-c-text-inverse);
7
+
8
+ @include utils.dark-theme-selector() {
9
+ --odx-logo-color: var(--odx-c-text-inverse);
10
+ }
6
11
  }
7
12
 
8
13
  .odx-logo {
@@ -4,4 +4,8 @@
4
4
  @extend .odx-button--ghost;
5
5
 
6
6
  color: inherit;
7
+
8
+ &:hover {
9
+ color: inherit;
10
+ }
7
11
  }
@@ -4,12 +4,17 @@
4
4
  @use '../abstract/utils';
5
5
  @use '../abstract/typography';
6
6
 
7
- :root {
7
+ body {
8
8
  --odx-main-menu-item-background-color: transparent;
9
9
  --odx-main-menu-item-background-color-hover: var(--white-5);
10
10
  --odx-main-menu-item-background-color-active: var(--odx-c-focus);
11
11
  --odx-main-menu-item-text-color: inherit;
12
12
  --odx-main-menu-item-text-color-disabled: var(--odx-c-primary-text-disabled);
13
+
14
+ @include utils.dark-theme-selector() {
15
+ --odx-main-menu-item-background-color-active: var(--cyan-500-15);
16
+ --odx-main-menu-item-text-color-disabled: var(--blue-500);
17
+ }
13
18
  }
14
19
 
15
20
  .odx-main-menu-item {
@@ -44,4 +49,8 @@
44
49
  @include dimensions.margin(math.div(1, 3), right);
45
50
  @include dimensions.margin(math.div(-1, 3), left);
46
51
  }
52
+
53
+ &:focus-visible {
54
+ background-color: var(--odx-main-menu-item-background-color-active);
55
+ }
47
56
  }
@@ -7,14 +7,20 @@
7
7
  @use 'main-menu-button.component';
8
8
  @use 'main-menu-item.component';
9
9
 
10
- :root {
11
- --odx-main-menu-max-width: 100vw;
10
+ body {
11
+ --odx-main-menu-max-width: 100dvw;
12
12
  --odx-main-menu-background-color: var(--odx-c-primary);
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 utils.dark-theme-selector() {
17
+ --odx-main-menu-background-color: var(--blue-800);
18
+ --odx-main-menu-text-color: var(--black);
19
+ --odx-main-menu-highlight-color: var(--cyan-500);
20
+ }
21
+
16
22
  @include breakpoints.up(phone) {
17
- --odx-main-menu-max-width: min(100vw, 384px);
23
+ --odx-main-menu-max-width: min(100dvw, 384px);
18
24
  }
19
25
  }
20
26
 
@@ -29,12 +35,12 @@
29
35
  grid-template-rows: auto auto 1fr auto auto;
30
36
  height: 100%;
31
37
  left: 0;
32
- max-height: 100vh;
38
+ max-height: 100dvh;
33
39
  max-width: var(--odx-main-menu-max-width);
34
40
  position: fixed;
35
41
  top: 0;
36
42
  width: 100%;
37
- z-index: 9000;
43
+ z-index: var(--odx-v-layer-4);
38
44
  }
39
45
 
40
46
  &__overlay {
@@ -42,10 +48,10 @@
42
48
  background-color: var(--odx-c-backdrop);
43
49
  height: 100%;
44
50
  left: 0;
45
- position: absolute;
51
+ position: fixed;
46
52
  top: 0;
47
53
  width: 100%;
48
- z-index: 8999;
54
+ z-index: calc(var(--odx-v-layer-4) - 1);
49
55
  }
50
56
 
51
57
  &__actions {
@@ -70,6 +76,7 @@
70
76
  --odx-v-scrollbar-thumb-color-hover: var(--blue-500);
71
77
 
72
78
  @include dimensions.padding-x(0.5);
79
+ @include dimensions.margin(1, top);
73
80
 
74
81
  display: flex;
75
82
  flex-direction: column;
@@ -97,7 +104,7 @@
97
104
  }
98
105
 
99
106
  &__footer {
100
- @include dimensions.height(1);
107
+ @include dimensions.line-height(1);
101
108
  @include dimensions.padding-x(1);
102
109
  @include dimensions.padding(math.div(16, 24), top);
103
110
  @include dimensions.padding(math.div(32, 24), bottom);
@@ -0,0 +1,141 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+ @use '../abstract/utils';
5
+
6
+ body {
7
+ @include utils.dark-theme-selector() {
8
+ .odx-mainfilter-group {
9
+ --odx-input-control-outline-color: var(--blue-900);
10
+ --odx-input-control-outline-color-hover: var(--blue-900);
11
+ --odx-c-highlight: var(--blue-900);
12
+ --odx-c-highlight-text: var(--white);
13
+ --odx-c-focus-outline: var(--cyan-800);
14
+ --odx-c-focus: var(--focus-bg);
15
+ }
16
+ }
17
+ }
18
+
19
+ .odx-mainfilter-group {
20
+ --odx-input-control-background-color: var(--gray-50);
21
+ --odx-input-control-outline-color: var(--blue-700);
22
+ --odx-c-highlight: var(--blue-700);
23
+ --odx-input-control-outline-color-hover: var(--blue-700);
24
+ --odx-input-control-background-color-hover: var(--gray-100);
25
+ --odx-c-secondary: var(--gray-50);
26
+ --odx-c-secondary-hover: var(--odx-input-control-background-color-hover);
27
+ --odx-c-secondary-active: var(--gray-200);
28
+ --odx-c-focus-outline: var(--cyan-700);
29
+ --odx-c-focus: var(--cyan-50);
30
+ --odx-c-highlight-active: var(--odx-c-focus-outline);
31
+
32
+ .odx-form-field {
33
+ flex: 0;
34
+ position: relative;
35
+
36
+ &__control {
37
+ .odx-form-field-control {
38
+ min-width: dimensions.get-size(math.div(150, 24));
39
+
40
+ &.odx-spinbox {
41
+ min-width: dimensions.get-size(math.div(172, 24));
42
+ }
43
+ }
44
+ }
45
+
46
+ &__label {
47
+ margin-top: 0;
48
+ position: absolute;
49
+ right: 0;
50
+ top: dimensions.get-size(math.div(12, 24));
51
+ z-index: 1;
52
+ }
53
+
54
+ &:has(.odx-spinbox) {
55
+ .odx-form-field__label {
56
+ right: dimensions.get-size(math.div(36, 24));
57
+ }
58
+ }
59
+
60
+ &-label {
61
+ @include dimensions.padding-x(math.div(3, 24));
62
+ @include dimensions.padding-y(math.div(2, 24));
63
+
64
+ background-color: var(--odx-input-control-background-color);
65
+ border-radius: var(--odx-v-border-radius-controls);
66
+ display: inline-block;
67
+ font-size: dimensions.get-size(math.div(10, 24));
68
+ line-height: 1;
69
+ }
70
+
71
+ &__hint {
72
+ display: none;
73
+ }
74
+ }
75
+
76
+ .odx-button {
77
+ margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
78
+ outline-offset: -1px;
79
+ outline-width: var(--odx-v-outline-width);
80
+ overflow: visible;
81
+ position: relative;
82
+
83
+ &:not(:focus-visible) {
84
+ outline-color: var(--odx-input-control-outline-color);
85
+ }
86
+
87
+ &:focus-visible {
88
+ background-color: var(--odx-c-focus);
89
+ }
90
+
91
+ &::before {
92
+ @include dimensions.padding-x(math.div(3, 24));
93
+ @include dimensions.padding-y(math.div(2, 24));
94
+ @include typography.prevent-text-overflow();
95
+
96
+ background-color: var(--odx-input-control-background-color);
97
+ border-radius: var(--odx-v-border-radius-controls);
98
+ content: attr(label);
99
+ display: inline-block;
100
+ font-size: dimensions.get-size(math.div(10, 24));
101
+ font-weight: var(--odx-typography-font-weight-normal);
102
+ line-height: 1;
103
+ margin-top: 0;
104
+ position: absolute;
105
+ right: dimensions.get-size(math.div(8, 24));
106
+ top: dimensions.get-size(math.div(-7, 24));
107
+ z-index: 1;
108
+ }
109
+ }
110
+
111
+ .odx-spinbox {
112
+ .odx-spinbox__action {
113
+ &:hover {
114
+ border-color: var(--odx-input-control-outline-color);
115
+ }
116
+
117
+ &:active {
118
+ background-color: var(--odx-c-secondary-active);
119
+ }
120
+ }
121
+ }
122
+
123
+ .odx-toggle-button-group {
124
+ margin: 0;
125
+
126
+ &.is-active {
127
+ &:not(.is-disabled, .is-readonly):hover {
128
+ background-color: unset;
129
+ }
130
+
131
+ &:focus-within:has(:focus-visible) {
132
+ background-color: transparent;
133
+ outline-color: transparent;
134
+
135
+ &:hover {
136
+ background-color: transparent;
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
@@ -0,0 +1,52 @@
1
+ @use '../abstract/dimensions';
2
+ @use 'sass:math';
3
+
4
+ .odx-menu {
5
+ display: block;
6
+
7
+ > .odx-action-group {
8
+ display: flex;
9
+ flex-direction: column;
10
+ height: auto;
11
+ margin: 0;
12
+
13
+ > .odx-button {
14
+ justify-content: flex-start;
15
+ margin: 0;
16
+ width: 100%;
17
+ }
18
+ }
19
+
20
+ &__title:not(:empty) {
21
+ margin-bottom: dimensions.get-size(math.div(12, 24));
22
+ }
23
+
24
+ &--tile {
25
+ $avatar-size: dimensions.get-size(math.div(48, 24));
26
+ $grid-gap: dimensions.get-size(math.div(8, 24));
27
+
28
+ .odx-avatar {
29
+ height: $avatar-size;
30
+ margin-bottom: $grid-gap;
31
+ width: $avatar-size;
32
+ }
33
+
34
+ .odx-action-group {
35
+ align-items: flex-start;
36
+ display: grid;
37
+ grid-gap: $grid-gap;
38
+ grid-template-columns: repeat(3, 1fr);
39
+
40
+ .odx-button {
41
+ flex-direction: column;
42
+ font-size: dimensions.get-size(math.div(13, 24));
43
+ font-weight: var(--odx-typography-font-weight-normal);
44
+ height: unset;
45
+ line-height: dimensions.get-size(math.div(20, 24));
46
+ padding: $grid-gap;
47
+ white-space: unset;
48
+ width: dimensions.get-size(math.div(100, 24));
49
+ }
50
+ }
51
+ }
52
+ }
@@ -1,29 +1,34 @@
1
1
  @use 'sass:math';
2
2
  @use '../abstract/dimensions';
3
3
  @use '../abstract/breakpoints';
4
+ @use '../abstract/typography';
5
+ @use '../abstract/utils';
6
+
7
+ $modal-padding: math.div(12, 24);
4
8
 
5
9
  .odx-modal {
6
10
  --odx-modal-margin-y: #{dimensions.get-size(2)};
7
11
  --odx-modal-margin-x: #{dimensions.get-size(math.div(8, 24))};
8
12
  --odx-modal-max-width: #{dimensions.get-size(20)};
13
+ --odx-modal-margin-bottom: #{dimensions.get-size(0.5)};
9
14
 
10
15
  $root: &;
11
- $modal-padding: math.div(12, 24);
12
16
 
13
17
  backdrop-filter: blur(var(--odx-v-backdrop-blur));
14
18
  background-color: var(--odx-c-backdrop-dark);
15
19
  display: block;
16
- height: 100%;
20
+ height: 100dvh;
17
21
  left: 0;
18
22
  overscroll-behavior: contain;
19
23
  position: fixed;
20
24
  top: 0;
21
- width: 100%;
22
- z-index: 1000;
25
+ width: 100dvw;
26
+ z-index: var(--odx-v-layer-4);
23
27
 
24
28
  @include breakpoints.up(phone) {
25
29
  --odx-modal-margin-y: #{dimensions.get-size(3)};
26
30
  --odx-modal-margin-x: #{dimensions.get-size(1)};
31
+ --odx-modal-margin-bottom: #{dimensions.get-size(1)};
27
32
  }
28
33
 
29
34
  &--sidesheet {
@@ -36,13 +41,17 @@
36
41
 
37
42
  background-color: var(--odx-c-background-content);
38
43
  border-radius: var(--odx-v-border-radius);
39
- box-shadow: var(--odx-v-backdrop-box-shadow-layer-2);
44
+ box-shadow: var(--odx-v-box-shadow-layer-2);
40
45
  display: flex;
41
46
  flex-direction: column;
42
47
  margin: var(--odx-modal-margin-y) auto 0;
43
- max-height: calc(100vh - 2 * var(--odx-modal-margin-y));
48
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
44
49
  min-height: dimensions.get-size(7);
45
- width: min(var(--odx-modal-max-width), calc(100vw - 2 * var(--odx-modal-margin-x)));
50
+ width: min(var(--odx-modal-max-width), calc(100% - 2 * var(--odx-modal-margin-x)));
51
+
52
+ #{$root}--xsmall & {
53
+ --odx-modal-max-width: #{dimensions.get-size(15)};
54
+ }
46
55
 
47
56
  #{$root}--medium & {
48
57
  --odx-modal-max-width: #{dimensions.get-size(30)};
@@ -55,9 +64,20 @@
55
64
  #{$root}--sidesheet & {
56
65
  height: 100%;
57
66
  left: unset;
58
- margin-right: dimensions.get-size(0.5);
59
- max-height: calc(100vh - var(--odx-modal-margin-y) - #{dimensions.get-size(1)});
67
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
60
68
  right: 0;
69
+
70
+ @include breakpoints.up(phone) {
71
+ margin-right: dimensions.get-size(0.5);
72
+ }
73
+
74
+ @include breakpoints.down(phone) {
75
+ --odx-modal-max-width: 100dvw !important;
76
+ }
77
+ }
78
+
79
+ #{$root}--with-component & > * {
80
+ display: contents;
61
81
  }
62
82
  }
63
83
 
@@ -68,15 +88,18 @@
68
88
  }
69
89
 
70
90
  &__header {
71
- @include dimensions.min-height(1);
72
- @include dimensions.padding(math.div(12, 24), top);
91
+ @include dimensions.min-height(2.5);
92
+ @include dimensions.padding($modal-padding, top);
73
93
 
74
94
  > .odx-area-header {
75
- @include dimensions.margin(-1, left);
76
- @include dimensions.margin(-0.5, right);
95
+ @include dimensions.margin-x(-0.5);
77
96
 
78
97
  flex: 1 1 auto;
79
98
  max-width: 100%;
99
+
100
+ @include breakpoints.up(phone) {
101
+ @include dimensions.margin(-1, left);
102
+ }
80
103
  }
81
104
  }
82
105
 
@@ -99,3 +122,39 @@
99
122
  justify-content: flex-end;
100
123
  }
101
124
  }
125
+
126
+ .odx-modal-hero {
127
+ $variants: success, danger, confirmation;
128
+
129
+ @include dimensions.min-height(2.5);
130
+ @include dimensions.padding(0.5, top);
131
+
132
+ display: flex;
133
+ flex-direction: column;
134
+ position: relative;
135
+
136
+ &__dismiss {
137
+ position: absolute;
138
+ right: 0;
139
+ top: dimensions.get-size(0.5);
140
+ }
141
+
142
+ &__icon {
143
+ margin: dimensions.get-size(0.5) auto auto;
144
+ }
145
+
146
+ &__title {
147
+ text-align: center;
148
+ }
149
+
150
+ ~ .odx-modal__content {
151
+ padding-top: 0;
152
+ text-align: center;
153
+ }
154
+
155
+ @each $variant in $variants {
156
+ &--#{$variant} &__icon {
157
+ color: var(--odx-c-#{$variant});
158
+ }
159
+ }
160
+ }
@@ -0,0 +1,23 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/utils';
5
+
6
+ .odx-navigation-back {
7
+ border-radius: var(--odx-v-border-radius-controls);
8
+ height: dimensions.get-size(1.5);
9
+ width: dimensions.get-size(1.5);
10
+
11
+ @include motion.transition(background-color outline);
12
+ @include utils.center-content(true);
13
+ @include utils.interactive($with-background: true);
14
+
15
+ &:hover {
16
+ background-color: var(--blue-700-5);
17
+ }
18
+
19
+ &:active {
20
+ background-color: var(--cyan-500-15);
21
+ border: none;
22
+ }
23
+ }
@@ -4,7 +4,7 @@
4
4
  @use '../abstract/typography';
5
5
  @use '../abstract/utils';
6
6
 
7
- :root {
7
+ body {
8
8
  --odx-select-max-height: 220px;
9
9
  }
10
10
 
@@ -21,8 +21,10 @@
21
21
  width: 100%;
22
22
 
23
23
  #{$root}.is-readonly & {
24
- cursor: text;
25
- user-select: unset;
24
+ #{$root}__value {
25
+ cursor: text;
26
+ user-select: unset;
27
+ }
26
28
  }
27
29
  }
28
30
 
@@ -41,6 +43,10 @@
41
43
 
42
44
  color: var(--odx-input-control-color);
43
45
  opacity: 0.65;
46
+
47
+ #{$root}.is-disabled & {
48
+ color: inherit;
49
+ }
44
50
  }
45
51
 
46
52
  &__search {
@@ -55,10 +61,6 @@
55
61
 
56
62
  margin-left: auto;
57
63
 
58
- #{$root}.is-open & {
59
- transform: rotateX(180deg);
60
- }
61
-
62
64
  #{$root}.is-readonly & {
63
65
  opacity: 0;
64
66
  }
@@ -6,6 +6,7 @@
6
6
  --odx-control-outline-color: var(--gray-200);
7
7
  --odx-control-background-color: var(--gray-100);
8
8
  --odx-control-background-color-hover: var(--cyan-600);
9
+
9
10
  $root: &;
10
11
  $thumb-size: dimensions.get-size(math.div(20, 24));
11
12
  $track-height: dimensions.get-size(math.div(4, 24));
@@ -103,6 +103,10 @@
103
103
  margin: 0;
104
104
  outline: none;
105
105
 
106
+ &::before {
107
+ position: static;
108
+ }
109
+
106
110
  &:first-child {
107
111
  border-bottom-right-radius: 0;
108
112
  border-right: unset;
@@ -7,7 +7,8 @@
7
7
 
8
8
  @mixin indicator-color($background, $stroke: null) {
9
9
  background-color: $background;
10
- @if ($stroke) {
10
+
11
+ @if $stroke {
11
12
  border-color: $stroke;
12
13
  } @else {
13
14
  border-color: $background;
@@ -8,7 +8,7 @@
8
8
  @include dimensions.height(2, math.div(32, 24));
9
9
  @include dimensions.padding-x(math.div(4, 24));
10
10
  @include utils.vertical-center-content();
11
- @include utils.with-outline;
11
+ @include utils.with-outline();
12
12
  @include motion.transition(background-color outline-color);
13
13
 
14
14
  align-items: center;