@odx/ui 3.1.0 → 3.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @odx/ui
2
2
 
3
+ ## 3.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - d9e27d4: The rich list component was refactored by changing the selector from `rich-list-header` to `rich-list-item-header`. All the logic previously in `rich-list-header` has been moved to `rich-list-item` to enhance its compatibility with a disabled controller
8
+
9
+ ## 3.2.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 3ebfb3c: Add brand-logo component which can be used to display the ODX brand logo
14
+
15
+ ### Patch Changes
16
+
17
+ - c357174: Use CSS only icons for breadcrumb separator icons
18
+ - 753c400: Add missing odx-v-layer-6 CSS variable
19
+
3
20
  ## 3.1.0
4
21
 
5
22
  ### Minor Changes
package/core-theme.css CHANGED
@@ -312,6 +312,7 @@
312
312
  }
313
313
 
314
314
  :root {
315
+ --odx-v-max-page-width: 1440px;
315
316
  --odx-v-border-radius: calc(var(--odx-typography-base-size) * 0.375);
316
317
  --odx-v-border-radius-controls: calc(var(--odx-typography-base-size) * 0.19);
317
318
  --odx-v-backdrop-blur: 3px;
@@ -322,6 +323,7 @@
322
323
  --odx-v-layer-3: 20;
323
324
  --odx-v-layer-4: 9000;
324
325
  --odx-v-layer-5: 9500;
326
+ --odx-v-layer-6: 9900;
325
327
  --odx-v-transition-duration: 250ms;
326
328
  --odx-v-transition-easing-fn: ease;
327
329
  --odx-v-outline-width: 1px;
@@ -2921,20 +2923,29 @@ html body .odx-fs-italic {
2921
2923
  flex-wrap: wrap;
2922
2924
  gap: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
2923
2925
  }
2924
- .odx-breadcrumbs .odx-link:last-child {
2925
- font-weight: var(--odx-typography-font-weight-bold);
2926
- letter-spacing: var(--odx-typography-font-weight-bold-letter-spacing);
2927
- color: var(--odx-c-text);
2926
+ .odx-breadcrumbs .odx-link {
2927
+ white-space: nowrap;
2928
2928
  }
2929
- .odx-breadcrumbs .odx-link:visited {
2930
- color: var(--odx-c-link);
2929
+ .odx-breadcrumbs .odx-link:not(:last-child) {
2930
+ margin-right: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
2931
2931
  }
2932
- .odx-breadcrumbs .odx-icon {
2932
+ .odx-breadcrumbs .odx-link:not(:last-child)::after {
2933
2933
  color: var(--gray-500);
2934
+ content: "\f158";
2935
+ display: inline-block;
2936
+ font-family: "core-icons";
2934
2937
  font-size: calc(var(--odx-vertical-rythm-base-size) * 0.5);
2938
+ pointer-events: none;
2939
+ position: absolute;
2940
+ margin-left: calc(var(--odx-vertical-rythm-base-size) * 0.5);
2935
2941
  }
2936
- .odx-breadcrumbs .odx-icon::before {
2937
- position: unset;
2942
+ .odx-breadcrumbs .odx-link:visited {
2943
+ color: var(--odx-c-link);
2944
+ }
2945
+ .odx-breadcrumbs .odx-link:last-child, .odx-breadcrumbs .odx-link:last-child:visited {
2946
+ font-weight: var(--odx-typography-font-weight-bold);
2947
+ letter-spacing: var(--odx-typography-font-weight-bold-letter-spacing);
2948
+ color: var(--odx-c-text);
2938
2949
  }
2939
2950
 
2940
2951
  .odx-button-group {
@@ -3024,6 +3035,20 @@ html body .odx-fs-italic {
3024
3035
  border-radius: 0;
3025
3036
  }
3026
3037
 
3038
+ .odx-brand-logo {
3039
+ color: var(--odx-c-text);
3040
+ display: inline-block;
3041
+ font-weight: var(--odx-typography-font-weight-bold);
3042
+ letter-spacing: var(--odx-typography-font-weight-bold-letter-spacing);
3043
+ }
3044
+ .odx-brand-logo::before {
3045
+ color: var(--odx-c-highlight);
3046
+ content: "O";
3047
+ }
3048
+ .odx-brand-logo::after {
3049
+ content: "DX";
3050
+ }
3051
+
3027
3052
  :root {
3028
3053
  --odx-card-avatar-size: 64px;
3029
3054
  --odx-card-content-vertical-alignment: center;
@@ -5425,16 +5450,17 @@ html body .odx-fs-italic {
5425
5450
  display: block;
5426
5451
  }
5427
5452
 
5428
- .odx-rich-list-header {
5453
+ .odx-rich-list-item-header {
5429
5454
  align-items: center;
5430
5455
  -moz-column-gap: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
5431
5456
  column-gap: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
5432
5457
  display: flex;
5458
+ flex: 1;
5433
5459
  -webkit-user-select: none;
5434
5460
  -moz-user-select: none;
5435
5461
  user-select: none;
5436
5462
  }
5437
- .odx-rich-list-header__title {
5463
+ .odx-rich-list-item-header__title {
5438
5464
  font-size: calc(var(--odx-typography-base-size) * (1*1/var(--odx-typography-negative-font-scaling-factor)));
5439
5465
  padding-top: calc(var(--odx-vertical-rythm-base-size) * 0);
5440
5466
  padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0);
@@ -5444,7 +5470,7 @@ html body .odx-fs-italic {
5444
5470
  overflow: hidden;
5445
5471
  text-align: center;
5446
5472
  }
5447
- .odx-rich-list-header__icon {
5473
+ .odx-rich-list-item-header__icon {
5448
5474
  position: relative;
5449
5475
  }
5450
5476
 
@@ -5456,13 +5482,18 @@ html body .odx-fs-italic {
5456
5482
  border-bottom: 1px solid var(--odx-input-control-outline-color);
5457
5483
  display: block;
5458
5484
  }
5459
- .odx-rich-list-item.is-disabled .odx-rich-list-header__title,
5460
- .odx-rich-list-item.is-disabled .odx-rich-list-header .odx-avatar {
5485
+ .odx-rich-list-item.is-disabled .odx-rich-list-item-header__title,
5486
+ .odx-rich-list-item.is-disabled .odx-rich-list-item-header .odx-avatar {
5461
5487
  color: var(--odx-c-text-disabled);
5462
5488
  }
5463
- .odx-rich-list-item.is-disabled .odx-rich-list-header .odx-avatar {
5489
+ .odx-rich-list-item.is-disabled .odx-rich-list-item-header .odx-avatar {
5464
5490
  filter: saturate(0);
5465
5491
  }
5492
+ .odx-rich-list-item__header {
5493
+ -moz-column-gap: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
5494
+ column-gap: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
5495
+ display: flex;
5496
+ }
5466
5497
  .odx-rich-list-item__slot {
5467
5498
  margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
5468
5499
  padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
@@ -5471,10 +5502,10 @@ html body .odx-fs-italic {
5471
5502
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
5472
5503
  overflow: hidden;
5473
5504
  }
5474
- .odx-rich-list-item--empty .odx-rich-list-header__expand-button {
5505
+ .odx-rich-list-item--empty .odx-rich-list-item__expand-button {
5475
5506
  display: none;
5476
5507
  }
5477
- .odx-rich-list-item--expanded .odx-rich-list-header__icon {
5508
+ .odx-rich-list-item--expanded .odx-rich-list-item__icon {
5478
5509
  transform: scaleY(-1);
5479
5510
  }
5480
5511
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "3.1.0",
3
+ "version": "3.2.1",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -0,0 +1,17 @@
1
+ @use '../abstract/typography';
2
+
3
+ .odx-brand-logo {
4
+ color: var(--odx-c-text);
5
+ display: inline-block;
6
+
7
+ @include typography.font-weight(bold);
8
+
9
+ &::before {
10
+ color: var(--odx-c-highlight);
11
+ content: 'O';
12
+ }
13
+
14
+ &::after {
15
+ content: 'DX';
16
+ }
17
+ }
@@ -2,6 +2,7 @@
2
2
  @use '../abstract/dimensions';
3
3
  @use '../abstract/utils';
4
4
  @use '../abstract/typography';
5
+ @use '@odx/icons/core/core-utils' as icons;
5
6
 
6
7
  .odx-breadcrumbs {
7
8
  @include dimensions.padding-x(1);
@@ -12,23 +13,33 @@
12
13
  gap: dimensions.get-size(math.div(8, 24));
13
14
 
14
15
  .odx-link {
15
- &:last-child {
16
- @include typography.font-weight(bold);
16
+ white-space: nowrap;
17
17
 
18
- color: var(--odx-c-text);
18
+ &:not(:last-child) {
19
+ @include dimensions.margin(math.div(20, 24), right);
20
+
21
+ &::after {
22
+ color: var(--gray-500);
23
+ content: icons.get-icon-glyph('chevron-right');
24
+ display: inline-block;
25
+ font-family: icons.get-font-family();
26
+ font-size: dimensions.get-size(math.div(12, 24));
27
+ pointer-events: none;
28
+ position: absolute;
29
+
30
+ @include dimensions.margin(math.div(12, 24), left);
31
+ }
19
32
  }
20
33
 
21
34
  &:visited {
22
35
  color: var(--odx-c-link);
23
36
  }
24
- }
25
37
 
26
- .odx-icon {
27
- color: var(--gray-500);
28
- font-size: dimensions.get-size(math.div(12, 24));
38
+ &:last-child,
39
+ &:last-child:visited {
40
+ @include typography.font-weight(bold);
29
41
 
30
- &::before {
31
- position: unset;
42
+ color: var(--odx-c-text);
32
43
  }
33
44
  }
34
45
  }
@@ -4,12 +4,13 @@
4
4
  @use '../abstract/typography';
5
5
  @use '../abstract/utils';
6
6
 
7
- .odx-rich-list-header {
7
+ .odx-rich-list-item-header {
8
8
  $root: &;
9
9
 
10
10
  align-items: center;
11
11
  column-gap: dimensions.get-size(math.div(16, 24));
12
12
  display: flex;
13
+ flex: 1;
13
14
  user-select: none;
14
15
 
15
16
  &__title {
@@ -13,16 +13,21 @@
13
13
  display: block;
14
14
 
15
15
  &.is-disabled {
16
- .odx-rich-list-header__title,
17
- .odx-rich-list-header .odx-avatar {
16
+ .odx-rich-list-item-header__title,
17
+ .odx-rich-list-item-header .odx-avatar {
18
18
  color: var(--odx-c-text-disabled);
19
19
  }
20
20
 
21
- .odx-rich-list-header .odx-avatar {
21
+ .odx-rich-list-item-header .odx-avatar {
22
22
  filter: saturate(0);
23
23
  }
24
24
  }
25
25
 
26
+ &__header {
27
+ column-gap: dimensions.get-size(math.div(16, 24));
28
+ display: flex;
29
+ }
30
+
26
31
  &__slot {
27
32
  @include dimensions.margin(math.div(8, 24), top);
28
33
  @include dimensions.padding(math.div(16, 24));
@@ -31,13 +36,13 @@
31
36
  }
32
37
 
33
38
  &--empty {
34
- .odx-rich-list-header__expand-button {
39
+ #{$root}__expand-button {
35
40
  display: none;
36
41
  }
37
42
  }
38
43
 
39
44
  &--expanded {
40
- .odx-rich-list-header__icon {
45
+ #{$root}__icon {
41
46
  transform: scaleY(-1);
42
47
  }
43
48
  }
package/scss/core.scss CHANGED
@@ -40,6 +40,7 @@ Layout
40
40
  @use 'components/breadcrumbs.component';
41
41
  @use 'components/button-group.component';
42
42
  @use 'components/button.component';
43
+ @use 'components/brand-logo.component';
43
44
  @use 'components/card.component';
44
45
  @use 'components/calendar.component';
45
46
  @use 'components/checkbox.component';
@@ -72,7 +73,7 @@ Layout
72
73
  @use 'components/rail-navigation.component';
73
74
  @use 'components/rail-navigation-item.component';
74
75
  @use 'components/rich-list.component.scss';
75
- @use 'components/rich-list-header.component.scss';
76
+ @use 'components/rich-list-item-header.component.scss';
76
77
  @use 'components/rich-list-item.component.scss';
77
78
  @use 'components/select.component';
78
79
  @use 'components/slider.component';
@@ -1,4 +1,5 @@
1
1
  :root {
2
+ --odx-v-max-page-width: 1440px;
2
3
  --odx-v-border-radius: calc(var(--odx-typography-base-size) * 0.375);
3
4
  --odx-v-border-radius-controls: calc(var(--odx-typography-base-size) * 0.19);
4
5
 
@@ -12,6 +13,7 @@
12
13
  --odx-v-layer-3: 20;
13
14
  --odx-v-layer-4: 9000;
14
15
  --odx-v-layer-5: 9500;
16
+ --odx-v-layer-6: 9900;
15
17
 
16
18
  --odx-v-transition-duration: 250ms;
17
19
  --odx-v-transition-easing-fn: ease;