@odx/ui 2.10.1 → 2.11.0

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,12 @@
1
1
  ## 2.9.9
2
2
 
3
+ ## 2.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 66a521fb: Make list components nestable
8
+ Redesign expandable list items
9
+
3
10
  ## 2.10.1
4
11
 
5
12
  ### Patch Changes
package/ag-grid-theme.css CHANGED
@@ -12,7 +12,7 @@
12
12
  --ag-background-color: var(--odx-c-background-content);
13
13
  --ag-checkbox-indeterminate-color: var(--odx-control-color-selected);
14
14
  --ag-checkbox-checked-color: var(--odx-control-color-selected);
15
- --ag-font-family: "Pangea";
15
+ --ag-font-family: var(--odx-typography-font-family);
16
16
  --ag-font-size: var(--odx-typography-base-size);
17
17
  --ag-icon-size: calc(var(--odx-typography-base-size) * (1*var(--odx-typography-positive-font-scaling-factor)));
18
18
  --ag-icon-font-family: core-icons;
package/charts-theme.css CHANGED
@@ -40,6 +40,6 @@ body {
40
40
  --charts-border-color: var(--odx-c-seperator);
41
41
  --charts-text-color: var(--odx-c-text);
42
42
  --charts-background-color: var(--odx-c-background-content);
43
- --charts-font-family: "Pangea";
43
+ --charts-font-family: var(--odx-typography-font-family);
44
44
  --charts-font-size: var(--odx-typography-base-size);
45
45
  }
