@odx/ui 4.2.0 → 4.3.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,17 @@
1
1
  # @odx/ui
2
2
 
3
+ ## 4.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 429c76c: Reset button for datepicker inside mainfilter group
8
+
9
+ ## 4.3.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 388a92e: Badges, Dropdowns, Tooltips rework (connected overlay now uses popover api)
14
+
3
15
  ## 4.2.0
4
16
 
5
17
  ### Minor Changes
package/core-theme.css CHANGED
@@ -2126,15 +2126,21 @@ html body .odx-fs-italic {
2126
2126
  .odx-cdk-connected-overlay {
2127
2127
  transition-delay: 0ms;
2128
2128
  transition-duration: var(--odx-v-transition-duration);
2129
- transition-property: opacity, visibility;
2129
+ transition-property: opacity, visibility, overlay;
2130
2130
  transition-timing-function: var(--odx-v-transition-easing-fn);
2131
- display: block;
2131
+ background: transparent;
2132
+ border: 0;
2133
+ color: var(--odx-c-text);
2134
+ margin: 0;
2135
+ opacity: 0;
2136
+ overflow: visible;
2137
+ padding: 0;
2132
2138
  position: fixed;
2133
- z-index: var(--odx-v-layer-4);
2139
+ transform: translate(var(--odx-cdk-connected-overlay-position-x, 0), var(--odx-cdk-connected-overlay-position-y, 0));
2140
+ transition-behavior: allow-discrete;
2134
2141
  }
2135
2142
  .odx-cdk-connected-overlay.is-hidden {
2136
- opacity: 0;
2137
- visibility: hidden;
2143
+ display: none;
2138
2144
  }
2139
2145
  .odx-cdk-connected-overlay__content {
2140
2146
  left: 0 !important;
@@ -2148,13 +2154,20 @@ html body .odx-fs-italic {
2148
2154
  .odx-cdk-connected-overlay__content > * {
2149
2155
  max-height: var(--odx-cdk-connected-overlay-max-height-modified, var(--odx-cdk-connected-overlay-max-height, unset));
2150
2156
  }
2157
+ .odx-cdk-connected-overlay:popover-open {
2158
+ opacity: 1;
2159
+ }
2160
+ @starting-style {
2161
+ .odx-cdk-connected-overlay:popover-open {
2162
+ opacity: 0;
2163
+ }
2164
+ }
2151
2165
 
2152
2166
  .odx-cdk-connected-overlay-arrow {
2153
2167
  height: calc(var(--odx-vertical-rythm-base-size) * 0.5);
2154
2168
  position: fixed;
2155
2169
  transform: rotate(45deg);
2156
2170
  width: calc(var(--odx-vertical-rythm-base-size) * 0.5);
2157
- z-index: var(--odx-v-layer-1);
2158
2171
  }
2159
2172
 
2160
2173
  /*
@@ -2856,10 +2869,6 @@ html body .odx-fs-italic {
2856
2869
  --odx-badge-contrast-color: var(--odx-c-background-content);
2857
2870
  }
2858
2871
 
2859
- .odx-badge-overlay {
2860
- z-index: var(--odx-v-layer-1);
2861
- }
2862
-
2863
2872
  .odx-badge {
2864
2873
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.125);
2865
2874
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.125);
@@ -4910,20 +4919,20 @@ html body .odx-fs-italic {
4910
4919
  .odx-mainfilter-group .odx-form-field__hint {
4911
4920
  display: none;
4912
4921
  }
4913
- .odx-mainfilter-group .odx-button {
4922
+ .odx-mainfilter-group > .odx-button {
4914
4923
  margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
4915
4924
  outline-offset: -1px;
4916
4925
  outline-width: var(--odx-v-outline-width);
4917
4926
  overflow: visible;
4918
4927
  position: relative;
4919
4928
  }
4920
- .odx-mainfilter-group .odx-button:not(:focus-visible) {
4929
+ .odx-mainfilter-group > .odx-button:not(:focus-visible) {
4921
4930
  outline-color: var(--odx-input-control-outline-color);
4922
4931
  }
4923
- .odx-mainfilter-group .odx-button:focus-visible {
4932
+ .odx-mainfilter-group > .odx-button:focus-visible {
4924
4933
  background-color: var(--odx-c-focus);
4925
4934
  }
4926
- .odx-mainfilter-group .odx-button::before {
4935
+ .odx-mainfilter-group > .odx-button::before {
4927
4936
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.125);
4928
4937
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.125);
4929
4938
  padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.0834);
@@ -4982,6 +4991,12 @@ html body .odx-fs-italic {
4982
4991
  .odx-mainfilter-group .odx-daterangepicker .odx-button::before {
4983
4992
  content: unset;
4984
4993
  }
4994
+ .odx-mainfilter-group .odx-datepicker + .odx-button,
4995
+ .odx-mainfilter-group .odx-daterangepicker + .odx-button {
4996
+ background-color: unset;
4997
+ margin: 0 0 0 calc(var(--odx-vertical-rythm-base-size) * -0.3333);
4998
+ outline: none;
4999
+ }
4985
5000
  .odx-mainfilter-group .odx-daterangepicker__trigger-wrapper .odx-button {
4986
5001
  margin-left: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4987
5002
  }
@@ -5232,14 +5247,6 @@ html body .odx-fs-italic {
5232
5247
  width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
5233
5248
  }
5234
5249
 
5235
- @keyframes basic-fade-out {
5236
- from {
5237
- opacity: 1;
5238
- }
5239
- to {
5240
- opacity: 0;
5241
- }
5242
- }
5243
5250
  .odx-modal {
5244
5251
  --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 2);
5245
5252
  --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
@@ -5255,17 +5262,40 @@ html body .odx-fs-italic {
5255
5262
  padding: 0;
5256
5263
  width: min(var(--odx-modal-max-width), 100% - 2 * var(--odx-modal-margin-x));
5257
5264
  }
5258
- .odx-modal:modal {
5259
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5260
- max-width: 100vw;
5265
+ .odx-modal::backdrop, .odx-modal:modal {
5266
+ transition-delay: 0ms;
5267
+ transition-duration: var(--odx-v-transition-duration);
5268
+ transition-property: opacity, visibility, overlay, transform;
5269
+ transition-timing-function: var(--odx-v-transition-easing-fn);
5270
+ opacity: 0;
5271
+ transition-behavior: allow-discrete;
5261
5272
  }
5262
5273
  .odx-modal::backdrop {
5263
5274
  -webkit-backdrop-filter: blur(var(--odx-v-backdrop-blur));
5264
5275
  backdrop-filter: blur(var(--odx-v-backdrop-blur));
5265
5276
  background-color: var(--odx-c-backdrop-dark);
5266
5277
  }
5267
- .odx-modal[data-closing-animation]::backdrop {
5268
- animation: basic-fade-out 0.3s;
5278
+ .odx-modal:modal {
5279
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5280
+ max-width: 100vw;
5281
+ }
5282
+ .odx-modal[open]::backdrop, .odx-modal[open]:modal {
5283
+ opacity: 1;
5284
+ }
5285
+ .odx-modal[open]:modal {
5286
+ transform: translateY(0);
5287
+ transform: translateX(0);
5288
+ }
5289
+ @starting-style {
5290
+ .odx-modal[open]:modal, .odx-modal[open]::backdrop {
5291
+ opacity: 0;
5292
+ }
5293
+ .odx-modal[open]:modal:not(.odx-modal--sidesheet) {
5294
+ transform: translateY(calc(var(--odx-vertical-rythm-base-size) * 0.3334));
5295
+ }
5296
+ .odx-modal[open]:modal.odx-modal--sidesheet {
5297
+ transform: translateX(calc(var(--odx-vertical-rythm-base-size) * 2));
5298
+ }
5269
5299
  }
5270
5300
  .odx-modal.odx-modal--xsmall {
5271
5301
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 15);
@@ -5278,7 +5308,9 @@ html body .odx-fs-italic {
5278
5308
  }
5279
5309
  .odx-modal--sidesheet {
5280
5310
  height: 100%;
5281
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5311
+ }
5312
+ .odx-modal--sidesheet .odx-modal__container {
5313
+ height: calc(100dvh - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5282
5314
  }
5283
5315
  .odx-modal--sidesheet::backdrop {
5284
5316
  -webkit-backdrop-filter: unset;
@@ -6803,16 +6835,15 @@ html body .odx-fs-italic {
6803
6835
  .odx-toast-container {
6804
6836
  --odx-toast-outer-offset: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
6805
6837
  --odx-toast-border-radius: calc(var(--odx-vertical-rythm-base-size) * 0.25);
6838
+ background-color: transparent;
6839
+ border: none;
6840
+ color: var(--odx-c-text);
6806
6841
  display: flex;
6807
6842
  flex-direction: column;
6808
- margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.1667);
6843
+ margin: calc(var(--odx-vertical-rythm-base-size) * 0.1667) var(--odx-toast-outer-offset) auto auto;
6809
6844
  max-width: min(100dvw - 2 * var(--odx-toast-outer-offset), var(--odx-vertical-rythm-base-size) * 20);
6845
+ overflow: clip;
6810
6846
  padding-top: var(--odx-toast-outer-offset);
6811
- position: fixed;
6812
- right: var(--odx-toast-outer-offset);
6813
- top: 0;
6814
- width: 100%;
6815
- z-index: var(--odx-v-layer-5);
6816
6847
  }
6817
6848
  .odx-toast-container__counter {
6818
6849
  align-self: center;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "4.2.0",
3
+ "version": "4.3.1",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -5,15 +5,21 @@
5
5
  @use '../abstract/utils';
6
6
 
7
7
  .odx-cdk-connected-overlay {
8
- @include motion.transition(opacity visibility);
8
+ @include motion.transition(opacity visibility overlay);
9
9
 
10
- display: block;
10
+ background: transparent;
11
+ border: 0;
12
+ color: var(--odx-c-text);
13
+ margin: 0;
14
+ opacity: 0;
15
+ overflow: visible;
16
+ padding: 0;
11
17
  position: fixed;
12
- z-index: var(--odx-v-layer-4);
18
+ transform: translate(var(--odx-cdk-connected-overlay-position-x, 0), var(--odx-cdk-connected-overlay-position-y, 0));
19
+ transition-behavior: allow-discrete;
13
20
 
14
21
  &.is-hidden {
15
- opacity: 0;
16
- visibility: hidden;
22
+ display: none;
17
23
  }
18
24
 
19
25
  &__content {
@@ -29,6 +35,16 @@
29
35
  max-height: var(--odx-cdk-connected-overlay-max-height-modified, var(--odx-cdk-connected-overlay-max-height, unset));
30
36
  }
31
37
  }
38
+
39
+ &:popover-open {
40
+ opacity: 1;
41
+ }
42
+
43
+ @starting-style {
44
+ &:popover-open {
45
+ opacity: 0;
46
+ }
47
+ }
32
48
  }
33
49
 
34
50
  .odx-cdk-connected-overlay-arrow {
@@ -36,5 +52,4 @@
36
52
  position: fixed;
37
53
  transform: rotate(45deg);
38
54
  width: dimensions.get-size(0.5);
39
- z-index: var(--odx-v-layer-1);
40
55
  }
@@ -7,10 +7,6 @@
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
-
14
10
  .odx-badge {
15
11
  $badge-size: dimensions.get-size(math.div(2, 3));
16
12
 
@@ -73,7 +73,7 @@
73
73
  }
74
74
  }
75
75
 
76
- .odx-button {
76
+ > .odx-button {
77
77
  margin-top: calc(var(--odx-vertical-rythm-base-size) * 0.8334);
78
78
  outline-offset: -1px;
79
79
  outline-width: var(--odx-v-outline-width);
@@ -153,6 +153,12 @@
153
153
  content: unset;
154
154
  }
155
155
  }
156
+
157
+ + .odx-button {
158
+ background-color: unset;
159
+ margin: 0 0 0 dimensions.get-size(math.div(-8, 24));
160
+ outline: none;
161
+ }
156
162
  }
157
163
 
158
164
  .odx-daterangepicker {
@@ -1,19 +1,10 @@
1
1
  @use 'sass:math';
2
2
  @use '../abstract/dimensions';
3
3
  @use '../abstract/breakpoints';
4
+ @use '../abstract/motion';
4
5
  @use '../abstract/typography';
5
6
  @use '../abstract/utils';
6
7
 
7
- @keyframes basic-fade-out {
8
- from {
9
- opacity: 1;
10
- }
11
-
12
- to {
13
- opacity: 0;
14
- }
15
- }
16
-
17
8
  $modal-padding: math.div(12, 24);
18
9
 
19
10
  .odx-modal {
@@ -34,9 +25,12 @@ $modal-padding: math.div(12, 24);
34
25
  padding: 0;
35
26
  width: min(var(--odx-modal-max-width), calc(100% - 2 * var(--odx-modal-margin-x)));
36
27
 
28
+ &::backdrop,
37
29
  &:modal {
38
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
39
- max-width: 100vw;
30
+ @include motion.transition(opacity visibility overlay transform);
31
+
32
+ opacity: 0;
33
+ transition-behavior: allow-discrete;
40
34
  }
41
35
 
42
36
  &::backdrop {
@@ -44,8 +38,34 @@ $modal-padding: math.div(12, 24);
44
38
  background-color: var(--odx-c-backdrop-dark);
45
39
  }
46
40
 
47
- &[data-closing-animation]::backdrop {
48
- animation: basic-fade-out 0.3s;
41
+ &:modal {
42
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
43
+ max-width: 100vw;
44
+ }
45
+
46
+ &[open]::backdrop,
47
+ &[open]:modal {
48
+ opacity: 1;
49
+ }
50
+
51
+ &[open]:modal {
52
+ transform: translateY(0);
53
+ transform: translateX(0);
54
+ }
55
+
56
+ @starting-style {
57
+ &[open]:modal,
58
+ &[open]::backdrop {
59
+ opacity: 0;
60
+ }
61
+
62
+ &[open]:modal:not(#{$root}--sidesheet) {
63
+ transform: translateY(#{dimensions.get-size(math.div(8, 24))});
64
+ }
65
+
66
+ &[open]:modal#{$root}--sidesheet {
67
+ transform: translateX(#{dimensions.get-size(math.div(8, 4))});
68
+ }
49
69
  }
50
70
 
51
71
  &.odx-modal--xsmall {
@@ -62,7 +82,10 @@ $modal-padding: math.div(12, 24);
62
82
 
63
83
  &--sidesheet {
64
84
  height: 100%;
65
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
85
+
86
+ #{$root}__container {
87
+ height: calc(100dvh - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
88
+ }
66
89
 
67
90
  &::backdrop {
68
91
  backdrop-filter: unset;
@@ -7,16 +7,15 @@
7
7
  --odx-toast-outer-offset: #{dimensions.get-size(math.div(8, 24))};
8
8
  --odx-toast-border-radius: #{dimensions.get-size(math.div(6, 24))};
9
9
 
10
+ background-color: transparent;
11
+ border: none;
12
+ color: var(--odx-c-text);
10
13
  display: flex;
11
14
  flex-direction: column;
12
- margin-top: dimensions.get-size(math.div(4, 24));
15
+ margin: #{dimensions.get-size(math.div(4, 24))} var(--odx-toast-outer-offset) auto auto;
13
16
  max-width: min(calc(100dvw - 2 * var(--odx-toast-outer-offset)), dimensions.get-size(20));
17
+ overflow: clip;
14
18
  padding-top: var(--odx-toast-outer-offset);
15
- position: fixed;
16
- right: var(--odx-toast-outer-offset);
17
- top: 0;
18
- width: 100%;
19
- z-index: var(--odx-v-layer-5);
20
19
 
21
20
  &__counter {
22
21
  align-self: center;