@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
@@ -0,0 +1,25 @@
1
+ import { jsx, jsxs, 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 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const DataCard = ({ eyebrow, size = "narrow", image, dataset, columns = "one", }) => {
10
+ const { prefix } = useGlobalSettings();
11
+ const baseClass = `${prefix}--card`;
12
+ const cardClasses = classNames(baseClass, `${baseClass}__type__data`, {
13
+ [`${baseClass}__size__${size}`]: size,
14
+ [`${baseClass}__type__data__columns__${columns}`]: columns,
15
+ });
16
+ return (jsx("div", Object.assign({ className: cardClasses }, { children: jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: eyebrow }) }) }))), dataset &&
17
+ dataset.content &&
18
+ dataset.content.items &&
19
+ dataset.content.items.map((item) => (jsxs("div", Object.assign({ className: `${baseClass}--area--content` }, { children: [jsx("p", Object.assign({ className: `${baseClass}__type__data--content-label` }, { children: item.label })), jsx("p", Object.assign({ className: `${baseClass}__type__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}__type__data--content-label` }, { children: dataset.files.headline })), dataset.files.items &&
20
+ 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.cta && (jsx("div", Object.assign({ className: `${baseClass}--area--cta` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--data--content-cta` }, { children: [jsx("p", Object.assign({ className: `${baseClass}__type__data--content-label` }, { children: dataset.cta.headline })), dataset.cta.items &&
21
+ dataset.cta.items.map((item) => (jsx("a", Object.assign({ className: `${baseClass}--cta ${prefix}--button ${prefix}--button--medium ${prefix}--button--secondary`, href: item.url }, { children: jsx("span", Object.assign({ className: "link__label" }, { children: item.label })) }))))] })) }))), dataset && dataset.links && (jsxs("div", Object.assign({ className: `${baseClass}--data--content-links` }, { children: [jsx("p", Object.assign({ className: `${baseClass}__type__data--content-label` }, { children: dataset.links.headline })), dataset.links.items &&
22
+ dataset.links.items.map((item) => (jsxs(Fragment, { children: [jsx(Link, Object.assign({ url: item.url }, { children: item.label })), jsx("span", { children: "\u00A0\u00A0" })] })))] })))] }))] })) })));
23
+ };
24
+
25
+ export { DataCard as default };
@@ -0,0 +1,78 @@
1
+ export { default as DataCard } from './DataCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+ import '../../Link/Link.js';
9
+
10
+ const DataCardArgs = {
11
+ size: "wide",
12
+ eyebrow: "Meeting",
13
+ image: "/small.jpg",
14
+ columns: "two",
15
+ dataset: {
16
+ content: {
17
+ items: [
18
+ {
19
+ label: "Date",
20
+ copy: "18 March 2023",
21
+ },
22
+ {
23
+ label: "Event type",
24
+ copy: "Technical meeting of experts",
25
+ },
26
+ ],
27
+ },
28
+ files: {
29
+ headline: "Files",
30
+ items: [
31
+ {
32
+ label: "Meeting agenda",
33
+ url: "https://www.ilo.org",
34
+ },
35
+ {
36
+ label: "Briefing notes",
37
+ url: "https://www.ilo.org",
38
+ },
39
+ {
40
+ label: "Practical info",
41
+ url: "https://www.ilo.org",
42
+ },
43
+ ],
44
+ },
45
+ cta: {
46
+ headline: "Read online",
47
+ items: [
48
+ {
49
+ label: "HTML Version",
50
+ url: "https://www.ilo.org",
51
+ },
52
+ {
53
+ label: "InfoStories",
54
+ url: "https://www.ilo.org/infostories/en-GB",
55
+ },
56
+ ],
57
+ },
58
+ links: {
59
+ headline: "Languages",
60
+ items: [
61
+ {
62
+ label: "English",
63
+ url: "https://www.ilo.org",
64
+ },
65
+ {
66
+ label: "Español",
67
+ url: "https://www.ilo.org",
68
+ },
69
+ {
70
+ label: "Français",
71
+ url: "https://www.ilo.org",
72
+ },
73
+ ],
74
+ },
75
+ },
76
+ };
77
+
78
+ export { DataCardArgs };
@@ -0,0 +1,18 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import useGlobalSettings from '../../../hooks/useGlobalSettings.js';
4
+ import 'tslib';
5
+ import 'react';
6
+ import '../../../GlobalCtx-7fb23cfa.js';
7
+
8
+ const DetailCard = ({ eyebrow, title, size = "narrow", intro, date, eventdetails, link, image, }) => {
9
+ const { prefix } = useGlobalSettings();
10
+ const baseClass = `${prefix}--card`;
11
+ const cardClasses = classNames(baseClass, `${baseClass}__type__detail`, {
12
+ [`${baseClass}__action`]: link,
13
+ [`${baseClass}__size__${size}`]: size,
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("h5", 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
+ };
17
+
18
+ export { DetailCard as default };
@@ -0,0 +1,22 @@
1
+ export { default as DetailCard } from './DetailCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const DetailCardArgs = {
10
+ title: "Technical meeting on digitalization in the construction sector",
11
+ eyebrow: "Meeting",
12
+ intro: "The purpose of the meeting will be to discuss opportunities and challenges for the future of work in the construction industry as a vehicle to ensure a human-centred economic recovery.",
13
+ date: {
14
+ human: "18 March 2023",
15
+ unix: "1670389200",
16
+ },
17
+ image: "/medium.jpg",
18
+ link: "https:/www.ilo.org",
19
+ eventdetails: "8:30 - 12:00 CET | Geneva",
20
+ };
21
+
22
+ export { DetailCardArgs };
@@ -0,0 +1,21 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import useGlobalSettings from '../../../hooks/useGlobalSettings.js';
4
+ import List from '../../List/List.js';
5
+ import ListItem from '../../List/ListItem.js';
6
+ import 'tslib';
7
+ import 'react';
8
+ import '../../../GlobalCtx-7fb23cfa.js';
9
+ import '../../../ListCtx-da435fdf.js';
10
+
11
+ const FactlistCard = ({ title, theme = "narrow", size, list, }) => {
12
+ const { prefix } = useGlobalSettings();
13
+ const baseClass = `${prefix}--card`;
14
+ const cardClasses = classNames(baseClass, `${baseClass}__type__factlist`, {
15
+ [`${baseClass}__size__${size}`]: size,
16
+ [`${baseClass}__theme__${theme}`]: theme,
17
+ });
18
+ 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("h5", 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 }) })))) })))] })) })) })));
19
+ };
20
+
21
+ export { FactlistCard as default };
@@ -0,0 +1,22 @@
1
+ export { default as FactlistCard } from './FactListCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+ import '../../List/List.js';
9
+ import '../../../ListCtx-da435fdf.js';
10
+ import '../../List/ListItem.js';
11
+
12
+ const FactlistCardArgs = {
13
+ title: "Economic slowdown likely to force workers to accept lower quality jobs",
14
+ theme: "light",
15
+ list: [
16
+ "Global employment growth will be only 1.0 per cent in 2023, less than half the level in 2022.",
17
+ "The labour market deterioration is mainly due to emerging geopolitical tensions and the Ukraine conflict.",
18
+ "The current slowdown means that many workers will have to accept lower quality jobs, often at very low pay.",
19
+ ],
20
+ };
21
+
22
+ export { FactlistCardArgs };
@@ -0,0 +1,22 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import useGlobalSettings from '../../../hooks/useGlobalSettings.js';
4
+ import LinkList from '../../LinkList/LinkList.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, link, linklist, image, }) => {
10
+ const { prefix } = useGlobalSettings();
11
+ const baseClass = `${prefix}--card`;
12
+ const cardClasses = classNames(baseClass, `${baseClass}__type__feature`, {
13
+ [`${baseClass}__action`]: link,
14
+ [`${baseClass}__size__${size}`]: size,
15
+ [`${baseClass}__isvideo`]: isvideo,
16
+ [`${baseClass}__linklist`]: linklist,
17
+ [`${baseClass}__theme__${theme}`]: theme,
18
+ });
19
+ 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("h5", Object.assign({ className: `${baseClass}--title` }, { children: title })), date && (jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), linklist && (jsx(LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup }))] }))] }))] })));
20
+ };
21
+
22
+ export { FeatureCard as default };
@@ -0,0 +1,36 @@
1
+ export { default as FeatureCard } from './FeatureCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+ import '../../LinkList/LinkList.js';
9
+
10
+ const FeatureCardArgs = {
11
+ isvideo: false,
12
+ title: "ILO welcomes G7 call to make a just transition to a green economy happen",
13
+ eyebrow: "High-level meeting",
14
+ theme: "light",
15
+ date: {
16
+ human: "18 March 2023",
17
+ unix: "1670389200",
18
+ },
19
+ image: "/hero.jpg",
20
+ link: "https:/www.ilo.org",
21
+ linklist: {
22
+ headline: "",
23
+ linkgroup: [
24
+ {
25
+ links: [
26
+ {
27
+ label: "Read the press release",
28
+ url: "http://www.google.com",
29
+ },
30
+ ],
31
+ },
32
+ ],
33
+ },
34
+ };
35
+
36
+ export { FeatureCardArgs };
@@ -0,0 +1,22 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import useGlobalSettings from '../../../hooks/useGlobalSettings.js';
4
+ import LinkList from '../../LinkList/LinkList.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const MultilinkCard = ({ isvideo, eyebrow, title, size = "narrow", alignment, intro, link, linklist, image, }) => {
10
+ const { prefix } = useGlobalSettings();
11
+ const baseClass = `${prefix}--card`;
12
+ const cardClasses = classNames(baseClass, `${baseClass}__type__multilink`, {
13
+ [`${baseClass}__align__${alignment}`]: alignment,
14
+ [`${baseClass}__action`]: link,
15
+ [`${baseClass}__size__${size}`]: size,
16
+ [`${baseClass}__isvideo`]: isvideo,
17
+ [`${baseClass}__linklist`]: linklist,
18
+ });
19
+ 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("h5", Object.assign({ className: `${baseClass}--title` }, { children: title })), image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), linklist && (jsx(LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup }))] }))] }))] })));
20
+ };
21
+
22
+ export { MultilinkCard as default };
@@ -0,0 +1,40 @@
1
+ export { default as MultilinkCard } from './MultiLinkCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+ import '../../LinkList/LinkList.js';
9
+
10
+ const MultilinkCardArgs = {
11
+ title: "ILO welcomes G7 call to make a just transition to a green economy happen",
12
+ eyebrow: "High-level meeting",
13
+ intro: "At the end of their meeting the G7 Labour Ministers highlighted the urgent need to greater focus on rights and occupational safety and health.",
14
+ image: "/hero.jpg",
15
+ alignment: "left",
16
+ link: "https:/www.ilo.org",
17
+ linklist: {
18
+ headline: "",
19
+ linkgroup: [
20
+ {
21
+ links: [
22
+ {
23
+ label: "Read the press release",
24
+ url: "https://www.ilo.org",
25
+ },
26
+ {
27
+ label: "See the statement",
28
+ url: "https://www.ilo.org",
29
+ },
30
+ {
31
+ label: "Remarks to G7 Openening Session",
32
+ url: "https://www.ilo.org",
33
+ },
34
+ ],
35
+ },
36
+ ],
37
+ },
38
+ };
39
+
40
+ export { MultilinkCardArgs };
@@ -0,0 +1,21 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import useGlobalSettings from '../../../hooks/useGlobalSettings.js';
4
+ import 'tslib';
5
+ import 'react';
6
+ import '../../../GlobalCtx-7fb23cfa.js';
7
+
8
+ const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, link, cta, }) => {
9
+ const { prefix } = useGlobalSettings();
10
+ const baseClass = `${prefix}--card`;
11
+ const wrapperClass = classNames(`${baseClass}--wrapper`, `${baseClass}--wrapper__type__promo ${baseClass}--wrapper__type__promo__size__${size}`);
12
+ const cardClasses = classNames(baseClass, `${baseClass}__type__promo`, {
13
+ [`${baseClass}__cornercut`]: cornercut,
14
+ [`${baseClass}__action`]: link,
15
+ [`${baseClass}__size__${size}`]: size,
16
+ [`${baseClass}__theme__${theme}`]: theme,
17
+ });
18
+ return (jsx("div", Object.assign({ className: wrapperClass }, { children: 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 })) }))), jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("h5", Object.assign({ className: `${baseClass}--title` }, { children: title })), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), 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 })) })))] })) }))] })) })));
19
+ };
20
+
21
+ export { PromoCard as default };
@@ -0,0 +1,23 @@
1
+ export { default as PromoCard } from './PromoCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const PromoCardArgs = {
10
+ size: "standard",
11
+ title: "ILO welcomes G7 call to make a just transition to a green economy happen",
12
+ eyebrow: "High-level meeting",
13
+ theme: "dark",
14
+ cornercut: true,
15
+ intro: "At the end of their meeting the G7 Labour Ministers highlighted the urgent need to greater focus on rights and occupational safety and health.",
16
+ link: "https:/www.ilo.org",
17
+ cta: {
18
+ label: "Read the press release",
19
+ url: "https://www.ilo.org",
20
+ },
21
+ };
22
+
23
+ export { PromoCardArgs };
@@ -0,0 +1,19 @@
1
+ import { jsx, jsxs } 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 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const StatCard = ({ title, color, size = "standard", intro, source, }) => {
10
+ const { prefix } = useGlobalSettings();
11
+ const baseClass = `${prefix}--card`;
12
+ const cardClasses = classNames(baseClass, `${baseClass}__type__stat`, {
13
+ [`${baseClass}__color__${color}`]: color,
14
+ [`${baseClass}__size__${size}`]: size,
15
+ });
16
+ 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("h5", Object.assign({ className: `${baseClass}--title` }, { children: title })), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), source && jsx(Link, Object.assign({ url: source.url }, { children: source.label }))] })) })) })));
17
+ };
18
+
19
+ export { StatCard as default };
@@ -0,0 +1,20 @@
1
+ export { default as StatCard } from './StatCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+ import '../../Link/Link.js';
9
+
10
+ const StatCardArgs = {
11
+ title: "Global employment growth down by half in 2023",
12
+ intro: "The current global economic slowdown is likely to force more workers to accept lower quality, poorly paid jobs which lack job security and social protection, so accentuating inequalities exacerbated by the COVID-19 crisis.",
13
+ color: "turquoise",
14
+ source: {
15
+ label: "World Employment and Social Outlook: Trends 2023",
16
+ url: "https://www.ilo.org",
17
+ },
18
+ };
19
+
20
+ export { StatCardArgs };
@@ -0,0 +1,21 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import useGlobalSettings from '../../../hooks/useGlobalSettings.js';
4
+ import Profile from '../../Profile/Profile.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+
9
+ const TextCard = ({ eyebrow, title, theme, size, date, profile, link, }) => {
10
+ const { prefix } = useGlobalSettings();
11
+ const baseClass = `${prefix}--card`;
12
+ const wrapperClass = classNames(`${baseClass}--wrapper`);
13
+ const cardClasses = classNames(baseClass, `${baseClass}__type__text`, {
14
+ [`${baseClass}__action`]: link,
15
+ [`${baseClass}__size__${size}`]: size,
16
+ [`${baseClass}__theme__${theme}`]: theme,
17
+ });
18
+ return (jsx("div", Object.assign({ className: wrapperClass }, { children: 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 })) }))), jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("h5", Object.assign({ className: `${baseClass}--title` }, { children: title })), date && (jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), 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}` }))] })) }))] })) })));
19
+ };
20
+
21
+ export { TextCard as default };
@@ -0,0 +1,27 @@
1
+ export { default as TextCard } from './TextCard.js';
2
+ import 'react/jsx-runtime';
3
+ import 'classnames';
4
+ import '../../../hooks/useGlobalSettings.js';
5
+ import 'tslib';
6
+ import 'react';
7
+ import '../../../GlobalCtx-7fb23cfa.js';
8
+ import '../../Profile/Profile.js';
9
+
10
+ const TextCardArgs = {
11
+ title: "Why we need greater social justice",
12
+ eyebrow: "Podcast",
13
+ date: {
14
+ human: "20 September 2022",
15
+ unix: "1670389200",
16
+ },
17
+ theme: "light",
18
+ link: "https:/www.ilo.org",
19
+ profile: {
20
+ avatar: "/ilo-dg.jpg",
21
+ description: "Gilbert Houngbo is the Director-General of the International Labour Organization",
22
+ name: "Gilbert Houngbo",
23
+ role: "ILO Director-General",
24
+ },
25
+ };
26
+
27
+ export { TextCardArgs };
@@ -16,7 +16,7 @@ const Footer = ({ className, logo, tagline, subtagline, address, linkgroup, soci
16
16
  const { prefix } = useGlobalSettings();
17
17
  const baseClass = `${prefix}--footer`;
18
18
  const footerClasses = classNames(className, baseClass);
19
- return (jsxs("footer", Object.assign({ className: footerClasses }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--main` }, { children: [jsxs("div", Object.assign({ className: "site--info" }, { children: [jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }), jsx("h3", Object.assign({ className: `${baseClass}--headline` }, { children: tagline })), jsx("h4", Object.assign({ className: `${baseClass}--subhead` }, { children: subtagline }))] })), address && (jsx("div", Object.assign({ className: "address" }, { children: address.map((line, i) => (jsx("p", Object.assign({ className: "address--line" }, { children: line }), i))) }))), linkgroup && (jsx("nav", Object.assign({ className: "links" }, { children: jsx(LinkList, { linkgroup: linkgroup, theme: "dark" }) }))), (socialmedia || subscribe) && (jsxs("div", Object.assign({ className: "connect" }, { children: [socialmedia && (jsx("div", Object.assign({ className: "social--links" }, { children: jsx(SocialMedia, Object.assign({}, socialmedia, { theme: "dark" })) }))), subscribe && (jsx(Button, { label: subscribe === null || subscribe === void 0 ? void 0 : subscribe.label, url: subscribe === null || subscribe === void 0 ? void 0 : subscribe.url, type: "primary", size: "large", target: "_blank" }))] })))] })), jsxs("div", Object.assign({ className: `${baseClass}--secondary` }, { children: [jsx("div", Object.assign({ className: "legal" }, { children: legal })), secondarylinks && (jsx("nav", Object.assign({ className: "secondarylinks" }, { children: jsx("ul", Object.assign({ className: "secondarylinks--list" }, { children: secondarylinks.map((link, i) => (jsx("li", Object.assign({ className: "secondarylinks--list--item" }, { children: jsx("a", Object.assign({ href: link.url, className: "secondarylinks--list--link" }, { children: link === null || link === void 0 ? void 0 : link.label }), i) })))) })) }))), jsx("a", Object.assign({ href: anchorlink === null || anchorlink === void 0 ? void 0 : anchorlink.url, className: "anchorlink" }, { children: anchorlink === null || anchorlink === void 0 ? void 0 : anchorlink.label }))] }))] })));
19
+ return (jsxs("footer", Object.assign({ className: footerClasses }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--main ${prefix}--container` }, { children: [jsxs("div", Object.assign({ className: "site--info" }, { children: [jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }), jsx("h3", Object.assign({ className: `${baseClass}--headline` }, { children: tagline })), jsx("h4", Object.assign({ className: `${baseClass}--subhead` }, { children: subtagline }))] })), address && (jsx("div", Object.assign({ className: "address" }, { children: address.map((line, i) => (jsx("p", Object.assign({ className: "address--line" }, { children: line }), i))) }))), linkgroup && (jsx("nav", Object.assign({ className: "links" }, { children: jsx(LinkList, { linkgroup: linkgroup, theme: "dark" }) }))), socialmedia && (jsx("div", Object.assign({ className: "connect" }, { children: jsx("div", Object.assign({ className: "social--links" }, { children: jsx(SocialMedia, Object.assign({}, socialmedia, { theme: "dark" })) })) }))), subscribe && (jsx("div", Object.assign({ className: "subscribe" }, { children: jsx(Button, { label: subscribe === null || subscribe === void 0 ? void 0 : subscribe.label, url: subscribe === null || subscribe === void 0 ? void 0 : subscribe.url, type: "primary", size: "large", target: "_blank" }) })))] })), jsx("div", Object.assign({ className: `${baseClass}--secondary` }, { children: jsxs("div", Object.assign({ className: `${prefix}--container` }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--secondary--details` }, { children: [jsx("div", Object.assign({ className: "legal" }, { children: legal })), secondarylinks && (jsx("nav", Object.assign({ className: "secondarylinks" }, { children: jsx("ul", Object.assign({ className: "secondarylinks--list" }, { children: secondarylinks.map((link, i) => (jsx("li", Object.assign({ className: "secondarylinks--list--item" }, { children: jsx("a", Object.assign({ href: link.url, className: "secondarylinks--list--link" }, { children: link === null || link === void 0 ? void 0 : link.label }), i) })))) })) })))] })), jsx("a", Object.assign({ href: anchorlink === null || anchorlink === void 0 ? void 0 : anchorlink.url, className: "anchorlink" }, { children: anchorlink === null || anchorlink === void 0 ? void 0 : anchorlink.label }))] })) }))] })));
20
20
  };
21
21
 
22
22
  export { Footer as default };
@@ -12,7 +12,7 @@ const LinkList = ({ className, headline, linkgroup, theme, }) => {
12
12
  [baseClass]: true,
13
13
  [`${baseClass + "--" + (theme && theme === "dark" ? theme : "light")}`]: true,
14
14
  });
15
- return (jsxs("div", Object.assign({ className: linkListClasses }, { children: [jsx("h3", Object.assign({ className: `${baseClass}--headline` }, { children: headline })), jsx("ul", Object.assign({ className: `${baseClass}--linkgroups` }, { children: linkgroup &&
15
+ return (jsxs("div", Object.assign({ className: linkListClasses }, { children: [headline && jsx("h3", Object.assign({ className: `${baseClass}--headline` }, { children: headline })), jsx("ul", Object.assign({ className: `${baseClass}--linkgroups` }, { children: linkgroup &&
16
16
  linkgroup.map((linkset, i) => (jsxs("li", Object.assign({ className: `${baseClass}--linkgroups-item` }, { children: [linkset.headline && (jsx("h4", Object.assign({ className: `${baseClass}--links--headline` }, { children: linkset.headline }))), jsx("ul", Object.assign({ className: `${baseClass}--links` }, { children: linkset.links &&
17
17
  linkset.links.map((link, i) => (jsx("li", Object.assign({ className: `${baseClass}--links--item${link.indented ? " indented" : ""}` }, { children: jsx("a", Object.assign({ href: link.url, className: `${baseClass}--link` }, { children: jsx("span", Object.assign({ className: `${baseClass}--label` }, { children: link.label })) })) }), `${baseClass}--links--item-${i}`))) }))] }), `${baseClass}--linkgroups-item-${i}`))) }))] })));
18
18
  };
@@ -39,10 +39,10 @@ const Navigation = ({ logo, mobilelogo, siteurl, tagline, primarynav, subnav, me
39
39
  const handleSubnavToggle = () => {
40
40
  setSubnavToggleOpen(!toggleSubnavOpen);
41
41
  };
42
- return (jsxs("header", Object.assign({ className: NavigationClasses }, { children: [jsx("div", Object.assign({ className: `${baseClass}--utility-bar` }, { children: jsx("div", Object.assign({ className: `${prefix}--language-switcher` }, { children: jsxs("div", Object.assign({ className: `${prefix}--language-switcher--wrap` }, { children: [jsx("button", Object.assign({ className: `${prefix}--language-switcher--button`, type: "button" }, { children: languagelabel })), jsx(ContextMenu, { links: languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links })] })) })) })), jsx("div", Object.assign({ className: `${baseClass}--logo-bar` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }) })), jsxs("p", Object.assign({ className: `${baseClass}--logo-tagline` }, { children: [tagline === null || tagline === void 0 ? void 0 : tagline.tag, jsx("span", Object.assign({ className: `${baseClass}--logo-tagline--small` }, { children: tagline === null || tagline === void 0 ? void 0 : tagline.small }))] })), jsx("button", Object.assign({ className: `${baseClass}--menu`, onClick: handleMenuToggle }, { children: menulabel }))] })) })), jsxs("div", Object.assign({ className: `${baseClass}--navigation` }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--nav` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--nav--logo` }, { children: [jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsx("img", { className: `${baseClass}--logo`, src: mobilelogo, alt: "ILO Logo" }) })), jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: menucloselabel }))] })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--search` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--switcher` }, { children: jsx("button", Object.assign({ className: `${prefix}--mobile--nav--language--switcher--button`, onClick: handleLanguageToggle, type: "button" }, { children: languagelabel })) })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--select` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleLanguageToggle, type: "button" }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: languagelabel }))] })), jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links) &&
42
+ return (jsxs("header", Object.assign({ className: NavigationClasses }, { children: [jsx("div", Object.assign({ className: `${baseClass}--utility-bar` }, { children: jsx("div", Object.assign({ className: `${prefix}--language-switcher` }, { children: jsxs("div", Object.assign({ className: `${prefix}--language-switcher--wrap` }, { children: [jsx("button", Object.assign({ className: `${prefix}--language-switcher--button`, type: "button" }, { children: languagelabel })), jsx(ContextMenu, { links: languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links })] })) })) })), jsx("div", Object.assign({ className: `${baseClass}--logo-bar` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }) })), jsxs("p", Object.assign({ className: `${baseClass}--logo-tagline` }, { children: [tagline === null || tagline === void 0 ? void 0 : tagline.tag, jsx("span", Object.assign({ className: `${baseClass}--logo-tagline--small` }, { children: tagline === null || tagline === void 0 ? void 0 : tagline.small }))] })), jsx("button", Object.assign({ className: `${baseClass}--menu`, onClick: handleMenuToggle }, { children: menulabel }))] })) })), jsxs("div", Object.assign({ className: `${baseClass}--navigation` }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--nav` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--nav--logo` }, { children: [jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsx("img", { className: `${baseClass}--logo`, src: mobilelogo, alt: "ILO Logo" }) })), jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: menucloselabel }))] })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--search` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--switcher` }, { children: jsx("button", Object.assign({ className: `${prefix}--mobile--nav--language--switcher--button`, onClick: handleLanguageToggle, type: "button" }, { children: languagelabel })) })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--select` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleLanguageToggle, type: "button" }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: languagelabel }))] })), jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links) &&
43
43
  languagecontextmenu.links.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link ${prefix}--nav--language` }, { children: item.label })) }), index))) }))] })) }))] })), jsxs("nav", Object.assign({ className: `${prefix}--nav`, "aria-labelledby": "primary-navigation" }, { children: [jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "primary-navigation" }, { children: primarynav === null || primarynav === void 0 ? void 0 : primarynav.navlabel })), jsxs("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: [(primarynav === null || primarynav === void 0 ? void 0 : primarynav.items) &&
44
- primarynav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))), subnav && (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("button", Object.assign({ className: `${prefix}--nav--trigger`, onClick: handleSubnavToggle }, { children: subnav.buttonlabel })) })))] }))] })), jsx("div", Object.assign({ className: `${prefix}--search` }, { children: jsx("button", Object.assign({ className: `${prefix}--search--button`, type: "button", onClick: handleSearchToggle }, { children: searchlabel })) }))] })), subnav && (jsx("nav", Object.assign({ className: `${prefix}--subnav`, "aria-labelledby": "secondary-navigation" }, { children: jsxs("div", Object.assign({ className: `${prefix}--subnav--inner` }, { children: [jsx("div", Object.assign({ className: `${prefix}--mobile--subnav` }, { children: jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleSubnavToggle, type: "button" }, { children: subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${prefix}--header--menu--close`, onClick: handleMenuToggle }, { children: subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: subnav.buttonlabel }))] })) })), jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "secondary-navigation" }, { children: subnav.navlabel })), jsx("ul", Object.assign({ className: `${prefix}--subnav--set` }, { children: (subnav === null || subnav === void 0 ? void 0 : subnav.items) &&
45
- subnav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--subnav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--subnav--link` }, { children: item.label })) }), index))) }))] })) }))), jsx("div", Object.assign({ className: `${prefix}--search-box` }, { children: jsx("div", Object.assign({ className: `${prefix}--header--inner` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })) }))] }))] })));
44
+ primarynav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))), subnav && (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("button", Object.assign({ className: `${prefix}--nav--trigger`, onClick: handleSubnavToggle }, { children: subnav.buttonlabel })) })))] }))] })), jsx("div", Object.assign({ className: `${prefix}--search` }, { children: jsx("button", Object.assign({ className: `${prefix}--search--button`, type: "button", onClick: handleSearchToggle }, { children: searchlabel })) }))] })), subnav && (jsx("nav", Object.assign({ className: `${prefix}--subnav`, "aria-labelledby": "secondary-navigation" }, { children: jsxs("div", Object.assign({ className: `${prefix}--subnav--inner ${prefix}--container` }, { children: [jsx("div", Object.assign({ className: `${prefix}--mobile--subnav` }, { children: jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleSubnavToggle, type: "button" }, { children: subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${prefix}--header--menu--close`, onClick: handleMenuToggle }, { children: subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: subnav.buttonlabel }))] })) })), jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "secondary-navigation" }, { children: subnav.navlabel })), jsx("ul", Object.assign({ className: `${prefix}--subnav--set` }, { children: (subnav === null || subnav === void 0 ? void 0 : subnav.items) &&
45
+ subnav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--subnav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--subnav--link` }, { children: item.label })) }), index))) }))] })) }))), jsx("div", Object.assign({ className: `${prefix}--search-box` }, { children: jsx("div", Object.assign({ className: `${prefix}--header--inner ${prefix}--container` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })) }))] }))] })));
46
46
  };