package/core-theme.css CHANGED
@@ -284,6 +284,7 @@ body {
284
284
 
285
285
  /* stylelint-disable block-closing-brace-newline-after */
286
286
  :root {
287
+ --odx-typography-font-family: "PangeaText", "Arial", sans-serif;
287
288
  --odx-typography-base-size: 1.6rem;
288
289
  --odx-typography-base-line-height: 1.5;
289
290
  --odx-typography-font-weight-normal: normal;
@@ -530,19 +531,19 @@ body,
530
531
  }
531
532
 
532
533
  @font-face {
533
- font-family: Pangea;
534
+ font-family: PangeaText;
534
535
  font-style: normal;
535
536
  font-weight: normal;
536
537
  src: url(5eabf29514e9649c8c73.woff2) format("woff2");
537
538
  }
538
539
  @font-face {
539
- font-family: Pangea;
540
+ font-family: PangeaText;
540
541
  font-style: normal;
541
542
  font-weight: 500;
542
543
  src: url(24031beb1b96a58f519c.woff2) format("woff2");
543
544
  }
544
545
  @font-face {
545
- font-family: Pangea;
546
+ font-family: PangeaText;
546
547
  font-style: normal;
547
548
  font-weight: bold;
548
549
  src: url(eb2051d1f9da906e0b3e.woff2) format("woff2");
@@ -559,7 +560,7 @@ html body {
559
560
  font-weight: var(--odx-typography-font-weight-normal);
560
561
  letter-spacing: var(--odx-typography-font-weight-normal-letter-spacing);
561
562
  color: var(--odx-c-text);
562
- font-family: Pangea, sans-serif;
563
+ font-family: var(--odx-typography-font-family);
563
564
  }
564
565
 
565
566
  .odx-title, .odx-header__title, .odx-area-header__title, .odx-error-page__title, .odx-content h1, .odx-content h2, .odx-content h3, .odx-content h4, .odx-content h5, .odx-content h6, .odx-subtitle, .odx-area-header__subtitle, .odx-error-page__description,
@@ -2468,7 +2469,7 @@ html body .odx-fs-italic {
2468
2469
  background-color: var(--odx-c-secondary-hover);
2469
2470
  }
2470
2471
  }
2471
- .odx-button--secondary.odx-dropdown-host[aria-expanded=true], .odx-dropdown-host[aria-expanded=true].odx-button, .odx-button--secondary:active, .odx-button:active {
2472
+ .odx-button--secondary.odx-dropdown-host[aria-expanded=true], .odx-dropdown-host[aria-expanded=true].odx-button, .odx-button--secondary.is-active, .is-active.odx-button, .odx-button--secondary:active, .odx-button:active {
2472
2473
  background-color: var(--odx-c-secondary-active);
2473
2474
  }
2474
2475
  .odx-button--secondary:disabled, .odx-button:disabled, .odx-button--secondary.is-disabled, .is-disabled.odx-button {
@@ -2484,7 +2485,7 @@ html body .odx-fs-italic {
2484
2485
  background-color: var(--odx-c-primary-hover);
2485
2486
  }
2486
2487
  }
2487
- .odx-button--primary.odx-dropdown-host[aria-expanded=true], .odx-button--primary:active {
2488
+ .odx-button--primary.odx-dropdown-host[aria-expanded=true], .odx-button--primary.is-active, .odx-button--primary:active {
2488
2489
  background-color: var(--odx-c-primary-active);
2489
2490
  }
2490
2491
  .odx-button--primary:disabled, .odx-button--primary.is-disabled {
@@ -2500,7 +2501,7 @@ html body .odx-fs-italic {
2500
2501
  background-color: var(--odx-c-highlight-hover);
2501
2502
  }
2502
2503
  }
2503
- .odx-button--highlight.odx-dropdown-host[aria-expanded=true], .odx-button--highlight:active {
2504
+ .odx-button--highlight.odx-dropdown-host[aria-expanded=true], .odx-button--highlight.is-active, .odx-button--highlight:active {
2504
2505
  background-color: var(--odx-c-highlight-active);
2505
2506
  }
2506
2507
  .odx-button--highlight:disabled, .odx-button--highlight.is-disabled {
@@ -2516,7 +2517,7 @@ html body .odx-fs-italic {
2516
2517
  background-color: var(--odx-c-success-hover);
2517
2518
  }
2518
2519
  }
2519
- .odx-button--success.odx-dropdown-host[aria-expanded=true], .odx-button--success:active {
2520
+ .odx-button--success.odx-dropdown-host[aria-expanded=true], .odx-button--success.is-active, .odx-button--success:active {
2520
2521
  background-color: var(--odx-c-success-active);
2521
2522
  }
2522
2523
  .odx-button--success:disabled, .odx-button--success.is-disabled {
@@ -2532,7 +2533,7 @@ html body .odx-fs-italic {
2532
2533
  background-color: var(--odx-c-danger-hover);
2533
2534
  }
2534
2535
  }
2535
- .odx-button--danger.odx-dropdown-host[aria-expanded=true], .odx-button--danger:active {
2536
+ .odx-button--danger.odx-dropdown-host[aria-expanded=true], .odx-button--danger.is-active, .odx-button--danger:active {
2536
2537
  background-color: var(--odx-c-danger-active);
2537
2538
  }
2538
2539
  .odx-button--danger:disabled, .odx-button--danger.is-disabled {
@@ -2548,7 +2549,7 @@ html body .odx-fs-italic {
2548
2549
  background-color: var(--odx-c-confirmation-hover);
2549
2550
  }
2550
2551
  }
2551
- .odx-button--confirmation.odx-dropdown-host[aria-expanded=true], .odx-button--confirmation:active {
2552
+ .odx-button--confirmation.odx-dropdown-host[aria-expanded=true], .odx-button--confirmation.is-active, .odx-button--confirmation:active {
2552
2553
  background-color: var(--odx-c-confirmation-active);
2553
2554
  }
2554
2555
  .odx-button--confirmation:disabled, .odx-button--confirmation.is-disabled {
@@ -2570,7 +2571,7 @@ html body .odx-fs-italic {
2570
2571
  .odx-button--ghost:active, .odx-main-menu__close:active, .odx-main-menu-button:active, .odx-action-group > .odx-button:active:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in) {
2571
2572
  color: var(--odx-c-link-active);
2572
2573
  }
2573
- .odx-button--ghost.odx-dropdown-host[aria-expanded=true], .odx-dropdown-host[aria-expanded=true].odx-main-menu__close, .odx-dropdown-host[aria-expanded=true].odx-main-menu-button, .odx-action-group > .odx-dropdown-host[aria-expanded=true].odx-button:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in), .odx-button--ghost:focus-visible, .odx-main-menu__close:focus-visible, .odx-main-menu-button:focus-visible, .odx-action-group > .odx-button:focus-visible:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in), .odx-button--ghost:active, .odx-main-menu__close:active, .odx-main-menu-button:active, .odx-action-group > .odx-button:active:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in) {
2574
+ .odx-button--ghost.odx-dropdown-host[aria-expanded=true], .odx-dropdown-host[aria-expanded=true].odx-main-menu__close, .odx-dropdown-host[aria-expanded=true].odx-main-menu-button, .odx-action-group > .odx-dropdown-host[aria-expanded=true].odx-button:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in), .odx-button--ghost.is-active, .is-active.odx-main-menu__close, .is-active.odx-main-menu-button, .odx-action-group > .is-active.odx-button:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in), .odx-button--ghost:focus-visible, .odx-main-menu__close:focus-visible, .odx-main-menu-button:focus-visible, .odx-action-group > .odx-button:focus-visible:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in), .odx-button--ghost:active, .odx-main-menu__close:active, .odx-main-menu-button:active, .odx-action-group > .odx-button:active:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in) {
2574
2575
  background-color: var(--odx-c-focus);
2575
2576
  }
2576
2577
  .odx-button--ghost:disabled, .odx-main-menu__close:disabled, .odx-main-menu-button:disabled, .odx-action-group > .odx-button:disabled:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in), .odx-button--ghost.is-disabled, .is-disabled.odx-main-menu__close, .is-disabled.odx-main-menu-button, .odx-action-group > .is-disabled.odx-button:not(.odx-button--primary, .odx-button--success, .odx-button--danger, .odx-button--confirmation, .odx-auth-sign-in) {
@@ -2752,6 +2753,10 @@ body {
2752
2753
  --odx-badge-contrast-color: var(--odx-c-background-content);
2753
2754
  }
2754
2755
 
2756
+ .odx-badge-overlay {
2757
+ z-index: var(--odx-v-layer-1);
2758
+ }
2759
+
2755
2760
  .odx-badge {
2756
2761
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.125);
2757
2762
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.125);
@@ -2768,7 +2773,6 @@ body {
2768
2773
  min-width: calc(var(--odx-vertical-rythm-base-size) * 0.6667);
2769
2774
  outline: 1px solid transparent;
2770
2775
  vertical-align: middle;
2771
- z-index: var(--odx-v-layer-1);
2772
2776
  }
2773
2777
  .odx-badge, .odx-badge--highlight {
2774
2778
  background-color: var(--odx-c-highlight);
@@ -3662,64 +3666,36 @@ body {
3662
3666
  max-height: 359px;
3663
3667
  }
3664
3668
 
3665
- .odx-expandable-list-item {
3669
+ .odx-expandable-list-item__header {
3666
3670
  display: block;
3667
3671
  position: relative;
3668
3672
  }
3669
- .odx-expandable-list-item::before {
3670
- transition: all var(--odx-v-transition-duration) 0ms var(--odx-v-transition-easing-fn);
3671
- transition-property: border-color;
3672
- border-bottom: 1px solid var(--gray-200);
3673
- content: "";
3674
- display: block;
3675
- left: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
3676
- position: absolute;
3677
- top: 0;
3678
- width: calc(100% - calc(var(--odx-vertical-rythm-base-size) * 0.5834));
3679
- }
3680
- .odx-expandable-list-item:focus-visible::before, .odx-expandable-list-item:first-child::before {
3681
- border-bottom-color: transparent;
3682
- }
3683
- @media (hover: hover){
3684
- .odx-expandable-list-item:hover::before {
3685
- border-bottom-color: transparent;
3686
- }
3687
- }
3688
- .odx-expandable-list-item--danger+.odx-expandable-list-item::before {
3689
- border-color: transparent;
3690
- }
3691
- @media (hover: hover){
3692
- .odx-expandable-list-item:hover+.odx-expandable-list-item::before {
3693
- border-color: transparent;
3694
- }
3695
- }
3696
- .odx-expandable-list-item--danger::before {
3697
- border-bottom-color: transparent;
3698
- }
3699
- .odx-expandable-list-item--expanded::before {
3700
- border-bottom-color: transparent;
3673
+ .odx-expandable-list-item__header > .odx-list-item {
3674
+ padding-right: calc(var(--odx-vertical-rythm-base-size) * 2.1667);
3701
3675
  }
3702
- .odx-expandable-list-item__content {
3703
- flex: 1;
3676
+ .odx-expandable-list-item__action {
3677
+ margin: 0;
3678
+ position: absolute;
3679
+ right: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
3680
+ top: 50%;
3681
+ transform: translateY(-50%);
3704
3682
  }
3705
- .odx-expandable-list-item__expand-icon {
3683
+ .odx-expandable-list-item__action .odx-icon {
3706
3684
  transition: all var(--odx-v-transition-duration) 0ms var(--odx-v-transition-easing-fn);
3707
3685
  transition-property: transform;
3708
- position: relative;
3709
3686
  }
3710
- .odx-expandable-list-item--expanded .odx-expandable-list-item__expand-icon {
3711
- transform: scaleY(-1);
3687
+ .odx-expandable-list-item__slot .odx-list .odx-expandable-list-item:first-child > .odx-expandable-list-item__header .odx-list-item,
3688
+ .odx-expandable-list-item__slot .odx-list .odx-list-item:first-child {
3689
+ --separator-color: var(--odx-c-separator);
3712
3690
  }
3713
- .odx-expandable-list-item:last-child .odx-expandable-list-item__slot .odx-list-item:last-child::after {
3714
- border-bottom: 1px solid var(--gray-200);
3715
- bottom: 0;
3716
- content: "";
3717
- display: block;
3718
- position: absolute;
3719
- width: calc(100% - calc(var(--odx-vertical-rythm-base-size) * 0.5834));
3691
+ .odx-expandable-list-item:has(> .odx-expandable-list-item__header .odx-list-item--danger) .odx-expandable-list-item__action .odx-button {
3692
+ color: var(--odx-c-danger-text);
3720
3693
  }
3721
- .odx-expandable-list-item__slot .odx-list-item__content {
3722
- padding-left: calc(var(--odx-vertical-rythm-base-size) * 1.5);
3694
+ .odx-expandable-list-item:first-child > .odx-expandable-list-item__header .odx-list-item {
3695
+ --separator-color: transparent;
3696
+ }
3697
+ .odx-expandable-list-item--expanded > .odx-expandable-list-item__header .odx-expandable-list-item__action .odx-button .odx-icon {
3698
+ transform: scaleY(-1);
3723
3699
  }
3724
3700
 
3725
3701
  body {
@@ -4016,10 +3992,10 @@ body {
4016
3992
  --odx-c-warning: var(--yellow-50);
4017
3993
  --odx-c-danger: var(--red-00);
4018
3994
  --odx-c-success: var(--green-00);
4019
- padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.4167);
4020
3995
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.4167);
4021
- padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.4167);
4022
3996
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.4167);
3997
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.5);
3998
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4023
3999
  display: flex;
4024
4000
  gap: calc(var(--odx-vertical-rythm-base-size) * 0.4167);
4025
4001
  }
@@ -4118,8 +4094,72 @@ body[odxTheme=dark], body.odx-theme-dark {
4118
4094
  .odx-list {
4119
4095
  display: block;
4120
4096
  }
4097
+ .odx-list .odx-list .odx-list-item {
4098
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 1.6667);
4099
+ }
4100
+ .odx-list .odx-list .odx-list-item:first-child {
4101
+ --separator-color: var(--odx-c-separator);
4102
+ }
4103
+ .odx-list .odx-list .odx-list .odx-list-item {
4104
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 3);
4105
+ }
4106
+ .odx-list .odx-list .odx-list .odx-list-item:first-child {
4107
+ --separator-color: var(--odx-c-separator);
4108
+ }
4109
+ .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4110
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 4.3334);
4111
+ }
4112
+ .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4113
+ --separator-color: var(--odx-c-separator);
4114
+ }
4115
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4116
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 5.6667);
4117
+ }
4118
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4119
+ --separator-color: var(--odx-c-separator);
4120
+ }
4121
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4122
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 7);
4123
+ }
4124
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4125
+ --separator-color: var(--odx-c-separator);
4126
+ }
4127
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4128
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 8.3334);
4129
+ }
4130
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4131
+ --separator-color: var(--odx-c-separator);
4132
+ }
4133
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4134
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 9.6667);
4135
+ }
4136
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4137
+ --separator-color: var(--odx-c-separator);
4138
+ }
4139
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4140
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 11);
4141
+ }
4142
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4143
+ --separator-color: var(--odx-c-separator);
4144
+ }
4145
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4146
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 12.3334);
4147
+ }
4148
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4149
+ --separator-color: var(--odx-c-separator);
4150
+ }
4151
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item {
4152
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 13.6667);
4153
+ }
4154
+ .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list .odx-list-item:first-child {
4155
+ --separator-color: var(--odx-c-separator);
4156
+ }
4157
+ .odx-list > .odx-list-item:first-child {
4158
+ --separator-color: transparent;
4159
+ }
4121
4160
 
