@odx/ui 3.7.0 → 3.9.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,11 +1,27 @@
1
1
  # @odx/ui
2
2
 
3
+ ## 3.9.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 32bc292: Added possibility for datepicker and daterangepicker to be included in main filter group
8
+
9
+ ## 3.8.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 172ecd3: ODX Modal & Sidesheet now uses native HTML Dialog under the hood
14
+
3
15
  ## 3.7.0
4
16
 
5
17
  ### Minor Changes
6
18
 
7
19
  - 8d72579: Added headline classes styling
8
20
 
21
+ ### Patch Changes
22
+
23
+ - 288bb39: Responsive attribute for wizard component
24
+
9
25
  ## 3.6.0
10
26
 
11
27
  ### Minor Changes
package/core-theme.css CHANGED
@@ -4856,9 +4856,13 @@ html body .odx-fs-italic {
4856
4856
  min-width: calc(var(--odx-vertical-rythm-base-size) * 7.1667);
4857
4857
  }
4858
4858
  .odx-mainfilter-group .odx-form-field__label {
4859
+ padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.125);
4860
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.125);
4861
+ background-color: var(--odx-input-control-background-color);
4859
4862
  margin-top: 0;
4860
4863
  position: absolute;
4861
4864
  right: 0;
4865
+ right: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
4862
4866
  top: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4863
4867
  z-index: 1;
4864
4868
  }
@@ -4866,11 +4870,8 @@ html body .odx-fs-italic {
4866
4870
  right: calc(var(--odx-vertical-rythm-base-size) * 1.5);
4867
4871
  }
4868
4872
  .odx-mainfilter-group .odx-form-field-label {
4869
- padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.125);
4870
- padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.125);
4871
4873
  padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.0834);
4872
4874
  padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.0834);
4873
- background-color: var(--odx-input-control-background-color);
4874
4875
  border-radius: var(--odx-v-border-radius-controls);
4875
4876
  display: inline-block;
4876
4877
  font-size: calc(var(--odx-vertical-rythm-base-size) * 0.4167);
@@ -4938,6 +4939,25 @@ html body .odx-fs-italic {
4938
4939
  background-color: transparent;
4939
4940
  }
4940
4941
  }
4942
+ .odx-mainfilter-group .odx-datepicker > .odx-action-group,
4943
+ .odx-mainfilter-group .odx-daterangepicker > .odx-action-group {
4944
+ z-index: 1;
4945
+ }
4946
+ .odx-mainfilter-group .odx-datepicker .odx-button,
4947
+ .odx-mainfilter-group .odx-daterangepicker .odx-button {
4948
+ margin-top: 0;
4949
+ outline: none;
4950
+ }
4951
+ .odx-mainfilter-group .odx-datepicker .odx-button::before,
4952
+ .odx-mainfilter-group .odx-daterangepicker .odx-button::before {
4953
+ content: unset;
4954
+ }
4955
+ .odx-mainfilter-group .odx-daterangepicker__trigger-wrapper .odx-button {
4956
+ margin-left: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4957
+ }
4958
+ .odx-mainfilter-group .odx-calendar {
4959
+ --odx-input-control-outline-color: var(--gray-200);
4960
+ }
4941
4961
 
4942
4962
  .odx-main-menu-button {
4943
4963
  color: inherit;
@@ -5182,73 +5202,85 @@ html body .odx-fs-italic {
5182
5202
  width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
5183
5203
  }
5184
5204
 
5205
+ @keyframes basic-fade-out {
5206
+ from {
5207
+ opacity: 1;
5208
+ }
5209
+ to {
5210
+ opacity: 0;
5211
+ }
5212
+ }
5185
5213
  .odx-modal {
5186
5214
  --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 2);
5187
5215
  --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
5188
5216
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 20);
5189
5217
  --odx-modal-margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.5);