47
47
 
48
48
  export { Navigation as default };
@@ -41,7 +41,7 @@ const Pagination = ({ className, callback, currentPage, firstPageUrl, firstPageT
41
41
  callback(e);
42
42
  }
43
43
  };
44
- return (jsxs("div", Object.assign({ className: paginationClasses }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--previous-set` }, { children: [jsx("a", Object.assign({ className: firstClasses, onClick: (e) => handleClick(e), href: firstPageUrl, title: firstPageTitle }, { children: firstPageTitle })), jsx("a", Object.assign({ className: prevClasses, onClick: (e) => handleClick(e), href: prevPageUrl, title: prevPageTitle }, { children: prevPageTitle }))] })), jsxs("p", Object.assign({ className: `${baseClass}--page` }, { children: [jsx("span", { children: currentPage + 1 }), " ", pageCountPreposition, " ", jsx("span", { children: totalPages })] })), jsxs("div", Object.assign({ className: `${baseClass}--next-set` }, { children: [jsx("a", Object.assign({ className: nextClasses, onClick: (e) => handleClick(e), href: nextPageUrl, title: nextPageTitle }, { children: nextPageTitle })), jsx("a", Object.assign({ className: lastClasses, onClick: (e) => handleClick(e), href: lastPageUrl, title: lastPageTitle }, { children: lastPageTitle }))] }))] })));
44
+ return (jsxs("div", Object.assign({ className: paginationClasses }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--previous-set` }, { children: [jsx("a", Object.assign({ className: firstClasses, onClick: (e) => handleClick(e), href: firstPageUrl, title: firstPageTitle }, { children: firstPageTitle })), jsx("a", Object.assign({ className: prevClasses, onClick: (e) => handleClick(e), href: prevPageUrl, title: prevPageTitle }, { children: prevPageTitle }))] })), jsxs("p", Object.assign({ className: `${baseClass}--page` }, { children: [jsx("span", { children: currentPage + 1 }), jsx("span", { children: pageCountPreposition }), jsx("span", { children: totalPages })] })), jsxs("div", Object.assign({ className: `${baseClass}--next-set` }, { children: [jsx("a", Object.assign({ className: nextClasses, onClick: (e) => handleClick(e), href: nextPageUrl, title: nextPageTitle }, { children: nextPageTitle })), jsx("a", Object.assign({ className: lastClasses, onClick: (e) => handleClick(e), href: lastPageUrl, title: lastPageTitle }, { children: lastPageTitle }))] }))] })));
45
45
  };
