@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.
Files changed (162) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/lib/cjs/components/Cards/CardGroup/CardGroup.js +42 -0
  3. package/lib/cjs/components/Cards/CardGroup/index.js +759 -0
  4. package/lib/cjs/components/Cards/DataCard/DataCard.js +27 -0
  5. package/lib/cjs/components/Cards/DataCard/index.js +81 -0
  6. package/lib/cjs/components/Cards/DetailCard/DetailCard.js +20 -0
  7. package/lib/cjs/components/Cards/DetailCard/index.js +25 -0
  8. package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +23 -0
  9. package/lib/cjs/components/Cards/FactlistCard/index.js +25 -0
  10. package/lib/cjs/components/Cards/FeatureCard/FeatureCard.js +24 -0
  11. package/lib/cjs/components/Cards/FeatureCard/index.js +39 -0
  12. package/lib/cjs/components/Cards/MultilinkCard/MultiLinkCard.js +24 -0
  13. package/lib/cjs/components/Cards/MultilinkCard/index.js +43 -0
  14. package/lib/cjs/components/Cards/PromoCard/PromoCard.js +23 -0
  15. package/lib/cjs/components/Cards/PromoCard/index.js +26 -0
  16. package/lib/cjs/components/Cards/StatCard/StatCard.js +21 -0
  17. package/lib/cjs/components/Cards/StatCard/index.js +23 -0
  18. package/lib/cjs/components/Cards/TextCard/TextCard.js +23 -0
  19. package/lib/cjs/components/Cards/TextCard/index.js +30 -0
  20. package/lib/cjs/components/Footer/Footer.js +1 -1
  21. package/lib/cjs/components/LinkList/LinkList.js +1 -1
  22. package/lib/cjs/components/Navigation/Navigation.js +3 -3
  23. package/lib/cjs/components/Pagination/Pagination.js +1 -1
  24. package/lib/cjs/components/index.js +10 -4
  25. package/lib/cjs/index.js +10 -4
  26. package/lib/esm/components/Cards/CardGroup/CardGroup.js +40 -0
  27. package/lib/esm/components/Cards/CardGroup/index.js +756 -0
  28. package/lib/esm/components/Cards/DataCard/DataCard.js +25 -0
  29. package/lib/esm/components/Cards/DataCard/index.js +78 -0
  30. package/lib/esm/components/Cards/DetailCard/DetailCard.js +18 -0
  31. package/lib/esm/components/Cards/DetailCard/index.js +22 -0
  32. package/lib/esm/components/Cards/FactlistCard/FactListCard.js +21 -0
  33. package/lib/esm/components/Cards/FactlistCard/index.js +22 -0
  34. package/lib/esm/components/Cards/FeatureCard/FeatureCard.js +22 -0
  35. package/lib/esm/components/Cards/FeatureCard/index.js +36 -0
  36. package/lib/esm/components/Cards/MultilinkCard/MultiLinkCard.js +22 -0
  37. package/lib/esm/components/Cards/MultilinkCard/index.js +40 -0
  38. package/lib/esm/components/Cards/PromoCard/PromoCard.js +21 -0
  39. package/lib/esm/components/Cards/PromoCard/index.js +23 -0
  40. package/lib/esm/components/Cards/StatCard/StatCard.js +19 -0
  41. package/lib/esm/components/Cards/StatCard/index.js +20 -0
  42. package/lib/esm/components/Cards/TextCard/TextCard.js +21 -0
  43. package/lib/esm/components/Cards/TextCard/index.js +27 -0
  44. package/lib/esm/components/Footer/Footer.js +1 -1
  45. package/lib/esm/components/LinkList/LinkList.js +1 -1
  46. package/lib/esm/components/Navigation/Navigation.js +3 -3
  47. package/lib/esm/components/Pagination/Pagination.js +1 -1
  48. package/lib/esm/components/index.js +9 -2
  49. package/lib/esm/index.js +9 -2
  50. package/lib/types/react/src/components/Cards/CardGroup/CardGroup.args.d.ts +13 -0
  51. package/lib/types/react/src/components/Cards/CardGroup/CardGroup.props.d.ts +58 -0
  52. package/lib/types/react/src/components/Cards/CardGroup/index.d.ts +3 -0
  53. package/lib/types/react/src/components/Cards/DataCard/DataCard.args.d.ts +2 -0
  54. package/lib/types/react/src/components/Cards/DataCard/DataCard.d.ts +4 -0
  55. package/lib/types/react/src/components/Cards/DataCard/DataCard.props.d.ts +50 -0
  56. package/lib/types/react/src/components/Cards/DataCard/index.d.ts +3 -0
  57. package/lib/types/react/src/components/Cards/DetailCard/DetailCard.args.d.ts +3 -0
  58. package/lib/types/react/src/components/Cards/DetailCard/DetailCard.d.ts +4 -0
  59. package/lib/types/react/src/components/Cards/DetailCard/DetailCard.props.d.ts +35 -0
  60. package/lib/types/react/src/components/Cards/DetailCard/index.d.ts +3 -0
  61. package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.args.d.ts +3 -0
  62. package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.d.ts +4 -0
  63. package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.props.d.ts +16 -0
  64. package/lib/types/react/src/components/Cards/FactlistCard/index.d.ts +3 -0
  65. package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.args.d.ts +3 -0
  66. package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.d.ts +4 -0
  67. package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.props.d.ts +31 -0
  68. package/lib/types/react/src/components/Cards/FeatureCard/index.d.ts +3 -0
  69. package/lib/types/react/src/components/Cards/MultilinkCard/MultiLinkCard.d.ts +4 -0
  70. package/lib/types/react/src/components/Cards/MultilinkCard/MultilinkCard.args.d.ts +2 -0
  71. package/lib/types/react/src/components/Cards/MultilinkCard/MultilinkCard.props.d.ts +25 -0
  72. package/lib/types/react/src/components/Cards/MultilinkCard/index.d.ts +3 -0
  73. package/lib/types/react/src/components/Cards/PromoCard/PromoCard.args.d.ts +3 -0
  74. package/lib/types/react/src/components/Cards/PromoCard/PromoCard.d.ts +4 -0
  75. package/lib/types/react/src/components/Cards/PromoCard/PromoCard.props.d.ts +30 -0
  76. package/lib/types/react/src/components/Cards/PromoCard/index.d.ts +3 -0
  77. package/lib/types/react/src/components/Cards/StatCard/StatCard.args.d.ts +3 -0
  78. package/lib/types/react/src/components/Cards/StatCard/StatCard.d.ts +4 -0
  79. package/lib/types/react/src/components/Cards/StatCard/StatCard.props.d.ts +18 -0
  80. package/lib/types/react/src/components/Cards/StatCard/index.d.ts +3 -0
  81. package/lib/types/react/src/components/Cards/TextCard/TextCard.args.d.ts +3 -0
  82. package/lib/types/react/src/components/Cards/TextCard/TextCard.d.ts +4 -0
  83. package/lib/types/react/src/components/Cards/TextCard/TextCard.props.d.ts +26 -0
  84. package/lib/types/react/src/components/Cards/TextCard/index.d.ts +3 -0
  85. package/lib/types/react/src/components/index.d.ts +1 -1
  86. package/lib/types/react/src/types/index.d.ts +7 -3
  87. package/package.json +2 -2
  88. package/src/components/{Card → Cards/CardGroup}/CardGroup.args.ts +199 -376
  89. package/src/components/Cards/CardGroup/CardGroup.props.ts +78 -0
  90. package/src/components/Cards/CardGroup/CardGroup.tsx +54 -0
  91. package/src/components/Cards/CardGroup/index.tsx +3 -0
  92. package/src/components/Cards/DataCard/DataCard.args.ts +69 -0
  93. package/src/components/Cards/DataCard/DataCard.props.ts +60 -0
  94. package/src/components/Cards/DataCard/DataCard.tsx +107 -0
  95. package/src/components/Cards/DataCard/index.tsx +3 -0
  96. package/src/components/Cards/DetailCard/DetailCard.args.ts +17 -0
  97. package/src/components/Cards/DetailCard/DetailCard.props.ts +43 -0
  98. package/src/components/Cards/DetailCard/DetailCard.tsx +62 -0
  99. package/src/components/Cards/DetailCard/index.tsx +3 -0
  100. package/src/components/Cards/FactlistCard/FactListCard.args.ts +14 -0
  101. package/src/components/Cards/FactlistCard/FactListCard.props.ts +19 -0
  102. package/src/components/Cards/FactlistCard/FactListCard.tsx +42 -0
  103. package/src/components/Cards/FactlistCard/index.tsx +3 -0
  104. package/src/components/Cards/FeatureCard/FeatureCard.args.ts +30 -0
  105. package/src/components/Cards/FeatureCard/FeatureCard.props.ts +38 -0
  106. package/src/components/Cards/FeatureCard/FeatureCard.tsx +69 -0
  107. package/src/components/Cards/FeatureCard/index.tsx +3 -0
  108. package/src/components/Cards/MultilinkCard/MultiLinkCard.tsx +76 -0
  109. package/src/components/Cards/MultilinkCard/MultilinkCard.args.ts +33 -0
  110. package/src/components/Cards/MultilinkCard/MultilinkCard.props.ts +30 -0
  111. package/src/components/Cards/MultilinkCard/index.tsx +3 -0
  112. package/src/components/Cards/PromoCard/PromoCard.args.ts +19 -0
  113. package/src/components/Cards/PromoCard/PromoCard.props.ts +36 -0
  114. package/src/components/Cards/PromoCard/PromoCard.tsx +60 -0
  115. package/src/components/Cards/PromoCard/index.tsx +3 -0
  116. package/src/components/Cards/StatCard/StatCard.args.ts +14 -0
  117. package/src/components/Cards/StatCard/StatCard.props.ts +21 -0
  118. package/src/components/Cards/StatCard/StatCard.tsx +36 -0
  119. package/src/components/Cards/StatCard/index.tsx +3 -0
  120. package/src/components/Cards/TextCard/TextCard.args.ts +21 -0
  121. package/src/components/Cards/TextCard/TextCard.props.ts +32 -0
  122. package/src/components/Cards/TextCard/TextCard.tsx +62 -0
  123. package/src/components/Cards/TextCard/index.tsx +3 -0
  124. package/src/components/Footer/Footer.args.ts +4 -16
  125. package/src/components/Footer/Footer.tsx +41 -37
  126. package/src/components/LinkList/LinkList.tsx +1 -1
  127. package/src/components/Navigation/Navigation.tsx +5 -5
  128. package/src/components/Pagination/Pagination.tsx +2 -1
  129. package/src/components/index.ts +1 -1
  130. package/src/types/index.ts +10 -4
  131. package/lib/cjs/components/Card/Card.js +0 -43
  132. package/lib/cjs/components/Card/CardGroup.js +0 -25
  133. package/lib/cjs/components/Card/index.js +0 -21
  134. package/lib/esm/components/Card/Card.js +0 -41
  135. package/lib/esm/components/Card/CardGroup.js +0 -23
  136. package/lib/esm/components/Card/index.js +0 -14
  137. package/lib/types/react/src/components/Card/Card.d.ts +0 -4
  138. package/lib/types/react/src/components/Card/Card.props.d.ts +0 -110
  139. package/lib/types/react/src/components/Card/CardGroup.props.d.ts +0 -16
  140. package/lib/types/react/src/components/Card/index.d.ts +0 -2
  141. package/public/fao-logo.svg +0 -195
  142. package/public/favicon.ico +0 -0
  143. package/public/hero.jpg +0 -0
  144. package/public/ilo-dg.jpg +0 -0
  145. package/public/ilo-headquarters.jpg +0 -0
  146. package/public/large.jpg +0 -0
  147. package/public/media-file-poster.jpg +0 -0
  148. package/public/medium.jpg +0 -0
  149. package/public/small.jpg +0 -0
  150. package/public/unhcr-logo.svg +0 -1
  151. package/public/unicef-logo.png +0 -0
  152. package/public/video-example.mp4 +0 -0
  153. package/public/wfp-logo.svg +0 -1
  154. package/public/who-logo.svg +0 -1
  155. package/public/youtube-video-poster.avif +0 -0
  156. package/src/components/Card/Card.args.ts +0 -215
  157. package/src/components/Card/Card.props.ts +0 -142
  158. package/src/components/Card/Card.tsx +0 -183
  159. package/src/components/Card/CardGroup.props.ts +0 -19
  160. package/src/components/Card/CardGroup.tsx +0 -55
  161. package/src/components/Card/index.ts +0 -2
  162. /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