5218
+ background: transparent;
5219
+ border: 0;
5220
+ border-radius: var(--odx-v-border-radius);
5221
+ box-shadow: var(--odx-v-box-shadow-layer-2);
5222
+ color: var(--odx-c-text);
5223
+ margin-top: var(--odx-modal-margin-y);
5224
+ overflow: unset;
5225
+ padding: 0;
5226
+ width: min(var(--odx-modal-max-width), 100% - 2 * var(--odx-modal-margin-x));
5227
+ }
5228
+ .odx-modal:modal {
5229
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5230
+ max-width: 100vw;
5231
+ }
5232
+ .odx-modal::backdrop {
5190
5233
  -webkit-backdrop-filter: blur(var(--odx-v-backdrop-blur));
5191
5234
  backdrop-filter: blur(var(--odx-v-backdrop-blur));
5192
5235
  background-color: var(--odx-c-backdrop-dark);
5193
- display: block;
5194
- height: 100dvh;
5195
- left: 0;
5196
- overscroll-behavior: contain;
5197
- position: fixed;
5198
- top: 0;
5199
- width: 100dvw;
5200
- z-index: var(--odx-v-layer-4);
5201
5236
  }
5202
- @media (min-width: 480px) {
5203
- .odx-modal {
5204
- --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 3);
5205
- --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 1);
5206
- --odx-modal-margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 1);
5207
- }
5237
+ .odx-modal[data-closing-animation]::backdrop {
5238
+ animation: basic-fade-out 0.3s;
5208
5239
  }
5209
- .odx-modal--sidesheet {
5210
- -webkit-backdrop-filter: unset;
5211
- backdrop-filter: unset;
5212
- background-color: unset;
5213
- }
5214
- .odx-modal__container {
5215
- padding-right: calc(var(--odx-vertical-rythm-base-size) * 1);
5216
- padding-left: calc(var(--odx-vertical-rythm-base-size) * 1);
5217
- background-color: var(--odx-c-background-content);
5218
- border-radius: var(--odx-v-border-radius);
5219
- box-shadow: var(--odx-v-box-shadow-layer-2);
5220
- display: flex;
5221
- flex-direction: column;
5222
- margin: var(--odx-modal-margin-y) auto 0;
5223
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5224
- min-height: calc(var(--odx-vertical-rythm-base-size) * 7);
5225
- width: min(var(--odx-modal-max-width), 100% - 2 * var(--odx-modal-margin-x));
5226
- }
5227
- .odx-modal--xsmall .odx-modal__container {
5240
+ .odx-modal.odx-modal--xsmall {
5228
5241
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 15);
5229
5242
  }
5230
- .odx-modal--medium .odx-modal__container {
5243
+ .odx-modal.odx-modal--medium {
5231
5244
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 30);
5232
5245
  }
5233
- .odx-modal--large .odx-modal__container {
5246
+ .odx-modal.odx-modal--large {
5234
5247
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 50);
5235
5248
  }
5236
- .odx-modal--sidesheet .odx-modal__container {
5249
+ .odx-modal--sidesheet {
5237
5250
  height: 100%;
5238
- left: unset;
5239
5251
  max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5240
- right: 0;
5252
+ }
5253
+ .odx-modal--sidesheet::backdrop {
5254
+ -webkit-backdrop-filter: unset;
5255
+ backdrop-filter: unset;
5256
+ background-color: unset;
5241
5257
  }
5242
5258
  @media (min-width: 480px) {
5243
- .odx-modal--sidesheet .odx-modal__container {
5259
+ .odx-modal--sidesheet {
5244
5260
  margin-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
5245
5261
  }
5246
5262
  }
5247
5263
  @media (max-width: 479px) {
5248
- .odx-modal--sidesheet .odx-modal__container {
5264
+ .odx-modal--sidesheet {
5249
5265
  --odx-modal-max-width: 100dvw !important;
5250
5266
  }
5251
5267
  }
5268
+ @media (min-width: 480px) {
5269
+ .odx-modal {
5270
+ --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 3);
5271
+ --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 1);
5272
+ --odx-modal-margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 1);
5273
+ }
5274
+ }
5275
+ .odx-modal__container {
5276
+ padding-right: calc(var(--odx-vertical-rythm-base-size) * 1);
5277
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 1);
5278
+ background-color: var(--odx-c-background-content);
5279
+ border-radius: var(--odx-v-border-radius);
5280
+ display: flex;
5281
+ flex-direction: column;
5282
+ height: 100%;
5283
+ }
5252
5284
  .odx-modal--with-component .odx-modal__container > * {
5253
5285
  display: contents;
5254
5286
  }
@@ -6973,15 +7005,15 @@ html body .odx-fs-italic {
6973
7005
  }
