@ilo-org/react 0.14.1 → 0.16.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/lib/cjs/components/Cards/CardGroup/CardGroup.js +7 -4
- package/lib/cjs/components/Cards/CardGroup/index.js +9 -8
- package/lib/cjs/components/Cards/DetailCard/DetailCard.js +2 -2
- package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +2 -2
- package/lib/cjs/components/Cards/FeatureCard/FeatureCard.js +2 -2
- package/lib/cjs/components/Cards/MultilinkCard/MultiLinkCard.js +2 -2
- package/lib/cjs/components/Cards/PromoCard/PromoCard.js +2 -2
- package/lib/cjs/components/Cards/StatCard/StatCard.js +2 -2
- package/lib/cjs/components/Cards/TextCard/TextCard.js +2 -2
- package/lib/cjs/components/LogoGrid/LogoGrid.js +1 -1
- package/lib/cjs/components/Navigation/Navigation.js +34 -8
- package/lib/cjs/components/SocialMedia/SocialMedia.js +1 -1
- package/lib/cjs/hooks/index.js +0 -2
- package/lib/esm/components/Cards/CardGroup/CardGroup.js +7 -4
- package/lib/esm/components/Cards/CardGroup/index.js +9 -8
- package/lib/esm/components/Cards/DetailCard/DetailCard.js +2 -2
- package/lib/esm/components/Cards/FactlistCard/FactListCard.js +2 -2
- package/lib/esm/components/Cards/FeatureCard/FeatureCard.js +2 -2
- package/lib/esm/components/Cards/MultilinkCard/MultiLinkCard.js +2 -2
- package/lib/esm/components/Cards/PromoCard/PromoCard.js +2 -2
- package/lib/esm/components/Cards/StatCard/StatCard.js +2 -2
- package/lib/esm/components/Cards/TextCard/TextCard.js +2 -2
- package/lib/esm/components/LogoGrid/LogoGrid.js +1 -1
- package/lib/esm/components/Navigation/Navigation.js +35 -9
- package/lib/esm/components/SocialMedia/SocialMedia.js +1 -1
- package/lib/esm/hooks/index.js +0 -1
- package/lib/styles/components/accordion.css +1 -0
- package/lib/styles/components/breadcrumb.css +1 -0
- package/lib/styles/components/button.css +1 -0
- package/lib/styles/components/callout.css +1 -0
- package/lib/styles/components/card.css +1 -0
- package/lib/styles/components/cardgroup.css +1 -0
- package/lib/styles/components/checkbox.css +1 -0
- package/lib/styles/components/container.css +1 -0
- package/lib/styles/components/contextmenu.css +1 -0
- package/lib/styles/components/credit.css +1 -0
- package/lib/styles/components/datacard.css +1 -0
- package/lib/styles/components/datepicker.css +1 -0
- package/lib/styles/components/detailcard.css +1 -0
- package/lib/styles/components/dropdown.css +1 -0
- package/lib/styles/components/empty.css +1 -0
- package/lib/styles/components/factlistcard.css +1 -0
- package/lib/styles/components/featurecard.css +1 -0
- package/lib/styles/components/fieldset.css +1 -0
- package/lib/styles/components/file-upload.css +1 -0
- package/lib/styles/components/footer.css +1 -0
- package/lib/styles/components/form.css +1 -0
- package/lib/styles/components/formcontrol.css +1 -0
- package/lib/styles/components/heading.css +1 -0
- package/lib/styles/components/hero.css +1 -0
- package/lib/styles/components/herocard.css +1 -0
- package/lib/styles/components/icon.css +1 -0
- package/lib/styles/components/image.css +1 -0
- package/lib/styles/components/input.css +1 -0
- package/lib/styles/components/link.css +1 -0
- package/lib/styles/components/linklist.css +1 -0
- package/lib/styles/components/list.css +1 -0
- package/lib/styles/components/loading.css +1 -0
- package/lib/styles/components/logo.css +1 -0
- package/lib/styles/components/logogrid.css +1 -0
- package/lib/styles/components/modal.css +1 -0
- package/lib/styles/components/multilinkcard.css +1 -0
- package/lib/styles/components/navigation.css +1 -0
- package/lib/styles/components/notification.css +1 -0
- package/lib/styles/components/pagination.css +1 -0
- package/lib/styles/components/profile.css +1 -0
- package/lib/styles/components/promocard.css +1 -0
- package/lib/styles/components/radio.css +1 -0
- package/lib/styles/components/readmore.css +1 -0
- package/lib/styles/components/richtext.css +1 -0
- package/lib/styles/components/searchfield.css +1 -0
- package/lib/styles/components/socialmedia.css +1 -0
- package/lib/styles/components/statcard.css +1 -0
- package/lib/styles/components/table.css +1 -0
- package/lib/styles/components/tableofcontents.css +1 -0
- package/lib/styles/components/tabs.css +1 -0
- package/lib/styles/components/tag.css +1 -0
- package/lib/styles/components/textarea.css +1 -0
- package/lib/styles/components/textcard.css +1 -0
- package/lib/styles/components/textinput.css +1 -0
- package/lib/styles/components/toggle.css +1 -0
- package/lib/styles/components/tooltip.css +1 -0
- package/lib/styles/components/video.css +1 -0
- package/lib/styles/global.css +2 -0
- package/lib/styles/index.css +9 -0
- package/lib/styles/monorepo.css +9 -0
- package/lib/types/react/src/components/Cards/CardGroup/CardGroup.props.d.ts +28 -2
- package/lib/types/react/src/components/Cards/DetailCard/DetailCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/MultilinkCard/MultilinkCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/PromoCard/PromoCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/StatCard/StatCard.props.d.ts +8 -1
- package/lib/types/react/src/components/Cards/TextCard/TextCard.props.d.ts +5 -1
- package/lib/types/react/src/hooks/index.d.ts +0 -1
- package/lib/types/react/src/types/index.d.ts +1 -0
- package/package.json +8 -5
- package/lib/cjs/hooks/useVideoPlayer.js +0 -75
- package/lib/esm/hooks/useVideoPlayer.js +0 -73
- package/lib/types/react/src/hooks/useVideoPlayer.d.ts +0 -12
|
@@ -30,12 +30,15 @@ const cardMapper = {
|
|
|
30
30
|
factlist: components_Cards_FactlistCard_FactListCard,
|
|
31
31
|
data: components_Cards_DataCard_DataCard,
|
|
32
32
|
};
|
|
33
|
-
const CardGroup = ({ cards, cardCount, cta, type }) => {
|
|
34
|
-
const
|
|
33
|
+
const CardGroup = ({ cards, titleLevel = "p", cardCount, cta, type, alignment, size, theme, collapsed = false, }) => {
|
|
34
|
+
const Card = cardMapper[type];
|
|
35
35
|
const { prefix } = hooks_useGlobalSettings();
|
|
36
36
|
const baseClass = `${prefix}--cardgroup`;
|
|
37
|
-
const cardGroupClasses = classNames(baseClass, `${baseClass}__count__${cardCount}
|
|
38
|
-
|
|
37
|
+
const cardGroupClasses = classNames(baseClass, `${baseClass}__count__${cardCount}`, {
|
|
38
|
+
[`${baseClass}__collapsed`]: collapsed,
|
|
39
|
+
});
|
|
40
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: cardGroupClasses }, { children: [jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--inner` }, { children: cards &&
|
|
41
|
+
cards.map((card, index) => (jsxRuntime.jsx(Card, Object.assign({}, card, { size: size, theme: theme, alignment: alignment, titleLevel: titleLevel }), index))) })), cta && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--button-wrap` }, { children: jsxRuntime.jsx("a", Object.assign({ className: `${prefix}--button ${prefix}--button--medium ${prefix}--button--secondary`, href: cta.url }, { children: jsxRuntime.jsx("span", Object.assign({ className: "button__label" }, { children: cta.label })) })) })))] })));
|
|
39
42
|
};
|
|
40
43
|
|
|
41
44
|
module.exports = CardGroup;
|
|
@@ -90,6 +90,7 @@ const textCardGroup = {
|
|
|
90
90
|
],
|
|
91
91
|
cardCount: "three",
|
|
92
92
|
type: "text",
|
|
93
|
+
size: "narrow",
|
|
93
94
|
cta: {
|
|
94
95
|
label: "Discover our unique mission",
|
|
95
96
|
url: "https://www.ilo.org",
|
|
@@ -135,6 +136,7 @@ const statCardGroup = {
|
|
|
135
136
|
},
|
|
136
137
|
],
|
|
137
138
|
cardCount: "three",
|
|
139
|
+
size: "narrow",
|
|
138
140
|
type: "stat",
|
|
139
141
|
cta: {
|
|
140
142
|
label: "Discover our unique mission",
|
|
@@ -262,6 +264,7 @@ const multilinkCardGroup = {
|
|
|
262
264
|
],
|
|
263
265
|
type: "multilink",
|
|
264
266
|
cardCount: "three",
|
|
267
|
+
size: "standard",
|
|
265
268
|
cta: {
|
|
266
269
|
label: "Discover our unique mission",
|
|
267
270
|
url: "https://www.ilo.org",
|
|
@@ -270,7 +273,6 @@ const multilinkCardGroup = {
|
|
|
270
273
|
const promoCardGroup = {
|
|
271
274
|
cards: [
|
|
272
275
|
{
|
|
273
|
-
size: "standard",
|
|
274
276
|
title: "ILO welcomes first global agreement on working conditions",
|
|
275
277
|
eyebrow: "Report",
|
|
276
278
|
theme: "dark",
|
|
@@ -283,7 +285,6 @@ const promoCardGroup = {
|
|
|
283
285
|
},
|
|
284
286
|
},
|
|
285
287
|
{
|
|
286
|
-
size: "standard",
|
|
287
288
|
title: "Renewable energy jobs hits 12.7 million globally",
|
|
288
289
|
eyebrow: "High-level meeting",
|
|
289
290
|
theme: "dark",
|
|
@@ -296,7 +297,6 @@ const promoCardGroup = {
|
|
|
296
297
|
},
|
|
297
298
|
},
|
|
298
299
|
{
|
|
299
|
-
size: "standard",
|
|
300
300
|
title: "ILO welcomes G7 call to make a just transition",
|
|
301
301
|
eyebrow: "Podcast",
|
|
302
302
|
theme: "dark",
|
|
@@ -309,7 +309,6 @@ const promoCardGroup = {
|
|
|
309
309
|
},
|
|
310
310
|
},
|
|
311
311
|
{
|
|
312
|
-
size: "standard",
|
|
313
312
|
title: "Telangana and Andhra Pradesh launch pre-departure handbook",
|
|
314
313
|
eyebrow: "High-level meeting",
|
|
315
314
|
theme: "dark",
|
|
@@ -324,6 +323,7 @@ const promoCardGroup = {
|
|
|
324
323
|
],
|
|
325
324
|
type: "promo",
|
|
326
325
|
cardCount: "three",
|
|
326
|
+
size: "standard",
|
|
327
327
|
cta: {
|
|
328
328
|
label: "Discover our unique mission",
|
|
329
329
|
url: "https://www.ilo.org",
|
|
@@ -418,6 +418,7 @@ const featureCardGroup = {
|
|
|
418
418
|
],
|
|
419
419
|
cardCount: "three",
|
|
420
420
|
type: "feature",
|
|
421
|
+
size: "narrow",
|
|
421
422
|
cta: {
|
|
422
423
|
label: "Discover our unique mission",
|
|
423
424
|
url: "https://www.ilo.org",
|
|
@@ -476,6 +477,7 @@ const detailCardGroup = {
|
|
|
476
477
|
],
|
|
477
478
|
type: "detail",
|
|
478
479
|
cardCount: "three",
|
|
480
|
+
size: "narrow",
|
|
479
481
|
cta: {
|
|
480
482
|
label: "Discover our unique mission",
|
|
481
483
|
url: "https://www.ilo.org",
|
|
@@ -522,6 +524,7 @@ const factListCardGroup = {
|
|
|
522
524
|
],
|
|
523
525
|
type: "factlist",
|
|
524
526
|
cardCount: "three",
|
|
527
|
+
size: "narrow",
|
|
525
528
|
cta: {
|
|
526
529
|
label: "Discover our unique mission",
|
|
527
530
|
url: "https://www.ilo.org",
|
|
@@ -530,7 +533,7 @@ const factListCardGroup = {
|
|
|
530
533
|
const dataCardGroup = {
|
|
531
534
|
cards: [
|
|
532
535
|
{
|
|
533
|
-
size: "
|
|
536
|
+
size: "narrow",
|
|
534
537
|
eyebrow: "Press release",
|
|
535
538
|
image: "/small.jpg",
|
|
536
539
|
columns: "one",
|
|
@@ -593,7 +596,6 @@ const dataCardGroup = {
|
|
|
593
596
|
},
|
|
594
597
|
},
|
|
595
598
|
{
|
|
596
|
-
size: "standard",
|
|
597
599
|
eyebrow: "Report",
|
|
598
600
|
image: "/small.jpg",
|
|
599
601
|
columns: "one",
|
|
@@ -652,7 +654,6 @@ const dataCardGroup = {
|
|
|
652
654
|
},
|
|
653
655
|
},
|
|
654
656
|
{
|
|
655
|
-
size: "standard",
|
|
656
657
|
eyebrow: "Meeting",
|
|
657
658
|
image: "/small.jpg",
|
|
658
659
|
columns: "one",
|
|
@@ -707,7 +708,6 @@ const dataCardGroup = {
|
|
|
707
708
|
},
|
|
708
709
|
},
|
|
709
710
|
{
|
|
710
|
-
size: "standard",
|
|
711
711
|
eyebrow: "Meeting",
|
|
712
712
|
image: "/small.jpg",
|
|
713
713
|
columns: "one",
|
|
@@ -776,6 +776,7 @@ const dataCardGroup = {
|
|
|
776
776
|
],
|
|
777
777
|
cardCount: "three",
|
|
778
778
|
type: "data",
|
|
779
|
+
size: "narrow",
|
|
779
780
|
cta: {
|
|
780
781
|
label: "Discover our unique mission",
|
|
781
782
|
url: "https://www.ilo.org",
|
|
@@ -7,14 +7,14 @@ require('tslib');
|
|
|
7
7
|
require('react');
|
|
8
8
|
require('../../../GlobalCtx-10114bdd.js');
|
|
9
9
|
|
|
10
|
-
const DetailCard = ({ eyebrow, title, size = "narrow", intro, date, eventdetails, link, image, }) => {
|
|
10
|
+
const DetailCard = ({ eyebrow, title, size = "narrow", intro, date, eventdetails, link, image, titleLevel: TitleElement, }) => {
|
|
11
11
|
const { prefix } = hooks_useGlobalSettings();
|
|
12
12
|
const baseClass = `${prefix}--card`;
|
|
13
13
|
const cardClasses = classNames(baseClass, `${baseClass}__type__detail`, {
|
|
14
14
|
[`${baseClass}__action`]: link,
|
|
15
15
|
[`${baseClass}__size__${size}`]: size,
|
|
16
16
|
});
|
|
17
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsxRuntime.jsx("
|
|
17
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), intro && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), date && (jsxRuntime.jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), eventdetails && (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--date-extra` }, { children: eventdetails })))] }))] }))] })));
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
module.exports = DetailCard;
|
|
@@ -9,14 +9,14 @@ require('tslib');
|
|
|
9
9
|
require('react');
|
|
10
10
|
require('../../../GlobalCtx-10114bdd.js');
|
|
11
11
|
|
|
12
|
-
const FactlistCard = ({ title, theme = "narrow",
|
|
12
|
+
const FactlistCard = ({ title, theme, size = "narrow", list, titleLevel: TitleElement, }) => {
|
|
13
13
|
const { prefix } = hooks_useGlobalSettings();
|
|
14
14
|
const baseClass = `${prefix}--card`;
|
|
15
15
|
const cardClasses = classNames(baseClass, `${baseClass}__type__factlist`, {
|
|
16
16
|
[`${baseClass}__size__${size}`]: size,
|
|
17
17
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
18
18
|
});
|
|
19
|
-
return (jsxRuntime.jsx("div", Object.assign({ className: cardClasses }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && jsxRuntime.jsx("
|
|
19
|
+
return (jsxRuntime.jsx("div", Object.assign({ className: cardClasses }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), list && (jsxRuntime.jsx(components_List_List, Object.assign({ alignment: "default", ordered: "unordered" }, { children: list.map((item, index) => (jsxRuntime.jsx(components_List_ListItem, Object.assign({ id: `list${index}` }, { children: jsxRuntime.jsx("p", { children: item }) })))) })))] })) })) })));
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
module.exports = FactlistCard;
|
|
@@ -8,7 +8,7 @@ require('tslib');
|
|
|
8
8
|
require('react');
|
|
9
9
|
require('../../../GlobalCtx-10114bdd.js');
|
|
10
10
|
|
|
11
|
-
const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, link, linklist, image, }) => {
|
|
11
|
+
const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, link, linklist, image, titleLevel: TitleElement, }) => {
|
|
12
12
|
const { prefix } = hooks_useGlobalSettings();
|
|
13
13
|
const baseClass = `${prefix}--card`;
|
|
14
14
|
const cardClasses = classNames(baseClass, `${baseClass}__type__feature`, {
|
|
@@ -18,7 +18,7 @@ const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, li
|
|
|
18
18
|
[`${baseClass}__linklist`]: linklist,
|
|
19
19
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
20
20
|
});
|
|
21
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsxRuntime.jsx("
|
|
21
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), date && (jsxRuntime.jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), linklist && (jsxRuntime.jsx(components_LinkList_LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup }))] }))] }))] })));
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
module.exports = FeatureCard;
|
|
@@ -8,7 +8,7 @@ require('tslib');
|
|
|
8
8
|
require('react');
|
|
9
9
|
require('../../../GlobalCtx-10114bdd.js');
|
|
10
10
|
|
|
11
|
-
const MultilinkCard = ({ isvideo, eyebrow, title, size = "
|
|
11
|
+
const MultilinkCard = ({ isvideo, eyebrow, title, size = "standard", alignment, intro, link, linklist, image, titleLevel: TitleElement, }) => {
|
|
12
12
|
const { prefix } = hooks_useGlobalSettings();
|
|
13
13
|
const baseClass = `${prefix}--card`;
|
|
14
14
|
const cardClasses = classNames(baseClass, `${baseClass}__type__multilink`, {
|
|
@@ -18,7 +18,7 @@ const MultilinkCard = ({ isvideo, eyebrow, title, size = "narrow", alignment, in
|
|
|
18
18
|
[`${baseClass}__isvideo`]: isvideo,
|
|
19
19
|
[`${baseClass}__linklist`]: linklist,
|
|
20
20
|
});
|
|
21
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsxRuntime.jsx("
|
|
21
|
+
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), image && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), intro && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), linklist && (jsxRuntime.jsx(components_LinkList_LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup }))] }))] }))] })));
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
module.exports = MultilinkCard;
|
|
@@ -7,7 +7,7 @@ require('tslib');
|
|
|
7
7
|
require('react');
|
|
8
8
|
require('../../../GlobalCtx-10114bdd.js');
|
|
9
9
|
|
|
10
|
-
const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, link, cta, }) => {
|
|
10
|
+
const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, link, cta, titleLevel: TitleElement, }) => {
|
|
11
11
|
const { prefix } = hooks_useGlobalSettings();
|
|
12
12
|
const baseClass = `${prefix}--card`;
|
|
13
13
|
const wrapperClass = classNames(`${baseClass}--wrapper`, `${baseClass}--wrapper__type__promo ${baseClass}--wrapper__type__promo__size__${size}`);
|
|
@@ -17,7 +17,7 @@ const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, l
|
|
|
17
17
|
[`${baseClass}__size__${size}`]: size,
|
|
18
18
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
19
19
|
});
|
|
20
|
-
return (jsxRuntime.jsx("div", Object.assign({ className: wrapperClass }, { children: jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsxRuntime.jsx("
|
|
20
|
+
return (jsxRuntime.jsx("div", Object.assign({ className: wrapperClass }, { children: jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), intro && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), cta && cta.label && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--cta ${prefix}--button ${prefix}--button--medium ${prefix}--button--primary`, href: cta.url }, { children: jsxRuntime.jsx("span", Object.assign({ className: "link__label" }, { children: cta.label })) })))] })) }))] })) })));
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
module.exports = PromoCard;
|
|
@@ -8,14 +8,14 @@ require('tslib');
|
|
|
8
8
|
require('react');
|
|
9
9
|
require('../../../GlobalCtx-10114bdd.js');
|
|
10
10
|
|
|
11
|
-
const StatCard = ({ title, color, size = "standard", intro, source, }) => {
|
|
11
|
+
const StatCard = ({ title, color, size = "standard", intro, source, titleLevel: TitleElement, }) => {
|
|
12
12
|
const { prefix } = hooks_useGlobalSettings();
|
|
13
13
|
const baseClass = `${prefix}--card`;
|
|
14
14
|
const cardClasses = classNames(baseClass, `${baseClass}__type__stat`, {
|
|
15
15
|
[`${baseClass}__color__${color}`]: color,
|
|
16
16
|
[`${baseClass}__size__${size}`]: size,
|
|
17
17
|
});
|
|
18
|
-
return (jsxRuntime.jsx("div", Object.assign({ className: cardClasses }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && jsxRuntime.jsx("
|
|
18
|
+
return (jsxRuntime.jsx("div", Object.assign({ className: cardClasses }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), intro && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), source && jsxRuntime.jsx(components_Link_Link, Object.assign({ url: source.url }, { children: source.label }))] })) })) })));
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
module.exports = StatCard;
|
|
@@ -8,7 +8,7 @@ require('tslib');
|
|
|
8
8
|
require('react');
|
|
9
9
|
require('../../../GlobalCtx-10114bdd.js');
|
|
10
10
|
|
|
11
|
-
const TextCard = ({ eyebrow, title, theme, size, date, profile, link, }) => {
|
|
11
|
+
const TextCard = ({ eyebrow, title, theme, size, date, profile, link, titleLevel: TitleElement, }) => {
|
|
12
12
|
const { prefix } = hooks_useGlobalSettings();
|
|
13
13
|
const baseClass = `${prefix}--card`;
|
|
14
14
|
const wrapperClass = classNames(`${baseClass}--wrapper`);
|
|
@@ -17,7 +17,7 @@ const TextCard = ({ eyebrow, title, theme, size, date, profile, link, }) => {
|
|
|
17
17
|
[`${baseClass}__size__${size}`]: size,
|
|
18
18
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
19
19
|
});
|
|
20
|
-
return (jsxRuntime.jsx("div", Object.assign({ className: wrapperClass }, { children: jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsxRuntime.jsx("
|
|
20
|
+
return (jsxRuntime.jsx("div", Object.assign({ className: wrapperClass }, { children: jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsxRuntime.jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), date && (jsxRuntime.jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), profile && profile.avatar && (jsxRuntime.jsx(components_Profile_Profile, { avatar: profile.avatar, description: profile.description, link: profile.link, name: profile.name, role: profile.role, className: `${prefix}--profile__theme__${theme}` }))] })) }))] })) })));
|
|
21
21
|
};
|
|
22
22
|
|
|
23
23
|
module.exports = TextCard;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var classNames = require('classnames');
|
|
5
5
|
var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
|
|
6
|
-
require('react');
|
|
7
6
|
require('tslib');
|
|
7
|
+
require('react');
|
|
8
8
|
require('../../GlobalCtx-10114bdd.js');
|
|
9
9
|
|
|
10
10
|
const LogoGridItem = ({ url, label, src }) => {
|
|
@@ -20,31 +20,57 @@ const Navigation = ({ logo, mobilelogo, siteurl, tagline, primarynav, subnav, me
|
|
|
20
20
|
const { prefix } = hooks_useGlobalSettings();
|
|
21
21
|
const [toggleMenuOpen, setMenuToggleOpen] = React.useState(false);
|
|
22
22
|
const [toggleSearchOpen, setSearchToggleOpen] = React.useState(false);
|
|
23
|
+
const [searchTabbable, setSearchTabbable] = React.useState(false);
|
|
23
24
|
const [toggleSubnavOpen, setSubnavToggleOpen] = React.useState(false);
|
|
25
|
+
const [subnavTabbable, setSubnavTabbable] = React.useState(false);
|
|
24
26
|
const [toggleLanguageOpen, setLanguageToggleOpen] = React.useState(false);
|
|
25
27
|
const baseClass = `${prefix}--header`;
|
|
26
28
|
const NavigationClasses = classNames(baseClass, {
|
|
27
29
|
[`${prefix}--mobile--open`]: toggleMenuOpen,
|
|
28
|
-
[`${prefix}--select--open`]: toggleLanguageOpen,
|
|
29
30
|
[`${prefix}--search--open`]: toggleSearchOpen,
|
|
30
31
|
[`${prefix}--subnav--open`]: toggleSubnavOpen,
|
|
32
|
+
[`${prefix}--select--open`]: toggleLanguageOpen,
|
|
33
|
+
[`${prefix}--context--open`]: toggleLanguageOpen,
|
|
31
34
|
});
|
|
32
35
|
const handleMenuToggle = () => {
|
|
33
36
|
setMenuToggleOpen(!toggleMenuOpen);
|
|
34
37
|
};
|
|
35
|
-
const handleLanguageToggle = () => {
|
|
38
|
+
const handleLanguageToggle = React.useCallback(() => {
|
|
36
39
|
setLanguageToggleOpen(!toggleLanguageOpen);
|
|
37
|
-
};
|
|
40
|
+
}, [toggleLanguageOpen]);
|
|
38
41
|
const handleSearchToggle = () => {
|
|
39
|
-
|
|
42
|
+
if (toggleSearchOpen) {
|
|
43
|
+
setSearchToggleOpen(false);
|
|
44
|
+
setTimeout(() => setSearchTabbable(false), 225);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
setSearchTabbable(true);
|
|
48
|
+
setTimeout(() => setSearchToggleOpen(true), 10);
|
|
40
49
|
};
|
|
41
50
|
const handleSubnavToggle = () => {
|
|
42
|
-
|
|
51
|
+
if (toggleSubnavOpen) {
|
|
52
|
+
setSubnavToggleOpen(false);
|
|
53
|
+
setTimeout(() => setSubnavTabbable(false), 125);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
setSubnavTabbable(true);
|
|
57
|
+
setTimeout(() => setSubnavToggleOpen(true), 10);
|
|
43
58
|
};
|
|
44
|
-
|
|
59
|
+
React.useEffect(() => {
|
|
60
|
+
if (window) {
|
|
61
|
+
if (toggleLanguageOpen) {
|
|
62
|
+
window.addEventListener("click", handleLanguageToggle);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
window.removeEventListener("click", handleLanguageToggle);
|
|
66
|
+
}
|
|
67
|
+
return () => window.removeEventListener("click", handleLanguageToggle);
|
|
68
|
+
}
|
|
69
|
+
}, [toggleLanguageOpen, handleLanguageToggle]);
|
|
70
|
+
return (jsxRuntime.jsxs("header", Object.assign({ className: NavigationClasses }, { children: [jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--utility-bar` }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--language-switcher` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--language-switcher--wrap` }, { children: [jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--language-switcher--button`, type: "button", onClick: handleLanguageToggle }, { children: languagelabel })), jsxRuntime.jsx(components_ContextMenu_ContextMenu, { links: languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links })] })) })) })), jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--logo-bar` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxRuntime.jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsxRuntime.jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }) })), jsxRuntime.jsxs("p", Object.assign({ className: `${baseClass}--logo-tagline` }, { children: [tagline === null || tagline === void 0 ? void 0 : tagline.tag, jsxRuntime.jsx("span", Object.assign({ className: `${baseClass}--logo-tagline--small` }, { children: tagline === null || tagline === void 0 ? void 0 : tagline.small }))] })), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu`, onClick: handleMenuToggle }, { children: menulabel }))] })) })), jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--navigation` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--nav` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--nav--logo` }, { children: [jsxRuntime.jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsxRuntime.jsx("img", { className: `${baseClass}--logo`, src: mobilelogo, alt: "ILO Logo" }) })), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: menucloselabel }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--search` }, { children: jsxRuntime.jsx(components_SearchField_SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--switcher` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--mobile--nav--language--switcher--button`, onClick: handleLanguageToggle, type: "button" }, { children: languagelabel })) })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--select` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleLanguageToggle, type: "button" }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilebacklabel })), jsxRuntime.jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilecloselabel })), jsxRuntime.jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: languagelabel }))] })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links) &&
|
|
45
71
|
languagecontextmenu.links.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link ${prefix}--nav--language` }, { children: item.label })) }), index))) }))] })) }))] })), jsxRuntime.jsxs("nav", Object.assign({ className: `${prefix}--nav`, "aria-labelledby": "primary-navigation" }, { children: [jsxRuntime.jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "primary-navigation" }, { children: primarynav === null || primarynav === void 0 ? void 0 : primarynav.navlabel })), jsxRuntime.jsxs("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: [(primarynav === null || primarynav === void 0 ? void 0 : primarynav.items) &&
|
|
46
|
-
primarynav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))), subnav && (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--nav--trigger`, onClick: handleSubnavToggle }, { children: subnav.buttonlabel })) })))] }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--search` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--search--button`, type: "button", onClick: handleSearchToggle }, { children: searchlabel })) }))] })), subnav && (jsxRuntime.jsx("nav", Object.assign({ className: `${prefix}--subnav`, "aria-labelledby": "secondary-navigation" }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--subnav--inner ${prefix}--container` }, { children: [jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--subnav` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleSubnavToggle, type: "button" }, { children: subnav.mobilebacklabel })), jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--header--menu--close`, onClick: handleMenuToggle }, { children: subnav.mobilecloselabel })), jsxRuntime.jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: subnav.buttonlabel }))] })) })), jsxRuntime.jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "secondary-navigation" }, { children: subnav.navlabel })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--subnav--set` }, { children: (subnav === null || subnav === void 0 ? void 0 : subnav.items) &&
|
|
47
|
-
subnav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--subnav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--subnav--link` }, { children: item.label })) }), index))) }))] })) }))), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--search-box` }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--header--inner ${prefix}--container` }, { children: jsxRuntime.jsx(components_SearchField_SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })) }))] }))] })));
|
|
72
|
+
primarynav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))), subnav && (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--nav--trigger`, onClick: handleSubnavToggle }, { children: subnav.buttonlabel })) })))] }))] })), jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--search` }, { children: jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--search--button`, type: "button", onClick: handleSearchToggle }, { children: searchlabel })) }))] })), subnav && (jsxRuntime.jsx("nav", Object.assign({ style: { display: subnavTabbable ? "block" : "none" }, className: `${prefix}--subnav`, "aria-labelledby": "secondary-navigation" }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--subnav--inner ${prefix}--container` }, { children: [jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--mobile--subnav` }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleSubnavToggle, type: "button" }, { children: subnav.mobilebacklabel })), jsxRuntime.jsx("button", Object.assign({ className: `${prefix}--header--menu--close`, onClick: handleMenuToggle }, { children: subnav.mobilecloselabel })), jsxRuntime.jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: subnav.buttonlabel }))] })) })), jsxRuntime.jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "secondary-navigation" }, { children: subnav.navlabel })), jsxRuntime.jsx("ul", Object.assign({ className: `${prefix}--subnav--set` }, { children: (subnav === null || subnav === void 0 ? void 0 : subnav.items) &&
|
|
73
|
+
subnav.items.map((item, index) => (jsxRuntime.jsx("li", Object.assign({ className: `${prefix}--subnav--items` }, { children: jsxRuntime.jsx("a", Object.assign({ href: item.url, className: `${prefix}--subnav--link` }, { children: item.label })) }), index))) }))] })) }))), jsxRuntime.jsx("div", Object.assign({ style: { display: searchTabbable ? "block" : "none" }, className: `${prefix}--search-box` }, { children: jsxRuntime.jsx("div", Object.assign({ className: `${prefix}--header--inner ${prefix}--container` }, { children: jsxRuntime.jsx(components_SearchField_SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })) }))] }))] })));
|
|
48
74
|
};
|
|
49
75
|
|
|
50
76
|
module.exports = Navigation;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var classNames = require('classnames');
|
|
5
5
|
var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
|
|
6
|
-
require('react');
|
|
7
6
|
require('tslib');
|
|
7
|
+
require('react');
|
|
8
8
|
require('../../GlobalCtx-10114bdd.js');
|
|
9
9
|
|
|
10
10
|
const SocialMedia = ({ className, theme = "light", justify = "start", headline, icons, }) => {
|
package/lib/cjs/hooks/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var hooks_useGlobalSettings = require('./useGlobalSettings.js');
|
|
4
|
-
var hooks_useVideoPlayer = require('./useVideoPlayer.js');
|
|
5
4
|
require('tslib');
|
|
6
5
|
require('react');
|
|
7
6
|
require('react/jsx-runtime');
|
|
@@ -10,4 +9,3 @@ require('../GlobalCtx-10114bdd.js');
|
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
exports.useGlobalSettings = hooks_useGlobalSettings;
|
|
13
|
-
exports.useVideoPlayer = hooks_useVideoPlayer;
|
|
@@ -28,12 +28,15 @@ const cardMapper = {
|
|
|
28
28
|
factlist: FactlistCard,
|
|
29
29
|
data: DataCard,
|
|
30
30
|
};
|
|
31
|
-
const CardGroup = ({ cards, cardCount, cta, type }) => {
|
|
32
|
-
const
|
|
31
|
+
const CardGroup = ({ cards, titleLevel = "p", cardCount, cta, type, alignment, size, theme, collapsed = false, }) => {
|
|
32
|
+
const Card = cardMapper[type];
|
|
33
33
|
const { prefix } = useGlobalSettings();
|
|
34
34
|
const baseClass = `${prefix}--cardgroup`;
|
|
35
|
-
const cardGroupClasses = classNames(baseClass, `${baseClass}__count__${cardCount}
|
|
36
|
-
|
|
35
|
+
const cardGroupClasses = classNames(baseClass, `${baseClass}__count__${cardCount}`, {
|
|
36
|
+
[`${baseClass}__collapsed`]: collapsed,
|
|
37
|
+
});
|
|
38
|
+
return (jsxs("div", Object.assign({ className: cardGroupClasses }, { children: [jsx("div", Object.assign({ className: `${baseClass}--inner` }, { children: cards &&
|
|
39
|
+
cards.map((card, index) => (jsx(Card, Object.assign({}, card, { size: size, theme: theme, alignment: alignment, titleLevel: titleLevel }), index))) })), cta && (jsx("div", Object.assign({ className: `${baseClass}--button-wrap` }, { children: jsx("a", Object.assign({ className: `${prefix}--button ${prefix}--button--medium ${prefix}--button--secondary`, href: cta.url }, { children: jsx("span", Object.assign({ className: "button__label" }, { children: cta.label })) })) })))] })));
|
|
37
40
|
};
|
|
38
41
|
|
|
39
42
|
export { CardGroup as default };
|
|
@@ -88,6 +88,7 @@ const textCardGroup = {
|
|
|
88
88
|
],
|
|
89
89
|
cardCount: "three",
|
|
90
90
|
type: "text",
|
|
91
|
+
size: "narrow",
|
|
91
92
|
cta: {
|
|
92
93
|
label: "Discover our unique mission",
|
|
93
94
|
url: "https://www.ilo.org",
|
|
@@ -133,6 +134,7 @@ const statCardGroup = {
|
|
|
133
134
|
},
|
|
134
135
|
],
|
|
135
136
|
cardCount: "three",
|
|
137
|
+
size: "narrow",
|
|
136
138
|
type: "stat",
|
|
137
139
|
cta: {
|
|
138
140
|
label: "Discover our unique mission",
|
|
@@ -260,6 +262,7 @@ const multilinkCardGroup = {
|
|
|
260
262
|
],
|
|
261
263
|
type: "multilink",
|
|
262
264
|
cardCount: "three",
|
|
265
|
+
size: "standard",
|
|
263
266
|
cta: {
|
|
264
267
|
label: "Discover our unique mission",
|
|
265
268
|
url: "https://www.ilo.org",
|
|
@@ -268,7 +271,6 @@ const multilinkCardGroup = {
|
|
|
268
271
|
const promoCardGroup = {
|
|
269
272
|
cards: [
|
|
270
273
|
{
|
|
271
|
-
size: "standard",
|
|
272
274
|
title: "ILO welcomes first global agreement on working conditions",
|
|
273
275
|
eyebrow: "Report",
|
|
274
276
|
theme: "dark",
|
|
@@ -281,7 +283,6 @@ const promoCardGroup = {
|
|
|
281
283
|
},
|
|
282
284
|
},
|
|
283
285
|
{
|
|
284
|
-
size: "standard",
|
|
285
286
|
title: "Renewable energy jobs hits 12.7 million globally",
|
|
286
287
|
eyebrow: "High-level meeting",
|
|
287
288
|
theme: "dark",
|
|
@@ -294,7 +295,6 @@ const promoCardGroup = {
|
|
|
294
295
|
},
|
|
295
296
|
},
|
|
296
297
|
{
|
|
297
|
-
size: "standard",
|
|
298
298
|
title: "ILO welcomes G7 call to make a just transition",
|
|
299
299
|
eyebrow: "Podcast",
|
|
300
300
|
theme: "dark",
|
|
@@ -307,7 +307,6 @@ const promoCardGroup = {
|
|
|
307
307
|
},
|
|
308
308
|
},
|
|
309
309
|
{
|
|
310
|
-
size: "standard",
|
|
311
310
|
title: "Telangana and Andhra Pradesh launch pre-departure handbook",
|
|
312
311
|
eyebrow: "High-level meeting",
|
|
313
312
|
theme: "dark",
|
|
@@ -322,6 +321,7 @@ const promoCardGroup = {
|
|
|
322
321
|
],
|
|
323
322
|
type: "promo",
|
|
324
323
|
cardCount: "three",
|
|
324
|
+
size: "standard",
|
|
325
325
|
cta: {
|
|
326
326
|
label: "Discover our unique mission",
|
|
327
327
|
url: "https://www.ilo.org",
|
|
@@ -416,6 +416,7 @@ const featureCardGroup = {
|
|
|
416
416
|
],
|
|
417
417
|
cardCount: "three",
|
|
418
418
|
type: "feature",
|
|
419
|
+
size: "narrow",
|
|
419
420
|
cta: {
|
|
420
421
|
label: "Discover our unique mission",
|
|
421
422
|
url: "https://www.ilo.org",
|
|
@@ -474,6 +475,7 @@ const detailCardGroup = {
|
|
|
474
475
|
],
|
|
475
476
|
type: "detail",
|
|
476
477
|
cardCount: "three",
|
|
478
|
+
size: "narrow",
|
|
477
479
|
cta: {
|
|
478
480
|
label: "Discover our unique mission",
|
|
479
481
|
url: "https://www.ilo.org",
|
|
@@ -520,6 +522,7 @@ const factListCardGroup = {
|
|
|
520
522
|
],
|
|
521
523
|
type: "factlist",
|
|
522
524
|
cardCount: "three",
|
|
525
|
+
size: "narrow",
|
|
523
526
|
cta: {
|
|
524
527
|
label: "Discover our unique mission",
|
|
525
528
|
url: "https://www.ilo.org",
|
|
@@ -528,7 +531,7 @@ const factListCardGroup = {
|
|
|
528
531
|
const dataCardGroup = {
|
|
529
532
|
cards: [
|
|
530
533
|
{
|
|
531
|
-
size: "
|
|
534
|
+
size: "narrow",
|
|
532
535
|
eyebrow: "Press release",
|
|
533
536
|
image: "/small.jpg",
|
|
534
537
|
columns: "one",
|
|
@@ -591,7 +594,6 @@ const dataCardGroup = {
|
|
|
591
594
|
},
|
|
592
595
|
},
|
|
593
596
|
{
|
|
594
|
-
size: "standard",
|
|
595
597
|
eyebrow: "Report",
|
|
596
598
|
image: "/small.jpg",
|
|
597
599
|
columns: "one",
|
|
@@ -650,7 +652,6 @@ const dataCardGroup = {
|
|
|
650
652
|
},
|
|
651
653
|
},
|
|
652
654
|
{
|
|
653
|
-
size: "standard",
|
|
654
655
|
eyebrow: "Meeting",
|
|
655
656
|
image: "/small.jpg",
|
|
656
657
|
columns: "one",
|
|
@@ -705,7 +706,6 @@ const dataCardGroup = {
|
|
|
705
706
|
},
|
|
706
707
|
},
|
|
707
708
|
{
|
|
708
|
-
size: "standard",
|
|
709
709
|
eyebrow: "Meeting",
|
|
710
710
|
image: "/small.jpg",
|
|
711
711
|
columns: "one",
|
|
@@ -774,6 +774,7 @@ const dataCardGroup = {
|
|
|
774
774
|
],
|
|
775
775
|
cardCount: "three",
|
|
776
776
|
type: "data",
|
|
777
|
+
size: "narrow",
|
|
777
778
|
cta: {
|
|
778
779
|
label: "Discover our unique mission",
|
|
779
780
|
url: "https://www.ilo.org",
|
|
@@ -5,14 +5,14 @@ import 'tslib';
|
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
7
7
|
|
|
8
|
-
const DetailCard = ({ eyebrow, title, size = "narrow", intro, date, eventdetails, link, image, }) => {
|
|
8
|
+
const DetailCard = ({ eyebrow, title, size = "narrow", intro, date, eventdetails, link, image, titleLevel: TitleElement, }) => {
|
|
9
9
|
const { prefix } = useGlobalSettings();
|
|
10
10
|
const baseClass = `${prefix}--card`;
|
|
11
11
|
const cardClasses = classNames(baseClass, `${baseClass}__type__detail`, {
|
|
12
12
|
[`${baseClass}__action`]: link,
|
|
13
13
|
[`${baseClass}__size__${size}`]: size,
|
|
14
14
|
});
|
|
15
|
-
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("
|
|
15
|
+
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), date && (jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), eventdetails && (jsx("p", Object.assign({ className: `${baseClass}--date-extra` }, { children: eventdetails })))] }))] }))] })));
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export { DetailCard as default };
|
|
@@ -7,14 +7,14 @@ import 'tslib';
|
|
|
7
7
|
import 'react';
|
|
8
8
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
9
9
|
|
|
10
|
-
const FactlistCard = ({ title, theme = "narrow",
|
|
10
|
+
const FactlistCard = ({ title, theme, size = "narrow", list, titleLevel: TitleElement, }) => {
|
|
11
11
|
const { prefix } = useGlobalSettings();
|
|
12
12
|
const baseClass = `${prefix}--card`;
|
|
13
13
|
const cardClasses = classNames(baseClass, `${baseClass}__type__factlist`, {
|
|
14
14
|
[`${baseClass}__size__${size}`]: size,
|
|
15
15
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
16
16
|
});
|
|
17
|
-
return (jsx("div", Object.assign({ className: cardClasses }, { children: jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && jsx("
|
|
17
|
+
return (jsx("div", Object.assign({ className: cardClasses }, { children: jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), list && (jsx(List, Object.assign({ alignment: "default", ordered: "unordered" }, { children: list.map((item, index) => (jsx(ListItem, Object.assign({ id: `list${index}` }, { children: jsx("p", { children: item }) })))) })))] })) })) })));
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export { FactlistCard as default };
|