@odx/ui 1.0.0-rc.7 → 1.0.0-rc.9

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 (40) hide show
  1. package/README.md +1 -1
  2. package/core-theme.css +1 -1
  3. package/package.json +1 -1
  4. package/scss/abstract/_dimensions.scss +2 -1
  5. package/scss/abstract/_motion.scss +3 -1
  6. package/scss/abstract/_utils.scss +2 -1
  7. package/scss/components/action-group.component.scss +2 -2
  8. package/scss/components/avatar.component.scss +1 -0
  9. package/scss/components/bar.component.scss +86 -0
  10. package/scss/components/breadcrumbs.component.scss +26 -0
  11. package/scss/components/button-group.component.scss +1 -0
  12. package/scss/components/button.component.scss +6 -2
  13. package/scss/components/checkbox.component.scss +1 -0
  14. package/scss/components/chip.component.scss +1 -0
  15. package/scss/components/content-box.component.scss +20 -16
  16. package/scss/components/dropdown.component.scss +9 -1
  17. package/scss/components/form-field.component.scss +1 -1
  18. package/scss/components/icon.component.scss +1 -1
  19. package/scss/components/launch-tile.component.scss +118 -0
  20. package/scss/components/list-item.component.scss +2 -1
  21. package/scss/components/main-menu.component.scss +1 -1
  22. package/scss/components/menu-item.component.scss +8 -0
  23. package/scss/components/menu.component.scss +16 -0
  24. package/scss/components/modal.component.scss +47 -4
  25. package/scss/components/select.component.scss +0 -4
  26. package/scss/components/slider.component.scss +1 -0
  27. package/scss/components/switch.component.scss +2 -1
  28. package/scss/components/tab-bar-item.component.scss +53 -0
  29. package/scss/components/tab-bar.component.scss +124 -0
  30. package/scss/components/toast-item.component.scss +79 -0
  31. package/scss/components/toast.component.scss +33 -0
  32. package/scss/components/toggle-button-group.component.scss +3 -2
  33. package/scss/core.scss +14 -5
  34. package/scss/layout/_description-list.scss +2 -1
  35. package/scss/layout/_helpers.scss +6 -0
  36. package/scss/layout/_typography.scss +6 -4
  37. package/scss/reset.scss +1 -0
  38. package/scss/variables/_colors.scss +1 -1
  39. package/scss/variables/_typography.scss +1 -1
  40. package/scss/variables/_visuals.scss +3 -1