4122
4161
  .odx-list-item {
4162
+ --separator-color: var(--odx-c-separator);
4123
4163
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
4124
4164
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
4125
4165
  padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.5);
@@ -4133,6 +4173,8 @@ body[odxTheme=dark], body.odx-theme-dark {
4133
4173
  -webkit-user-select: none;
4134
4174
  -moz-user-select: none;
4135
4175
  user-select: none;
4176
+ outline-offset: calc(-1 * var(--odx-v-outline-width-bold));
4177
+ outline-width: var(--odx-v-outline-width-bold);
4136
4178
  display: flex;
4137
4179
  align-items: center;
4138
4180
  background-color: transparent;
@@ -4147,7 +4189,8 @@ body[odxTheme=dark], body.odx-theme-dark {
4147
4189
  outline-color: transparent;
4148
4190
  pointer-events: none;
4149
4191
  }
4150
- .odx-list-item > [odxListSuffix] {
4192
+ .odx-list-item > [odxListSuffix],
4193
+ .odx-list-item > [odxListItemSuffix] {
4151
4194
  margin-left: auto;
4152
4195
  }
4153
4196
  .odx-list-item:not(.is-disabled) {
@@ -4156,19 +4199,20 @@ body[odxTheme=dark], body.odx-theme-dark {
4156
4199
  .odx-list-item::before {
4157
4200
  transition: all var(--odx-v-transition-duration) 0ms var(--odx-v-transition-easing-fn);
4158
4201
  transition-property: border-color;
4159
- border-bottom: 1px solid var(--odx-c-separator);
4202
+ border-bottom: 1px solid var(--separator-color);
4160
4203
  content: "";
4161
4204
  display: block;
4162
4205
  position: absolute;
4206
+ right: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
4163
4207
  top: 0;
4164
- width: calc(100% - calc(var(--odx-vertical-rythm-base-size) * 0.5834));
4208
+ width: calc(100% - calc(var(--odx-vertical-rythm-base-size) * 0.6667));
4165
4209
  }
4166
- .odx-list-item:focus-visible::before, .odx-list-item:first-child::before {
4167
- border-bottom-color: transparent;
4210
+ .odx-list-item:focus-visible {
4211
+ --separator-color: transparent !important;
4168
4212
  }
4169
4213
  @media (hover: hover){
4170
- .odx-list-item:hover::before {
4171
- border-bottom-color: transparent;
4214
+ .odx-list-item:hover {
4215
+ --separator-color: transparent !important;
4172
4216
  }
4173
4217
  }
4174
4218
  @media (hover: hover){
@@ -4176,12 +4220,12 @@ body[odxTheme=dark], body.odx-theme-dark {
4176
4220
  background-color: var(--odx-c-ghost-hover);
4177
4221
  }
4178
4222
  }
4179
- .odx-list-item--danger+.odx-list-item::before, .odx-list-item--selected+.odx-list-item::before {
4180
- border-color: transparent;
4223
+ .odx-list-item--danger+.odx-list-item, .odx-list-item.is-selected+.odx-list-item {
4224
+ --separator-color: transparent !important;
4181
4225
  }
4182
4226
  @media (hover: hover){
4183
- .odx-list-item:hover+.odx-list-item::before {
4184
- border-color: transparent;
4227
+ .odx-list-item:hover+.odx-list-item {
4228
+ --separator-color: transparent !important;
4185
4229
  }
4186
4230
  }
4187
4231
  .odx-list-item.is-disabled {
@@ -4190,14 +4234,10 @@ body[odxTheme=dark], body.odx-theme-dark {
4190
4234
  }
4191
4235
  .odx-list-item--danger {
4192
4236
  --odx-c-focus: var(--odx-c-danger);
4193
- outline-offset: calc(-1 * var(--odx-v-outline-width-bold));
4194
- outline-width: var(--odx-v-outline-width-bold);
4237
+ --separator-color: transparent !important;
4195
4238
  background-color: var(--odx-c-danger);
4196
4239
  color: var(--odx-c-danger-text);
4197
4240
  }
4198
- .odx-list-item--danger::before {
4199
- border-bottom-color: transparent;
4200
- }
4201
4241
  @media (hover: hover){
4202
4242
  .odx-list-item--danger:hover {
4203
4243
  background-color: var(--odx-c-danger-hover);
@@ -4206,26 +4246,24 @@ body[odxTheme=dark], body.odx-theme-dark {
4206
4246
  .odx-list-item--danger.is-disabled {
4207
4247
  color: var(--odx-c-danger-text-disabled);
4208
4248
  }
4209
- .odx-list-item--selected {
4249
+ .odx-list-item.is-selected {
4250
+ --separator-color: transparent !important;
4210
4251
  background-color: var(--odx-c-selected);
4211
4252
  }
4212
- .odx-list-item--selected::before {
4213
- border-bottom-color: transparent;
4214
- }
4215
4253
  @media (hover: hover){
4216
- .odx-list-item--selected:hover {
4254
+ .odx-list-item.is-selected:hover {
4217
4255
  background-color: var(--odx-c-selected-hover);
4218
4256
  }
4219
4257
  }
4220
- .odx-list-item--selected.odx-list-item--danger {
4258
+ .odx-list-item.is-selected.odx-list-item--danger {
4221
4259
  background-color: var(--odx-c-danger-active);
4222
4260
  }
4223
4261
  @media (hover: hover){
4224
- .odx-list-item--selected.odx-list-item--danger:hover {
4262
+ .odx-list-item.is-selected.odx-list-item--danger:hover {
4225
4263
  background-color: var(--red-800);
4226
4264
  }
4227
4265
  }
4228
- .odx-list-item--selected.odx-list-item--danger.is-disabled {
4266
+ .odx-list-item.is-selected.odx-list-item--danger.is-disabled {
4229
4267
  color: var(--odx-c-danger-text);
4230
4268
  }
4231
4269
 
@@ -4526,6 +4564,7 @@ body[odxTheme=dark], body.odx-theme-dark {
4526
4564
  .odx-main-menu {
4527
4565
  --odx-area-header-title-color: var(--odx-main-menu-highlight-color);
4528
4566
  --odx-area-header-subtitle-color: var(--odx-c-text-inverse);
4567
+ z-index: var(--odx-v-layer-5);
4529
4568
  }
4530
4569
  .odx-main-menu__inner {
4531
4570
  background-color: var(--odx-main-menu-background-color);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "2.10.1",
3
+ "version": "2.11.0",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -18,7 +18,7 @@
18
18
  --ag-checkbox-indeterminate-color: var(--odx-control-color-selected);
19
19
  --ag-checkbox-checked-color: var(--odx-control-color-selected);
20
20
 
21
- --ag-font-family: 'Pangea';
21
+ --ag-font-family: var(--odx-typography-font-family);
22
22
  --ag-font-size: var(--odx-typography-base-size);
23
23
 
24
24
  --ag-icon-size: #{typography.get-font-size(1)};
@@ -46,6 +46,6 @@ body {
46
46
  --charts-text-color: var(--odx-c-text);
47
47
  --charts-background-color: var(--odx-c-background-content);
48
48
 
49
- --charts-font-family: 'Pangea';
49
+ --charts-font-family: var(--odx-typography-font-family);
50
50
  --charts-font-size: var(--odx-typography-base-size);
51
51
  }
@@ -7,6 +7,10 @@ body {
7
7
  --odx-badge-contrast-color: var(--odx-c-background-content);
8
8
  }
9
9
 
10
+ .odx-badge-overlay {
11
+ z-index: var(--odx-v-layer-1);
12
+ }
13
+
10
14
  .odx-badge {
11
15
  $badge-size: dimensions.get-size(math.div(2, 3));
12
16
 
@@ -21,7 +25,6 @@ body {
21
25
  min-width: $badge-size;
22
26
  outline: 1px solid transparent;
23
27
  vertical-align: middle;
24
- z-index: var(--odx-v-layer-1);
25
28
 
26
29
  &,
27
30
  &--highlight {
@@ -79,6 +79,7 @@
79
79
  }
80
80
 
81
81
  &#{dropdown.$dropdown-open-selector},
82
+ &.is-active,
82
83
  &:active {
83
84
  background-color: var(--odx-c-#{$variant}-active);
84
85
  }
@@ -107,6 +108,7 @@
107
108
  }
108
109
 
109
110
  &#{dropdown.$dropdown-open-selector},
111
+ &.is-active,
110
112
  &:focus-visible,
111
113
  &:active {
112
114
  background-color: var(--odx-c-focus);
@@ -1,78 +1,55 @@
1
1
  @use 'sass:math';
2
+ @use '../abstract/utils';
2
3
  @use '../abstract/motion';
3
4
  @use '../abstract/dimensions';
4
5
 
5
6
  .odx-expandable-list-item {
6
7
  $root: &;
8
+ $list-item-selector: '> #{$root}__header .odx-list-item';
7
9
 
8
- display: block;
9
- position: relative;
10
-
11
- &::before {
12
- @include motion.transition(border-color);
13
-
14
- border-bottom: 1px solid var(--gray-200);
15
- content: '';
10
+ &__header {
16
11
  display: block;
17
- left: dimensions.get-size(math.div(1, 3));
18
- position: absolute;
19
- top: 0;
20
- width: calc(100% - #{dimensions.get-size(math.div(14, 24))});
21
- }
12
+ position: relative;
22
13
 
23
- &:hover,
24
- &:focus-visible,
25
- &:first-child {
26
- &::before {
27
- border-bottom-color: transparent;
14
+ > .odx-list-item {
15
+ @include dimensions.padding(math.div(52, 24), right);
28
16
  }
29
17
  }
30
18
 
31
- &--danger + &::before,
32
- &:hover + &::before {
33
- border-color: transparent;
34
- }
19
+ &__action {
20
+ margin: 0;
21
+ position: absolute;
22
+ right: dimensions.get-size(math.div(8, 24));
23
+ top: 50%;
24
+ transform: translateY(-50%);
35
25
 
36
- &--danger {
37
- &::before {
38
- border-bottom-color: transparent;
26
+ .odx-icon {
27
+ @include motion.transition(transform);
39
28
  }
40
29
  }
41
30
 
42
- &--expanded {
43
- &::before {
44
- border-bottom-color: transparent;
31
+ &__slot {
32
+ .odx-list #{$root}:first-child #{$list-item-selector},
33
+ .odx-list .odx-list-item:first-child {
34
+ --separator-color: var(--odx-c-separator);
45
35
  }
46
36
  }
47
37
 
48
- &__content {
49
- flex: 1;
50
- }
51
-
52
- &__expand-icon {
53
- @include motion.transition(transform);
54
-
55
- position: relative;
56
-
57
- #{$root}--expanded & {
58
- transform: scaleY(-1);
38
+ &:has(#{$list-item-selector}--danger) {
39
+ #{$root}__action {
40
+ .odx-button {
41
+ color: var(--odx-c-danger-text);
42
+ }
59
43
  }
60
44
  }
61
45
 
62
- &__slot {
63
- #{$root}:last-child & {
64
- .odx-list-item:last-child::after {
65
- border-bottom: 1px solid var(--gray-200);
66
- bottom: 0;
67
- content: '';
68
- display: block;
69
- position: absolute;
70
- width: calc(100% - #{dimensions.get-size(math.div(14, 24))});
71
- }
72
- }
46
+ &:first-child #{$list-item-selector} {
47
+ --separator-color: transparent;
48
+ }
73
49
 
74
- .odx-list-item__content {
75
- @include dimensions.padding(math.div(36, 24), left);
50
+ &--expanded {
51
+ > #{$root}__header #{$root}__action .odx-button .odx-icon {
52
+ transform: scaleY(-1);
76
53
  }
77
54
  }
78
55
  }
@@ -10,7 +10,8 @@
10
10
 
11
11
  $variants: default, warning, danger, success;
12
12
 
13
- @include dimensions.padding(math.div(10, 24));
13
+ @include dimensions.padding-x(math.div(10, 24));
14
+ @include dimensions.padding-y(math.div(12, 24));
14
15
 
15
16
  display: flex;
16
17
  gap: dimensions.get-size(math.div(10, 24));
@@ -7,18 +7,22 @@
7
7
  .odx-list-item {
8
8
  $root: &;
9
9
 
10
- @include dimensions.padding-x(math.div(1, 3));
10
+ --separator-color: var(--odx-c-separator);
11
+
12
+ @include dimensions.padding-x(math.div(8, 24));
11
13
  @include dimensions.line-height(2, 1);
12
14
  @include motion.transition(border-bottom-color background-color outline-color color);
13
15
  @include utils.interactive(false);
16
+ @include utils.with-outline-bold();
14
17
  @include utils.vertical-center-content();
15
18
 
16
19
  background-color: transparent;
17
20
  border-radius: var(--odx-v-border-radius-controls);
18
- gap: dimensions.get-size(math.div(1, 3));
21
+ gap: dimensions.get-size(math.div(8, 24));
19
22
  position: relative;
20
23
 
21
- > [odxListSuffix] {
24
+ > [odxListSuffix],
25
+ > [odxListItemSuffix] {
22
26
  margin-left: auto;
23
27
  }
24
28
 
@@ -29,30 +33,28 @@
29
33
  &::before {
30
34
  @include motion.transition(border-color);
31
35
 
32
- border-bottom: 1px solid var(--odx-c-separator);
36
+ border-bottom: 1px solid var(--separator-color);
33
37
  content: '';
34
38
  display: block;
35
39
  position: absolute;
40
+ right: dimensions.get-size(math.div(8, 24));
36
41
  top: 0;
37
- width: calc(100% - #{dimensions.get-size(math.div(14, 24))});
42
+ width: calc(100% - #{dimensions.get-size(math.div(16, 24))});
38
43
  }
39
44
 
40
45
  &:hover,
41
- &:focus-visible,
42
- &:first-child {
43
- &::before {
44
- border-bottom-color: transparent;
45
- }
46
+ &:focus-visible {
47
+ --separator-color: transparent !important;
46
48
  }
47
49
 
48
50
  &:hover {
49
51
  background-color: var(--odx-c-ghost-hover);
50
52
  }
51
53
 
52
- &--danger + &::before,
53
- &--selected + &::before,
54
- &:hover + &::before {
55
- border-color: transparent;
54
+ &--danger + &,
55
+ &.is-selected + &,
56
+ &:hover + & {
57
+ --separator-color: transparent !important;
56
58
  }
57
59
 
58
60
  &.is-disabled {
@@ -62,16 +64,11 @@
62
64
 
63
65
  &--danger {
64
66
  --odx-c-focus: var(--odx-c-danger);
65
-
66
- @include utils.with-outline-bold();
67
+ --separator-color: transparent !important;
67
68
 
68
69
  background-color: var(--odx-c-danger);
69
70
  color: var(--odx-c-danger-text);
70
71
 
71
- &::before {
72
- border-bottom-color: transparent;
73
- }
74
-
75
72
  &:hover {
76
73
  background-color: var(--odx-c-danger-hover);
77
74
  }
@@ -81,12 +78,10 @@
81
78
  }
82
79
  }
83
80
 
84
- &--selected {
85
- background-color: var(--odx-c-selected);
81
+ &.is-selected {
82
+ --separator-color: transparent !important;
86
83
 
87
- &::before {
88
- border-bottom-color: transparent;
89
- }
84
+ background-color: var(--odx-c-selected);
90
85
 
91
86
  &:hover {
92
87
  background-color: var(--odx-c-selected-hover);
@@ -1,3 +1,27 @@
1
+ @use 'sass:math';
2
+ @use 'sass:selector';
3
+ @use '../abstract/dimensions';
4
+
1
5
  .odx-list {
2
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
+ }
3
27
  }
@@ -28,6 +28,8 @@ body {
28
28
  --odx-area-header-title-color: var(--odx-main-menu-highlight-color);
29
29
  --odx-area-header-subtitle-color: var(--odx-c-text-inverse);
30
30
 
31
+ z-index: var(--odx-v-layer-5);
32
+
31
33
  &__inner {
32
34
  background-color: var(--odx-main-menu-background-color);
33
35
  color: var(--odx-main-menu-text-color);
@@ -4,21 +4,21 @@
4
4
  @use '../abstract/typography';
5
5
 
6
6
  @font-face {
7
- font-family: Pangea;
7
+ font-family: PangeaText;
8
8
  font-style: normal;
9
9
  font-weight: normal;
10
10
  src: url('../assets/fonts/PangeaText-RegularWeb.woff2') format('woff2');
11
11
  }
12
12
 
13
13
  @font-face {
14
- font-family: Pangea;
14
+ font-family: PangeaText;
15
15
  font-style: normal;
16
16
  font-weight: 500;
17
17
  src: url('../assets/fonts/PangeaText-MediumWeb.woff2') format('woff2');
18
18
  }
19
19
 
20
20
  @font-face {
21
- font-family: Pangea;
21
+ font-family: PangeaText;
22
22
  font-style: normal;
23
23
  font-weight: bold;
24
24
  src: url('../assets/fonts/PangeaText-SemiBoldWeb.woff2') format('woff2');
@@ -34,7 +34,7 @@ html body {
34
34
  @include typography.font-weight(normal);
35
35
 
36
36
  color: var(--odx-c-text);
37
- font-family: Pangea, sans-serif;
37
+ font-family: var(--odx-typography-font-family);
38
38
  }
39
39
 
40
40
  .odx-title,
@@ -1,6 +1,7 @@
1
1
  @use '../abstract/breakpoints';
2
2
 
3
3
  :root {
4
+ --odx-typography-font-family: 'PangeaText', 'Arial', sans-serif;
4
5
  --odx-typography-base-size: 1.6rem; // clamp(1.4rem, 0.667vw + 1rem, 1.6rem);
5
6
  --odx-typography-base-line-height: 1.5;
6
7
  --odx-typography-font-weight-normal: normal;