@odx/ui 4.9.0 → 4.10.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 (108) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/ag-grid-theme.css +1 -261
  3. package/charts-theme.css +1 -45
  4. package/core-theme.css +1 -7475
  5. package/package.json +9 -3
  6. package/scss/_application.scss +59 -0
  7. package/scss/_base.scss +31 -0
  8. package/scss/_breakpoints.scss +86 -0
  9. package/scss/_color-palettes-dark.scss +53 -0
  10. package/scss/_color-palettes.scss +96 -0
  11. package/scss/_colors-dark.scss +53 -0
  12. package/scss/_colors.scss +98 -0
  13. package/scss/_content.scss +25 -0
  14. package/scss/_controls.scss +57 -0
  15. package/scss/_description-list.scss +30 -0
  16. package/scss/_dimensions.scss +81 -0
  17. package/scss/_helpers.scss +85 -0
  18. package/scss/_index.scss +8 -0
  19. package/scss/_layout.scss +162 -0
  20. package/scss/_motion.scss +14 -0
  21. package/scss/_skeleton.scss +49 -0
  22. package/scss/_text-list.scss +18 -0
  23. package/scss/_typography.scss +21 -0
  24. package/scss/_utils.scss +131 -0
  25. package/scss/_vertical-rythm.scss +3 -0
  26. package/scss/_visuals.scss +27 -0
  27. package/scss/accordion-item.component.scss +56 -0
  28. package/scss/accordion.component.scss +3 -0
  29. package/scss/action-group.component.scss +29 -0
  30. package/scss/active-indicator.scss +25 -0
  31. package/scss/ag-grid/theme.scss +303 -0
  32. package/scss/area-header.component.scss +163 -0
  33. package/scss/autocomplete.component.scss +14 -0
  34. package/scss/avatar.component.scss +68 -0
  35. package/scss/badge.component.scss +49 -0
  36. package/scss/bar.component.scss +93 -0
  37. package/scss/brand-logo.component.scss +17 -0
  38. package/scss/breadcrumbs.component.scss +45 -0
  39. package/scss/button-group.component.scss +101 -0
  40. package/scss/button.component.scss +143 -0
  41. package/scss/calendar.component.scss +243 -0
  42. package/scss/card.component.scss +232 -0
  43. package/scss/cdk/connected-overlay.scss +4 -0
  44. package/scss/checkbox.component.scss +136 -0
  45. package/scss/chip-list.component.scss +23 -0
  46. package/scss/chip.component.scss +74 -0
  47. package/scss/circular-progress.component.scss +75 -0
  48. package/scss/components/card.component.scss +6 -6
  49. package/scss/components/table.component.scss +1 -0
  50. package/scss/connected-overlay.scss +63 -0
  51. package/scss/content-box.component.scss +46 -0
  52. package/scss/datepicker.component.scss +36 -0
  53. package/scss/daterangepicker.component.scss +45 -0
  54. package/scss/dropdown.component.scss +37 -0
  55. package/scss/error-page.component.scss +46 -0
  56. package/scss/expandable-list-item.component.scss +59 -0
  57. package/scss/footer.component.scss +86 -0
  58. package/scss/form-field.component.scss +264 -0
  59. package/scss/header-navigation.component.scss +35 -0
  60. package/scss/header.component.scss +73 -0
  61. package/scss/icon.component.scss +21 -0
  62. package/scss/inline-message.component.scss +34 -0
  63. package/scss/launch-tile.component.scss +119 -0
  64. package/scss/link.component.scss +28 -0
  65. package/scss/list-item.component.scss +119 -0
  66. package/scss/list.component.scss +27 -0
  67. package/scss/loading-spinner.component.scss +70 -0
  68. package/scss/logo.component.scss +33 -0
  69. package/scss/main-menu-button.component.scss +11 -0
  70. package/scss/main-menu-item.component.scss +55 -0
  71. package/scss/main-menu.component.scss +139 -0
  72. package/scss/mainfilter-group.component.scss +163 -0
  73. package/scss/menu.component.scss +51 -0
  74. package/scss/modal.component.scss +219 -0
  75. package/scss/navigation-back.component.scss +23 -0
  76. package/scss/notification-center.component.scss +74 -0
  77. package/scss/notification-item.component.scss +41 -0
  78. package/scss/option.component.scss +40 -0
  79. package/scss/paginator.component.scss +34 -0
  80. package/scss/progress.component.scss +41 -0
  81. package/scss/radio-button.component.scss +127 -0
  82. package/scss/radio-group.component.scss +14 -0
  83. package/scss/rail-navigation-item.component.scss +99 -0
  84. package/scss/rail-navigation.component.scss +53 -0
  85. package/scss/rich-list-item-header.component.scss +25 -0
  86. package/scss/rich-list-item.component.scss +59 -0
  87. package/scss/rich-list.component.scss +3 -0
  88. package/scss/search-bar.component.scss +47 -0
  89. package/scss/select.component.scss +75 -0
  90. package/scss/slider.component.scss +132 -0
  91. package/scss/spinbox.component.scss +128 -0
  92. package/scss/switch.component.scss +175 -0
  93. package/scss/tab-bar-item.component.scss +58 -0
  94. package/scss/tab-bar.component.scss +124 -0
  95. package/scss/table.component.scss +95 -0
  96. package/scss/theme.scss +303 -0
  97. package/scss/timepicker.component.scss +58 -0
  98. package/scss/toast-item.component.scss +79 -0
  99. package/scss/toast.component.scss +33 -0
  100. package/scss/toggle-button-group.component.scss +65 -0
  101. package/scss/toggle-button.component.scss +79 -0
  102. package/scss/tooltip.component.scss +37 -0
  103. package/scss/wizard-step.component.scss +256 -0
  104. package/scss/wizard.component.scss +18 -0
  105. package/24031beb1b96a58f519c.woff2 +0 -0
  106. package/323d385340fb9fee6450.svg +0 -6
  107. package/5eabf29514e9649c8c73.woff2 +0 -0
  108. package/eb2051d1f9da906e0b3e.woff2 +0 -0
