@phillips/seldon 1.51.0 → 1.52.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/dist/assets/account_circle.svg.js +2 -2
- package/dist/components/Accordion/AccordionItem.d.ts +8 -4
- package/dist/components/Accordion/AccordionItem.js +67 -65
- package/dist/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/components/Header/Header.d.ts +20 -13
- package/dist/components/Header/Header.js +73 -76
- package/dist/components/Header/utils.d.ts +2 -9
- package/dist/components/Header/utils.js +3 -7
- package/dist/components/LanguageSelector/LanguageSelector.d.ts +36 -0
- package/dist/components/LanguageSelector/LanguageSelector.js +73 -0
- package/dist/components/LanguageSelector/index.d.ts +1 -0
- package/dist/components/Link/Link.d.ts +3 -11
- package/dist/components/Link/index.d.ts +2 -0
- package/dist/components/Navigation/Navigation.d.ts +12 -4
- package/dist/components/Navigation/Navigation.js +34 -51
- package/dist/components/Navigation/NavigationItem/NavigationItem.d.ts +15 -10
- package/dist/components/Navigation/NavigationItem/NavigationItem.js +19 -37
- package/dist/components/Navigation/NavigationItemTrigger/NavigationItemTrigger.d.ts +12 -3
- package/dist/components/Navigation/NavigationItemTrigger/NavigationItemTrigger.js +33 -29
- package/dist/components/Navigation/NavigationList/NavigationList.d.ts +2 -2
- package/dist/components/Navigation/NavigationList/NavigationList.js +31 -32
- package/dist/components/Search/Search.d.ts +1 -1
- package/dist/components/Search/Search.js +134 -122
- package/dist/components/Search/SearchButton.js +21 -17
- package/dist/components/Search/SearchResults/SearchResults.js +14 -13
- package/dist/components/UserManagement/UserManagement.d.ts +21 -13
- package/dist/components/UserManagement/UserManagement.js +31 -61
- package/dist/index.d.ts +1 -0
- package/dist/index.js +65 -62
- package/dist/scss/_utils.scss +13 -3
- package/dist/scss/_vars.scss +30 -11
- package/dist/scss/componentStyles.scss +1 -0
- package/dist/scss/components/Accordion/_accordion.scss +3 -0
- package/dist/scss/components/Dropdown/_dropdown.scss +2 -0
- package/dist/scss/components/Header/_header.scss +72 -86
- package/dist/scss/components/LanguageSelector/_languageSelector.scss +47 -0
- package/dist/scss/components/Link/_link.scss +15 -4
- package/dist/scss/components/LinkList/_linkList.scss +4 -0
- package/dist/scss/components/Navigation/NavigationItem/_navigationItem.scss +4 -119
- package/dist/scss/components/Navigation/NavigationItemTrigger/_navigationItemTrigger.scss +75 -0
- package/dist/scss/components/Navigation/NavigationList/_navigationList.scss +29 -42
- package/dist/scss/components/Navigation/_navigation.scss +24 -82
- package/dist/scss/components/Search/SearchResults/_searchResults.scss +1 -25
- package/dist/scss/components/Search/_search.scss +48 -7
- package/dist/scss/components/Search/_searchButton.scss +6 -2
- package/dist/scss/components/UserManagement/_userManagement.scss +33 -94
- package/dist/scss/components/Video/_video.scss +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +31 -24
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -1,98 +1,101 @@
|
|
|
1
|
-
import { PaddingTokens as a, SpacingTokens as f, defaultYear as
|
|
2
|
-
import { default as
|
|
3
|
-
import { default as
|
|
4
|
-
import { ButtonVariants as
|
|
5
|
-
import { default as
|
|
1
|
+
import { PaddingTokens as a, SpacingTokens as f, defaultYear as d, emailValidation as p, encodeURLSearchParams as m, findChildrenExcludingTypes as s, findChildrenOfType as l, generatePaddingClassName as u, getCommonProps as i, noOp as n, px as x, useNormalizedInputProps as g } from "./utils/index.js";
|
|
2
|
+
import { default as S } from "./pages/Page.js";
|
|
3
|
+
import { default as I } from "./components/Button/Button.js";
|
|
4
|
+
import { ButtonVariants as B } from "./components/Button/types.js";
|
|
5
|
+
import { default as T } from "./components/IconButton/IconButton.js";
|
|
6
6
|
import { default as N } from "./components/ErrorBoundary/ErrorBoundary.js";
|
|
7
7
|
import { default as w } from "./components/Footer/Footer.js";
|
|
8
|
-
import { Grid as
|
|
9
|
-
import { default as
|
|
8
|
+
import { Grid as v } from "./components/Grid/Grid.js";
|
|
9
|
+
import { default as C } from "./components/Header/Header.js";
|
|
10
10
|
import { default as G } from "./components/Navigation/Navigation.js";
|
|
11
|
-
import { default as
|
|
11
|
+
import { default as E } from "./components/Navigation/NavigationItem/NavigationItem.js";
|
|
12
12
|
import { default as M } from "./components/Navigation/NavigationItemTrigger/NavigationItemTrigger.js";
|
|
13
13
|
import { default as R } from "./components/Navigation/NavigationList/NavigationList.js";
|
|
14
14
|
import { default as z } from "./components/HeroBanner/HeroBanner.js";
|
|
15
|
-
import { default as
|
|
16
|
-
import { default as
|
|
17
|
-
import { LinkVariants as
|
|
18
|
-
import { default as
|
|
19
|
-
import { default as
|
|
20
|
-
import { default as
|
|
21
|
-
import { default as
|
|
22
|
-
import { GridItemAlign as
|
|
23
|
-
import { default as
|
|
24
|
-
import { default as
|
|
25
|
-
import { default as
|
|
15
|
+
import { default as Y } from "./components/Input/Input.js";
|
|
16
|
+
import { default as q } from "./components/Link/Link.js";
|
|
17
|
+
import { LinkVariants as K } from "./components/Link/types.js";
|
|
18
|
+
import { default as W } from "./components/LinkBlock/LinkBlock.js";
|
|
19
|
+
import { default as Z } from "./components/LinkList/LinkList.js";
|
|
20
|
+
import { default as $ } from "./components/Row/Row.js";
|
|
21
|
+
import { default as re } from "./components/GridItem/GridItem.js";
|
|
22
|
+
import { GridItemAlign as te } from "./components/GridItem/types.js";
|
|
23
|
+
import { default as fe } from "./components/Search/Search.js";
|
|
24
|
+
import { default as pe } from "./components/Select/Select.js";
|
|
25
|
+
import { default as se } from "./components/SplitPanel/SplitPanel.js";
|
|
26
26
|
import { default as ue } from "./components/Subscribe/Subscribe.js";
|
|
27
|
-
import { SubscriptionState as
|
|
28
|
-
import { default as
|
|
29
|
-
import { default as
|
|
30
|
-
import { default as
|
|
31
|
-
import { default as
|
|
32
|
-
import { default as
|
|
27
|
+
import { SubscriptionState as ne } from "./components/Subscribe/types.js";
|
|
28
|
+
import { default as ge } from "./components/Social/Social.js";
|
|
29
|
+
import { default as Se } from "./components/ViewingsList/ViewingsList.js";
|
|
30
|
+
import { default as Ie } from "./components/Modal/Modal.js";
|
|
31
|
+
import { default as Be } from "./components/Drawer/Drawer.js";
|
|
32
|
+
import { default as Te } from "./components/ViewingsList/StatefulViewingsList.js";
|
|
33
33
|
import { TextVariants as Ne } from "./components/Text/types.js";
|
|
34
34
|
import { default as we } from "./components/Text/Text.js";
|
|
35
|
-
import { default as
|
|
36
|
-
import { default as
|
|
35
|
+
import { default as ve } from "./components/Accordion/Accordion.js";
|
|
36
|
+
import { default as Ce } from "./components/Accordion/AccordionItem.js";
|
|
37
37
|
import { default as Ge } from "./components/UserManagement/UserManagement.js";
|
|
38
|
-
import { AuthState as
|
|
38
|
+
import { AuthState as Ee } from "./components/UserManagement/types.js";
|
|
39
39
|
import { SupportedLanguages as Me } from "./types/commonTypes.js";
|
|
40
40
|
import { default as Re } from "./components/Breadcrumb/Breadcrumb.js";
|
|
41
41
|
import "react/jsx-runtime";
|
|
42
42
|
import "./node_modules/classnames/index.js";
|
|
43
43
|
import { default as ze } from "./components/Dropdown/Dropdown.js";
|
|
44
|
-
import { default as
|
|
44
|
+
import { default as Ye } from "./components/Video/Video.js";
|
|
45
|
+
import { default as qe } from "./components/LanguageSelector/LanguageSelector.js";
|
|
45
46
|
export {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
ve as Accordion,
|
|
48
|
+
Ce as AccordionItem,
|
|
49
|
+
Ee as AuthState,
|
|
49
50
|
Re as Breadcrumb,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
I as Button,
|
|
52
|
+
B as ButtonVariants,
|
|
53
|
+
Be as Drawer,
|
|
53
54
|
ze as Dropdown,
|
|
54
55
|
N as ErrorBoundary,
|
|
55
56
|
w as Footer,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
v as Grid,
|
|
58
|
+
re as GridItem,
|
|
59
|
+
te as GridItemAlign,
|
|
60
|
+
C as Header,
|
|
60
61
|
z as HeroBanner,
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
T as IconButton,
|
|
63
|
+
Y as Input,
|
|
64
|
+
qe as LanguageSelector,
|
|
65
|
+
q as Link,
|
|
66
|
+
W as LinkBlock,
|
|
67
|
+
Z as LinkList,
|
|
68
|
+
K as LinkVariants,
|
|
69
|
+
Ie as Modal,
|
|
68
70
|
G as Navigation,
|
|
69
|
-
|
|
71
|
+
E as NavigationItem,
|
|
70
72
|
M as NavigationItemTrigger,
|
|
71
73
|
R as NavigationList,
|
|
72
74
|
a as PaddingTokens,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
S as Page,
|
|
76
|
+
$ as Row,
|
|
77
|
+
fe as Search,
|
|
78
|
+
pe as Select,
|
|
79
|
+
ge as Social,
|
|
78
80
|
f as SpacingTokens,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
se as SplitPanel,
|
|
82
|
+
Te as StatefulViewingsList,
|
|
81
83
|
ue as Subscribe,
|
|
82
|
-
|
|
84
|
+
ne as SubscriptionState,
|
|
83
85
|
Me as SupportedLanguages,
|
|
84
86
|
we as Text,
|
|
85
87
|
Ne as TextVariants,
|
|
86
88
|
Ge as UserManagement,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
89
|
+
Ye as Video,
|
|
90
|
+
Se as ViewingsList,
|
|
91
|
+
d as defaultYear,
|
|
90
92
|
p as emailValidation,
|
|
91
|
-
|
|
92
|
-
s as
|
|
93
|
+
m as encodeURLSearchParams,
|
|
94
|
+
s as findChildrenExcludingTypes,
|
|
95
|
+
l as findChildrenOfType,
|
|
93
96
|
u as generatePaddingClassName,
|
|
94
97
|
i as getCommonProps,
|
|
95
|
-
|
|
98
|
+
n as noOp,
|
|
96
99
|
x as px,
|
|
97
|
-
|
|
100
|
+
g as useNormalizedInputProps
|
|
98
101
|
};
|
package/dist/scss/_utils.scss
CHANGED
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
@if type == 'max' {
|
|
125
|
+
@if $type == 'max' {
|
|
126
126
|
@media (max-width: calc($breakpoint-lg - 1px)) {
|
|
127
127
|
@content;
|
|
128
128
|
}
|
|
@@ -131,13 +131,13 @@
|
|
|
131
131
|
|
|
132
132
|
@if $breakpoint == $size-xl {
|
|
133
133
|
// $breakpoint-xl: 1801px;
|
|
134
|
-
@if type == 'min' {
|
|
134
|
+
@if $type == 'min' {
|
|
135
135
|
@media (min-width: $breakpoint-xl) {
|
|
136
136
|
@content;
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
@if type == 'max' {
|
|
140
|
+
@if $type == 'max' {
|
|
141
141
|
@media (max-width: calc($breakpoint-xl - 1px)) {
|
|
142
142
|
@content;
|
|
143
143
|
}
|
|
@@ -190,3 +190,13 @@
|
|
|
190
190
|
@content;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
+
|
|
194
|
+
@mixin buttonReset() {
|
|
195
|
+
button {
|
|
196
|
+
background: unset;
|
|
197
|
+
border: 0;
|
|
198
|
+
cursor: pointer;
|
|
199
|
+
margin: 0;
|
|
200
|
+
padding: 0;
|
|
201
|
+
}
|
|
202
|
+
}
|
package/dist/scss/_vars.scss
CHANGED
|
@@ -343,27 +343,35 @@ $margin-lg: var(--spacing-lg);
|
|
|
343
343
|
$margin-xl: var(--spacing-xl);
|
|
344
344
|
$margin-xxl: var(--spacing-xxl);
|
|
345
345
|
|
|
346
|
+
////////////////////////
|
|
347
|
+
/// HEADER TOKENS:
|
|
348
|
+
///////////////////////
|
|
349
|
+
/* stylelint-disable-next-line no-duplicate-selectors */
|
|
350
|
+
:root {
|
|
351
|
+
--header-height: 75px; // ideally we would calculate the size from the current text size plus spacing components so that it scales with the text size and spacing
|
|
352
|
+
--search-size: 2.625rem; // This should be calculated from the scaling text and scaling spacing tokens instead of hardcoding in case they change
|
|
353
|
+
|
|
354
|
+
@media (min-width: $breakpoint-md) {
|
|
355
|
+
--header-height: 109px; // ideally we would calculate the size from the current text size plus spacing components so that it scales with the text size and spacing
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
@media (min-width: $breakpoint-xl) {
|
|
359
|
+
--header-height: 121px; // ideally we would calculate the size from the current text size plus spacing components so that it scales with the text size and spacing
|
|
360
|
+
--search-size: 2.875rem; // This should be calculated from the scaling text and scaling spacing tokens instead of hardcoding in case they change
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
|
|
346
364
|
////////////////////////
|
|
347
365
|
/// max-site-width TOKEN:
|
|
348
366
|
///////////////////////
|
|
349
367
|
$max-site-width: 1560px;
|
|
368
|
+
$desktop-max-width: var(--desktop-max-width);
|
|
350
369
|
|
|
351
370
|
////////////////////////
|
|
352
371
|
/// z-index TOKENS:
|
|
353
372
|
///////////////////////
|
|
354
373
|
$modal-z-index: 30;
|
|
355
374
|
|
|
356
|
-
////////////////////////
|
|
357
|
-
/// height Tokens
|
|
358
|
-
///////////////////////
|
|
359
|
-
$header-height: 42px;
|
|
360
|
-
$nav-height: 3.5rem;
|
|
361
|
-
$top-row-height: 3.75rem;
|
|
362
|
-
$desktop-header-height: calc($nav-height + $top-row-height + 1px);
|
|
363
|
-
$user-management-height: 30px;
|
|
364
|
-
$header-submenu-top: calc($header-height + $user-management-height + 1px);
|
|
365
|
-
$desktop-max-width: var(--desktop-max-width);
|
|
366
|
-
|
|
367
375
|
////////////////////////
|
|
368
376
|
/// Our tokens usually support at least 4 sizes.
|
|
369
377
|
///////////////////////
|
|
@@ -375,3 +383,14 @@ $size-xxl: 'xxl';
|
|
|
375
383
|
$default-transition: 150ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
376
384
|
$drawer-content-transition: 350ms cubic-bezier(0, 0, 0.2, 1);
|
|
377
385
|
$default-overlay-transition: 350ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
386
|
+
|
|
387
|
+
////////////////////////
|
|
388
|
+
/// Mobile-specific tokens
|
|
389
|
+
///////////////////////
|
|
390
|
+
$mobile-minimum-clickable-area: 44px;
|
|
391
|
+
|
|
392
|
+
////////////////////////
|
|
393
|
+
/// Header Tokens
|
|
394
|
+
///
|
|
395
|
+
$search-size: var(--search-size);
|
|
396
|
+
$header-height: var(--header-height);
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
.#{$px}-accordion-item {
|
|
11
11
|
padding: $spacing-sm;
|
|
12
|
+
width: 100%;
|
|
12
13
|
|
|
13
14
|
svg {
|
|
14
15
|
max-width: unset;
|
|
@@ -86,8 +87,10 @@
|
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
.#{$px}-accordion-item-label {
|
|
90
|
+
align-items: center;
|
|
89
91
|
display: flex;
|
|
90
92
|
flex-direction: row;
|
|
93
|
+
justify-content: space-between;
|
|
91
94
|
opacity: 0.75;
|
|
92
95
|
|
|
93
96
|
&--hoverable {
|
|
@@ -3,61 +3,37 @@
|
|
|
3
3
|
.#{$px}-header {
|
|
4
4
|
align-items: center;
|
|
5
5
|
background-color: $white;
|
|
6
|
-
border-bottom: 1px solid
|
|
6
|
+
border-bottom: 1px solid $light-gray;
|
|
7
7
|
display: flex;
|
|
8
8
|
flex-direction: column;
|
|
9
9
|
position: sticky;
|
|
10
10
|
top: 0;
|
|
11
|
-
|
|
12
|
-
&__top-row {
|
|
13
|
-
align-items: center;
|
|
14
|
-
background-color: $pure-white;
|
|
15
|
-
display: flex;
|
|
16
|
-
height: $top-row-height;
|
|
17
|
-
justify-content: center;
|
|
18
|
-
padding-top: 1rem;
|
|
19
|
-
width: 100%;
|
|
20
|
-
z-index: 10;
|
|
21
|
-
|
|
22
|
-
@include isHeaderMobile {
|
|
23
|
-
height: $nav-height;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
@include isHeaderMobile {
|
|
28
|
-
padding: 0;
|
|
29
|
-
top: 0;
|
|
30
|
-
}
|
|
11
|
+
z-index: 10;
|
|
31
12
|
|
|
32
13
|
&__toggle-btn {
|
|
33
14
|
align-items: center;
|
|
34
|
-
appearance: none;
|
|
35
15
|
background: none;
|
|
36
16
|
border: none;
|
|
37
17
|
cursor: pointer;
|
|
38
18
|
display: flex;
|
|
39
|
-
height: $
|
|
19
|
+
height: $mobile-minimum-clickable-area;
|
|
40
20
|
justify-content: center;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
position: absolute;
|
|
44
|
-
top: 0;
|
|
45
|
-
transition: background-color 0.25s;
|
|
46
|
-
width: 60px;
|
|
47
|
-
z-index: 1;
|
|
21
|
+
padding: 0;
|
|
22
|
+
width: $mobile-minimum-clickable-area;
|
|
48
23
|
|
|
49
24
|
@include isHeaderDesktop {
|
|
50
25
|
display: none;
|
|
51
26
|
}
|
|
52
27
|
|
|
28
|
+
/* This is a pseudo icon shown within the button, so we can do fancy transitions */
|
|
53
29
|
span {
|
|
54
30
|
background-color: $dark-gray;
|
|
55
31
|
color: transparent;
|
|
56
32
|
display: block;
|
|
57
33
|
height: 2px;
|
|
58
34
|
position: relative;
|
|
59
|
-
transition: background-color 0.25s ease 0.
|
|
60
|
-
width: 1.
|
|
35
|
+
transition: background-color 0.25s ease 0.25s;
|
|
36
|
+
width: 1.5rem;
|
|
61
37
|
|
|
62
38
|
&::before,
|
|
63
39
|
&::after {
|
|
@@ -68,8 +44,8 @@
|
|
|
68
44
|
left: 0;
|
|
69
45
|
position: absolute;
|
|
70
46
|
top: 0;
|
|
71
|
-
transition: transform 0.25s ease
|
|
72
|
-
width: 1.
|
|
47
|
+
transition: transform 0.25s ease;
|
|
48
|
+
width: 1.5rem;
|
|
73
49
|
}
|
|
74
50
|
|
|
75
51
|
&::before {
|
|
@@ -83,7 +59,7 @@
|
|
|
83
59
|
|
|
84
60
|
&.#{$px}-header__toggle-btn--open span {
|
|
85
61
|
background: transparent;
|
|
86
|
-
transition: background-color 0.25s ease
|
|
62
|
+
transition: background-color 0.25s ease;
|
|
87
63
|
|
|
88
64
|
&::before {
|
|
89
65
|
transform: rotate(45deg);
|
|
@@ -93,78 +69,74 @@
|
|
|
93
69
|
transform: rotate(-45deg);
|
|
94
70
|
}
|
|
95
71
|
}
|
|
96
|
-
|
|
97
|
-
&:hover {
|
|
98
|
-
background-color: $off-white;
|
|
99
|
-
}
|
|
100
72
|
}
|
|
101
73
|
|
|
102
74
|
&__logo {
|
|
103
|
-
|
|
104
|
-
|
|
75
|
+
align-self: center;
|
|
76
|
+
|
|
77
|
+
svg {
|
|
78
|
+
height: 24px;
|
|
79
|
+
width: 100%;
|
|
80
|
+
}
|
|
105
81
|
|
|
106
82
|
@include isHeaderDesktop {
|
|
107
|
-
|
|
83
|
+
svg {
|
|
84
|
+
height: 28px;
|
|
85
|
+
width: 100%;
|
|
86
|
+
}
|
|
108
87
|
}
|
|
109
88
|
}
|
|
110
89
|
|
|
111
|
-
&
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
position: fixed;
|
|
117
|
-
transition: opacity 0.5s ease-in-out;
|
|
90
|
+
&__top-row {
|
|
91
|
+
align-items: center;
|
|
92
|
+
display: flex;
|
|
93
|
+
justify-content: space-between;
|
|
94
|
+
padding: $padding-sm $spacing-md;
|
|
118
95
|
width: 100%;
|
|
119
|
-
z-index: -1;
|
|
120
96
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
opacity: 1;
|
|
125
|
-
|
|
126
|
-
@include isHeaderDesktop {
|
|
127
|
-
display: none;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
& ~ .#{$px}-header__nav {
|
|
131
|
-
z-index: 1;
|
|
132
|
-
}
|
|
133
|
-
& ~ .#{$px}-header__toggle-btn {
|
|
134
|
-
z-index: 2;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
& ~ .#{$px}-search {
|
|
138
|
-
.#{$px}-search__button {
|
|
139
|
-
z-index: -1;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
97
|
+
/** There are actually two language selectors in the DOM, show this one in desktop */
|
|
98
|
+
.#{$px}-language-selector {
|
|
99
|
+
display: none;
|
|
142
100
|
}
|
|
143
101
|
}
|
|
144
102
|
|
|
145
103
|
&__nav {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
104
|
+
background-color: $pure-white;
|
|
105
|
+
height: calc(100vh - $header-height);
|
|
106
|
+
overflow-y: auto;
|
|
107
|
+
position: relative;
|
|
108
|
+
z-index: 10;
|
|
151
109
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
transform: unset;
|
|
155
|
-
width: 100%;
|
|
110
|
+
&--closed {
|
|
111
|
+
display: none;
|
|
156
112
|
}
|
|
157
113
|
.#{$px}-nav__list-container {
|
|
158
114
|
display: flex;
|
|
159
|
-
|
|
160
|
-
|
|
115
|
+
padding: 0 $spacing-md;
|
|
116
|
+
|
|
117
|
+
@include isHeaderDesktop {
|
|
118
|
+
padding-right: $search-size;
|
|
119
|
+
}
|
|
161
120
|
}
|
|
162
121
|
|
|
163
|
-
|
|
164
|
-
|
|
122
|
+
@include isHeaderDesktop {
|
|
123
|
+
display: flex;
|
|
124
|
+
height: unset;
|
|
125
|
+
justify-content: center;
|
|
126
|
+
overflow: visible; // this is needed for the search results
|
|
127
|
+
position: relative;
|
|
128
|
+
top: 0;
|
|
129
|
+
width: 100%;
|
|
130
|
+
|
|
131
|
+
div.#{$px}-language-selector {
|
|
132
|
+
display: none; // hide this one on mobile
|
|
133
|
+
}
|
|
134
|
+
}
|
|
165
135
|
|
|
166
|
-
|
|
167
|
-
|
|
136
|
+
.#{$px}-nav__item {
|
|
137
|
+
.#{$px}-link--snwHeaderLink {
|
|
138
|
+
align-content: center;
|
|
139
|
+
height: 100%;
|
|
168
140
|
}
|
|
169
141
|
}
|
|
170
142
|
|
|
@@ -175,4 +147,18 @@
|
|
|
175
147
|
}
|
|
176
148
|
}
|
|
177
149
|
}
|
|
150
|
+
|
|
151
|
+
&__overlay {
|
|
152
|
+
display: none;
|
|
153
|
+
|
|
154
|
+
&--active {
|
|
155
|
+
background: rgba(0, 0, 0, 60%);
|
|
156
|
+
display: block;
|
|
157
|
+
height: 100vh;
|
|
158
|
+
left: 0;
|
|
159
|
+
position: absolute;
|
|
160
|
+
top: $header-height;
|
|
161
|
+
width: 100%;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
178
164
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
@use '../../allPartials' as *;
|
|
2
|
+
|
|
3
|
+
// Mobile version of the language selector mirrors the navigation menu link styles
|
|
4
|
+
.#{$px}-language-selector {
|
|
5
|
+
display: flex;
|
|
6
|
+
min-width: 87px; // needed to handle English vs Chinese option. Arguably this should be determined by the Dropdown component the longest element in the dropdown
|
|
7
|
+
opacity: 1;
|
|
8
|
+
padding-bottom: 10rem; // needed for bottom accordion
|
|
9
|
+
transition: opacity 0.25s ease-in;
|
|
10
|
+
|
|
11
|
+
&--hidden {
|
|
12
|
+
opacity: 0;
|
|
13
|
+
pointer-events: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@include isHeaderDesktop {
|
|
17
|
+
&.#{$px}-accordion {
|
|
18
|
+
display: none;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&.#{$px}-dropdown {
|
|
23
|
+
display: none;
|
|
24
|
+
padding: $padding-lg 0 $padding-xxl;
|
|
25
|
+
|
|
26
|
+
button {
|
|
27
|
+
border: none;
|
|
28
|
+
box-shadow: unset;
|
|
29
|
+
justify-content: space-between;
|
|
30
|
+
outline: none;
|
|
31
|
+
padding: 0.5rem 0.65rem;
|
|
32
|
+
text-transform: unset;
|
|
33
|
+
width: 100%;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@include isHeaderDesktop {
|
|
37
|
+
display: flex;
|
|
38
|
+
padding: 0;
|
|
39
|
+
|
|
40
|
+
button {
|
|
41
|
+
justify-content: center;
|
|
42
|
+
padding: 0;
|
|
43
|
+
width: fit-content;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -11,10 +11,9 @@
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
&--email,
|
|
14
|
-
&--link
|
|
15
|
-
&--snwFlyoutLink {
|
|
14
|
+
&--link {
|
|
16
15
|
&:hover,
|
|
17
|
-
&:focus {
|
|
16
|
+
&:focus-visible {
|
|
18
17
|
@include underline($color: $dark-gray);
|
|
19
18
|
|
|
20
19
|
color: $dark-gray;
|
|
@@ -37,7 +36,7 @@
|
|
|
37
36
|
text-align: center;
|
|
38
37
|
|
|
39
38
|
&:hover::after,
|
|
40
|
-
&:focus::after {
|
|
39
|
+
&:focus-visible::after {
|
|
41
40
|
background: $pure-black;
|
|
42
41
|
bottom: -1px;
|
|
43
42
|
content: '';
|
|
@@ -49,6 +48,18 @@
|
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
&--snwFlyoutLink {
|
|
51
|
+
border-bottom: 1px solid transparent;
|
|
52
|
+
|
|
52
53
|
@include text($snwFlyoutLink);
|
|
54
|
+
|
|
55
|
+
&:hover,
|
|
56
|
+
&:focus-visible {
|
|
57
|
+
@include underline(
|
|
58
|
+
$color: $dark-gray,
|
|
59
|
+
$padding: 0.5rem 0.625rem calc(0.5rem + 2px)
|
|
60
|
+
); // 1 px so that the bottom border of the nav counts as part of the button
|
|
61
|
+
|
|
62
|
+
color: $dark-gray;
|
|
63
|
+
}
|
|
53
64
|
}
|
|
54
65
|
}
|