46
46
 
47
47
  export { Pagination as default };
@@ -50,8 +50,7 @@ export { default as TableOfContents } from './TableOfContents/TableOfContents.js
50
50
  export { default as Footer } from './Footer/Footer.js';
51
51
  export { default as LocalNav } from './LocalNav/LocalNav.js';
52
52
  export { default as Navigation } from './Navigation/Navigation.js';
53
- export { default as Card } from './Card/Card.js';
54
- export { default as CardGroup } from './Card/CardGroup.js';
53
+ export { default as CardGroup } from './Cards/CardGroup/CardGroup.js';
55
54
  export { default as Breadcrumb } from './Breadcrumb/Breadcrumb.js';
56
55
  export { default as Tabs } from './Tabs/Tabs.js';
57
56
  import '../hooks/useGlobalSettings.js';
@@ -77,4 +76,12 @@ import 'videojs-youtube';
77
76
  import 'video.js';
78
77
  import '@ilo-org/icons-react';
79
78
  import './Logo/Logo.js';
79
+ import './Cards/DataCard/DataCard.js';
80
+ import './Cards/DetailCard/DetailCard.js';
81
+ import './Cards/FactlistCard/FactListCard.js';
80
82
  import './List/ListItem.js';
83
+ import './Cards/FeatureCard/FeatureCard.js';
84
+ import './Cards/MultilinkCard/MultiLinkCard.js';
85
+ import './Cards/PromoCard/PromoCard.js';
86
+ import './Cards/StatCard/StatCard.js';
87
+ import './Cards/TextCard/TextCard.js';
package/lib/esm/index.js CHANGED
@@ -50,8 +50,7 @@ export { default as TableOfContents } from './components/TableOfContents/TableOf
50
50
  export { default as Footer } from './components/Footer/Footer.js';
