@odx/ui 3.3.0 → 3.4.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 +12 -0
- package/core-theme.css +130 -12
- package/package.json +1 -1
- package/scss/components/brand-logo.component.scss +1 -1
- package/scss/components/footer.component.scss +86 -0
- package/scss/components/header-navigation.component.scss +35 -0
- package/scss/components/header.component.scss +20 -10
- package/scss/components/main-menu.component.scss +2 -2
- package/scss/core.scss +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @odx/ui
|
|
2
2
|
|
|
3
|
+
## 3.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 40bef6d: Added header navigation component
|
|
8
|
+
- b18ae5a: Allow any content in header. The content is projected into it's own area inside the header
|
|
9
|
+
- 49f971d: Add footer component
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 17bed8a: Align main menu title with corperate guidelines
|
|
14
|
+
|
|
3
15
|
## 3.3.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/core-theme.css
CHANGED
|
@@ -3054,7 +3054,7 @@ html body .odx-fs-italic {
|
|
|
3054
3054
|
}
|
|
3055
3055
|
|
|
3056
3056
|
.odx-brand-logo {
|
|
3057
|
-
color:
|
|
3057
|
+
color: inherit;
|
|
3058
3058
|
display: inline-block;
|
|
3059
3059
|
font-weight: var(--odx-typography-font-weight-bold);
|
|
3060
3060
|
letter-spacing: var(--odx-typography-font-weight-bold-letter-spacing);
|
|
@@ -3836,6 +3836,87 @@ html body .odx-fs-italic {
|
|
|
3836
3836
|
transform: scaleY(-1);
|
|
3837
3837
|
}
|
|
3838
3838
|
|
|
3839
|
+
:root {
|
|
3840
|
+
--odx-footer-min-height: calc(var(--odx-vertical-rythm-base-size) * 10);
|
|
3841
|
+
--odx-footer-background-color: var(--odx-c-background-content);
|
|
3842
|
+
--odx-footer-text-color: var(--odx-c-text);
|
|
3843
|
+
--odx-footer-description-color: var(--odx-c-text-disabled);
|
|
3844
|
+
}
|
|
3845
|
+
:root .odx-footer--dark {
|
|
3846
|
+
--odx-footer-background-color: var(--odx-c-primary);
|
|
3847
|
+
--odx-footer-text-color: var(--odx-c-primary-text);
|
|
3848
|
+
--odx-footer-description-color: var(--odx-footer-text-color);
|
|
3849
|
+
}
|
|
3850
|
+
|
|
3851
|
+
:root:has([odxTheme=dark]) .odx-footer--dark,
|
|
3852
|
+
:root:has(.odx-theme-dark) .odx-footer--dark {
|
|
3853
|
+
--odx-footer-background-color: var(--blue-800);
|
|
3854
|
+
--odx-footer-text-color: var(--black);
|
|
3855
|
+
--odx-footer-description-color: var(--black);
|
|
3856
|
+
}
|
|
3857
|
+
|
|
3858
|
+
.odx-footer {
|
|
3859
|
+
background-color: var(--odx-footer-background-color);
|
|
3860
|
+
box-sizing: border-box;
|
|
3861
|
+
color: var(--odx-footer-text-color);
|
|
3862
|
+
display: flex;
|
|
3863
|
+
margin-block-start: auto;
|
|
3864
|
+
min-height: var(--odx-footer-min-height);
|
|
3865
|
+
padding-top: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
3866
|
+
padding-right: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
3867
|
+
padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
3868
|
+
padding-left: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
3869
|
+
}
|
|
3870
|
+
.odx-footer__inner, .odx-footer__navigation {
|
|
3871
|
+
row-gap: calc(var(--odx-vertical-rythm-base-size) * 0.25);
|
|
3872
|
+
}
|
|
3873
|
+
.odx-footer__content {
|
|
3874
|
+
grid-area: content;
|
|
3875
|
+
}
|
|
3876
|
+
.odx-footer__inner {
|
|
3877
|
+
-moz-column-gap: var(--odx-grid-gutter);
|
|
3878
|
+
column-gap: var(--odx-grid-gutter);
|
|
3879
|
+
display: grid;
|
|
3880
|
+
grid-template-areas: "content" "navigation" "meta";
|
|
3881
|
+
grid-template-rows: 1fr repeat(2, auto);
|
|
3882
|
+
margin-inline: auto;
|
|
3883
|
+
max-width: var(--odx-v-max-page-width, 100%);
|
|
3884
|
+
width: 100%;
|
|
3885
|
+
}
|
|
3886
|
+
.odx-footer__navigation {
|
|
3887
|
+
align-items: center;
|
|
3888
|
+
-moz-column-gap: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
3889
|
+
column-gap: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
3890
|
+
display: flex;
|
|
3891
|
+
flex-wrap: wrap;
|
|
3892
|
+
grid-area: navigation;
|
|
3893
|
+
grid-template-rows: 1fr auto;
|
|
3894
|
+
}
|
|
3895
|
+
.odx-footer__navigation > .odx-link {
|
|
3896
|
+
color: var(--odx-footer-text-color);
|
|
3897
|
+
}
|
|
3898
|
+
@media (min-width: 480px) {
|
|
3899
|
+
.odx-footer__navigation {
|
|
3900
|
+
justify-content: flex-end;
|
|
3901
|
+
text-align: right;
|
|
3902
|
+
}
|
|
3903
|
+
}
|
|
3904
|
+
.odx-footer__description {
|
|
3905
|
+
color: var(--odx-footer-description-color);
|
|
3906
|
+
grid-area: meta;
|
|
3907
|
+
-webkit-user-select: none;
|
|
3908
|
+
-moz-user-select: none;
|
|
3909
|
+
user-select: none;
|
|
3910
|
+
outline-color: transparent;
|
|
3911
|
+
pointer-events: none;
|
|
3912
|
+
font-size: calc(var(--odx-typography-base-size) * (1*1/var(--odx-typography-negative-font-scaling-factor)));
|
|
3913
|
+
}
|
|
3914
|
+
@media (min-width: 480px) {
|
|
3915
|
+
.odx-footer__description {
|
|
3916
|
+
text-align: right;
|
|
3917
|
+
}
|
|
3918
|
+
}
|
|
3919
|
+
|
|
3839
3920
|
:root {
|
|
3840
3921
|
--odx-form-field-hint-color: var(--gray-500);
|
|
3841
3922
|
}
|
|
@@ -4112,17 +4193,29 @@ html body .odx-fs-italic {
|
|
|
4112
4193
|
padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4113
4194
|
margin-top: calc(var(--odx-vertical-rythm-base-size) * 0);
|
|
4114
4195
|
margin-bottom: calc(var(--odx-vertical-rythm-base-size) * 0);
|
|
4115
|
-
height: calc(var(--odx-vertical-rythm-base-size) * 2);
|
|
4196
|
+
min-height: calc(var(--odx-vertical-rythm-base-size) * 2);
|
|
4116
4197
|
display: flex;
|
|
4117
4198
|
align-items: center;
|
|
4118
4199
|
background-color: var(--odx-c-background-content);
|
|
4119
4200
|
}
|
|
4120
4201
|
.odx-header .odx-main-menu-button {
|
|
4121
|
-
margin-
|
|
4122
|
-
margin-
|
|
4202
|
+
margin-inline-end: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4203
|
+
margin-inline-start: calc(var(--odx-vertical-rythm-base-size) * -0.3333);
|
|
4123
4204
|
}
|
|
4124
|
-
.odx-header >
|
|
4125
|
-
margin-
|
|
4205
|
+
.odx-header > * {
|
|
4206
|
+
margin-block: 0;
|
|
4207
|
+
min-height: auto;
|
|
4208
|
+
}
|
|
4209
|
+
.odx-header__content {
|
|
4210
|
+
margin-inline-end: auto;
|
|
4211
|
+
padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4212
|
+
padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4213
|
+
}
|
|
4214
|
+
@media (min-width: 768px) {
|
|
4215
|
+
.odx-header__content {
|
|
4216
|
+
padding-right: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
4217
|
+
padding-left: calc(var(--odx-vertical-rythm-base-size) * 1);
|
|
4218
|
+
}
|
|
4126
4219
|
}
|
|
4127
4220
|
.odx-header__title {
|
|
4128
4221
|
overflow: hidden;
|
|
@@ -4130,13 +4223,13 @@ html body .odx-fs-italic {
|
|
|
4130
4223
|
white-space: nowrap;
|
|
4131
4224
|
}
|
|
4132
4225
|
.odx-header .odx-action-group:not(:last-child) {
|
|
4133
|
-
border-
|
|
4134
|
-
margin-
|
|
4135
|
-
padding-
|
|
4226
|
+
border-inline-end: 1px solid var(--odx-c-separator);
|
|
4227
|
+
margin-inline-end: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4228
|
+
padding-inline-end: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4136
4229
|
}
|
|
4137
4230
|
.odx-header:has(> .odx-title, > .odx-header__title) > .odx-logo {
|
|
4138
4231
|
display: none;
|
|
4139
|
-
margin-
|
|
4232
|
+
margin-inline-end: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4140
4233
|
}
|
|
4141
4234
|
@media (min-width: 768px) {
|
|
4142
4235
|
.odx-header:has(> .odx-title, > .odx-header__title) > .odx-logo {
|
|
@@ -4144,6 +4237,31 @@ html body .odx-fs-italic {
|
|
|
4144
4237
|
}
|
|
4145
4238
|
}
|
|
4146
4239
|
|
|
4240
|
+
.odx-header-navigation {
|
|
4241
|
+
background-color: var(--odx-c-background-content);
|
|
4242
|
+
border-block-start: 1px solid var(--odx-c-separator);
|
|
4243
|
+
display: block;
|
|
4244
|
+
margin-block-start: -1px;
|
|
4245
|
+
padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4246
|
+
padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.5);
|
|
4247
|
+
padding-top: calc(var(--odx-vertical-rythm-base-size) * 0.25);
|
|
4248
|
+
padding-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.25);
|
|
4249
|
+
}
|
|
4250
|
+
.odx-header-navigation__inner {
|
|
4251
|
+
flex-wrap: wrap;
|
|
4252
|
+
height: auto;
|
|
4253
|
+
margin: 0;
|
|
4254
|
+
}
|
|
4255
|
+
.odx-header-navigation--centered .odx-header-navigation__inner {
|
|
4256
|
+
display: flex;
|
|
4257
|
+
justify-content: center;
|
|
4258
|
+
margin-inline: auto;
|
|
4259
|
+
max-width: var(--odx-v-max-page-width);
|
|
4260
|
+
}
|
|
4261
|
+
.odx-header-navigation__inner > .odx-button {
|
|
4262
|
+
margin-block: 0;
|
|
4263
|
+
}
|
|
4264
|
+
|
|
4147
4265
|
.odx-inline-message {
|
|
4148
4266
|
--odx-c-default: var(--blue-50);
|
|
4149
4267
|
--odx-c-warning: var(--yellow-50);
|
|
@@ -4738,8 +4856,8 @@ html body .odx-fs-italic {
|
|
|
4738
4856
|
}
|
|
4739
4857
|
|
|
4740
4858
|
.odx-main-menu {
|
|
4741
|
-
--odx-area-header-title-color: var(--odx-main-menu-
|
|
4742
|
-
--odx-area-header-subtitle-color: var(--odx-
|
|
4859
|
+
--odx-area-header-title-color: var(--odx-main-menu-text-color);
|
|
4860
|
+
--odx-area-header-subtitle-color: var(--odx-main-menu-text-color);
|
|
4743
4861
|
z-index: var(--odx-v-layer-6);
|
|
4744
4862
|
}
|
|
4745
4863
|
.odx-main-menu__inner {
|
package/package.json
CHANGED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
@use '../abstract/breakpoints';
|
|
2
|
+
@use '../abstract/dimensions';
|
|
3
|
+
@use '../abstract/typography';
|
|
4
|
+
@use '../abstract/utils';
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
--odx-footer-min-height: #{dimensions.get-size(10)};
|
|
8
|
+
--odx-footer-background-color: var(--odx-c-background-content);
|
|
9
|
+
--odx-footer-text-color: var(--odx-c-text);
|
|
10
|
+
--odx-footer-description-color: var(--odx-c-text-disabled);
|
|
11
|
+
|
|
12
|
+
.odx-footer--dark {
|
|
13
|
+
--odx-footer-background-color: var(--odx-c-primary);
|
|
14
|
+
--odx-footer-text-color: var(--odx-c-primary-text);
|
|
15
|
+
--odx-footer-description-color: var(--odx-footer-text-color);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@include utils.theme-selector(dark) {
|
|
20
|
+
.odx-footer--dark {
|
|
21
|
+
--odx-footer-background-color: var(--blue-800);
|
|
22
|
+
--odx-footer-text-color: var(--black);
|
|
23
|
+
--odx-footer-description-color: var(--black);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.odx-footer {
|
|
28
|
+
background-color: var(--odx-footer-background-color);
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
color: var(--odx-footer-text-color);
|
|
31
|
+
display: flex;
|
|
32
|
+
margin-block-start: auto;
|
|
33
|
+
min-height: var(--odx-footer-min-height);
|
|
34
|
+
|
|
35
|
+
@include dimensions.padding(1);
|
|
36
|
+
|
|
37
|
+
&__inner,
|
|
38
|
+
&__navigation {
|
|
39
|
+
row-gap: #{dimensions.get-size(0.25)};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&__content {
|
|
43
|
+
grid-area: content;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
&__inner {
|
|
47
|
+
column-gap: var(--odx-grid-gutter);
|
|
48
|
+
display: grid;
|
|
49
|
+
grid-template-areas: 'content' 'navigation' 'meta';
|
|
50
|
+
grid-template-rows: 1fr repeat(2, auto);
|
|
51
|
+
margin-inline: auto;
|
|
52
|
+
max-width: var(--odx-v-max-page-width, 100%);
|
|
53
|
+
width: 100%;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&__navigation {
|
|
57
|
+
align-items: center;
|
|
58
|
+
column-gap: #{dimensions.get-size(1)};
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-wrap: wrap;
|
|
61
|
+
grid-area: navigation;
|
|
62
|
+
grid-template-rows: 1fr auto;
|
|
63
|
+
|
|
64
|
+
> .odx-link {
|
|
65
|
+
color: var(--odx-footer-text-color);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@include breakpoints.up(phone) {
|
|
69
|
+
justify-content: flex-end;
|
|
70
|
+
text-align: right;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&__description {
|
|
75
|
+
color: var(--odx-footer-description-color);
|
|
76
|
+
grid-area: meta;
|
|
77
|
+
user-select: none;
|
|
78
|
+
|
|
79
|
+
@include utils.non-interactive();
|
|
80
|
+
@include typography.font-size(-1);
|
|
81
|
+
|
|
82
|
+
@include breakpoints.up(phone) {
|
|
83
|
+
text-align: right;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
@use 'sass:math';
|
|
2
|
+
@use '../abstract/breakpoints';
|
|
3
|
+
@use '../abstract/dimensions';
|
|
4
|
+
@use '../abstract/utils';
|
|
5
|
+
@use '../abstract/typography';
|
|
6
|
+
@use '../layout/typography' as *;
|
|
7
|
+
|
|
8
|
+
.odx-header-navigation {
|
|
9
|
+
$root: &;
|
|
10
|
+
|
|
11
|
+
background-color: var(--odx-c-background-content);
|
|
12
|
+
border-block-start: 1px solid var(--odx-c-separator);
|
|
13
|
+
display: block;
|
|
14
|
+
margin-block-start: -1px;
|
|
15
|
+
|
|
16
|
+
@include dimensions.padding-x(0.5);
|
|
17
|
+
@include dimensions.padding-y(0.25);
|
|
18
|
+
|
|
19
|
+
&__inner {
|
|
20
|
+
flex-wrap: wrap;
|
|
21
|
+
height: auto;
|
|
22
|
+
margin: 0;
|
|
23
|
+
|
|
24
|
+
#{$root}--centered & {
|
|
25
|
+
display: flex;
|
|
26
|
+
justify-content: center;
|
|
27
|
+
margin-inline: auto;
|
|
28
|
+
max-width: var(--odx-v-max-page-width);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
> .odx-button {
|
|
32
|
+
margin-block: 0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -8,19 +8,29 @@
|
|
|
8
8
|
.odx-header {
|
|
9
9
|
@include dimensions.padding(math.div(20, 24), 'left');
|
|
10
10
|
@include dimensions.padding(0.5, 'right');
|
|
11
|
-
@include dimensions.height(2);
|
|
11
|
+
@include dimensions.min-height(2);
|
|
12
12
|
@include utils.vertical-center-content();
|
|
13
13
|
|
|
14
14
|
background-color: var(--odx-c-background-content);
|
|
15
15
|
|
|
16
16
|
.odx-main-menu-button {
|
|
17
|
-
margin-
|
|
18
|
-
margin-
|
|
17
|
+
margin-inline-end: dimensions.get-size(0.5);
|
|
18
|
+
margin-inline-start: dimensions.get-size(-1 * math.div(1, 3));
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
>
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
> * {
|
|
22
|
+
margin-block: 0;
|
|
23
|
+
min-height: auto;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&__content {
|
|
27
|
+
margin-inline-end: auto;
|
|
28
|
+
|
|
29
|
+
@include dimensions.padding-x(0.5);
|
|
30
|
+
|
|
31
|
+
@include breakpoints.up(tablet) {
|
|
32
|
+
@include dimensions.padding-x(1);
|
|
33
|
+
}
|
|
24
34
|
}
|
|
25
35
|
|
|
26
36
|
&__title {
|
|
@@ -30,14 +40,14 @@
|
|
|
30
40
|
}
|
|
31
41
|
|
|
32
42
|
.odx-action-group:not(:last-child) {
|
|
33
|
-
border-
|
|
34
|
-
margin-
|
|
35
|
-
padding-
|
|
43
|
+
border-inline-end: 1px solid var(--odx-c-separator);
|
|
44
|
+
margin-inline-end: dimensions.get-size(0.5);
|
|
45
|
+
padding-inline-end: dimensions.get-size(0.5);
|
|
36
46
|
}
|
|
37
47
|
|
|
38
48
|
&:has(> .odx-title) > .odx-logo {
|
|
39
49
|
display: none;
|
|
40
|
-
margin-
|
|
50
|
+
margin-inline-end: dimensions.get-size(0.5);
|
|
41
51
|
|
|
42
52
|
@include breakpoints.up(tablet) {
|
|
43
53
|
display: block;
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
.odx-main-menu {
|
|
28
|
-
--odx-area-header-title-color: var(--odx-main-menu-
|
|
29
|
-
--odx-area-header-subtitle-color: var(--odx-
|
|
28
|
+
--odx-area-header-title-color: var(--odx-main-menu-text-color);
|
|
29
|
+
--odx-area-header-subtitle-color: var(--odx-main-menu-text-color);
|
|
30
30
|
|
|
31
31
|
z-index: var(--odx-v-layer-6);
|
|
32
32
|
|
package/scss/core.scss
CHANGED
|
@@ -52,8 +52,10 @@ Layout
|
|
|
52
52
|
@use 'components/dropdown.component';
|
|
53
53
|
@use 'components/error-page.component';
|
|
54
54
|
@use 'components/expandable-list-item.component';
|
|
55
|
+
@use 'components/footer.component';
|
|
55
56
|
@use 'components/form-field.component';
|
|
56
57
|
@use 'components/header.component';
|
|
58
|
+
@use 'components/header-navigation.component';
|
|
57
59
|
@use 'components/icon.component';
|
|
58
60
|
@use 'components/inline-message.component';
|
|
59
61
|
@use 'components/link.component';
|