@odx/ui 3.6.0 → 3.8.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,21 @@
1
1
  # @odx/ui
2
2
 
3
+ ## 3.8.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 172ecd3: ODX Modal & Sidesheet now uses native HTML Dialog under the hood
8
+
9
+ ## 3.7.0
10
+
11
+ ### Minor Changes
12
+
13
+ - 8d72579: Added headline classes styling
14
+
15
+ ### Patch Changes
16
+
17
+ - 288bb39: Responsive attribute for wizard component
18
+
3
19
  ## 3.6.0
4
20
 
5
21
  ### Minor Changes
package/core-theme.css CHANGED
@@ -676,6 +676,69 @@ html body {
676
676
  font-size: calc(var(--odx-typography-base-size) * (1*1/var(--odx-typography-negative-font-scaling-factor)*1/var(--odx-typography-negative-font-scaling-factor)));
677
677
  }
678
678
 
679
+ .odx-headline,
680
+ [class*=odx-headline-] {
681
+ color: var(--odx-c-headline);
682
+ font-weight: var(--odx-typography-font-weight-normal);
683
+ letter-spacing: var(--odx-typography-font-weight-normal-letter-spacing);
684
+ }
685
+
686
+ .odx-headline-sm {
687
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.1667);
688
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.1667);
689
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 1.6667);
690
+ font-size: calc(var(--odx-typography-base-size) * (1*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)));
691
+ }
692
+ @media (min-width: 480px) {
693
+ .odx-headline-sm {
694
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.1667);
695
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.1667);
696
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 2.6667);
697
+ }
698
+ }
699
+
700
+ .odx-headline-md {
701
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.125);
702
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.125);
703
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 1.75);
704
+ font-size: calc(var(--odx-typography-base-size) * (1*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)));
705
+ }
706
+ @media (min-width: 480px) {
707
+ .odx-headline-md {
708
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
709
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
710
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 3.3334);
711
+ }
712
+ }
713
+
714
+ .odx-headline-lg {
715
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.0417);
716
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.0417);
717
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 1.9167);
718
+ font-size: calc(var(--odx-typography-base-size) * (1*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)));
719
+ }
720
+ @media (min-width: 480px) {
721
+ .odx-headline-lg {
722
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.4584);
723
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.4584);
724
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 4.0834);
725
+ }
726
+ }
727
+
728
+ .odx-headline-xl {
729
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0);
730
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0);
731
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 2);
732
+ font-size: calc(var(--odx-typography-base-size) * (1*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)*var(--odx-typography-positive-font-scaling-factor)));
733
+ }
734
+ @media (min-width: 480px) {
735
+ .odx-headline-xl {
736
+ padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.4584);
737
+ padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.4584);
738
+ line-height: calc(var(--odx-vertical-rythm-base-size) * 4.0834);
739
+ }
740
+ }
741
+
679
742
  .odx-text-list, .odx-content ol,
680
743
  .odx-content ul,
681
744
  .odx-text-list ol,
@@ -5119,73 +5182,85 @@ html body .odx-fs-italic {
5119
5182
  width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
5120
5183
  }
5121
5184
 
5185
+ @keyframes basic-fade-out {
5186
+ from {
5187
+ opacity: 1;
5188
+ }
5189
+ to {
5190
+ opacity: 0;
5191
+ }
5192
+ }
5122
5193
  .odx-modal {
5123
5194
  --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 2);
5124
5195
  --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
5125
5196
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 20);
5126
5197
  --odx-modal-margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.5);
5198
+ background: transparent;
5199
+ border: 0;
5200
+ border-radius: var(--odx-v-border-radius);
5201
+ box-shadow: var(--odx-v-box-shadow-layer-2);
5202
+ color: var(--odx-c-text);
5203
+ margin-top: var(--odx-modal-margin-y);
5204
+ overflow: unset;
5205
+ padding: 0;
5206
+ width: min(var(--odx-modal-max-width), 100% - 2 * var(--odx-modal-margin-x));
5207
+ }
5208
+ .odx-modal:modal {
5209
+ max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5210
+ max-width: 100vw;
5211
+ }
5212
+ .odx-modal::backdrop {
5127
5213
  -webkit-backdrop-filter: blur(var(--odx-v-backdrop-blur));
5128
5214
  backdrop-filter: blur(var(--odx-v-backdrop-blur));
5129
5215
  background-color: var(--odx-c-backdrop-dark);
5130
- display: block;
5131
- height: 100dvh;
5132
- left: 0;
5133
- overscroll-behavior: contain;
5134
- position: fixed;
5135
- top: 0;
5136
- width: 100dvw;
5137
- z-index: var(--odx-v-layer-4);
5138
- }
5139
- @media (min-width: 480px) {
5140
- .odx-modal {
5141
- --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 3);
5142
- --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 1);
5143
- --odx-modal-margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 1);
5144
- }
5145
5216
  }
