@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.
Files changed (71) hide show
  1. package/323d385340fb9fee6450.svg +6 -0
  2. package/README.md +4 -4
  3. package/core-icons.css +43 -0
  4. package/core-icons.woff2 +0 -0
  5. package/core-theme.css +1 -1
  6. package/package.json +2 -1
  7. package/scss/abstract/_breakpoints.scss +9 -3
  8. package/scss/abstract/_dimensions.scss +2 -1
  9. package/scss/abstract/_motion.scss +3 -1
  10. package/scss/abstract/_utils.scss +18 -8
  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/images/logo.svg +6 -0
  15. package/scss/cdk/active-indicator.scss +25 -0
  16. package/scss/cdk/connected-overlay.scss +36 -0
  17. package/scss/components/accordion-item.component.scss +5 -8
  18. package/scss/components/action-group.component.scss +3 -3
  19. package/scss/components/area-header.component.scss +15 -23
  20. package/scss/components/avatar.component.scss +5 -0
  21. package/scss/components/badge.component.scss +5 -14
  22. package/scss/components/bar.component.scss +86 -0
  23. package/scss/components/breadcrumbs.component.scss +26 -0
  24. package/scss/components/button-group.component.scss +9 -5
  25. package/scss/components/button.component.scss +8 -2
  26. package/scss/components/checkbox.component.scss +2 -1
  27. package/scss/components/chip.component.scss +52 -0
  28. package/scss/components/circular-progress.component.scss +75 -0
  29. package/scss/components/content-box.component.scss +20 -16
  30. package/scss/components/dropdown.component.scss +28 -0
  31. package/scss/components/form-field.component.scss +40 -8
  32. package/scss/components/header.component.scss +10 -4
  33. package/scss/components/icon.component.scss +1 -1
  34. package/scss/components/inline-message.component.scss +33 -0
  35. package/scss/components/launch-tile.component.scss +119 -0
  36. package/scss/components/list-item.component.scss +107 -0
  37. package/scss/components/list.component.scss +3 -0
  38. package/scss/components/loading-spinner.component.scss +54 -0
  39. package/scss/components/main-menu-item.component.scss +2 -1
  40. package/scss/components/main-menu.component.scss +4 -2
  41. package/scss/components/menu.component.scss +50 -0
  42. package/scss/components/modal.component.scss +78 -9
  43. package/scss/components/progress.component.scss +41 -0
  44. package/scss/components/radio-button.component.scss +1 -1
  45. package/scss/components/rail-navigation-item.component.scss +60 -0
  46. package/scss/components/rail-navigation.component.scss +32 -0
  47. package/scss/components/select.component.scss +103 -0
  48. package/scss/components/slider.component.scss +131 -0
  49. package/scss/components/spinbox.component.scss +124 -0
  50. package/scss/components/switch.component.scss +4 -4
  51. package/scss/components/tab-bar-item.component.scss +53 -0
  52. package/scss/components/tab-bar.component.scss +124 -0
  53. package/scss/components/toast-item.component.scss +79 -0
  54. package/scss/components/toast.component.scss +33 -0
  55. package/scss/components/toggle-button-group.component.scss +43 -4
  56. package/scss/components/toggle-button.component.scss +51 -29
  57. package/scss/components/tooltip.component.scss +34 -0
  58. package/scss/core.scss +32 -10
  59. package/scss/layout/_base.scss +6 -0
  60. package/scss/layout/_content.scss +25 -0
  61. package/scss/layout/_description-list.scss +30 -0
  62. package/scss/layout/_helpers.scss +6 -16
  63. package/scss/layout/_layout.scss +4 -0
  64. package/scss/layout/_text-list.scss +18 -0
  65. package/scss/layout/_typography.scss +23 -26
  66. package/scss/reset.scss +5 -0
  67. package/scss/variables/_color-palettes.scss +3 -2
  68. package/scss/variables/_colors.scss +9 -1
  69. package/scss/variables/_controls.scss +11 -2
  70. package/scss/variables/_typography.scss +2 -2
  71. package/scss/variables/_visuals.scss +7 -5