6974
7006
 
6975
7007
  .odx-wizard {
6976
- --odx-horizontal-wizzard-width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
6977
- --odx-vertical-wizzard-heigth: calc(var(--odx-vertical-rythm-base-size) * 2.9167);
7008
+ --odx-horizontal-wizard-width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
7009
+ --odx-vertical-wizard-height: calc(var(--odx-vertical-rythm-base-size) * 2.9167);
6978
7010
  display: flex;
6979
7011
  }
6980
7012
  .odx-wizard--vertical {
6981
7013
  flex-direction: column;
6982
7014
  }
6983
7015
  .odx-wizard--overflow:not(.odx-wizard--vertical) {
6984
- min-width: calc(var(--odx-horizontal-wizzard-width) * 7);
7016
+ min-width: calc(var(--odx-horizontal-wizard-width) * 7);
6985
7017
  }
6986
7018
 
6987
7019
  .odx-wizard-step {
@@ -6993,7 +7025,7 @@ html body .odx-fs-italic {
6993
7025
  }
6994
7026
  .odx-wizard:not(.odx-wizard--vertical) .odx-wizard-step {
6995
7027
  gap: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
6996
- min-width: var(--odx-horizontal-wizzard-width);
7028
+ min-width: var(--odx-horizontal-wizard-width);
6997
7029
  }
6998
7030
  .odx-wizard-step.is-disabled {
6999
7031
  outline-color: transparent;
@@ -7061,12 +7093,12 @@ html body .odx-fs-italic {
7061
7093
  border-style: dashed;
7062
7094
  height: 0;
7063
7095
  margin-bottom: calc(calc(var(--odx-vertical-rythm-base-size) * 0.8334) / 2 - calc(var(--odx-vertical-rythm-base-size) * 0.0834) / 2);
7064
- min-width: var(--odx-horizontal-wizzard-width);
7096
+ min-width: var(--odx-horizontal-wizard-width);
7065
7097
  }
7066
7098
  .odx-wizard.odx-wizard--vertical .odx-wizard-step__dotted-line {
7067
7099
  border-style: dashed;
7068
7100
  margin-left: calc(calc(var(--odx-vertical-rythm-base-size) * 0.8334) / 2 - calc(var(--odx-vertical-rythm-base-size) * 0.0834) / 2);
7069
- padding-bottom: var(--odx-verticalal-wizzard-heigth);
7101
+ padding-bottom: var(--odx-vertical-wizard-height);
7070
7102
  }
7071
7103
  .odx-wizard.odx-wizard--vertical .odx-wizard-step:first-of-type + .odx-wizard-step__dotted-line {
7072
7104
  border-left-color: var(--odx-c-primary);
@@ -7166,7 +7198,7 @@ html body .odx-fs-italic {
7166
7198
  }
7167
7199
  .odx-wizard--vertical .odx-wizard-step {
7168
7200
  align-items: center;
7169
- flex: 0 0 var(--odx-vertical-wizzard-heigth);
7201
+ flex: 0 0 var(--odx-vertical-wizard-height);
7170
7202
  flex-direction: row-reverse;
7171
7203
  gap: calc(var(--odx-vertical-rythm-base-size) * 0.5);
7172
7204
  justify-content: start;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "3.7.0",
3
+ "version": "3.9.0",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -42,9 +42,13 @@
42
42
  }
43
43
 
44
44
  &__label {
45
+ @include dimensions.padding-x(math.div(3, 24));
46
+
47
+ background-color: var(--odx-input-control-background-color);
45
48
  margin-top: 0;
46
49
  position: absolute;
47
50
  right: 0;
51
+ right: dimensions.get-size(math.div(8, 24));
48
52
  top: dimensions.get-size(math.div(12, 24));
49
53
  z-index: 1;
50
54
  }
@@ -56,10 +60,8 @@
56
60
  }
57
61
 
58
62
  &-label {
59
- @include dimensions.padding-x(math.div(3, 24));
60
63
  @include dimensions.padding-y(math.div(2, 24));
61
64
 
62
- background-color: var(--odx-input-control-background-color);
63
65
  border-radius: var(--odx-v-border-radius-controls);
64
66
  display: inline-block;
65
67
  font-size: dimensions.get-size(math.div(10, 24));
@@ -136,4 +138,30 @@
136
138
  }
137
139
  }
138
140
  }