51
51
  export { default as LocalNav } from './components/LocalNav/LocalNav.js';
52
52
  export { default as Navigation } from './components/Navigation/Navigation.js';
53
- export { default as Card } from './components/Card/Card.js';
54
- export { default as CardGroup } from './components/Card/CardGroup.js';
53
+ export { default as CardGroup } from './components/Cards/CardGroup/CardGroup.js';
55
54
  export { default as Breadcrumb } from './components/Breadcrumb/Breadcrumb.js';
56
55
  export { default as Tabs } from './components/Tabs/Tabs.js';
57
56
  import './hooks/useGlobalSettings.js';
@@ -77,4 +76,12 @@ import './components/Video/VideoPlayer.js';
77
76
  import 'videojs-youtube';
78
77
  import 'video.js';
79
78
  import './components/Logo/Logo.js';
79
+ import './components/Cards/DataCard/DataCard.js';
80
+ import './components/Cards/DetailCard/DetailCard.js';
81
+ import './components/Cards/FactlistCard/FactListCard.js';
80
82
  import './components/List/ListItem.js';
83
+ import './components/Cards/FeatureCard/FeatureCard.js';
84
+ import './components/Cards/MultilinkCard/MultiLinkCard.js';
85
+ import './components/Cards/PromoCard/PromoCard.js';
86
+ import './components/Cards/StatCard/StatCard.js';
87
+ import './components/Cards/TextCard/TextCard.js';
@@ -0,0 +1,13 @@
1
+ import { CardGroupProps } from "./CardGroup.props";
2
+ export declare const textCardGroup: CardGroupProps;
3
+ declare const CardGroupArgs: {
4
+ textCardGroup: import("./CardGroup.props").TextCardGroup;
5
+ statCardGroup: import("./CardGroup.props").StatCardGroup;
6
+ multilinkCardGroup: import("./CardGroup.props").MultilinkCardGroup;
7
+ promoCardGroup: import("./CardGroup.props").PromoCardGroup;
8
+ featureCardGroup: import("./CardGroup.props").FeatureCardGroup;
9
+ detailCardGroup: import("./CardGroup.props").DetailCardGroup;
10
+ factListCardGroup: import("./CardGroup.props").FactlistCardGroup;
11
+ dataCardGroup: import("./CardGroup.props").DataCardGroup;
12
+ };
13
+ export default CardGroupArgs;