@@ -0,0 +1,53 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/typography';
5
+ @use '../abstract//utils';
6
+
7
+ .odx-tab-bar-item {
8
+ @include dimensions.height(2, math.div(32, 24));
9
+ @include dimensions.padding-x(math.div(4, 24));
10
+ @include utils.vertical-center-content();
11
+ @include utils.with-outline();
12
+ @include motion.transition(background-color outline-color);
13
+
14
+ align-items: center;
15
+ background-color: transparent;
16
+ border-radius: var(--odx-v-border-radius-controls);
17
+ cursor: pointer;
18
+ user-select: none;
19
+
20
+ &:hover {
21
+ background-color: var(--blue-700-5);
22
+ }
23
+
24
+ .odx-icon {
25
+ @include dimensions.container(1, 1);
26
+ @include dimensions.margin-x(math.div(4, 24));
27
+
28
+ font-size: dimensions.get-size(1);
29
+
30
+ &:first-child {
31
+ margin-left: 0;
32
+ }
33
+
34
+ &:last-child:not(:first-child) {
35
+ @include motion.transition(color);
36
+
37
+ margin-right: 0;
38
+
39
+ &:hover {
40
+ color: var(--odx-c-highlight);
41
+ }
42
+ }
43
+ }
44
+
45
+ &.is-disabled {
46
+ color: var(--odx-c-text-disabled);
47
+ pointer-events: none;
48
+
49
+ .odx-tab-bar-item__label {
50
+ pointer-events: none;
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,124 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/motion';
4
+ @use '../abstract/utils';
5
+
6
+ .odx-tab-bar {
7
+ $root: &;
8
+
9
+ @include dimensions.height(2);
10
+
11
+ border-bottom: 1px solid;
12
+ border-bottom-color: var(--odx-control-outline-color-hover);
13
+ display: flex;
14
+ overflow: hidden;
15
+ position: relative;
16
+
17
+ &__inner {
18
+ $gradient-start: dimensions.get-size(1);
19
+ $gradient-end: dimensions.get-size(3);
20
+ $mask-color: #000000;
21
+
22
+ display: flex;
23
+ width: 100%;
24
+
25
+ #{$root}--overflow-left & {
26
+ mask-image: linear-gradient(to right, transparent $gradient-start, $mask-color $gradient-end);
27
+ }
28
+
29
+ #{$root}--overflow-right & {
30
+ mask-image: linear-gradient(to right, $mask-color calc(100% - $gradient-end), transparent calc(100% - $gradient-start));
31
+ }
32
+
33
+ #{$root}--overflow-left#{$root}--overflow-right & {
34
+ mask-image: linear-gradient(
35
+ to right,
36
+ transparent $gradient-start,
37
+ $mask-color $gradient-end,
38
+ $mask-color calc(100% - $gradient-end),
39
+ transparent calc(100% - $gradient-start)
40
+ );
41
+ }
42
+ }
43
+
44
+ &__panel {
45
+ @include motion.transition(transform);
46
+ @include dimensions.padding-x(math.div(12, 24));
47
+
48
+ display: flex;
49
+ flex: 0 0 auto;
50
+ gap: dimensions.get-size(math.div(8, 24));
51
+ position: relative;
52
+ }
53
+
54
+ &__action {
55
+ @include dimensions.height(2);
56
+ @include motion.transition(opacity width padding);
57
+ @include utils.center-content();
58
+
59
+ background-color: transparent;
60
+ cursor: pointer;
61
+ opacity: 0;
62
+ overflow: hidden;
63
+ padding: 0;
64
+ pointer-events: none;
65
+ position: absolute;
66
+ top: 0;
67
+ user-select: none;
68
+ width: 0;
69
+ z-index: 50;
70
+
71
+ &.is-active {
72
+ @include dimensions.padding(math.div(8, 24), (right, left));
73
+
74
+ opacity: 1;
75
+ pointer-events: all;
76
+ transform: scaleX(1);
77
+ width: dimensions.get-size(1.5);
78
+ }
79
+
80
+ .odx-icon {
81
+ @include dimensions.container(1, 1);
82
+
83
+ align-items: center;
84
+ color: var(--odx-c-highlight);
85
+ display: flex;
86
+ font-size: dimensions.get-size(math.div(32, 24));
87
+ justify-content: center;
88
+ }
89
+
90
+ &--prev {
91
+ justify-content: flex-start;
92
+ left: 0;
93
+ transform-origin: center left;
94
+ }
95
+
96
+ &--next {
97
+ justify-content: flex-end;
98
+ right: 0;
99
+ transform-origin: center right;
100
+ }
101
+
102
+ &:hover {
103
+ .odx-icon {
104
+ color: var(--odx-c-highlight-hover);
105
+ }
106
+ }
107
+ }
108
+
109
+ .odx-tab-bar__indicator {
110
+ @include dimensions.margin(math.div(8, 24), left);
111
+
112
+ background-color: var(--odx-c-highlight);
113
+ bottom: 0;
114
+ height: dimensions.get-size(math.div(4, 24));
115
+ width: dimensions.get-size(2) !important;
116
+ }
117
+
118
+ &:focus-visible {
119
+ .odx-tab-bar-item.is-active {
120
+ background-color: var(--odx-c-focus);
121
+ outline-color: var(--odx-c-focus-outline);
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,79 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+ @use '../abstract/utils';
5
+
6
+ .odx-toast-item {
7
+ --odx-c-default: var(--blue-50);
8
+ --odx-c-warning: var(--yellow-50);
9
+ --odx-c-danger: var(--red-00);
10
+ --odx-c-success: var(--green-00);
11
+
12
+ $root: &;
13
+ $variants: default, warning, danger, success;
14
+ $gap: dimensions.get-size(math.div(12, 24));
15
+
16
+ box-shadow: var(--odx-v-box-shadow-layer-1);
17
+ display: block;
18
+
19
+ &__content {
20
+ display: flex;
21
+ gap: $gap;
22
+ padding: $gap;
23
+ }
24
+
25
+ &__text-content {
26
+ @include typography.font-size(-1);
27
+
28
+ flex: 1;
29
+ }
30
+
31
+ &__title {
32
+ @include typography.prevent-text-overflow();
33
+
34
+ font-weight: var(--odx-typography-font-weight-bold);
35
+ }
36
+
37
+ &__description {
38
+ max-height: dimensions.get-size(5);
39
+ overflow: auto;
40
+ }
41
+
42
+ &__close {
43
+ @include utils.interactive(true);
44
+
45
+ background-color: transparent;
46
+ margin: 0;
47
+ margin-right: calc(#{$gap} / -2);
48
+ margin-top: calc(#{$gap} / -2);
49
+
50
+ &:hover {
51
+ background-color: var(--blue-700-5);
52
+ }
53
+ }
54
+
55
+ &__buttons {
56
+ display: flex;
57
+ justify-content: flex-end;
58
+ margin-top: calc(#{$gap} / -2);
59
+ padding: 0 calc(#{$gap} / 2);
60
+ }
61
+
62
+ @each $variant in $variants {
63
+ &--#{$variant} {
64
+ background-color: var(--odx-c-#{$variant});
65
+ }
66
+ }
67
+
68
+ &--danger {
69
+ --odx-c-text: var(--red-700);
70
+ --odx-v-scrollbar-thumb-color: var(--odx-c-text);
71
+ --odx-v-scrollbar-thumb-color-hover: var(--red-800);
72
+
73
+ color: var(--odx-c-text);
74
+
75
+ #{$root}__close {
76
+ color: inherit;
77
+ }
78
+ }
79
+ }
@@ -0,0 +1,33 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/breakpoints';
3
+ @use '../abstract/dimensions';
4
+ @use '../abstract/typography';
5
+
6
+ .odx-toast-container {
7
+ --odx-toast-outer-offset: #{dimensions.get-size(math.div(8, 24))};
8
+
9
+ display: flex;
10
+ flex-direction: column;
11
+ margin-top: dimensions.get-size(math.div(4, 24));
12
+ max-width: min(calc(100vw - 2 * var(--odx-toast-outer-offset)), dimensions.get-size(20));
13
+ padding-top: var(--odx-toast-outer-offset);
14
+ position: fixed;
15
+ right: var(--odx-toast-outer-offset);
16
+ top: 0;
17
+ width: 100%;
18
+ z-index: 10;
19
+
20
+ &__counter {
21
+ align-self: center;
22
+ }
23
+
24
+ .odx-toast-item {
25
+ margin-bottom: var(--odx-toast-outer-offset);
26
+ }
27
+
28
+ @include breakpoints.up(phone) {
29
+ --odx-toast-outer-offset: #{dimensions.get-size(math.div(20, 24))};
30
+
31
+ margin-top: 0;
32
+ }
33
+ }
@@ -7,11 +7,12 @@
7
7
  --odx-toggle-button-border-radius: 2px;
8
8
 
9
9
  $root: &;
10
+
10
11
  @include dimensions.height(2, 1.5);
11
12
  @include dimensions.padding-x(math.div(6, 24));
12
13
  @include motion.transition(background-color outline-color);
13
14
  @include utils.center-content(true);
14
- @include utils.with-outline;
15
+ @include utils.with-outline();
15
16
 
16
17
  border-radius: var(--odx-v-border-radius-controls);
17
18
  column-gap: dimensions.get-size(math.div(6, 24));
@@ -19,7 +20,7 @@
19
20
 
20
21
  &__indicator {
21
22
  @include dimensions.height(2, 1);
22
- @include utils.with-outline;
23
+ @include utils.with-outline();
23
24
 
24
25
  background-color: var(--odx-c-highlight);
25
26
  border-radius: var(--odx-toggle-button-border-radius);
package/scss/core.scss CHANGED
@@ -38,6 +38,8 @@ Layout
38
38
  @use 'components/area-header.component';
39
39
  @use 'components/avatar.component';
40
40
  @use 'components/badge.component';
41
+ @use 'components/bar.component';
42
+ @use 'components/breadcrumbs.component';
41
43
  @use 'components/button-group.component';
42
44
  @use 'components/button.component';
43
45
  @use 'components/checkbox.component';
@@ -49,22 +51,29 @@ Layout
49
51
  @use 'components/header.component';
50
52
  @use 'components/icon.component';
51
53
  @use 'components/inline-message.component';
54
+ @use 'components/launch-tile.component';
52
55
  @use 'components/link.component';
53
56
  @use 'components/list.component';
54
57
  @use 'components/list-item.component';
55
- @use 'components/loading-spinner.component.scss';
58
+ @use 'components/loading-spinner.component';
56
59
  @use 'components/logo.component';
57
60
  @use 'components/main-menu.component';
61
+ @use 'components/menu.component';
62
+ @use 'components/menu-item.component';
58
63
  @use 'components/modal.component';
59
64
  @use 'components/progress.component';
60
65
  @use 'components/radio-button.component';
61
66
  @use 'components/radio-group.component';
62
67
  @use 'components/rail-navigation.component';
63
68
  @use 'components/rail-navigation-item.component';
64
- @use 'components/select.component.scss';
65
- @use 'components/slider.component.scss';
66
- @use 'components/spinbox.component.scss';
67
- @use 'components/switch.component.scss';
69
+ @use 'components/select.component';
70
+ @use 'components/slider.component';
71
+ @use 'components/spinbox.component';
72
+ @use 'components/switch.component';
73
+ @use 'components/tab-bar-item.component';
74
+ @use 'components/tab-bar.component';
75
+ @use 'components/toast.component';
76
+ @use 'components/toast-item.component';
68
77
  @use 'components/toggle-button.component';
69
78
  @use 'components/toggle-button-group.component';
70
79
  @use 'components/tooltip.component';
@@ -4,6 +4,7 @@
4
4
 
5
5
  .odx-description-list {
6
6
  $gap: dimensions.get-size(math.div(8, 24));
7
+
7
8
  @include dimensions.margin-y(0.5);
8
9
 
9
10
  column-gap: $gap;
@@ -24,6 +25,6 @@
24
25
  }
25
26
 
26
27
  dd {
27
- font-weight: var(--odx-typography-font-weight-medium);
28
+ @include typography.font-weight(medium);
28
29
  }
29
30
  }
@@ -4,8 +4,13 @@
4
4
  @use '../abstract/utils';
5
5
 
6
6
  html body {
7
+ .odx-no-margin {
8
+ margin: 0;
9
+ }
10
+
7
11
  @each $size in (4, 8, 12, 16, 24, 36, 48) {
8
12
  $factor: math.div($size, 24);
13
+
9
14
  @each $direction in (top, right, bottom, left) {
10
15
  .odx-margin-#{$direction}-#{$size} {
11
16
  @include dimensions.margin($factor, $direction);
@@ -27,6 +32,7 @@ html body {
27
32
 
28
33
  @each $size in (4, 8, 12, 16, 24, 36, 48) {
29
34
  $factor: math.div($size, 24);
35
+
30
36
  @each $direction in (top, right, bottom, left) {
31
37
  .odx-padding-#{$direction}-#{$size} {
32
38
  @include dimensions.padding($factor, $direction);
@@ -1,4 +1,3 @@
1
- /* stylelint-disable block-closing-brace-newline-after */
2
1
  @use 'sass:math';
3
2
  @use '../abstract/breakpoints';
4
3
  @use '../abstract/dimensions';
@@ -25,13 +24,17 @@
25
24
  src: url('../assets/fonts/PangeaText-SemiBoldWeb.woff2') format('woff2');
26
25
  }
27
26
 
27
+ html {
28
+ font-size: 62.5%;
29
+ }
30
+
28
31
  html body {
29
32
  @include dimensions.line-height(1);
30
33
  @include typography.font-size(0);
34
+ @include typography.font-weight(normal);
31
35
 
32
36
  color: var(--odx-c-text);
33
37
  font-family: Pangea, sans-serif;
34
- font-weight: var(--odx-typography-font-weight-normal);
35
38
  }
36
39
 
37
40
  .odx-title,
@@ -97,8 +100,7 @@ html body {
97
100
 
98
101
  .odx-text {
99
102
  @include dimensions.line-height(1);
100
-
101
- font-weight: var(--odx-typography-font-weight-normal);
103
+ @include typography.font-weight(normal);
102
104
 
103
105
  &--small {
104
106
  @include dimensions.line-height(1, math.div(20, 24));
package/scss/reset.scss CHANGED
@@ -141,6 +141,7 @@ a {
141
141
  text-decoration: none;
142
142
  }
143
143
 
144
+ button,
144
145
  select,
145
146
  input,
146
147
  textarea {
@@ -27,7 +27,7 @@
27
27
  --odx-c-backdrop: var(--white-60);
28
28
  --odx-c-backdrop-dark: var(--blue-800-30);
29
29
 
30
- --odx-c-backdrop-box-shadow: var(--blue-800-30);
30
+ --odx-c-box-shadow: var(--blue-800-30);
31
31
 
32
32
  --odx-c-seperator: var(--gray-200);
33
33
 
@@ -1,7 +1,7 @@
1
1
  @use '../abstract/breakpoints';
2
2
 
3
3
  :root {
4
- --odx-typography-base-size: 16px;
4
+ --odx-typography-base-size: 1.6rem; // clamp(1.4rem, 0.667vw + 1rem, 1.6rem);
5
5
  --odx-typography-base-line-height: 1.5;
6
6
  --odx-typography-font-weight-normal: normal;
7
7
  --odx-typography-font-weight-normal-letter-spacing: 0;
@@ -3,7 +3,9 @@
3
3
  --odx-v-border-radius-controls: calc(var(--odx-typography-base-size) * 0.19);
4
4
 
5
5
  --odx-v-backdrop-blur: 3px;
6
- --odx-v-backdrop-box-shadow-layer-2: 0 4px 12px 0 var(--odx-c-backdrop-box-shadow);
6
+
7
+ --odx-v-box-shadow-layer-1: 0 2px 6px 0 var(--odx-c-box-shadow);
8
+ --odx-v-box-shadow-layer-2: 0 4px 12px 0 var(--odx-c-box-shadow);
7
9
 
8
10
  --odx-v-transition-duration: 250ms;
9
11
  --odx-v-transition-easing-fn: ease;