141
+
142
+ .odx-datepicker,
143
+ .odx-daterangepicker {
144
+ & > .odx-action-group {
145
+ z-index: 1;
146
+ }
147
+
148
+ .odx-button {
149
+ margin-top: 0;
150
+ outline: none;
151
+
152
+ &::before {
153
+ content: unset;
154
+ }
155
+ }
156
+ }
157
+
158
+ .odx-daterangepicker {
159
+ &__trigger-wrapper .odx-button {
160
+ @include dimensions.margin(0.5, left);
161
+ }
162
+ }
163
+
164
+ .odx-calendar {
165
+ --odx-input-control-outline-color: var(--gray-200);
166
+ }
139
167
  }
@@ -4,6 +4,16 @@
4
4
  @use '../abstract/typography';
5
5
  @use '../abstract/utils';
6
6
 
7
+ @keyframes basic-fade-out {
8
+ from {
9
+ opacity: 1;
10
+ }
11
+
12
+ to {
13
+ opacity: 0;
14
+ }
15
+ }
16
+
7
17
  $modal-padding: math.div(12, 24);
8
18
 
9
19
  .odx-modal {
@@ -14,67 +24,74 @@ $modal-padding: math.div(12, 24);
14
24
 
15
25
  $root: &;
16
26
 
17
- backdrop-filter: blur(var(--odx-v-backdrop-blur));
18
- background-color: var(--odx-c-backdrop-dark);
19
- display: block;
20
- height: 100dvh;
21
- left: 0;
22
- overscroll-behavior: contain;
23
- position: fixed;
24
- top: 0;
25
- width: 100dvw;
26
- z-index: var(--odx-v-layer-4);
27
+ background: transparent;
28
+ border: 0;
29
+ border-radius: var(--odx-v-border-radius);
30
+ box-shadow: var(--odx-v-box-shadow-layer-2);
31
+ color: var(--odx-c-text);
32
+ margin-top: var(--odx-modal-margin-y);
33
+ overflow: unset;
34
+ padding: 0;
35
+ width: min(var(--odx-modal-max-width), calc(100% - 2 * var(--odx-modal-margin-x)));
36
+
37
+ &:modal {
38
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
39
+ max-width: 100vw;
40
+ }
27
41
 
28
- @include breakpoints.up(phone) {
29
- --odx-modal-margin-y: #{dimensions.get-size(3)};
30
- --odx-modal-margin-x: #{dimensions.get-size(1)};
31
- --odx-modal-margin-bottom: #{dimensions.get-size(1)};
42
+ &::backdrop {
43
+ backdrop-filter: blur(var(--odx-v-backdrop-blur));
44
+ background-color: var(--odx-c-backdrop-dark);
32
45
  }
33
46
 
34
- &--sidesheet {
35
- backdrop-filter: unset;
36
- background-color: unset;
47
+ &[data-closing-animation]::backdrop {
48
+ animation: basic-fade-out 0.3s;
37
49
  }
38
50
 
39
- &__container {
40
- @include dimensions.padding-x(1);
51
+ &.odx-modal--xsmall {
52
+ --odx-modal-max-width: #{dimensions.get-size(15)};
53
+ }
41
54
 
42
- background-color: var(--odx-c-background-content);
43
- border-radius: var(--odx-v-border-radius);
44
- box-shadow: var(--odx-v-box-shadow-layer-2);
45
- display: flex;
46
- flex-direction: column;
47
- margin: var(--odx-modal-margin-y) auto 0;
55
+ &.odx-modal--medium {
56
+ --odx-modal-max-width: #{dimensions.get-size(30)};
57
+ }
58
+
59
+ &.odx-modal--large {
60
+ --odx-modal-max-width: #{dimensions.get-size(50)};
61
+ }
62
+
63
+ &--sidesheet {
64
+ height: 100%;
48
65
  max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
49
- min-height: dimensions.get-size(7);
50
- width: min(var(--odx-modal-max-width), calc(100% - 2 * var(--odx-modal-margin-x)));
51
66
 
52
- #{$root}--xsmall & {
53
- --odx-modal-max-width: #{dimensions.get-size(15)};
67
+ &::backdrop {
68
+ backdrop-filter: unset;
69
+ background-color: unset;
54
70
  }
55
71
 
56
- #{$root}--medium & {
57
- --odx-modal-max-width: #{dimensions.get-size(30)};
72
+ @include breakpoints.up(phone) {
73
+ margin-right: dimensions.get-size(0.5);
58
74
  }
59
75
 
60
- #{$root}--large & {
61
- --odx-modal-max-width: #{dimensions.get-size(50)};
76
+ @include breakpoints.down(phone) {
77
+ --odx-modal-max-width: 100dvw !important;
62
78
  }
79
+ }
63
80
 
64
- #{$root}--sidesheet & {
65
- height: 100%;
66
- left: unset;
67
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
68
- right: 0;
81
+ @include breakpoints.up(phone) {
82
+ --odx-modal-margin-y: #{dimensions.get-size(3)};
83
+ --odx-modal-margin-x: #{dimensions.get-size(1)};
84
+ --odx-modal-margin-bottom: #{dimensions.get-size(1)};
85
+ }
69
86
 
70
- @include breakpoints.up(phone) {
71
- margin-right: dimensions.get-size(0.5);
72
- }
87
+ &__container {
88
+ @include dimensions.padding-x(1);
73
89
 
74
- @include breakpoints.down(phone) {
75
- --odx-modal-max-width: 100dvw !important;
76
- }
77
- }
90
+ background-color: var(--odx-c-background-content);
91
+ border-radius: var(--odx-v-border-radius);
92
+ display: flex;
93
+ flex-direction: column;
94
+ height: 100%;
78
95
 
79
96
  #{$root}--with-component & > * {
80
97
  display: contents;
@@ -20,7 +20,7 @@
20
20
 
21
21
  .#{$parent-root}:not(.#{$parent-root}--vertical) & {
22
22
  gap: dimensions.get-size(math.div(8, 24));
23
- min-width: var(--odx-horizontal-wizzard-width);
23
+ min-width: var(--odx-horizontal-wizard-width);
24
24
  }
25
25
 
26
26
  &.is-disabled {
@@ -95,13 +95,13 @@
95
95
  border-style: dashed;
96
96
  height: 0;
97
97
  margin-bottom: calc(#{$step-size} / 2 - #{$border-width} / 2);
98
- min-width: var(--odx-horizontal-wizzard-width);
98
+ min-width: var(--odx-horizontal-wizard-width);
99
99
  }
100
100
 
101
101
  .#{$parent-root}.#{$parent-root}--vertical & {
102
102
  border-style: dashed;
103
103
  margin-left: calc(#{$step-size} / 2 - #{$border-width} / 2);
104
- padding-bottom: var(--odx-verticalal-wizzard-heigth);
104
+ padding-bottom: var(--odx-vertical-wizard-height);
105
105
  }
106
106
 
107
107
  #{$root}:first-of-type + & {
@@ -248,7 +248,7 @@
248
248
 
249
249
  .#{$parent-root}--vertical & {
250
250
  align-items: center;
251
- flex: 0 0 var(--odx-vertical-wizzard-heigth);
251
+ flex: 0 0 var(--odx-vertical-wizard-height);
252
252
  flex-direction: row-reverse;
253
253
  gap: dimensions.get-size(math.div(12, 24));
254
254
  justify-content: start;
@@ -3,8 +3,8 @@
3
3
  @use '../abstract/breakpoints';
4
4
 
5
5
  .odx-wizard {
6
- --odx-horizontal-wizzard-width: #{dimensions.get-size(math.div(100, 24))};
7
- --odx-vertical-wizzard-heigth: #{dimensions.get-size(math.div(70, 24))};
6
+ --odx-horizontal-wizard-width: #{dimensions.get-size(math.div(100, 24))};
7
+ --odx-vertical-wizard-height: #{dimensions.get-size(math.div(70, 24))};
8
8
 
9
9
  display: flex;
10
10
 
@@ -13,6 +13,6 @@
13
13
  }
14
14
 
15
15
  &--overflow:not(&--vertical) {
16
- min-width: calc(var(--odx-horizontal-wizzard-width) * 7);
16
+ min-width: calc(var(--odx-horizontal-wizard-width) * 7);
17
17
  }
18
18
  }