@@ -0,0 +1,34 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+
5
+ .odx-inline-message {
6
+ --odx-c-default: var(--blue-50);
7
+ --odx-c-warning: var(--yellow-50);
8
+ --odx-c-danger: var(--red-00);
9
+ --odx-c-success: var(--green-00);
10
+
11
+ $variants: default, warning, danger, success;
12
+
13
+ @include dimensions.padding-x(math.div(10, 24));
14
+ @include dimensions.padding-y(math.div(12, 24));
15
+
16
+ display: flex;
17
+ gap: dimensions.get-size(math.div(10, 24));
18
+
19
+ @each $variant in $variants {
20
+ &--#{$variant} {
21
+ background-color: var(--odx-c-#{$variant});
22
+ }
23
+ }
24
+
25
+ &--danger {
26
+ color: var(--red-700);
27
+ }
28
+
29
+ &__content {
30
+ @include typography.font-size(-1);
31
+
32
+ overflow: hidden;
33
+ }
34
+ }
@@ -0,0 +1,119 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/motion';
5
+ @use '../abstract/typography';
6
+ @use '../abstract/utils';
7
+ @use './avatar.component' as avatar;
8
+
9
+ .odx-launch-tile {
10
+ $root: &;
11
+ $main-padding: dimensions.get-size(math.div(12, 24));
12
+
13
+ @include motion.transition(box-shadow outline-color);
14
+ @include utils.interactive(false);
15
+ @include utils.with-outline-bold();
16
+
17
+ background-color: var(--odx-c-background-content);
18
+ behavior: button;
19
+ border-radius: var(--odx-v-border-radius);
20
+ display: block;
21
+ padding: $main-padding;
22
+ position: relative;
23
+
24
+ &:focus-visible,
25
+ &:hover,
26
+ &:focus-within:has(:focus-visible) {
27
+ box-shadow: var(--odx-v-box-shadow-layer-1);
28
+ }
29
+
30
+ &__container {
31
+ @include dimensions.padding-x(math.div(8, 24));
32
+ @include dimensions.padding-y(0.5);
33
+
34
+ display: flex;
35
+ gap: dimensions.get-size(math.div(16, 24));
36
+
37
+ @include breakpoints.up(phone) {
38
+ @include dimensions.padding(1, bottom);
39
+
40
+ flex-direction: column;
41
+ gap: dimensions.get-size(math.div(8, 24));
42
+ }
43
+ }
44
+
45
+ &__content {
46
+ flex: 1;
47
+ padding-right: dimensions.get-size(math.div(40, 24));
48
+
49
+ @include breakpoints.up(phone) {
50
+ padding-right: unset;
51
+ text-align: center;
52
+ }
53
+ }
54
+
55
+ &__title {
56
+ @include dimensions.margin-y(math.div(9, 24));
57
+ @include typography.font-weight(medium);
58
+
59
+ font-size: dimensions.get-size(math.div(20, 24));
60
+ line-height: dimensions.get-size(math.div(30, 24));
61
+ }
62
+
63
+ &__subtitle {
64
+ color: var(--gray-500);
65
+ }
66
+
67
+ &__title,
68
+ &__subtitle {
69
+ @include motion.transition(color);
70
+
71
+ display: block;
72
+
73
+ #{$root}.is-disabled & {
74
+ color: var(--odx-c-text-disabled);
75
+ }
76
+ }
77
+
78
+ &__footer {
79
+ display: flex;
80
+ gap: dimensions.get-size(math.div(12, 24));
81
+ justify-content: flex-end;
82
+
83
+ @include breakpoints.up(phone) {
84
+ justify-content: center;
85
+ padding-bottom: dimensions.get-size(math.div(12, 24));
86
+ }
87
+
88
+ .odx-button {
89
+ margin: 0;
90
+ }
91
+ }
92
+
93
+ .odx-launch-tile-menu {
94
+ margin: 0;
95
+ position: absolute;
96
+ right: $main-padding;
97
+ top: $main-padding;
98
+ }
99
+
100
+ .odx-avatar {
101
+ @include avatar.avatar-size(math.div(64, 24), math.div(64, 24), 2, math.div(48, 24));
102
+ @include dimensions.margin-y(math.div(4, 24));
103
+
104
+ flex: 0 0 auto;
105
+
106
+ @include breakpoints.up(phone) {
107
+ @include avatar.avatar-size(math.div(128, 24), math.div(128, 24), 4, math.div(76, 24));
108
+
109
+ margin: dimensions.get-size(math.div(4, 24)) auto 0;
110
+ }
111
+ }
112
+
113
+ &.is-disabled {
114
+ .odx-avatar {
115
+ color: var(--odx-c-text-disabled);
116
+ filter: saturate(0);
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,28 @@
1
+ @use '../abstract/motion';
2
+ @use '../abstract/utils';
3
+
4
+ .odx-link {
5
+ @include motion.transition(color background-color outline);
6
+ @include utils.interactive();
7
+
8
+ border-radius: var(--odx-v-border-radius-controls);
9
+ color: var(--odx-c-link);
10
+ padding: 0 2px;
11
+ position: relative;
12
+ user-select: auto;
13
+
14
+ &:hover {
15
+ color: var(--odx-c-link-hover);
16
+ text-decoration: underline;
17
+ }
18
+
19
+ &:active {
20
+ color: var(--odx-c-link-active);
21
+ }
22
+
23
+ &.is-disabled {
24
+ color: var(--odx-c-link-disabled);
25
+ pointer-events: none;
26
+ text-decoration: none;
27
+ }
28
+ }
@@ -0,0 +1,119 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/utils';
4
+ @use '../abstract/motion';
5
+ @use '../abstract/typography';
6
+
7
+ .odx-list-item {
8
+ $root: &;
9
+ $muted-selector: #{$root}--muted;
10
+ $variants: danger, warning;
11
+
12
+ --separator-color: var(--odx-c-separator);
13
+
14
+ @include dimensions.padding-x(math.div(8, 24));
15
+ @include dimensions.line-height(2, 1);
16
+ @include motion.transition(border-bottom-color background-color outline-color color);
17
+ @include utils.interactive(false);
18
+ @include utils.with-outline-bold();
19
+ @include utils.vertical-center-content();
20
+
21
+ background-color: transparent;
22
+ border-radius: var(--odx-v-border-radius-controls);
23
+ gap: dimensions.get-size(math.div(8, 24));
24
+ position: relative;
25
+
26
+ > [odxListSuffix],
27
+ > [odxListItemSuffix] {
28
+ margin-left: auto;
29
+ }
30
+
31
+ &#{$muted-selector} {
32
+ cursor: default;
33
+ user-select: text;
34
+ }
35
+
36
+ &::before {
37
+ @include motion.transition(border-color);
38
+
39
+ border-bottom: 1px solid var(--separator-color);
40
+ content: '';
41
+ display: block;
42
+ position: absolute;
43
+ right: dimensions.get-size(math.div(8, 24));
44
+ top: 0;
45
+ width: calc(100% - #{dimensions.get-size(math.div(16, 24))});
46
+ }
47
+
48
+ &:hover,
49
+ &:focus-visible {
50
+ &:not(#{$muted-selector}) {
51
+ --separator-color: transparent !important;
52
+ }
53
+ }
54
+
55
+ &:hover:not(#{$muted-selector}) {
56
+ background-color: var(--odx-c-ghost-hover);
57
+ }
58
+
59
+ &--danger + &,
60
+ &--warning + &,
61
+ &.is-selected + &,
62
+ &:hover:not(#{$muted-selector}) + & {
63
+ --separator-color: transparent !important;
64
+ }
65
+
66
+ &.is-disabled {
67
+ color: var(--odx-control-color-disabled);
68
+ pointer-events: none;
69
+ }
70
+
71
+ @each $variant in $variants {
72
+ &--#{$variant} {
73
+ --separator-color: transparent !important;
74
+
75
+ background-color: var(--odx-c-#{$variant}-active);
76
+ color: var(--odx-c-#{$variant}-text);
77
+
78
+ &:hover:not(#{$muted-selector}) {
79
+ background-color: var(--odx-c-#{$variant}-hover);
80
+ }
81
+
82
+ &:focus-visible {
83
+ background-color: var(--odx-c-#{$variant}-active);
84
+ }
85
+
86
+ &.is-disabled {
87
+ color: var(--odx-c-#{$variant}-text-disabled);
88
+ }
89
+ }
90
+ }
91
+
92
+ &.is-selected {
93
+ --separator-color: transparent !important;
94
+
95
+ background-color: var(--odx-c-selected);
96
+
97
+ &:hover:not(#{$muted-selector}) {
98
+ background-color: var(--odx-c-selected-hover);
99
+ }
100
+
101
+ @each $variant in $variants {
102
+ &#{$root}--#{$variant} {
103
+ background-color: var(--odx-c-#{$variant});
104
+
105
+ &:hover:not(#{$muted-selector}) {
106
+ background-color: var(--odx-c-#{$variant}-hover);
107
+ }
108
+
109
+ &.is-disabled {
110
+ color: var(--odx-c-#{$variant}-text);
111
+ }
112
+
113
+ &:focus-visible {
114
+ background-color: var(--odx-c-#{$variant});
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
@@ -0,0 +1,27 @@
1
+ @use 'sass:math';
2
+ @use 'sass:selector';
3
+ @use '../abstract/dimensions';
4
+
5
+ .odx-list {
6
+ display: block;
7
+
8
+ $self: &;
9
+
10
+ @for $i from 1 through 10 {
11
+ #{$self} .odx-list-item {
12
+ @include dimensions.padding(math.div(8, 24) + ($i * math.div(32, 24)), left);
13
+
14
+ &:first-child {
15
+ --separator-color: var(--odx-c-separator);
16
+ }
17
+ }
18
+
19
+ $self: #{$self + ' ' + &};
20
+ }
21
+
22
+ > .odx-list-item {
23
+ &:first-child {
24
+ --separator-color: transparent;
25
+ }
26
+ }
27
+ }
@@ -0,0 +1,70 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/motion';
3
+ @use '../abstract/utils';
4
+
5
+ :root {
6
+ --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
7
+ }
8
+
9
+ @include utils.theme-selector(dark) {
10
+ --odx-loading-spinner-track-stroke-color: var(--gray-200);
11
+
12
+ .odx-button {
13
+ --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
14
+ }
15
+ }
16
+
17
+ .odx-loading-spinner {
18
+ $root: &;
19
+
20
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
21
+
22
+ &,
23
+ &__backdrop {
24
+ height: 100%;
25
+ left: 0;
26
+ position: absolute;
27
+ scroll-behavior: contain;
28
+ top: 0;
29
+ width: 100%;
30
+ z-index: var(--odx-v-layer-2);
31
+ }
32
+
33
+ &__backdrop {
34
+ @include motion.transition(background-color);
35
+
36
+ background-color: transparent;
37
+ opacity: 0.8;
38
+ }
39
+
40
+ .odx-circular-progress {
41
+ height: 66.67%;
42
+ left: 50%;
43
+ max-height: 40px;
44
+ position: absolute;
45
+ top: 50%;
46
+ transform: translate(-50%, -50%);
47
+ z-index: var(--odx-v-layer-3);
48
+
49
+ &__indicator {
50
+ stroke: var(--odx-c-primary);
51
+ }
52
+
53
+ &__track {
54
+ stroke: var(--odx-loading-spinner-track-stroke-color);
55
+ }
56
+ }
57
+
58
+ &--auto-color {
59
+ .odx-circular-progress {
60
+ &__indicator {
61
+ stroke: currentcolor;
62
+ }
63
+ }
64
+ }
65
+
66
+ &-parent {
67
+ overflow: hidden;
68
+ user-select: none;
69
+ }
70
+ }
@@ -0,0 +1,33 @@
1
+ @use '../abstract/dimensions';
2
+ @use '../abstract/utils';
3
+
4
+ :root {
5
+ --odx-logo-color: var(--odx-c-primary);
6
+ --odx-logo-color-inverse: var(--odx-c-text-inverse);
7
+ }
8
+
9
+ @include utils.theme-selector(dark) {
10
+ --odx-logo-color: var(--odx-c-text-inverse);
11
+ }
12
+
13
+ .odx-logo {
14
+ @include dimensions.height(1);
15
+
16
+ aspect-ratio: 2.5 / 1;
17
+ background-color: var(--odx-logo-color);
18
+ display: inline-block;
19
+ mask-image: url('../assets/images/logo.svg');
20
+ mask-repeat: no-repeat;
21
+
22
+ &--inverse {
23
+ background-color: var(--odx-logo-color-inverse);
24
+ }
25
+
26
+ &--medium {
27
+ @include dimensions.height(2, 1.5);
28
+ }
29
+
30
+ &--large {
31
+ @include dimensions.height(3, 2.5);
32
+ }
33
+ }
@@ -0,0 +1,11 @@
1
+ @use 'button.component';
2
+
3
+ .odx-main-menu-button {
4
+ @extend .odx-button--ghost;
5
+
6
+ color: inherit;
7
+
8
+ &:hover {
9
+ color: inherit;
10
+ }
11
+ }
@@ -0,0 +1,55 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/typography';
6
+
7
+ :root {
8
+ --odx-main-menu-item-background-color: transparent;
9
+ --odx-main-menu-item-background-color-hover: var(--white-5);
10
+ --odx-main-menu-item-background-color-active: var(--odx-c-focus);
11
+ --odx-main-menu-item-text-color: inherit;
12
+ --odx-main-menu-item-text-color-disabled: var(--odx-c-primary-text-disabled);
13
+ }
14
+
15
+ @include utils.theme-selector(dark) {
16
+ --odx-main-menu-item-background-color-active: var(--cyan-500-15);
17
+ --odx-main-menu-item-text-color-disabled: var(--blue-500);
18
+ }
19
+
20
+ .odx-main-menu-item {
21
+ @include dimensions.padding(math.div(2, 3));
22
+ @include motion.transition(color background-color outline);
23
+ @include utils.interactive(false);
24
+ @include typography.font-weight(medium);
25
+ @include typography.prevent-text-overflow();
26
+
27
+ background-color: transparent;
28
+ border-radius: var(--odx-v-border-radius);
29
+ color: var(--odx-main-menu-item-text-color);
30
+ line-height: 1;
31
+
32
+ &:hover {
33
+ background-color: var(--odx-main-menu-item-background-color-hover);
34
+ }
35
+
36
+ &.is-selected,
37
+ &:active {
38
+ background-color: var(--odx-main-menu-item-background-color-active);
39
+ }
40
+
41
+ &.is-disabled,
42
+ &:disabled {
43
+ background-color: transparent;
44
+ color: var(--odx-main-menu-item-text-color-disabled);
45
+ }
46
+
47
+ > .odx-icon {
48
+ @include dimensions.margin(math.div(1, 3), right);
49
+ @include dimensions.margin(math.div(-1, 3), left);
50
+ }
51
+
52
+ &:focus-visible {
53
+ background-color: var(--odx-main-menu-item-background-color-active);
54
+ }
55
+ }
@@ -0,0 +1,139 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/utils';
5
+ @use '../abstract/typography';
6
+ @use '../abstract/motion';
7
+ @use 'button.component';
8
+ @use 'main-menu-button.component';
9
+ @use 'main-menu-item.component';
10
+
11
+ :root {
12
+ --odx-main-menu-max-width: 100dvw;
13
+ --odx-main-menu-background-color: var(--odx-c-primary);
14
+ --odx-main-menu-text-color: var(--odx-c-primary-text);
15
+ --odx-main-menu-highlight-color: var(--odx-c-highlight);
16
+
17
+ @include breakpoints.up(phone) {
18
+ --odx-main-menu-max-width: min(100dvw, 384px);
19
+ }
20
+ }
21
+
22
+ @include utils.theme-selector(dark) {
23
+ --odx-main-menu-background-color: var(--blue-800);
24
+ --odx-main-menu-text-color: var(--black);
25
+ --odx-main-menu-highlight-color: var(--cyan-500);
26
+ }
27
+
28
+ .odx-main-menu {
29
+ --odx-area-header-title-color: var(--odx-main-menu-text-color);
30
+ --odx-area-header-subtitle-color: var(--odx-main-menu-text-color);
31
+
32
+ &__inner {
33
+ @include motion.transition(transform);
34
+
35
+ background-color: var(--odx-main-menu-background-color);
36
+ box-shadow: var(--odx-v-box-shadow-layer-1);
37
+ color: var(--odx-main-menu-text-color);
38
+ display: grid;
39
+ grid-template-rows: auto auto 1fr auto auto;
40
+ height: 100%;
41
+ max-height: 100dvh;
42
+ max-width: var(--odx-main-menu-max-width);
43
+ transform: translateX(-100%);
44
+ transition-behavior: allow-discrete;
45
+ width: 100%;
46
+ z-index: var(--odx-v-layer-6);
47
+
48
+ &::backdrop {
49
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
50
+ background-color: var(--odx-c-backdrop);
51
+ }
52
+
53
+ &:popover-open {
54
+ transform: translateX(0);
55
+ }
56
+ }
57
+
58
+ @starting-style {
59
+ &__inner:popover-open {
60
+ transform: translateX(-100%);
61
+ }
62
+ }
63
+
64
+ &__actions {
65
+ @include dimensions.height(2);
66
+ @include dimensions.margin-x(0.5);
67
+ }
68
+
69
+ &__header,
70
+ &__footer {
71
+ max-width: inherit;
72
+ }
73
+
74
+ &__close {
75
+ @extend .odx-button--ghost;
76
+
77
+ align-self: flex-start;
78
+ color: inherit;
79
+ }
80
+
81
+ &__content {
82
+ --odx-v-scrollbar-thumb-color: var(--blue-400);
83
+ --odx-v-scrollbar-thumb-color-hover: var(--blue-500);
84
+
85
+ @include dimensions.padding-x(0.5);
86
+ @include dimensions.margin(1, top);
87
+
88
+ display: flex;
89
+ flex-direction: column;
90
+ max-width: calc(var(--odx-main-menu-max-width) + dimensions.get-size(2));
91
+ min-height: dimensions.get-size(5);
92
+ overflow: auto;
93
+
94
+ > * {
95
+ flex: 0 0 auto;
96
+ }
97
+ }
98
+
99
+ &__info {
100
+ @extend .odx-text;
101
+ @include dimensions.padding-x(1);
102
+ @include dimensions.padding-y(0.5);
103
+
104
+ column-gap: dimensions.get-size(1);
105
+ display: flex;
106
+ flex-wrap: wrap;
107
+
108
+ @include breakpoints.up(tablet) {
109
+ @include dimensions.padding-y(1);
110
+ }
111
+ }
112
+
113
+ &__footer {
114
+ @include dimensions.line-height(1);
115
+ @include dimensions.padding-x(1);
116
+ @include dimensions.padding(math.div(16, 24), top);
117
+ @include dimensions.padding(math.div(32, 24), bottom);
118
+ @include utils.center-content();
119
+
120
+ display: grid;
121
+ gap: dimensions.get-size(0.5);
122
+ grid-template-columns: 1fr auto;
123
+ user-select: none;
124
+
125
+ > .odx-text {
126
+ @include dimensions.line-height(math.div(12, 24));
127
+
128
+ opacity: 0.3;
129
+ word-wrap: break-word;
130
+ }
131
+ }
132
+
133
+ .odx-link {
134
+ &:visited,
135
+ &:hover {
136
+ color: var(--odx-c-link);
137
+ }
138
+ }
139
+ }