- {(socialmedia || subscribe) && (
49
+ {socialmedia && (
50
50
  <div className="connect">
51
- {socialmedia && (
52
- <div className="social--links">
53
- <SocialMedia {...socialmedia} theme="dark" />
54
- </div>
55
- )}
56
- {subscribe && (
57
- <Button
58
- label={subscribe?.label}
59
- url={subscribe?.url}
60
- type="primary"
61
- size="large"
62
- target="_blank"
63
- ></Button>
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="legal">{legal}</div>
70
- {secondarylinks && (
71
- <nav className="secondarylinks">
72
- <ul className="secondarylinks--list">
73
- {secondarylinks.map((link, i) => (
74
- <li className="secondarylinks--list--item">
75
- <a
76
- key={i}
77
- href={link.url}
78
- className="secondarylinks--list--link"
79
- >
80
- {link?.label}
81
- </a>
82
- </li>
83
- ))}
84
- </ul>
85
- </nav>
86
- )}
87
- <a href={anchorlink?.url} className="anchorlink">
88
- {anchorlink?.label}
89
- </a>
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> {pageCountPreposition}{" "}
87
+ <span>{currentPage + 1}</span>
88
+ <span>{pageCountPreposition}</span>
88
89
  <span>{totalPages}</span>
89
90
  </p>
90
91
 
@@ -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 { Card, CardGroup } from "./Card";
44
+ export { CardGroup } from "./Cards/CardGroup";
45
45
  export { Breadcrumb } from "./Breadcrumb";
46
46
  export { Tabs } from "./Tabs";
@@ -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 = "cornercut" | "corner";
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
- | "graphic"
63
- | "graphicpromo"
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,4 +0,0 @@
1
- import { FC } from "react";
2
- import { CardProps } from "./Card.props";
3
- declare const Card: FC<CardProps>;
4
- export default Card;
@@ -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
- }
@@ -1,2 +0,0 @@
1
- export { default as Card } from "./Card";
2
- export { default as CardGroup } from "./CardGroup";