5146
- .odx-modal--sidesheet {
5147
- -webkit-backdrop-filter: unset;
5148
- backdrop-filter: unset;
5149
- background-color: unset;
5150
- }
5151
- .odx-modal__container {
5152
- padding-right: calc(var(--odx-vertical-rythm-base-size) * 1);
5153
- padding-left: calc(var(--odx-vertical-rythm-base-size) * 1);
5154
- background-color: var(--odx-c-background-content);
5155
- border-radius: var(--odx-v-border-radius);
5156
- box-shadow: var(--odx-v-box-shadow-layer-2);
5157
- display: flex;
5158
- flex-direction: column;
5159
- margin: var(--odx-modal-margin-y) auto 0;
5160
- max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5161
- min-height: calc(var(--odx-vertical-rythm-base-size) * 7);
5162
- width: min(var(--odx-modal-max-width), 100% - 2 * var(--odx-modal-margin-x));
5217
+ .odx-modal[data-closing-animation]::backdrop {
5218
+ animation: basic-fade-out 0.3s;
5163
5219
  }
5164
- .odx-modal--xsmall .odx-modal__container {
5220
+ .odx-modal.odx-modal--xsmall {
5165
5221
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 15);
5166
5222
  }
5167
- .odx-modal--medium .odx-modal__container {
5223
+ .odx-modal.odx-modal--medium {
5168
5224
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 30);
5169
5225
  }
5170
- .odx-modal--large .odx-modal__container {
5226
+ .odx-modal.odx-modal--large {
5171
5227
  --odx-modal-max-width: calc(var(--odx-vertical-rythm-base-size) * 50);
5172
5228
  }
5173
- .odx-modal--sidesheet .odx-modal__container {
5229
+ .odx-modal--sidesheet {
5174
5230
  height: 100%;
5175
- left: unset;
5176
5231
  max-height: calc(100% - var(--odx-modal-margin-y) - var(--odx-modal-margin-bottom));
5177
- right: 0;
5232
+ }
5233
+ .odx-modal--sidesheet::backdrop {
5234
+ -webkit-backdrop-filter: unset;
5235
+ backdrop-filter: unset;
5236
+ background-color: unset;
5178
5237
  }
5179
5238
  @media (min-width: 480px) {
5180
- .odx-modal--sidesheet .odx-modal__container {
5239
+ .odx-modal--sidesheet {
5181
5240
  margin-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
5182
5241
  }
5183
5242
  }
5184
5243
  @media (max-width: 479px) {
5185
- .odx-modal--sidesheet .odx-modal__container {
5244
+ .odx-modal--sidesheet {
5186
5245
  --odx-modal-max-width: 100dvw !important;
5187
5246
  }
5188
5247
  }
5248
+ @media (min-width: 480px) {
5249
+ .odx-modal {
5250
+ --odx-modal-margin-y: calc(var(--odx-vertical-rythm-base-size) * 3);
5251
+ --odx-modal-margin-x: calc(var(--odx-vertical-rythm-base-size) * 1);
5252
+ --odx-modal-margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 1);
5253
+ }
5254
+ }
5255
+ .odx-modal__container {
5256
+ padding-right: calc(var(--odx-vertical-rythm-base-size) * 1);
5257
+ padding-left: calc(var(--odx-vertical-rythm-base-size) * 1);
5258
+ background-color: var(--odx-c-background-content);
5259
+ border-radius: var(--odx-v-border-radius);
5260
+ display: flex;
5261
+ flex-direction: column;
5262
+ height: 100%;
5263
+ }
5189
5264
  .odx-modal--with-component .odx-modal__container > * {
5190
5265
  display: contents;
5191
5266
  }
@@ -6910,15 +6985,15 @@ html body .odx-fs-italic {
6910
6985
  }
6911
6986
 
6912
6987
  .odx-wizard {
6913
- --odx-horizontal-wizzard-width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
6914
- --odx-vertical-wizzard-heigth: calc(var(--odx-vertical-rythm-base-size) * 2.9167);
6988
+ --odx-horizontal-wizard-width: calc(var(--odx-vertical-rythm-base-size) * 4.1667);
6989
+ --odx-vertical-wizard-height: calc(var(--odx-vertical-rythm-base-size) * 2.9167);
6915
6990
  display: flex;
6916
6991
  }
6917
6992
  .odx-wizard--vertical {
6918
6993
  flex-direction: column;
6919
6994
  }
6920
6995
  .odx-wizard--overflow:not(.odx-wizard--vertical) {
6921
- min-width: calc(var(--odx-horizontal-wizzard-width) * 7);
6996
+ min-width: calc(var(--odx-horizontal-wizard-width) * 7);
6922
6997
  }
6923
6998
 
6924
6999
  .odx-wizard-step {
@@ -6930,7 +7005,7 @@ html body .odx-fs-italic {
6930
7005
  }
6931
7006
  .odx-wizard:not(.odx-wizard--vertical) .odx-wizard-step {
6932
7007
  gap: calc(var(--odx-vertical-rythm-base-size) * 0.3334);
6933
- min-width: var(--odx-horizontal-wizzard-width);
7008
+ min-width: var(--odx-horizontal-wizard-width);
6934
7009
  }
6935
7010
  .odx-wizard-step.is-disabled {
6936
7011
  outline-color: transparent;
@@ -6998,12 +7073,12 @@ html body .odx-fs-italic {
6998
7073
  border-style: dashed;
6999
7074
  height: 0;
7000
7075
  margin-bottom: calc(calc(var(--odx-vertical-rythm-base-size) * 0.8334) / 2 - calc(var(--odx-vertical-rythm-base-size) * 0.0834) / 2);
7001
- min-width: var(--odx-horizontal-wizzard-width);
7076
+ min-width: var(--odx-horizontal-wizard-width);
7002
7077
  }
7003
7078
  .odx-wizard.odx-wizard--vertical .odx-wizard-step__dotted-line {
7004
7079
  border-style: dashed;
7005
7080
  margin-left: calc(calc(var(--odx-vertical-rythm-base-size) * 0.8334) / 2 - calc(var(--odx-vertical-rythm-base-size) * 0.0834) / 2);
7006
- padding-bottom: var(--odx-verticalal-wizzard-heigth);
7081
+ padding-bottom: var(--odx-vertical-wizard-height);
7007
7082
  }
7008
7083
  .odx-wizard.odx-wizard--vertical .odx-wizard-step:first-of-type + .odx-wizard-step__dotted-line {
7009
7084
  border-left-color: var(--odx-c-primary);
@@ -7103,7 +7178,7 @@ html body .odx-fs-italic {
7103
7178
  }
7104
7179
  .odx-wizard--vertical .odx-wizard-step {
7105
7180
  align-items: center;
7106
- flex: 0 0 var(--odx-vertical-wizzard-heigth);
7181
+ flex: 0 0 var(--odx-vertical-wizard-height);
7107
7182
  flex-direction: row-reverse;
7108
7183
  gap: calc(var(--odx-vertical-rythm-base-size) * 0.5);
7109
7184
  justify-content: start;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "3.6.0",
3
+ "version": "3.8.0",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -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
  }
@@ -112,3 +112,46 @@ html body {
112
112
  @include typography.font-size(-2);
113
113
  }
114
114
  }
115
+
116
+ .odx-headline,
117
+ [class*='odx-headline-'] {
118
+ color: var(--odx-c-headline);
119
+
120
+ @include typography.font-weight(normal);
121
+ }
122
+
123
+ .odx-headline-sm {
124
+ @include dimensions.line-height(2, math.div(40, 24));
125
+ @include typography.font-size(5);
126
+
127
+ @include breakpoints.up(phone) {
128
+ @include dimensions.line-height(3, math.div(64, 24));
129
+ }
130
+ }
131
+
132
+ .odx-headline-md {
133
+ @include dimensions.line-height(2, math.div(42, 24));
134
+ @include typography.font-size(6);
135
+
136
+ @include breakpoints.up(phone) {
137
+ @include dimensions.line-height(4, math.div(80, 24));
138
+ }
139
+ }
140
+
141
+ .odx-headline-lg {
142
+ @include dimensions.line-height(2, math.div(46, 24));
143
+ @include typography.font-size(7);
144
+
145
+ @include breakpoints.up(phone) {
146
+ @include dimensions.line-height(5, math.div(98, 24));
147
+ }
148
+ }
149
+
150
+ .odx-headline-xl {
151
+ @include dimensions.line-height(2);
152
+ @include typography.font-size(8);
153
+
154
+ @include breakpoints.up(phone) {
155
+ @include dimensions.line-height(5, math.div(98, 24));
156
+ }
157
+ }