@odx/ui 1.0.0-rc.2 → 1.0.0-rc.20
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.
- package/323d385340fb9fee6450.svg +6 -0
- package/README.md +4 -4
- package/core-icons.css +43 -0
- package/core-icons.woff2 +0 -0
- package/core-theme.css +1 -1
- package/package.json +2 -1
- package/scss/abstract/_breakpoints.scss +9 -3
- package/scss/abstract/_dimensions.scss +2 -1
- package/scss/abstract/_motion.scss +3 -1
- package/scss/abstract/_utils.scss +18 -8
- package/scss/assets/fonts/PangeaText-MediumWeb.woff2 +0 -0
- package/scss/assets/fonts/PangeaText-RegularWeb.woff2 +0 -0
- package/scss/assets/fonts/PangeaText-SemiBoldWeb.woff2 +0 -0
- package/scss/assets/images/logo.svg +6 -0
- package/scss/cdk/active-indicator.scss +25 -0
- package/scss/cdk/connected-overlay.scss +36 -0
- package/scss/components/accordion-item.component.scss +5 -8
- package/scss/components/action-group.component.scss +3 -3
- package/scss/components/area-header.component.scss +15 -23
- package/scss/components/avatar.component.scss +5 -0
- package/scss/components/badge.component.scss +5 -14
- package/scss/components/bar.component.scss +86 -0
- package/scss/components/breadcrumbs.component.scss +26 -0
- package/scss/components/button-group.component.scss +9 -5
- package/scss/components/button.component.scss +8 -2
- package/scss/components/checkbox.component.scss +2 -1
- package/scss/components/chip.component.scss +52 -0
- package/scss/components/circular-progress.component.scss +75 -0
- package/scss/components/content-box.component.scss +20 -16
- package/scss/components/dropdown.component.scss +28 -0
- package/scss/components/form-field.component.scss +40 -8
- package/scss/components/header.component.scss +10 -4
- package/scss/components/icon.component.scss +1 -1
- package/scss/components/inline-message.component.scss +33 -0
- package/scss/components/launch-tile.component.scss +119 -0
- package/scss/components/list-item.component.scss +107 -0
- package/scss/components/list.component.scss +3 -0
- package/scss/components/loading-spinner.component.scss +54 -0
- package/scss/components/main-menu-item.component.scss +2 -1
- package/scss/components/main-menu.component.scss +4 -2
- package/scss/components/menu.component.scss +50 -0
- package/scss/components/modal.component.scss +78 -9
- package/scss/components/progress.component.scss +41 -0
- package/scss/components/radio-button.component.scss +1 -1
- package/scss/components/rail-navigation-item.component.scss +60 -0
- package/scss/components/rail-navigation.component.scss +32 -0
- package/scss/components/select.component.scss +103 -0
- package/scss/components/slider.component.scss +131 -0
- package/scss/components/spinbox.component.scss +124 -0
- package/scss/components/switch.component.scss +4 -4
- package/scss/components/tab-bar-item.component.scss +53 -0
- package/scss/components/tab-bar.component.scss +124 -0
- package/scss/components/toast-item.component.scss +79 -0
- package/scss/components/toast.component.scss +33 -0
- package/scss/components/toggle-button-group.component.scss +43 -4
- package/scss/components/toggle-button.component.scss +51 -29
- package/scss/components/tooltip.component.scss +34 -0
- package/scss/core.scss +32 -10
- package/scss/layout/_base.scss +6 -0
- package/scss/layout/_content.scss +25 -0
- package/scss/layout/_description-list.scss +30 -0
- package/scss/layout/_helpers.scss +6 -16
- package/scss/layout/_layout.scss +4 -0
- package/scss/layout/_text-list.scss +18 -0
- package/scss/layout/_typography.scss +23 -26
- package/scss/reset.scss +5 -0
- package/scss/variables/_color-palettes.scss +3 -2
- package/scss/variables/_colors.scss +9 -1
- package/scss/variables/_controls.scss +11 -2
- package/scss/variables/_typography.scss +2 -2
- package/scss/variables/_visuals.scss +7 -5
package/package.json
CHANGED
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
@use 'sass:list';
|
|
3
3
|
@use 'sass:map';
|
|
4
4
|
|
|
5
|
-
$breakpoints: (
|
|
5
|
+
$breakpoints: (
|
|
6
|
+
'phone-s': 360px,
|
|
7
|
+
'phone': 480px,
|
|
8
|
+
'tablet': 768px,
|
|
9
|
+
'desktop-s': 960px,
|
|
10
|
+
'desktop': 1200px,
|
|
11
|
+
) !default;
|
|
6
12
|
|
|
7
13
|
@function get-breakpoint-names() {
|
|
8
14
|
@return map.keys($breakpoints);
|
|
@@ -10,7 +16,7 @@ $breakpoints: () !default;
|
|
|
10
16
|
|
|
11
17
|
@function _get-value($breakpoint) {
|
|
12
18
|
@if $breakpoint and not map.has-key($breakpoints, $breakpoint) {
|
|
13
|
-
@error "Invalid breakpoint, `#{$breakpoint}` doesn't exist.
|
|
19
|
+
@error "Invalid breakpoint, `#{$breakpoint}` doesn't exist.";
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
@return map.get($breakpoints, $breakpoint);
|
|
@@ -18,7 +24,7 @@ $breakpoints: () !default;
|
|
|
18
24
|
|
|
19
25
|
@function _get-next-value($breakpoint) {
|
|
20
26
|
@if $breakpoint and not map.has-key($breakpoints, $breakpoint) {
|
|
21
|
-
@error "Invalid breakpoint, `#{$breakpoint}` doesn't exist.
|
|
27
|
+
@error "Invalid breakpoint, `#{$breakpoint}` doesn't exist.";
|
|
22
28
|
}
|
|
23
29
|
|
|
24
30
|
$keys: get-breakpoint-names();
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
@use 'sass:list';
|
|
2
|
+
|
|
1
3
|
@mixin transition($properties, $duration: var(--odx-v-transition-duration), $delay: 0ms) {
|
|
2
4
|
$props: ();
|
|
3
5
|
|
|
4
6
|
@each $prop in $properties {
|
|
5
|
-
$props: append($props, $prop, comma);
|
|
7
|
+
$props: list.append($props, $prop, comma);
|
|
6
8
|
}
|
|
7
9
|
|
|
8
10
|
transition: all $duration $delay var(--odx-v-transition-easing-fn);
|
|
@@ -51,17 +51,22 @@
|
|
|
51
51
|
|
|
52
52
|
@mixin visually-hidden() {
|
|
53
53
|
appearance: none;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
border: 0;
|
|
55
|
+
clip: rect(0 0 0 0);
|
|
56
|
+
height: 1px;
|
|
57
|
+
left: 0;
|
|
58
|
+
margin: -1px;
|
|
59
|
+
outline: 0;
|
|
60
|
+
overflow: hidden;
|
|
58
61
|
padding: 0;
|
|
59
62
|
position: absolute;
|
|
60
|
-
|
|
63
|
+
white-space: nowrap;
|
|
64
|
+
width: 1px;
|
|
61
65
|
}
|
|
62
66
|
|
|
63
67
|
@mixin _focus-styles($with-background) {
|
|
64
68
|
outline-color: var(--odx-c-focus-outline);
|
|
69
|
+
|
|
65
70
|
@if $with-background {
|
|
66
71
|
&,
|
|
67
72
|
&:hover {
|
|
@@ -91,12 +96,17 @@
|
|
|
91
96
|
}
|
|
92
97
|
|
|
93
98
|
@mixin with-outline {
|
|
94
|
-
outline: var(--odx-v-outline);
|
|
95
|
-
outline-offset: var(--odx-v-outline-
|
|
99
|
+
outline: var(--odx-v-outline-width) solid transparent;
|
|
100
|
+
outline-offset: calc(-1 * var(--odx-v-outline-width));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@mixin with-outline-bold {
|
|
104
|
+
outline-offset: calc(-1 * var(--odx-v-outline-width-bold));
|
|
105
|
+
outline-width: var(--odx-v-outline-width-bold);
|
|
96
106
|
}
|
|
97
107
|
|
|
98
108
|
@mixin interactive($with-background: true, $focus-within: false) {
|
|
99
|
-
@include with-outline;
|
|
109
|
+
@include with-outline();
|
|
100
110
|
@include focus-state($with-background, $focus-within);
|
|
101
111
|
|
|
102
112
|
cursor: pointer;
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74 29">
|
|
2
|
+
<path
|
|
3
|
+
fill="#000000"
|
|
4
|
+
d="M29.717 2.887c0 1.4-1.127 2.535-2.512 2.535a2.522 2.522 0 0 1-2.514-2.533c0-1.4 1.124-2.534 2.514-2.534a2.523 2.523 0 0 1 2.512 2.532ZM9.827.848H0v2.554h7.779c.903 0 1.635.732 1.644 1.637v14.62a1.65 1.65 0 0 1-1.644 1.64H4.823l.001-15.516H0v18.174h9.827c2.303 0 4.17-1.868 4.192-4.187V5.036C13.998 2.717 12.13.848 9.827.848Zm13.968 6.18c-2.705-.01-4.327.186-5.537.464-1.649.414-2.318.972-2.638 1.24a2.134 2.134 0 0 1-.145.114v15.111h4.596V11.452c-.027-1.55 2.264-2.062 3.722-.984l.002-3.44Zm42.037 1.694c.324-.269.992-.823 2.634-1.235 1.205-.275 2.833-.475 5.534-.464v3.44c-1.457-1.079-3.75-.566-3.726.984v12.509h-4.593V8.84c.04-.028.09-.068.15-.12ZM31.507 21.278h-2.135c-.987.018-1.716-.705-1.737-1.76a37.415 37.415 0 0 1 0-1.91c.014-.968.75-1.743 1.737-1.73h2.135v5.4Zm.679-14.253h-7.447v3.438s2.625-.894 4.448-.894c2.222 0 2.34 1.13 2.322 1.635v2.022h-4.484c-2.048 0-3.709 1.67-3.718 3.734v3.246c0 2.07 1.665 3.75 3.718 3.75h9.077v-13.01c-.015-2.318-1.883-3.92-3.916-3.92Zm1.074-1.604a2.521 2.521 0 0 0 2.512-2.534A2.52 2.52 0 0 0 33.26.355a2.522 2.522 0 0 0-2.513 2.532 2.523 2.523 0 0 0 2.513 2.534ZM43.7 9.605c-1.776 0-1.974 1.253-1.974 1.975v1.67c0 .725.198 1.976 1.974 1.974 1.778-.001 1.975-1.25 1.975-1.975v-1.67c0-.722-.197-1.974-1.975-1.974Zm2.281 8.092H41.33c-2.038.01-3.916-1.604-3.914-3.919V10.98C37.405 8.927 39 7.014 41.3 7.025h8.566v6.72c.004 2.05-1.601 3.96-3.884 3.952Zm-.117 6.877c0 .719-.21 1.971-2.084 1.971-1.869 0-2.078-1.252-2.078-1.97v-1.673c0-.723.21-1.977 2.078-1.977 1.875 0 2.084 1.255 2.084 1.977v1.672Zm.473-6.234-5.21.002c-2.29-.003-3.892 1.868-3.885 3.92v2.785c-.005 2.305 1.88 3.956 3.917 3.953h5.204c2.288 0 3.902-1.915 3.89-3.953v-2.785a3.916 3.916 0 0 0-3.916-3.922Zm9.41-3.326h3.946v-3.449c0-.723-.253-1.975-1.972-1.975-1.722 0-1.973 1.252-1.973 1.975v3.449Zm-.59-7.99 5.173-.001c2.03 0 3.926 1.602 3.923 3.92v6.699h-8.417v2.072c.008.906.696 1.66 2.522 1.66 2.81.005 5.761-.846 5.761-.846v3.428h-8.76c-2.233.004-4.123-1.6-4.118-3.918v-9.093c0-2.33 1.879-3.93 3.916-3.921Z"
|
|
5
|
+
/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
@use '../abstract/motion';
|
|
2
|
+
|
|
3
|
+
.odx-cdk-active-indicator {
|
|
4
|
+
@include motion.transition(all);
|
|
5
|
+
|
|
6
|
+
opacity: 0;
|
|
7
|
+
pointer-events: none;
|
|
8
|
+
position: absolute;
|
|
9
|
+
transform-origin: 0 0;
|
|
10
|
+
z-index: 0;
|
|
11
|
+
|
|
12
|
+
&--horizontal {
|
|
13
|
+
left: 0;
|
|
14
|
+
width: 0;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&--vertical {
|
|
18
|
+
height: 0;
|
|
19
|
+
top: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&--is-active {
|
|
23
|
+
opacity: 1;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
@use '../abstract/dimensions';
|
|
3
|
+
@use '../abstract/motion';
|
|
4
|
+
@use '../abstract/typography';
|
|
5
|
+
@use '../abstract/utils';
|
|
6
|
+
|
|
7
|
+
.odx-cdk-connected-overlay {
|
|
8
|
+
@include motion.transition(opacity visibility);
|
|
9
|
+
|
|
10
|
+
display: block;
|
|
11
|
+
position: fixed;
|
|
12
|
+
z-index: 1337;
|
|
13
|
+
|
|
14
|
+
&.is-hidden {
|
|
15
|
+
opacity: 0;
|
|
16
|
+
visibility: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&__content {
|
|
20
|
+
left: 0 !important;
|
|
21
|
+
position: relative !important;
|
|
22
|
+
top: 0 !important;
|
|
23
|
+
|
|
24
|
+
> * {
|
|
25
|
+
max-height: inherit;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.odx-cdk-connected-overlay-arrow {
|
|
31
|
+
height: dimensions.get-size(0.5);
|
|
32
|
+
position: fixed;
|
|
33
|
+
transform: rotate(45deg);
|
|
34
|
+
width: dimensions.get-size(0.5);
|
|
35
|
+
z-index: 0;
|
|
36
|
+
}
|
|
@@ -7,17 +7,15 @@
|
|
|
7
7
|
.odx-accordion-item {
|
|
8
8
|
$root: &;
|
|
9
9
|
|
|
10
|
-
@include
|
|
10
|
+
@include motion.transition(color);
|
|
11
|
+
@include dimensions.padding(math.div(6, 24), top);
|
|
12
|
+
@include dimensions.padding(math.div(5, 24), bottom);
|
|
11
13
|
|
|
12
14
|
border-bottom: 1px solid var(--odx-input-control-outline-color);
|
|
13
15
|
display: block;
|
|
14
16
|
|
|
15
|
-
&:not(:last-child) {
|
|
16
|
-
@include dimensions.margin(1, 'bottom');
|
|
17
|
-
}
|
|
18
|
-
|
|
19
17
|
&__panel {
|
|
20
|
-
@include dimensions.padding-x(math.div(
|
|
18
|
+
@include dimensions.padding-x(math.div(8, 24));
|
|
21
19
|
@include dimensions.line-height(1.5, 1);
|
|
22
20
|
@include motion.transition(background-color outline-color);
|
|
23
21
|
@include utils.interactive(true);
|
|
@@ -46,8 +44,7 @@
|
|
|
46
44
|
}
|
|
47
45
|
|
|
48
46
|
&__slot {
|
|
49
|
-
@include dimensions.padding
|
|
50
|
-
@include dimensions.padding-y(math.div(8, 24));
|
|
47
|
+
@include dimensions.padding(math.div(8, 24));
|
|
51
48
|
|
|
52
49
|
overflow: hidden;
|
|
53
50
|
}
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
flex-direction: row-reverse;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
> .odx-button:not(.odx-button--success, .odx-button--danger, .odx-button--confirmation) {
|
|
15
|
+
> .odx-button:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in) {
|
|
16
16
|
/* stylelint-disable-next-line scss/at-extend-no-missing-placeholder */
|
|
17
17
|
@extend .odx-button--ghost;
|
|
18
18
|
|
|
19
|
-
color: var(--odx-c-
|
|
19
|
+
color: var(--odx-c-text);
|
|
20
20
|
|
|
21
21
|
&:hover {
|
|
22
|
-
color: var(--odx-c-
|
|
22
|
+
color: var(--odx-c-text);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
&:focus-visible {
|
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.odx-area-header {
|
|
15
|
-
@include dimensions.padding-x(
|
|
15
|
+
@include dimensions.padding-x(0.5);
|
|
16
|
+
|
|
17
|
+
@include breakpoints.up(phone) {
|
|
18
|
+
@include dimensions.padding-x(1);
|
|
19
|
+
}
|
|
16
20
|
|
|
17
21
|
&,
|
|
18
22
|
&__container {
|
|
@@ -24,13 +28,6 @@
|
|
|
24
28
|
flex: 0 0 auto;
|
|
25
29
|
}
|
|
26
30
|
|
|
27
|
-
&__container,
|
|
28
|
-
&__inner,
|
|
29
|
-
&__title,
|
|
30
|
-
&__subtitle {
|
|
31
|
-
@include typography.prevent-text-overflow();
|
|
32
|
-
}
|
|
33
|
-
|
|
34
31
|
&__title,
|
|
35
32
|
&__subtitle {
|
|
36
33
|
display: block;
|
|
@@ -39,23 +36,26 @@
|
|
|
39
36
|
&__container {
|
|
40
37
|
display: flex;
|
|
41
38
|
flex: 1 1 auto;
|
|
39
|
+
overflow: hidden;
|
|
42
40
|
}
|
|
43
41
|
|
|
44
42
|
&__inner {
|
|
45
43
|
align-self: center;
|
|
46
44
|
flex: 1 1 auto;
|
|
45
|
+
overflow: hidden;
|
|
47
46
|
}
|
|
48
47
|
|
|
49
48
|
&__title {
|
|
50
49
|
@extend .odx-title;
|
|
51
|
-
@extend .odx-title
|
|
50
|
+
@extend .odx-title-6;
|
|
52
51
|
|
|
53
52
|
color: var(--odx-area-header-title-color);
|
|
54
53
|
}
|
|
55
54
|
|
|
56
55
|
&__subtitle {
|
|
56
|
+
@include typography.prevent-text-overflow();
|
|
57
57
|
@extend .odx-subtitle;
|
|
58
|
-
@extend .odx-
|
|
58
|
+
@extend .odx-subtitle-6;
|
|
59
59
|
|
|
60
60
|
color: var(--odx-area-header-subtitle-color);
|
|
61
61
|
}
|
|
@@ -74,10 +74,6 @@
|
|
|
74
74
|
|
|
75
75
|
&--small,
|
|
76
76
|
&--medium {
|
|
77
|
-
.odx-area-header__subtitle {
|
|
78
|
-
display: none;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
77
|
.odx-avatar {
|
|
82
78
|
@extend .odx-avatar--small;
|
|
83
79
|
}
|
|
@@ -101,19 +97,15 @@
|
|
|
101
97
|
}
|
|
102
98
|
|
|
103
99
|
.odx-area-header__title {
|
|
104
|
-
@extend .odx-title
|
|
100
|
+
@extend .odx-title-5;
|
|
105
101
|
}
|
|
106
102
|
}
|
|
107
103
|
|
|
108
104
|
&--large {
|
|
109
|
-
@include dimensions.padding-y(0.
|
|
110
|
-
|
|
111
|
-
@include breakpoints.up(tablet) {
|
|
112
|
-
@include dimensions.padding-y(0.5);
|
|
113
|
-
}
|
|
105
|
+
@include dimensions.padding-y(0.5);
|
|
114
106
|
|
|
115
107
|
.odx-area-header__title {
|
|
116
|
-
@extend .odx-title
|
|
108
|
+
@extend .odx-title-4;
|
|
117
109
|
|
|
118
110
|
@include breakpoints.down(tablet) {
|
|
119
111
|
@include dimensions.line-height(1);
|
|
@@ -139,11 +131,11 @@
|
|
|
139
131
|
}
|
|
140
132
|
|
|
141
133
|
.odx-area-header__title {
|
|
142
|
-
@extend .odx-title
|
|
134
|
+
@extend .odx-title-2;
|
|
143
135
|
}
|
|
144
136
|
|
|
145
137
|
.odx-area-header__subtitle {
|
|
146
|
-
@extend .odx-
|
|
138
|
+
@extend .odx-subtitle-5;
|
|
147
139
|
}
|
|
148
140
|
|
|
149
141
|
.odx-avatar {
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
border-radius: 50%;
|
|
26
26
|
color: var(--odx-c-text);
|
|
27
27
|
position: relative;
|
|
28
|
+
user-select: none;
|
|
28
29
|
vertical-align: middle;
|
|
29
30
|
|
|
30
31
|
&--small {
|
|
@@ -47,6 +48,10 @@
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
|
|
51
|
+
&--rectangle {
|
|
52
|
+
border-radius: var(--odx-v-border-radius-controls);
|
|
53
|
+
}
|
|
54
|
+
|
|
50
55
|
img {
|
|
51
56
|
height: 100%;
|
|
52
57
|
left: 0;
|
|
@@ -18,25 +18,11 @@
|
|
|
18
18
|
|
|
19
19
|
border-radius: $badge-size;
|
|
20
20
|
height: $badge-size;
|
|
21
|
-
left: 0;
|
|
22
21
|
min-width: $badge-size;
|
|
23
22
|
outline: 1px solid transparent;
|
|
24
|
-
top: 0;
|
|
25
23
|
vertical-align: middle;
|
|
26
24
|
z-index: 9999;
|
|
27
25
|
|
|
28
|
-
&::before {
|
|
29
|
-
content: attr(data-value);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&[data-value='0'] {
|
|
33
|
-
display: none;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
&[data-value^='-']::before {
|
|
37
|
-
content: '';
|
|
38
|
-
}
|
|
39
|
-
|
|
40
26
|
&,
|
|
41
27
|
&--highlight {
|
|
42
28
|
background-color: var(--odx-c-highlight);
|
|
@@ -56,4 +42,9 @@
|
|
|
56
42
|
&--contrast {
|
|
57
43
|
outline-color: var(--odx-badge-contrast-color);
|
|
58
44
|
}
|
|
45
|
+
|
|
46
|
+
.odx-badge-overlay > & {
|
|
47
|
+
display: flex;
|
|
48
|
+
margin: calc(#{$badge-size} / -2);
|
|
49
|
+
}
|
|
59
50
|
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
@use '../abstract/dimensions';
|
|
3
|
+
@use '../abstract/utils';
|
|
4
|
+
@use '../abstract/typography';
|
|
5
|
+
@use '../abstract/motion';
|
|
6
|
+
@use './dropdown.component' as dropdown;
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
--odx-bar-background-color: var(--cyan-500);
|
|
10
|
+
--odx-bar-background-color-hover: var(--cyan-600);
|
|
11
|
+
--odx-bar-background-color-active: var(--cyan-700);
|
|
12
|
+
--odx-bar-text-color: var(--white);
|
|
13
|
+
--odx-bar-text-color-disabled: var(--cyan-700);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.odx-bar {
|
|
17
|
+
@include dimensions.padding-x(math.div(12, 24));
|
|
18
|
+
@include dimensions.padding-y(math.div(6, 24));
|
|
19
|
+
|
|
20
|
+
align-items: center;
|
|
21
|
+
background-color: var(--odx-bar-background-color);
|
|
22
|
+
border-radius: dimensions.get-size(math.div(6, 24));
|
|
23
|
+
box-shadow: 0 2px 6px rgb(0 25 66 / 50%);
|
|
24
|
+
color: var(--odx-bar-text-color);
|
|
25
|
+
display: inline-flex;
|
|
26
|
+
gap: dimensions.get-size(math.div(12, 24));
|
|
27
|
+
width: max-content;
|
|
28
|
+
|
|
29
|
+
&-button {
|
|
30
|
+
$button: &;
|
|
31
|
+
|
|
32
|
+
@include motion.transition(background-color color outline);
|
|
33
|
+
@include utils.with-outline-bold();
|
|
34
|
+
|
|
35
|
+
align-items: center;
|
|
36
|
+
background-color: var(--odx-bar-background-color);
|
|
37
|
+
border-radius: var(--odx-v-border-radius-controls);
|
|
38
|
+
display: inline-flex;
|
|
39
|
+
font-size: dimensions.get-size(math.div(4, 3));
|
|
40
|
+
height: dimensions.get-size(math.div(36, 24));
|
|
41
|
+
outline-color: transparent;
|
|
42
|
+
outline-style: solid;
|
|
43
|
+
|
|
44
|
+
&:hover {
|
|
45
|
+
background-color: var(--odx-bar-background-color-hover);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&#{dropdown.$dropdown-open-selector},
|
|
49
|
+
&:active {
|
|
50
|
+
background-color: var(--odx-bar-background-color-active);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&:focus-visible {
|
|
54
|
+
outline-color: var(--odx-bar-background-color-active);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&--default {
|
|
58
|
+
@include dimensions.padding-x(math.div(28, 24));
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&--small {
|
|
62
|
+
@include dimensions.padding-x(math.div(2, 24));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
&.is-disabled {
|
|
66
|
+
@include utils.non-interactive();
|
|
67
|
+
|
|
68
|
+
color: var(--odx-bar-text-color-disabled);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
&-label {
|
|
73
|
+
display: inline;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.odx-bar-parent & {
|
|
77
|
+
bottom: dimensions.get-size(math.div(16, 24));
|
|
78
|
+
left: 50%;
|
|
79
|
+
position: absolute;
|
|
80
|
+
transform: translateX(-50%);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.odx-bar-parent {
|
|
85
|
+
position: relative;
|
|
86
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
@use '../abstract/dimensions';
|
|
3
|
+
@use '../abstract/utils';
|
|
4
|
+
@use '../abstract/typography';
|
|
5
|
+
|
|
6
|
+
.odx-breadcrumbs {
|
|
7
|
+
@include dimensions.padding-x(1);
|
|
8
|
+
@include dimensions.padding-y(math.div(12, 24));
|
|
9
|
+
@include utils.vertical-center-content();
|
|
10
|
+
|
|
11
|
+
flex-wrap: wrap;
|
|
12
|
+
gap: dimensions.get-size(math.div(8, 24));
|
|
13
|
+
|
|
14
|
+
.odx-link {
|
|
15
|
+
&:last-child {
|
|
16
|
+
@include typography.font-weight(bold);
|
|
17
|
+
|
|
18
|
+
color: var(--odx-c-text);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.odx-icon {
|
|
23
|
+
color: var(--gray-500);
|
|
24
|
+
font-size: dimensions.get-size(math.div(12, 24));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
@mixin buttons-radius($vertical: false, $reversed: false) {
|
|
5
5
|
$start: 'first';
|
|
6
6
|
$end: 'last';
|
|
7
|
+
|
|
7
8
|
@if $reversed {
|
|
8
9
|
$start: 'last';
|
|
9
10
|
$end: 'first';
|
|
@@ -66,11 +67,11 @@
|
|
|
66
67
|
justify-content: flex-start;
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
&:not(#{&}--vertical, #{&}--reverse) .odx-button {
|
|
70
|
+
&:not(#{&}--vertical, #{&}--reverse) > .odx-button {
|
|
70
71
|
@include buttons-radius();
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
&:not(#{&}--vertical)#{&}--reverse .odx-button {
|
|
74
|
+
&:not(#{&}--vertical)#{&}--reverse > .odx-button {
|
|
74
75
|
@include buttons-radius(false, true);
|
|
75
76
|
}
|
|
76
77
|
|
|
@@ -79,19 +80,22 @@
|
|
|
79
80
|
|
|
80
81
|
flex-direction: column;
|
|
81
82
|
|
|
82
|
-
.odx-button {
|
|
83
|
+
> .odx-button {
|
|
83
84
|
@include dimensions.height(math.div(35, 24));
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
|
|
87
88
|
&:not(#{&}--reverse)#{&}--vertical {
|
|
88
|
-
.odx-button {
|
|
89
|
+
> .odx-button {
|
|
89
90
|
@include buttons-radius(true);
|
|
90
91
|
}
|
|
91
92
|
}
|
|
92
93
|
|
|
93
94
|
&#{&}--reverse#{&}--vertical {
|
|
94
|
-
|
|
95
|
+
display: inline-flex;
|
|
96
|
+
flex-direction: column-reverse;
|
|
97
|
+
|
|
98
|
+
> .odx-button {
|
|
95
99
|
@include buttons-radius(true, true);
|
|
96
100
|
}
|
|
97
101
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
@use '../abstract/typography';
|
|
5
5
|
@use '../abstract/utils';
|
|
6
6
|
@use 'avatar.component' as avatar;
|
|
7
|
+
@use 'dropdown.component' as dropdown;
|
|
7
8
|
@use 'icon.component';
|
|
8
9
|
|
|
9
10
|
.odx-button {
|
|
@@ -19,6 +20,7 @@
|
|
|
19
20
|
@include typography.font-weight(medium);
|
|
20
21
|
@include utils.center-content(true);
|
|
21
22
|
@include utils.interactive($with-background: false);
|
|
23
|
+
@include utils.with-outline-bold();
|
|
22
24
|
|
|
23
25
|
border-radius: var(--odx-v-border-radius-controls);
|
|
24
26
|
min-width: dimensions.get-size(1.5);
|
|
@@ -41,7 +43,7 @@
|
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
> .odx-avatar {
|
|
44
|
-
@include avatar.avatar-size(1.5, math.div(32, 24),
|
|
46
|
+
@include avatar.avatar-size(1.5, math.div(32, 24), -1, 1);
|
|
45
47
|
@include dimensions.margin-x(-2 * $icon-margin);
|
|
46
48
|
}
|
|
47
49
|
|
|
@@ -58,6 +60,7 @@
|
|
|
58
60
|
background-color: var(--odx-c-#{$variant}-hover);
|
|
59
61
|
}
|
|
60
62
|
|
|
63
|
+
&#{dropdown.$dropdown-open-selector},
|
|
61
64
|
&:active {
|
|
62
65
|
background-color: var(--odx-c-#{$variant}-active);
|
|
63
66
|
}
|
|
@@ -71,9 +74,10 @@
|
|
|
71
74
|
}
|
|
72
75
|
|
|
73
76
|
&--ghost {
|
|
77
|
+
@include utils.with-outline();
|
|
78
|
+
|
|
74
79
|
background-color: transparent;
|
|
75
80
|
color: var(--odx-c-link);
|
|
76
|
-
outline-width: 1px;
|
|
77
81
|
|
|
78
82
|
&:hover {
|
|
79
83
|
background-color: var(--blue-700-5);
|
|
@@ -84,6 +88,7 @@
|
|
|
84
88
|
color: var(--odx-c-link-active);
|
|
85
89
|
}
|
|
86
90
|
|
|
91
|
+
&#{dropdown.$dropdown-open-selector},
|
|
87
92
|
&:focus-visible,
|
|
88
93
|
&:active {
|
|
89
94
|
background-color: var(--odx-c-focus);
|
|
@@ -98,6 +103,7 @@
|
|
|
98
103
|
|
|
99
104
|
&--small {
|
|
100
105
|
$icon-margin: math.div(1, 8);
|
|
106
|
+
|
|
101
107
|
@include dimensions.height(1);
|
|
102
108
|
@include dimensions.padding-x(2 * $icon-margin);
|
|
103
109
|
@include typography.font-size(-1);
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
display: inline-block;
|
|
13
13
|
|
|
14
14
|
&.is-disabled {
|
|
15
|
-
color: var(--odx-
|
|
15
|
+
color: var(--odx-control-color-disabled);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
&.is-readonly {
|
|
@@ -57,6 +57,7 @@
|
|
|
57
57
|
|
|
58
58
|
> .odx-icon {
|
|
59
59
|
$checkmark-size: math.div(18, 24);
|
|
60
|
+
|
|
60
61
|
@include dimensions.container($checkmark-size);
|
|
61
62
|
@include motion.transition(opacity);
|
|
62
63
|
|