@ilo-org/react 0.11.0 → 0.13.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 +28 -0
- package/lib/cjs/components/Cards/CardGroup/CardGroup.js +42 -0
- package/lib/cjs/components/Cards/CardGroup/index.js +759 -0
- package/lib/cjs/components/Cards/DataCard/DataCard.js +27 -0
- package/lib/cjs/components/Cards/DataCard/index.js +81 -0
- package/lib/cjs/components/Cards/DetailCard/DetailCard.js +20 -0
- package/lib/cjs/components/Cards/DetailCard/index.js +25 -0
- package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +23 -0
- package/lib/cjs/components/Cards/FactlistCard/index.js +25 -0
- package/lib/cjs/components/Cards/FeatureCard/FeatureCard.js +24 -0
- package/lib/cjs/components/Cards/FeatureCard/index.js +39 -0
- package/lib/cjs/components/Cards/MultilinkCard/MultiLinkCard.js +24 -0
- package/lib/cjs/components/Cards/MultilinkCard/index.js +43 -0
- package/lib/cjs/components/Cards/PromoCard/PromoCard.js +23 -0
- package/lib/cjs/components/Cards/PromoCard/index.js +26 -0
- package/lib/cjs/components/Cards/StatCard/StatCard.js +21 -0
- package/lib/cjs/components/Cards/StatCard/index.js +23 -0
- package/lib/cjs/components/Cards/TextCard/TextCard.js +23 -0
- package/lib/cjs/components/Cards/TextCard/index.js +30 -0
- package/lib/cjs/components/Footer/Footer.js +1 -1
- package/lib/cjs/components/LinkList/LinkList.js +1 -1
- package/lib/cjs/components/Navigation/Navigation.js +3 -3
- package/lib/cjs/components/Pagination/Pagination.js +1 -1
- package/lib/cjs/components/index.js +10 -4
- package/lib/cjs/index.js +10 -4
- package/lib/esm/components/Cards/CardGroup/CardGroup.js +40 -0
- package/lib/esm/components/Cards/CardGroup/index.js +756 -0
- package/lib/esm/components/Cards/DataCard/DataCard.js +25 -0
- package/lib/esm/components/Cards/DataCard/index.js +78 -0
- package/lib/esm/components/Cards/DetailCard/DetailCard.js +18 -0
- package/lib/esm/components/Cards/DetailCard/index.js +22 -0
- package/lib/esm/components/Cards/FactlistCard/FactListCard.js +21 -0
- package/lib/esm/components/Cards/FactlistCard/index.js +22 -0
- package/lib/esm/components/Cards/FeatureCard/FeatureCard.js +22 -0
- package/lib/esm/components/Cards/FeatureCard/index.js +36 -0
- package/lib/esm/components/Cards/MultilinkCard/MultiLinkCard.js +22 -0
- package/lib/esm/components/Cards/MultilinkCard/index.js +40 -0
- package/lib/esm/components/Cards/PromoCard/PromoCard.js +21 -0
- package/lib/esm/components/Cards/PromoCard/index.js +23 -0
- package/lib/esm/components/Cards/StatCard/StatCard.js +19 -0
- package/lib/esm/components/Cards/StatCard/index.js +20 -0
- package/lib/esm/components/Cards/TextCard/TextCard.js +21 -0
- package/lib/esm/components/Cards/TextCard/index.js +27 -0
- package/lib/esm/components/Footer/Footer.js +1 -1
- package/lib/esm/components/LinkList/LinkList.js +1 -1
- package/lib/esm/components/Navigation/Navigation.js +3 -3
- package/lib/esm/components/Pagination/Pagination.js +1 -1
- package/lib/esm/components/index.js +9 -2
- package/lib/esm/index.js +9 -2
- package/lib/types/react/src/components/Cards/CardGroup/CardGroup.args.d.ts +13 -0
- package/lib/types/react/src/components/Cards/CardGroup/CardGroup.props.d.ts +58 -0
- package/lib/types/react/src/components/Cards/CardGroup/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/DataCard/DataCard.args.d.ts +2 -0
- package/lib/types/react/src/components/Cards/DataCard/DataCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/DataCard/DataCard.props.d.ts +50 -0
- package/lib/types/react/src/components/Cards/DataCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/DetailCard/DetailCard.args.d.ts +3 -0
- package/lib/types/react/src/components/Cards/DetailCard/DetailCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/DetailCard/DetailCard.props.d.ts +35 -0
- package/lib/types/react/src/components/Cards/DetailCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.args.d.ts +3 -0
- package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.props.d.ts +16 -0
- package/lib/types/react/src/components/Cards/FactlistCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.args.d.ts +3 -0
- package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.props.d.ts +31 -0
- package/lib/types/react/src/components/Cards/FeatureCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/MultilinkCard/MultiLinkCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/MultilinkCard/MultilinkCard.args.d.ts +2 -0
- package/lib/types/react/src/components/Cards/MultilinkCard/MultilinkCard.props.d.ts +25 -0
- package/lib/types/react/src/components/Cards/MultilinkCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/PromoCard/PromoCard.args.d.ts +3 -0
- package/lib/types/react/src/components/Cards/PromoCard/PromoCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/PromoCard/PromoCard.props.d.ts +30 -0
- package/lib/types/react/src/components/Cards/PromoCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/StatCard/StatCard.args.d.ts +3 -0
- package/lib/types/react/src/components/Cards/StatCard/StatCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/StatCard/StatCard.props.d.ts +18 -0
- package/lib/types/react/src/components/Cards/StatCard/index.d.ts +3 -0
- package/lib/types/react/src/components/Cards/TextCard/TextCard.args.d.ts +3 -0
- package/lib/types/react/src/components/Cards/TextCard/TextCard.d.ts +4 -0
- package/lib/types/react/src/components/Cards/TextCard/TextCard.props.d.ts +26 -0
- package/lib/types/react/src/components/Cards/TextCard/index.d.ts +3 -0
- package/lib/types/react/src/components/index.d.ts +1 -1
- package/lib/types/react/src/types/index.d.ts +7 -3
- package/package.json +2 -2
- package/src/components/{Card → Cards/CardGroup}/CardGroup.args.ts +199 -376
- package/src/components/Cards/CardGroup/CardGroup.props.ts +78 -0
- package/src/components/Cards/CardGroup/CardGroup.tsx +54 -0
- package/src/components/Cards/CardGroup/index.tsx +3 -0
- package/src/components/Cards/DataCard/DataCard.args.ts +69 -0
- package/src/components/Cards/DataCard/DataCard.props.ts +60 -0
- package/src/components/Cards/DataCard/DataCard.tsx +107 -0
- package/src/components/Cards/DataCard/index.tsx +3 -0
- package/src/components/Cards/DetailCard/DetailCard.args.ts +17 -0
- package/src/components/Cards/DetailCard/DetailCard.props.ts +43 -0
- package/src/components/Cards/DetailCard/DetailCard.tsx +62 -0
- package/src/components/Cards/DetailCard/index.tsx +3 -0
- package/src/components/Cards/FactlistCard/FactListCard.args.ts +14 -0
- package/src/components/Cards/FactlistCard/FactListCard.props.ts +19 -0
- package/src/components/Cards/FactlistCard/FactListCard.tsx +42 -0
- package/src/components/Cards/FactlistCard/index.tsx +3 -0
- package/src/components/Cards/FeatureCard/FeatureCard.args.ts +30 -0
- package/src/components/Cards/FeatureCard/FeatureCard.props.ts +38 -0
- package/src/components/Cards/FeatureCard/FeatureCard.tsx +69 -0
- package/src/components/Cards/FeatureCard/index.tsx +3 -0
- package/src/components/Cards/MultilinkCard/MultiLinkCard.tsx +76 -0
- package/src/components/Cards/MultilinkCard/MultilinkCard.args.ts +33 -0
- package/src/components/Cards/MultilinkCard/MultilinkCard.props.ts +30 -0
- package/src/components/Cards/MultilinkCard/index.tsx +3 -0
- package/src/components/Cards/PromoCard/PromoCard.args.ts +19 -0
- package/src/components/Cards/PromoCard/PromoCard.props.ts +36 -0
- package/src/components/Cards/PromoCard/PromoCard.tsx +60 -0
- package/src/components/Cards/PromoCard/index.tsx +3 -0
- package/src/components/Cards/StatCard/StatCard.args.ts +14 -0
- package/src/components/Cards/StatCard/StatCard.props.ts +21 -0
- package/src/components/Cards/StatCard/StatCard.tsx +36 -0
- package/src/components/Cards/StatCard/index.tsx +3 -0
- package/src/components/Cards/TextCard/TextCard.args.ts +21 -0
- package/src/components/Cards/TextCard/TextCard.props.ts +32 -0
- package/src/components/Cards/TextCard/TextCard.tsx +62 -0
- package/src/components/Cards/TextCard/index.tsx +3 -0
- package/src/components/Footer/Footer.args.ts +4 -16
- package/src/components/Footer/Footer.tsx +41 -37
- package/src/components/LinkList/LinkList.tsx +1 -1
- package/src/components/Navigation/Navigation.tsx +5 -5
- package/src/components/Pagination/Pagination.tsx +2 -1
- package/src/components/index.ts +1 -1
- package/src/types/index.ts +10 -4
- package/lib/cjs/components/Card/Card.js +0 -43
- package/lib/cjs/components/Card/CardGroup.js +0 -25
- package/lib/cjs/components/Card/index.js +0 -21
- package/lib/esm/components/Card/Card.js +0 -41
- package/lib/esm/components/Card/CardGroup.js +0 -23
- package/lib/esm/components/Card/index.js +0 -14
- package/lib/types/react/src/components/Card/Card.d.ts +0 -4
- package/lib/types/react/src/components/Card/Card.props.d.ts +0 -110
- package/lib/types/react/src/components/Card/CardGroup.props.d.ts +0 -16
- package/lib/types/react/src/components/Card/index.d.ts +0 -2
- package/public/fao-logo.svg +0 -195
- package/public/favicon.ico +0 -0
- package/public/hero.jpg +0 -0
- package/public/ilo-dg.jpg +0 -0
- package/public/ilo-headquarters.jpg +0 -0
- package/public/large.jpg +0 -0
- package/public/media-file-poster.jpg +0 -0
- package/public/medium.jpg +0 -0
- package/public/small.jpg +0 -0
- package/public/unhcr-logo.svg +0 -1
- package/public/unicef-logo.png +0 -0
- package/public/video-example.mp4 +0 -0
- package/public/wfp-logo.svg +0 -1
- package/public/who-logo.svg +0 -1
- package/public/youtube-video-poster.avif +0 -0
- package/src/components/Card/Card.args.ts +0 -215
- package/src/components/Card/Card.props.ts +0 -142
- package/src/components/Card/Card.tsx +0 -183
- package/src/components/Card/CardGroup.props.ts +0 -19
- package/src/components/Card/CardGroup.tsx +0 -55
- package/src/components/Card/index.ts +0 -2
- /package/lib/types/react/src/components/{Card → Cards/CardGroup}/CardGroup.d.ts +0 -0
|
@@ -26,7 +26,7 @@ const Footer: FC<FooterProps> = ({
|
|
|
26
26
|
|
|
27
27
|
return (
|
|
28
28
|
<footer className={footerClasses}>
|
|
29
|
-
<div className={`${baseClass}--main`}>
|
|
29
|
+
<div className={`${baseClass}--main ${prefix}--container`}>
|
|
30
30
|
<div className="site--info">
|
|
31
31
|
<img className={`${baseClass}--logo`} src={logo} alt="ILO Logo" />
|
|
32
32
|
<h3 className={`${baseClass}--headline`}>{tagline}</h3>
|
|
@@ -46,47 +46,51 @@ const Footer: FC<FooterProps> = ({
|
|
|
46
46
|
<LinkList linkgroup={linkgroup} theme="dark"></LinkList>
|
|
47
47
|
</nav>
|
|
48
48
|
)}
|
|
49
|
-
{
|
|
49
|
+
{socialmedia && (
|
|
50
50
|
<div className="connect">
|
|
51
|
-
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
51
|
+
<div className="social--links">
|
|
52
|
+
<SocialMedia {...socialmedia} theme="dark" />
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
)}
|
|
56
|
+
{subscribe && (
|
|
57
|
+
<div className="subscribe">
|
|
58
|
+
<Button
|
|
59
|
+
label={subscribe?.label}
|
|
60
|
+
url={subscribe?.url}
|
|
61
|
+
type="primary"
|
|
62
|
+
size="large"
|
|
63
|
+
target="_blank"
|
|
64
|
+
></Button>
|
|
65
65
|
</div>
|
|
66
66
|
)}
|
|
67
67
|
</div>
|
|
68
68
|
<div className={`${baseClass}--secondary`}>
|
|
69
|
-
<div className=
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
<
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
69
|
+
<div className={`${prefix}--container`}>
|
|
70
|
+
<div className={`${baseClass}--secondary--details`}>
|
|
71
|
+
<div className="legal">{legal}</div>
|
|
72
|
+
{secondarylinks && (
|
|
73
|
+
<nav className="secondarylinks">
|
|
74
|
+
<ul className="secondarylinks--list">
|
|
75
|
+
{secondarylinks.map((link, i) => (
|
|
76
|
+
<li className="secondarylinks--list--item">
|
|
77
|
+
<a
|
|
78
|
+
key={i}
|
|
79
|
+
href={link.url}
|
|
80
|
+
className="secondarylinks--list--link"
|
|
81
|
+
>
|
|
82
|
+
{link?.label}
|
|
83
|
+
</a>
|
|
84
|
+
</li>
|
|
85
|
+
))}
|
|
86
|
+
</ul>
|
|
87
|
+
</nav>
|
|
88
|
+
)}
|
|
89
|
+
</div>
|
|
90
|
+
<a href={anchorlink?.url} className="anchorlink">
|
|
91
|
+
{anchorlink?.label}
|
|
92
|
+
</a>
|
|
93
|
+
</div>
|
|
90
94
|
</div>
|
|
91
95
|
</footer>
|
|
92
96
|
);
|
|
@@ -19,7 +19,7 @@ const LinkList: FC<LinkListProps> = ({
|
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
21
|
<div className={linkListClasses}>
|
|
22
|
-
<h3 className={`${baseClass}--headline`}>{headline}</h3>
|
|
22
|
+
{headline && <h3 className={`${baseClass}--headline`}>{headline}</h3>}
|
|
23
23
|
<ul className={`${baseClass}--linkgroups`}>
|
|
24
24
|
{linkgroup &&
|
|
25
25
|
linkgroup.map((linkset, i) => (
|
|
@@ -66,7 +66,7 @@ const Navigation: FC<NavigationProps> = ({
|
|
|
66
66
|
</div>
|
|
67
67
|
</div>
|
|
68
68
|
<div className={`${baseClass}--logo-bar`}>
|
|
69
|
-
<div className={`${baseClass}--inner`}>
|
|
69
|
+
<div className={`${baseClass}--inner ${prefix}--container`}>
|
|
70
70
|
<a href={siteurl} className={`${baseClass}--logo-link`}>
|
|
71
71
|
<img className={`${baseClass}--logo`} src={logo} alt="ILO Logo" />
|
|
72
72
|
</a>
|
|
@@ -82,7 +82,7 @@ const Navigation: FC<NavigationProps> = ({
|
|
|
82
82
|
</div>
|
|
83
83
|
</div>
|
|
84
84
|
<div className={`${baseClass}--navigation`}>
|
|
85
|
-
<div className={`${baseClass}--inner`}>
|
|
85
|
+
<div className={`${baseClass}--inner ${prefix}--container`}>
|
|
86
86
|
<div className={`${prefix}--mobile--nav`}>
|
|
87
87
|
<div className={`${prefix}--mobile--nav--logo`}>
|
|
88
88
|
<a href={siteurl} className={`${baseClass}--logo-link`}>
|
|
@@ -115,7 +115,7 @@ const Navigation: FC<NavigationProps> = ({
|
|
|
115
115
|
</button>
|
|
116
116
|
</div>
|
|
117
117
|
<div className={`${prefix}--mobile--nav--language--select`}>
|
|
118
|
-
<div className={`${baseClass}--inner`}>
|
|
118
|
+
<div className={`${baseClass}--inner ${prefix}--container`}>
|
|
119
119
|
<div className={`${prefix}--mobile--subnav--menu`}>
|
|
120
120
|
<button
|
|
121
121
|
className={`${prefix}--mobile--subnav--back`}
|
|
@@ -193,7 +193,7 @@ const Navigation: FC<NavigationProps> = ({
|
|
|
193
193
|
className={`${prefix}--subnav`}
|
|
194
194
|
aria-labelledby="secondary-navigation"
|
|
195
195
|
>
|
|
196
|
-
<div className={`${prefix}--subnav--inner`}>
|
|
196
|
+
<div className={`${prefix}--subnav--inner ${prefix}--container`}>
|
|
197
197
|
<div className={`${prefix}--mobile--subnav`}>
|
|
198
198
|
<div className={`${prefix}--mobile--subnav--menu`}>
|
|
199
199
|
<button
|
|
@@ -231,7 +231,7 @@ const Navigation: FC<NavigationProps> = ({
|
|
|
231
231
|
</nav>
|
|
232
232
|
)}
|
|
233
233
|
<div className={`${prefix}--search-box`}>
|
|
234
|
-
<div className={`${prefix}--header--inner`}>
|
|
234
|
+
<div className={`${prefix}--header--inner ${prefix}--container`}>
|
|
235
235
|
<SearchField
|
|
236
236
|
input={searchfield?.input}
|
|
237
237
|
action={searchfield?.action}
|
|
@@ -84,7 +84,8 @@ const Pagination: FC<PaginationProps> = ({
|
|
|
84
84
|
</div>
|
|
85
85
|
|
|
86
86
|
<p className={`${baseClass}--page`}>
|
|
87
|
-
<span>{currentPage + 1}</span>
|
|
87
|
+
<span>{currentPage + 1}</span>
|
|
88
|
+
<span>{pageCountPreposition}</span>
|
|
88
89
|
<span>{totalPages}</span>
|
|
89
90
|
</p>
|
|
90
91
|
|
package/src/components/index.ts
CHANGED
|
@@ -41,6 +41,6 @@ export { TableOfContents } from "./TableOfContents";
|
|
|
41
41
|
export { Footer } from "./Footer";
|
|
42
42
|
export { LocalNav } from "./LocalNav";
|
|
43
43
|
export { Navigation } from "./Navigation";
|
|
44
|
-
export {
|
|
44
|
+
export { CardGroup } from "./Cards/CardGroup";
|
|
45
45
|
export { Breadcrumb } from "./Breadcrumb";
|
|
46
46
|
export { Tabs } from "./Tabs";
|
package/src/types/index.ts
CHANGED
|
@@ -53,18 +53,24 @@ export type SocialTypes =
|
|
|
53
53
|
| "tiktok"
|
|
54
54
|
| "flickr";
|
|
55
55
|
export type CardColor = "turquoise" | "green" | "yellow" | "blue";
|
|
56
|
-
export type CardSize = "wide" | "standard" | "narrow";
|
|
57
|
-
export type CardCornerType =
|
|
56
|
+
export type CardSize = "wide" | "standard" | "narrow" | "fluid";
|
|
57
|
+
export type CardCornerType = boolean;
|
|
58
58
|
export type CardAlignment = "left" | "right";
|
|
59
59
|
export type CardTypes =
|
|
60
60
|
| "stat"
|
|
61
61
|
| "multilink"
|
|
62
|
-
| "
|
|
63
|
-
| "
|
|
62
|
+
| "text"
|
|
63
|
+
| "promo"
|
|
64
64
|
| "feature"
|
|
65
65
|
| "detail"
|
|
66
66
|
| "factlist"
|
|
67
67
|
| "data";
|
|
68
|
+
|
|
69
|
+
export type EventDate = {
|
|
70
|
+
unix?: string;
|
|
71
|
+
human?: string;
|
|
72
|
+
};
|
|
73
|
+
|
|
68
74
|
export interface FormFieldProps<T> {
|
|
69
75
|
/**
|
|
70
76
|
* The input's onChange callback.
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var classNames = require('classnames');
|
|
5
|
-
var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
|
|
6
|
-
var components_Link_Link = require('../Link/Link.js');
|
|
7
|
-
var components_List_List = require('../List/List.js');
|
|
8
|
-
var components_List_ListItem = require('../List/ListItem.js');
|
|
9
|
-
var components_LinkList_LinkList = require('../LinkList/LinkList.js');
|
|
10
|
-
var components_Profile_Profile = require('../Profile/Profile.js');
|
|
11
|
-
require('tslib');
|
|
12
|
-
require('react');
|
|
13
|
-
require('../../GlobalCtx-10114bdd.js');
|
|
14
|
-
require('../../ListCtx-14aa546f.js');
|
|
15
|
-
|
|
16
|
-
const Card = ({ isvideo, eyebrow, title, color, theme, variant, size, cornercut, alignment, intro, date, eventdetails, profile, listitems, link, linklist, cta, image, source, dataset, }) => {
|
|
17
|
-
const { prefix } = hooks_useGlobalSettings();
|
|
18
|
-
const baseClass = `${prefix}--card`;
|
|
19
|
-
const cardClasses = classNames(baseClass, `${baseClass}--${variant}`, `${baseClass}--${color}`, {
|
|
20
|
-
[`${baseClass}--${cornercut}`]: cornercut,
|
|
21
|
-
[`${baseClass}--${alignment}`]: alignment,
|
|
22
|
-
[`${baseClass}--action`]: link,
|
|
23
|
-
[`${baseClass}--${size}`]: size,
|
|
24
|
-
[`${baseClass}--isvideo`]: isvideo,
|
|
25
|
-
[`${baseClass}--linklist`]: linklist,
|
|
26
|
-
[`${baseClass}--${theme}`]: theme,
|
|
27
|
-
});
|
|
28
|
-
return (jsxRuntime.jsxs("div", Object.assign({ className: cardClasses }, { children: [link &&
|
|
29
|
-
variant != "data" &&
|
|
30
|
-
variant != "factlist" &&
|
|
31
|
-
variant != "stat" && (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}--image`, 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("h3", Object.assign({ className: `${baseClass}--title` }, { children: title })), (variant == "multilink" || (variant == "data" && image)) && (jsxRuntime.jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsxRuntime.jsx("picture", { children: jsxRuntime.jsx("img", { className: `${baseClass}--image`, src: image, alt: title }) }) }))), intro && jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), date &&
|
|
32
|
-
variant != "stat" &&
|
|
33
|
-
variant != "data" &&
|
|
34
|
-
variant != "graphicpromo" &&
|
|
35
|
-
variant != "factlist" && (jsxRuntime.jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), eventdetails && (jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--event-date` }, { children: eventdetails }))), 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--contents--${theme}` })), listitems && (jsxRuntime.jsx(components_List_List, Object.assign({ alignment: "default", ordered: "unordered" }, { children: listitems.map((item, index) => (jsxRuntime.jsx(components_List_ListItem, Object.assign({ id: `list${index}` }, { children: jsxRuntime.jsx("p", { children: item }) })))) }))), 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 })) }))), source && (jsxRuntime.jsx(components_Link_Link, Object.assign({ theme: theme, url: source.url }, { children: source.label }))), linklist && (jsxRuntime.jsx(components_LinkList_LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup })), dataset &&
|
|
36
|
-
dataset.content &&
|
|
37
|
-
dataset.content.items &&
|
|
38
|
-
dataset.content.items.map((item) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: item.label })), jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-copy` }, { children: item.copy }))] }))), dataset && dataset.files && (jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--data--content-files` }, { children: [jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: dataset.files.headline })), dataset.files.items &&
|
|
39
|
-
dataset.files.items.map((item) => (jsxRuntime.jsx("a", Object.assign({ className: `${baseClass}--data--file ${prefix}--button ${prefix}--button--primary ${prefix}--button--small`, href: item.url, download: true }, { children: jsxRuntime.jsx("span", Object.assign({ className: "button__label" }, { children: item.label })) }))))] }))), dataset && dataset.links && (jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--data--content-links` }, { children: [jsxRuntime.jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: dataset.links.headline })), dataset.links.items &&
|
|
40
|
-
dataset.links.items.map((item) => (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(components_Link_Link, Object.assign({ url: item.url }, { children: item.label })), jsxRuntime.jsx("span", { children: "\u00A0\u00A0" })] })))] })))] }))] }))] })));
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
module.exports = Card;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var components_Card_Card = require('./Card.js');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var classNames = require('classnames');
|
|
6
|
-
var hooks_useGlobalSettings = require('../../hooks/useGlobalSettings.js');
|
|
7
|
-
require('../Link/Link.js');
|
|
8
|
-
require('tslib');
|
|
9
|
-
require('../List/List.js');
|
|
10
|
-
require('react');
|
|
11
|
-
require('../../ListCtx-14aa546f.js');
|
|
12
|
-
require('../../GlobalCtx-10114bdd.js');
|
|
13
|
-
require('../List/ListItem.js');
|
|
14
|
-
require('../LinkList/LinkList.js');
|
|
15
|
-
require('../Profile/Profile.js');
|
|
16
|
-
|
|
17
|
-
const CardGroup = ({ cards, cardcount, cta }) => {
|
|
18
|
-
const { prefix } = hooks_useGlobalSettings();
|
|
19
|
-
const baseClass = `${prefix}--cardgroup`;
|
|
20
|
-
const cardGroupClasses = classNames(baseClass, `${baseClass}--${cardcount}`);
|
|
21
|
-
return (jsxRuntime.jsx("div", Object.assign({ className: cardGroupClasses }, { children: jsxRuntime.jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [cards &&
|
|
22
|
-
cards.map((card) => (jsxRuntime.jsx(components_Card_Card, { title: card.title, image: card.image, intro: card.intro, eyebrow: card.eyebrow, date: card.date, dataset: card.dataset, link: card.link, profile: card.profile, cta: card.cta, source: card.source, listitems: card.listitems, linklist: card.linklist, color: card.color, theme: card.theme, cornercut: card.cornercut, alignment: card.alignment, variant: card.variant, size: card.size }))), 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 })) })) })))] })) })));
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
module.exports = CardGroup;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var components_Card_Card = require('./Card.js');
|
|
4
|
-
var components_Card_CardGroup = require('./CardGroup.js');
|
|
5
|
-
require('react/jsx-runtime');
|
|
6
|
-
require('classnames');
|
|
7
|
-
require('../../hooks/useGlobalSettings.js');
|
|
8
|
-
require('tslib');
|
|
9
|
-
require('react');
|
|
10
|
-
require('../../GlobalCtx-10114bdd.js');
|
|
11
|
-
require('../Link/Link.js');
|
|
12
|
-
require('../List/List.js');
|
|
13
|
-
require('../../ListCtx-14aa546f.js');
|
|
14
|
-
require('../List/ListItem.js');
|
|
15
|
-
require('../LinkList/LinkList.js');
|
|
16
|
-
require('../Profile/Profile.js');
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
exports.Card = components_Card_Card;
|
|
21
|
-
exports.CardGroup = components_Card_CardGroup;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
-
import classNames from 'classnames';
|
|
3
|
-
import useGlobalSettings from '../../hooks/useGlobalSettings.js';
|
|
4
|
-
import Link from '../Link/Link.js';
|
|
5
|
-
import List from '../List/List.js';
|
|
6
|
-
import ListItem from '../List/ListItem.js';
|
|
7
|
-
import LinkList from '../LinkList/LinkList.js';
|
|
8
|
-
import Profile from '../Profile/Profile.js';
|
|
9
|
-
import 'tslib';
|
|
10
|
-
import 'react';
|
|
11
|
-
import '../../GlobalCtx-7fb23cfa.js';
|
|
12
|
-
import '../../ListCtx-da435fdf.js';
|
|
13
|
-
|
|
14
|
-
const Card = ({ isvideo, eyebrow, title, color, theme, variant, size, cornercut, alignment, intro, date, eventdetails, profile, listitems, link, linklist, cta, image, source, dataset, }) => {
|
|
15
|
-
const { prefix } = useGlobalSettings();
|
|
16
|
-
const baseClass = `${prefix}--card`;
|
|
17
|
-
const cardClasses = classNames(baseClass, `${baseClass}--${variant}`, `${baseClass}--${color}`, {
|
|
18
|
-
[`${baseClass}--${cornercut}`]: cornercut,
|
|
19
|
-
[`${baseClass}--${alignment}`]: alignment,
|
|
20
|
-
[`${baseClass}--action`]: link,
|
|
21
|
-
[`${baseClass}--${size}`]: size,
|
|
22
|
-
[`${baseClass}--isvideo`]: isvideo,
|
|
23
|
-
[`${baseClass}--linklist`]: linklist,
|
|
24
|
-
[`${baseClass}--${theme}`]: theme,
|
|
25
|
-
});
|
|
26
|
-
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link &&
|
|
27
|
-
variant != "data" &&
|
|
28
|
-
variant != "factlist" &&
|
|
29
|
-
variant != "stat" && (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}--image`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("h3", Object.assign({ className: `${baseClass}--title` }, { children: title })), (variant == "multilink" || (variant == "data" && image)) && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--image`, src: image, alt: title }) }) }))), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), date &&
|
|
30
|
-
variant != "stat" &&
|
|
31
|
-
variant != "data" &&
|
|
32
|
-
variant != "graphicpromo" &&
|
|
33
|
-
variant != "factlist" && (jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), eventdetails && (jsx("p", Object.assign({ className: `${baseClass}--event-date` }, { children: eventdetails }))), profile && profile.avatar && (jsx(Profile, { avatar: profile.avatar, description: profile.description, link: profile.link, name: profile.name, role: profile.role, className: `${prefix}--profile--contents--${theme}` })), listitems && (jsx(List, Object.assign({ alignment: "default", ordered: "unordered" }, { children: listitems.map((item, index) => (jsx(ListItem, Object.assign({ id: `list${index}` }, { children: jsx("p", { children: item }) })))) }))), cta && cta.label && (jsx("a", Object.assign({ className: `${baseClass}--cta ${prefix}--button ${prefix}--button--medium ${prefix}--button--primary`, href: cta.url }, { children: jsx("span", Object.assign({ className: "link__label" }, { children: cta.label })) }))), source && (jsx(Link, Object.assign({ theme: theme, url: source.url }, { children: source.label }))), linklist && (jsx(LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup })), dataset &&
|
|
34
|
-
dataset.content &&
|
|
35
|
-
dataset.content.items &&
|
|
36
|
-
dataset.content.items.map((item) => (jsxs(Fragment, { children: [jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: item.label })), jsx("p", Object.assign({ className: `${baseClass}--data--content-copy` }, { children: item.copy }))] }))), dataset && dataset.files && (jsxs("div", Object.assign({ className: `${baseClass}--data--content-files` }, { children: [jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: dataset.files.headline })), dataset.files.items &&
|
|
37
|
-
dataset.files.items.map((item) => (jsx("a", Object.assign({ className: `${baseClass}--data--file ${prefix}--button ${prefix}--button--primary ${prefix}--button--small`, href: item.url, download: true }, { children: jsx("span", Object.assign({ className: "button__label" }, { children: item.label })) }))))] }))), dataset && dataset.links && (jsxs("div", Object.assign({ className: `${baseClass}--data--content-links` }, { children: [jsx("p", Object.assign({ className: `${baseClass}--data--content-label` }, { children: dataset.links.headline })), dataset.links.items &&
|
|
38
|
-
dataset.links.items.map((item) => (jsxs(Fragment, { children: [jsx(Link, Object.assign({ url: item.url }, { children: item.label })), jsx("span", { children: "\u00A0\u00A0" })] })))] })))] }))] }))] })));
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export { Card as default };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import Card from './Card.js';
|
|
2
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import classNames from 'classnames';
|
|
4
|
-
import useGlobalSettings from '../../hooks/useGlobalSettings.js';
|
|
5
|
-
import '../Link/Link.js';
|
|
6
|
-
import 'tslib';
|
|
7
|
-
import '../List/List.js';
|
|
8
|
-
import 'react';
|
|
9
|
-
import '../../ListCtx-da435fdf.js';
|
|
10
|
-
import '../../GlobalCtx-7fb23cfa.js';
|
|
11
|
-
import '../List/ListItem.js';
|
|
12
|
-
import '../LinkList/LinkList.js';
|
|
13
|
-
import '../Profile/Profile.js';
|
|
14
|
-
|
|
15
|
-
const CardGroup = ({ cards, cardcount, cta }) => {
|
|
16
|
-
const { prefix } = useGlobalSettings();
|
|
17
|
-
const baseClass = `${prefix}--cardgroup`;
|
|
18
|
-
const cardGroupClasses = classNames(baseClass, `${baseClass}--${cardcount}`);
|
|
19
|
-
return (jsx("div", Object.assign({ className: cardGroupClasses }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [cards &&
|
|
20
|
-
cards.map((card) => (jsx(Card, { title: card.title, image: card.image, intro: card.intro, eyebrow: card.eyebrow, date: card.date, dataset: card.dataset, link: card.link, profile: card.profile, cta: card.cta, source: card.source, listitems: card.listitems, linklist: card.linklist, color: card.color, theme: card.theme, cornercut: card.cornercut, alignment: card.alignment, variant: card.variant, size: card.size }))), 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 })) })) })))] })) })));
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export { CardGroup as default };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { default as Card } from './Card.js';
|
|
2
|
-
export { default as CardGroup } from './CardGroup.js';
|
|
3
|
-
import 'react/jsx-runtime';
|
|
4
|
-
import 'classnames';
|
|
5
|
-
import '../../hooks/useGlobalSettings.js';
|
|
6
|
-
import 'tslib';
|
|
7
|
-
import 'react';
|
|
8
|
-
import '../../GlobalCtx-7fb23cfa.js';
|
|
9
|
-
import '../Link/Link.js';
|
|
10
|
-
import '../List/List.js';
|
|
11
|
-
import '../../ListCtx-da435fdf.js';
|
|
12
|
-
import '../List/ListItem.js';
|
|
13
|
-
import '../LinkList/LinkList.js';
|
|
14
|
-
import '../Profile/Profile.js';
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { CardAlignment, ThemeTypes, CardCornerType, CardColor, CardSize, CardTypes } from "../../types";
|
|
2
|
-
import { LinkProps, LinkListProps } from "../LinkList/LinkList.props";
|
|
3
|
-
import { ProfileProps } from "../Profile/Profile.props";
|
|
4
|
-
export interface CardProps {
|
|
5
|
-
/**
|
|
6
|
-
* Specify whether the card should display a video icon (for Feature card). Possible options: true | false
|
|
7
|
-
*/
|
|
8
|
-
isvideo?: boolean;
|
|
9
|
-
/**
|
|
10
|
-
* Eyebrow field for the card.
|
|
11
|
-
*/
|
|
12
|
-
eyebrow: Required<string>;
|
|
13
|
-
/**
|
|
14
|
-
* Title field for the card
|
|
15
|
-
*/
|
|
16
|
-
title: Required<string>;
|
|
17
|
-
/**
|
|
18
|
-
* Color of the stat cards, options are turquoise | green| yellow| blue. Only used for stat cards.
|
|
19
|
-
*/
|
|
20
|
-
color?: CardColor;
|
|
21
|
-
/**
|
|
22
|
-
* The theme type for the card. Theme doesn't apply to these card types: Multilink, Data, Stat and Detail. Possible themes: light | dark.
|
|
23
|
-
*/
|
|
24
|
-
theme?: ThemeTypes;
|
|
25
|
-
/**
|
|
26
|
-
* Different variations of card: Graphic | Stat | Graphic Promo | Multilink | Feature | Detail | Fact List | Data.
|
|
27
|
-
*/
|
|
28
|
-
variant: Required<CardTypes>;
|
|
29
|
-
/**
|
|
30
|
-
* Size of the cards (usually reduces padding). `Wide` on Multilink and Feature cause a two column structure above a desktop breakpoint. Possible options: Wide | Standard | Narrow.
|
|
31
|
-
*/
|
|
32
|
-
size?: CardSize;
|
|
33
|
-
/**
|
|
34
|
-
* Specify whether the card has a cut corner. The only cards that use this setting are `Graphic Promo` and `Factlist`. Possible options: cornercut | corner.
|
|
35
|
-
*/
|
|
36
|
-
cornercut?: CardCornerType;
|
|
37
|
-
/**
|
|
38
|
-
* Specify whether a card image is right-aligned or left-aligned for `Multilink` cards. Possible options: left | right.
|
|
39
|
-
*/
|
|
40
|
-
alignment?: CardAlignment;
|
|
41
|
-
/**
|
|
42
|
-
* Intro text field for the card
|
|
43
|
-
*/
|
|
44
|
-
intro?: string;
|
|
45
|
-
/**
|
|
46
|
-
* Specify the event Date, in both human and Unix format.
|
|
47
|
-
*/
|
|
48
|
-
date?: EventDate;
|
|
49
|
-
/**
|
|
50
|
-
* Event details for `Detail` card
|
|
51
|
-
*/
|
|
52
|
-
eventdetails?: string;
|
|
53
|
-
/**
|
|
54
|
-
* Profile to embed in the card for `Graphic Text`
|
|
55
|
-
*/
|
|
56
|
-
profile?: ProfileProps;
|
|
57
|
-
/**
|
|
58
|
-
* A list of text itmes to be embed in the card, specifically used in `Factlist` card.
|
|
59
|
-
*/
|
|
60
|
-
listitems?: Array<string>;
|
|
61
|
-
/**
|
|
62
|
-
* A Link behind a clickable card. Do no use on `Multilink`, `Factlist`, `Data`, or `Stat` cards.
|
|
63
|
-
*/
|
|
64
|
-
link?: string;
|
|
65
|
-
/**
|
|
66
|
-
* Props of the LinkList component. Appears at the bottom of `Multilink` or `Feature` card.
|
|
67
|
-
*/
|
|
68
|
-
linklist?: LinkListProps;
|
|
69
|
-
/**
|
|
70
|
-
* Items for clickable CTA button, specifically used for `Graphic Promo` card.
|
|
71
|
-
*/
|
|
72
|
-
cta?: LinkProps;
|
|
73
|
-
/**
|
|
74
|
-
* The image used in a card. Images should be avoided on `Graphic Promo`, `Graphic Text`, `Factlist`, and `Stat` card.
|
|
75
|
-
*/
|
|
76
|
-
image?: string;
|
|
77
|
-
/**
|
|
78
|
-
* Source link for `Stat` cards.
|
|
79
|
-
*/
|
|
80
|
-
source?: LinkProps;
|
|
81
|
-
/**
|
|
82
|
-
* Dataset object for the `Data` card. An array of Content (label, copy), Files (optional headline, array of items with label and url), and Links (optional headline, array of items with label and url).
|
|
83
|
-
*/
|
|
84
|
-
dataset?: CardDataset;
|
|
85
|
-
}
|
|
86
|
-
interface EventDate {
|
|
87
|
-
unix?: string;
|
|
88
|
-
human?: string;
|
|
89
|
-
}
|
|
90
|
-
interface CardDataset {
|
|
91
|
-
content?: DataContent;
|
|
92
|
-
files?: DataFile;
|
|
93
|
-
links?: DataLink;
|
|
94
|
-
}
|
|
95
|
-
interface DataContent {
|
|
96
|
-
items?: Array<ContentItem>;
|
|
97
|
-
}
|
|
98
|
-
interface ContentItem {
|
|
99
|
-
label?: string;
|
|
100
|
-
copy?: string;
|
|
101
|
-
}
|
|
102
|
-
interface DataFile {
|
|
103
|
-
headline?: string;
|
|
104
|
-
items?: Array<LinkProps>;
|
|
105
|
-
}
|
|
106
|
-
interface DataLink {
|
|
107
|
-
headline?: string;
|
|
108
|
-
items?: Array<LinkProps>;
|
|
109
|
-
}
|
|
110
|
-
export {};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { CardProps } from "../Card/Card.props";
|
|
2
|
-
import { LinkProps } from "../LinkList/LinkList.props";
|
|
3
|
-
export interface CardGroupProps {
|
|
4
|
-
/**
|
|
5
|
-
* An array of card objects
|
|
6
|
-
*/
|
|
7
|
-
cards?: Required<CardProps>[];
|
|
8
|
-
/**
|
|
9
|
-
* Number of cards in the group
|
|
10
|
-
*/
|
|
11
|
-
cardcount: Required<string>;
|
|
12
|
-
/**
|
|
13
|
-
* A Button to display after all the cards in the group
|
|
14
|
-
*/
|
|
15
|
-
cta?: LinkProps;
|
|
16
|
-
}
|