package/scss/core.scss CHANGED
@@ -1,12 +1,3 @@
1
- @use 'abstract/breakpoints' with (
2
- $breakpoints: (
3
- 'phone-s': 360px,
4
- 'phone': 420px,
5
- 'tablet': 768px,
6
- 'desktop-s': 960px,
7
- 'desktop': 1200px,
8
- )
9
- );
10
1
  @use 'variables';
11
2
  @use 'reset';
12
3
 
@@ -15,9 +6,18 @@ Layout
15
6
  */
16
7
 
17
8
  @use 'layout/base';
9
+ @use 'layout/description-list';
18
10
  @use 'layout/layout';
19
11
  @use 'layout/helpers';
20
12
  @use 'layout/typography';
13
+ @use 'layout/text-list';
14
+ @use 'layout/content';
15
+
16
+ /*
17
+ CDK
18
+ */
19
+ @use 'cdk/active-indicator';
20
+ @use 'cdk/connected-overlay';
21
21
 
22
22
  /*
23
23
  Components
@@ -29,19 +29,41 @@ Layout
29
29
  @use 'components/area-header.component';
30
30
  @use 'components/avatar.component';
31
31
  @use 'components/badge.component';
32
+ @use 'components/bar.component';
33
+ @use 'components/breadcrumbs.component';
32
34
  @use 'components/button-group.component';
33
35
  @use 'components/button.component';
34
36
  @use 'components/checkbox.component';
37
+ @use 'components/chip.component';
38
+ @use 'components/circular-progress.component';
35
39
  @use 'components/content-box.component';
40
+ @use 'components/dropdown.component';
36
41
  @use 'components/form-field.component';
37
42
  @use 'components/header.component';
38
43
  @use 'components/icon.component';
44
+ @use 'components/inline-message.component';
45
+ @use 'components/launch-tile.component';
39
46
  @use 'components/link.component';
47
+ @use 'components/list.component';
48
+ @use 'components/list-item.component';
49
+ @use 'components/loading-spinner.component';
40
50
  @use 'components/logo.component';
41
51
  @use 'components/main-menu.component';
52
+ @use 'components/menu.component';
42
53
  @use 'components/modal.component';
54
+ @use 'components/progress.component';
43
55
  @use 'components/radio-button.component';
44
56
  @use 'components/radio-group.component';
45
- @use 'components/switch.component.scss';
57
+ @use 'components/rail-navigation.component';
58
+ @use 'components/rail-navigation-item.component';
59
+ @use 'components/select.component';
60
+ @use 'components/slider.component';
61
+ @use 'components/spinbox.component';
62
+ @use 'components/switch.component';
63
+ @use 'components/tab-bar-item.component';
64
+ @use 'components/tab-bar.component';
65
+ @use 'components/toast.component';
66
+ @use 'components/toast-item.component';
46
67
  @use 'components/toggle-button.component';
47
68
  @use 'components/toggle-button-group.component';
69
+ @use 'components/tooltip.component';
@@ -1,5 +1,11 @@
1
1
  @use '../abstract/utils';
2
2
 
3
+ html,
4
+ body,
5
+ .odx-root {
6
+ background-color: var(--odx-c-background);
7
+ }
8
+
3
9
  * {
4
10
  scrollbar-color: var(--odx-v-scrollbar-thumb-color) var(--odx-v-scrollbar-track-color);
5
11
  }
@@ -0,0 +1,25 @@
1
+ @use './typography' as *;
2
+ @use './text-list' as *;
3
+ @use './description-list' as *;
4
+
5
+ .odx-content {
6
+ @for $i from 1 through 6 {
7
+ h#{$i} {
8
+ @extend .odx-title;
9
+ @extend .odx-title-#{$i};
10
+ }
11
+ }
12
+
13
+ p {
14
+ @extend .odx-text;
15
+ }
16
+
17
+ ol,
18
+ ul {
19
+ @extend .odx-text-list;
20
+ }
21
+
22
+ dl {
23
+ @extend .odx-description-list;
24
+ }
25
+ }
@@ -0,0 +1,30 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+ @use '../abstract/typography';
4
+
5
+ .odx-description-list {
6
+ $gap: dimensions.get-size(math.div(8, 24));
7
+
8
+ @include dimensions.margin-y(0.5);
9
+
10
+ column-gap: $gap;
11
+ display: flex;
12
+ flex: 0 0 100%;
13
+ flex-wrap: wrap;
14
+ row-gap: calc(#{$gap} / 2);
15
+
16
+ dt,
17
+ dd {
18
+ align-items: flex-end;
19
+ display: inline-flex;
20
+ flex: 0 0 calc(50% - #{$gap} / 2);
21
+ }
22
+
23
+ dt {
24
+ @include typography.font-size(-1);
25
+ }
26
+
27
+ dd {
28
+ @include typography.font-weight(medium);
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);
@@ -58,22 +64,6 @@ html body {
58
64
  border: 0;
59
65
  }
60
66
 
61
- ul,
62
- ol,
63
- .odx-text-list {
64
- @include dimensions.margin-y(0.5);
65
- @include dimensions.padding(1, left);
66
-
67
- ul,
68
- ol {
69
- @include dimensions.margin(0);
70
- }
71
-
72
- li {
73
- @include dimensions.margin(math.div(-1, 24), left);
74
- }
75
- }
76
-
77
67
  .odx-fs-normal {
78
68
  @include typography.font-weight(normal);
79
69
  }
@@ -11,6 +11,10 @@ $columns: 12 !default;
11
11
  :root {
12
12
  --odx-grid-gutter: #{dimensions.get-size(1)};
13
13
  --odx-grid-gutter-small: #{dimensions.get-size(math.div(8, 24))};
14
+
15
+ @include breakpoints.down(phone) {
16
+ --odx-grid-gutter: var(--odx-grid-gutter-small);
17
+ }
14
18
  }
15
19
 
16
20
  #{create-selector(grid)},
@@ -0,0 +1,18 @@
1
+ @use 'sass:math';
2
+ @use '../abstract/dimensions';
3
+
4
+ .odx-text-list,
5
+ .odx-text-list ol,
6
+ .odx-text-list ul {
7
+ @include dimensions.margin-y(0.5);
8
+ @include dimensions.padding(1, left);
9
+
10
+ ul,
11
+ ol {
12
+ @include dimensions.margin(0);
13
+ }
14
+
15
+ li {
16
+ @include dimensions.margin(math.div(-1, 24), left);
17
+ }
18
+ }
@@ -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,34 +24,34 @@
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
- h1,
38
- h2,
39
- h3,
40
- h4,
41
- h5,
42
- h6,
43
40
  .odx-title,
44
- .odx-subtitle {
41
+ [class*='odx-title-'] {
45
42
  @include typography.font-weight(bold);
46
43
 
47
44
  color: var(--odx-c-headline);
48
45
  }
49
46
 
50
- .odx-subtitle {
51
- font-weight: var(--odx-typography-font-weight-normal);
47
+ .odx-subtitle,
48
+ [class*='odx-subtitle-'] {
49
+ @extend .odx-title;
50
+ @include typography.font-weight(normal);
52
51
  }
53
52
 
54
- h1,
55
- .odx-title--1 {
53
+ .odx-title-1,
54
+ .odx-subtitle-1 {
56
55
  @include dimensions.line-height(2, math.div(40, 24));
57
56
  @include typography.font-size(5);
58
57
 
@@ -61,8 +60,8 @@ h1,
61
60
  }
62
61
  }
63
62
 
64
- h2,
65
- .odx-title--2 {
63
+ .odx-title-2,
64
+ .odx-subtitle-2 {
66
65
  @include dimensions.line-height(2, 1.5);
67
66
  @include typography.font-size(4);
68
67
 
@@ -71,8 +70,8 @@ h2,
71
70
  }
72
71
  }
73
72
 
74
- h3,
75
- .odx-title--3 {
73
+ .odx-title-3,
74
+ .odx-subtitle-3 {
76
75
  @include dimensions.line-height(2, math.div(32, 24));
77
76
  @include typography.font-size(3);
78
77
 
@@ -81,29 +80,27 @@ h3,
81
80
  }
82
81
  }
83
82
 
84
- h4,
85
- .odx-title--4 {
83
+ .odx-title-4,
84
+ .odx-subtitle-4 {
86
85
  @include dimensions.line-height(2, math.div(30, 24));
87
86
  @include typography.font-size(2);
88
87
  }
89
88
 
90
- h5,
91
- .odx-title--5 {
89
+ .odx-title-5,
90
+ .odx-subtitle-5 {
92
91
  @include dimensions.line-height(1);
93
92
  @include typography.font-size(1);
94
93
  }
95
94
 
96
- h6,
97
- .odx-title--6 {
95
+ .odx-title-6,
96
+ .odx-subtitle-6 {
98
97
  @include dimensions.line-height(1);
99
98
  @include typography.font-size(0);
100
99
  }
101
100
 
102
- p,
103
101
  .odx-text {
104
102
  @include dimensions.line-height(1);
105
-
106
- font-weight: var(--odx-typography-font-weight-normal);
103
+ @include typography.font-weight(normal);
107
104
 
108
105
  &--small {
109
106
  @include dimensions.line-height(1, math.div(20, 24));
package/scss/reset.scss CHANGED
@@ -5,6 +5,10 @@
5
5
 
6
6
  * {
7
7
  box-sizing: border-box;
8
+
9
+ &:focus-visible {
10
+ outline: none;
11
+ }
8
12
  }
9
13
 
10
14
  html,
@@ -137,6 +141,7 @@ a {
137
141
  text-decoration: none;
138
142
  }
139
143
 
144
+ button,
140
145
  select,
141
146
  input,
142
147
  textarea {
@@ -1,6 +1,6 @@
1
1
  :root {
2
2
  --white: #ffffff;
3
- --black: #060a12;
3
+ --black: #00060f;
4
4
 
5
5
  --white-5: #{rgba(#ffffff, 5%)};
6
6
  --white-60: #{rgba(#ffffff, 60%)};
@@ -29,7 +29,7 @@
29
29
 
30
30
  --blue-700-5: #{rgba(#002766, 5%)};
31
31
  --blue-700-10: #{rgba(#002766, 10%)};
32
- --blue-700-25: #{rgba(#002766, 25%)};
32
+ --blue-700-15: #{rgba(#002766, 15%)};
33
33
  --blue-800-30: #{rgba(#001433, 30%)};
34
34
 
35
35
  --cyan-50: #cbe9ff;
@@ -44,6 +44,7 @@
44
44
  --cyan-900: #003c66;
45
45
 
46
46
  --cyan-500-15: #{rgba(#0091f7, 15%)};
47
+ --cyan-500-20: #{rgba(#0091f7, 20%)};
47
48
 
48
49
  --red-00: #ffe0e3;
49
50
  --red-50: #ffb4b4;
@@ -16,15 +16,23 @@
16
16
  --odx-c-error-outline-hover: var(--red-100);
17
17
  --odx-c-error-text: var(--red-600);
18
18
 
19
+ --odx-c-error-warning: var(--orange-100);
20
+ --odx-c-error-warning-outline: var(--orange-200);
21
+ --odx-c-error-warning-outline-hover: var(--orange-300);
22
+ --odx-c-error-warning-text: var(--orange-500);
23
+
19
24
  --odx-c-focus: var(--cyan-500-15);
20
25
  --odx-c-focus-outline: var(--cyan-300);
21
26
 
27
+ --odx-c-selected: var(--cyan-500-15);
28
+ --odx-c-selected-hover: var(--cyan-500-20);
29
+
22
30
  --odx-c-selection: var(--cyan-300);
23
31
 
24
32
  --odx-c-backdrop: var(--white-60);
25
33
  --odx-c-backdrop-dark: var(--blue-800-30);
26
34
 
27
- --odx-c-backdrop-box-shadow: var(--blue-800-30);
35
+ --odx-c-box-shadow: var(--blue-800-30);
28
36
 
29
37
  --odx-c-seperator: var(--gray-200);
30
38
 
@@ -11,7 +11,7 @@
11
11
  --odx-control-background-color-selected: var(--odx-c-highlight);
12
12
  --odx-control-outline-color-selected: var(--odx-c-highlight);
13
13
 
14
- --odx-control-color-disabled: var(--gray-600);
14
+ --odx-control-color-disabled: var(--gray-500);
15
15
  --odx-control-background-color-disabled: var(--gray-100);
16
16
  --odx-control-outline-color-disabled: transparent;
17
17
 
@@ -24,10 +24,14 @@
24
24
  --odx-control-outline-color-error: var(--odx-c-error-outline);
25
25
  --odx-control-outline-color-error-hover: var(--odx-c-error-outline-hover);
26
26
 
27
+ --odx-control-color-warning: var(--odx-c-error-warning-text);
28
+ --odx-control-background-color-warning: var(--odx-c-error-warning);
29
+ --odx-control-outline-color-warning: var(--odx-c-error-warning-outline);
30
+ --odx-control-outline-color-warning-hover: var(--odx-c-error-warning-outline-hover);
31
+
27
32
  --odx-input-control-color: var(--odx-c-text);
28
33
  --odx-input-control-background-color: var(--gray-100);
29
34
  --odx-input-control-outline-color: var(--gray-200);
30
- --odx-input-control-placeholder-color: var(--blue-700-25);
31
35
 
32
36
  --odx-input-control-color-hover: var(--odx-c-text);
33
37
  --odx-input-control-background-color-hover: var(--gray-200);
@@ -45,4 +49,9 @@
45
49
  --odx-input-control-background-color-error: var(--odx-c-error);
46
50
  --odx-input-control-outline-color-error: var(--odx-c-error-outline);
47
51
  --odx-input-control-outline-color-error-hover: var(--odx-c-error-outline-hover);
52
+
53
+ --odx-input-control-color-warning: var(--odx-c-error-warning-text);
54
+ --odx-input-control-background-color-warning: var(--odx-c-error-warning);
55
+ --odx-input-control-outline-color-warning: var(--odx-c-error-warning-outline);
56
+ --odx-input-control-outline-color-warning-hover: var(--odx-c-error-warning-outline-hover);
48
57
  }
@@ -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;
@@ -12,7 +12,7 @@
12
12
  --odx-typography-positive-font-scaling-factor: 1.125;
13
13
  --odx-typography-negative-font-scaling-factor: 1.2;
14
14
 
15
- @include breakpoints.up(tablet) {
15
+ @include breakpoints.up(phone) {
16
16
  --odx-typography-positive-font-scaling-factor: 1.25;
17
17
  }
18
18
  }
@@ -2,13 +2,15 @@
2
2
  --odx-v-border-radius: calc(var(--odx-typography-base-size) * 0.375);
3
3
  --odx-v-border-radius-controls: calc(var(--odx-typography-base-size) * 0.19);
4
4
 
5
- --odx-v-backdrop-blur: 5px;
6
- --odx-v-backdrop-box-shadow-layer-2: 0 4px 12px 0 var(--odx-c-backdrop-box-shadow);
5
+ --odx-v-backdrop-blur: 3px;
7
6
 
8
- --odx-v-transition-duration: 200ms;
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);
9
+
10
+ --odx-v-transition-duration: 250ms;
9
11
  --odx-v-transition-easing-fn: ease;
10
- --odx-v-outline: 1px solid transparent;
11
- --odx-v-outline-offset: -1px;
12
+ --odx-v-outline-width: 1px;
13
+ --odx-v-outline-width-bold: 2px;
12
14
 
13
15
  --odx-v-scrollbar-track-color: transparent;
14
16
  --odx-v-scrollbar-thumb-color: var(--gray-600);