@ilo-org/react 0.13.0 → 0.14.1

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 (290) hide show
  1. package/lib/cjs/components/Cards/CardGroup/CardGroup.js +0 -1
  2. package/lib/cjs/components/Cards/CardGroup/index.js +197 -160
  3. package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +0 -1
  4. package/lib/cjs/components/Cards/FactlistCard/index.js +0 -1
  5. package/lib/cjs/components/Cards/TextCard/TextCard.js +1 -1
  6. package/lib/cjs/components/List/List.js +9 -11
  7. package/lib/cjs/components/List/ListItem.js +4 -7
  8. package/lib/cjs/components/List/index.js +1 -2
  9. package/lib/cjs/components/index.js +0 -1
  10. package/lib/cjs/index.js +0 -1
  11. package/lib/esm/components/Cards/CardGroup/CardGroup.js +0 -1
  12. package/lib/esm/components/Cards/CardGroup/index.js +197 -160
  13. package/lib/esm/components/Cards/FactlistCard/FactListCard.js +0 -1
  14. package/lib/esm/components/Cards/FactlistCard/index.js +0 -1
  15. package/lib/esm/components/Cards/TextCard/TextCard.js +1 -1
  16. package/lib/esm/components/List/List.js +10 -12
  17. package/lib/esm/components/List/ListItem.js +4 -7
  18. package/lib/esm/components/List/index.js +1 -2
  19. package/lib/esm/components/index.js +0 -1
  20. package/lib/esm/index.js +0 -1
  21. package/lib/types/react/src/components/List/List.props.d.ts +2 -9
  22. package/lib/types/react/src/components/List/ListItem.props.d.ts +0 -6
  23. package/lib/types/react/src/types/index.d.ts +0 -2
  24. package/package.json +35 -12
  25. package/.eslintrc.cjs +0 -39
  26. package/CHANGELOG.md +0 -858
  27. package/lib/cjs/ListCtx-14aa546f.js +0 -9
  28. package/lib/esm/ListCtx-da435fdf.js +0 -6
  29. package/lib/types/react/src/components/List/ListCtx.d.ts +0 -4
  30. package/rollup.config.mjs +0 -70
  31. package/src/components/Accordion/Accordion.args.ts +0 -16
  32. package/src/components/Accordion/Accordion.props.ts +0 -41
  33. package/src/components/Accordion/Accordion.tsx +0 -62
  34. package/src/components/Accordion/AccordionButton.props.ts +0 -13
  35. package/src/components/Accordion/AccordionButton.tsx +0 -58
  36. package/src/components/Accordion/AccordionCtx.ts +0 -9
  37. package/src/components/Accordion/AccordionItem.props.ts +0 -25
  38. package/src/components/Accordion/AccordionItem.tsx +0 -27
  39. package/src/components/Accordion/AccordionPanel.props.ts +0 -25
  40. package/src/components/Accordion/AccordionPanel.tsx +0 -46
  41. package/src/components/Accordion/index.ts +0 -4
  42. package/src/components/Breadcrumb/Breadcrumb.args.ts +0 -61
  43. package/src/components/Breadcrumb/Breadcrumb.props.ts +0 -13
  44. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -82
  45. package/src/components/Breadcrumb/index.ts +0 -1
  46. package/src/components/Button/Button.args.ts +0 -35
  47. package/src/components/Button/Button.props.ts +0 -89
  48. package/src/components/Button/Button.tsx +0 -77
  49. package/src/components/Button/index.ts +0 -2
  50. package/src/components/Callout/Callout.args.ts +0 -38
  51. package/src/components/Callout/Callout.props.ts +0 -60
  52. package/src/components/Callout/Callout.tsx +0 -80
  53. package/src/components/Callout/index.ts +0 -2
  54. package/src/components/Cards/CardGroup/CardGroup.args.ts +0 -768
  55. package/src/components/Cards/CardGroup/CardGroup.props.ts +0 -78
  56. package/src/components/Cards/CardGroup/CardGroup.tsx +0 -54
  57. package/src/components/Cards/CardGroup/index.tsx +0 -3
  58. package/src/components/Cards/DataCard/DataCard.args.ts +0 -69
  59. package/src/components/Cards/DataCard/DataCard.props.ts +0 -60
  60. package/src/components/Cards/DataCard/DataCard.tsx +0 -107
  61. package/src/components/Cards/DataCard/index.tsx +0 -3
  62. package/src/components/Cards/DetailCard/DetailCard.args.ts +0 -17
  63. package/src/components/Cards/DetailCard/DetailCard.props.ts +0 -43
  64. package/src/components/Cards/DetailCard/DetailCard.tsx +0 -62
  65. package/src/components/Cards/DetailCard/index.tsx +0 -3
  66. package/src/components/Cards/FactlistCard/FactListCard.args.ts +0 -14
  67. package/src/components/Cards/FactlistCard/FactListCard.props.ts +0 -19
  68. package/src/components/Cards/FactlistCard/FactListCard.tsx +0 -42
  69. package/src/components/Cards/FactlistCard/index.tsx +0 -3
  70. package/src/components/Cards/FeatureCard/FeatureCard.args.ts +0 -30
  71. package/src/components/Cards/FeatureCard/FeatureCard.props.ts +0 -38
  72. package/src/components/Cards/FeatureCard/FeatureCard.tsx +0 -69
  73. package/src/components/Cards/FeatureCard/index.tsx +0 -3
  74. package/src/components/Cards/MultilinkCard/MultiLinkCard.tsx +0 -76
  75. package/src/components/Cards/MultilinkCard/MultilinkCard.args.ts +0 -33
  76. package/src/components/Cards/MultilinkCard/MultilinkCard.props.ts +0 -30
  77. package/src/components/Cards/MultilinkCard/index.tsx +0 -3
  78. package/src/components/Cards/PromoCard/PromoCard.args.ts +0 -19
  79. package/src/components/Cards/PromoCard/PromoCard.props.ts +0 -36
  80. package/src/components/Cards/PromoCard/PromoCard.tsx +0 -60
  81. package/src/components/Cards/PromoCard/index.tsx +0 -3
  82. package/src/components/Cards/StatCard/StatCard.args.ts +0 -14
  83. package/src/components/Cards/StatCard/StatCard.props.ts +0 -21
  84. package/src/components/Cards/StatCard/StatCard.tsx +0 -36
  85. package/src/components/Cards/StatCard/index.tsx +0 -3
  86. package/src/components/Cards/TextCard/TextCard.args.ts +0 -21
  87. package/src/components/Cards/TextCard/TextCard.props.ts +0 -32
  88. package/src/components/Cards/TextCard/TextCard.tsx +0 -62
  89. package/src/components/Cards/TextCard/index.tsx +0 -3
  90. package/src/components/Checkbox/Checkbox.args.ts +0 -42
  91. package/src/components/Checkbox/Checkbox.props.ts +0 -5
  92. package/src/components/Checkbox/Checkbox.tsx +0 -94
  93. package/src/components/Checkbox/index.ts +0 -2
  94. package/src/components/Collapse/Collapse.props.ts +0 -92
  95. package/src/components/Collapse/Collapse.tsx +0 -130
  96. package/src/components/Collapse/index.ts +0 -1
  97. package/src/components/ContextMenu/ContextMenu.args.ts +0 -62
  98. package/src/components/ContextMenu/ContextMenu.props.ts +0 -28
  99. package/src/components/ContextMenu/ContextMenu.tsx +0 -32
  100. package/src/components/ContextMenu/index.ts +0 -1
  101. package/src/components/Credit/Credit.args.ts +0 -14
  102. package/src/components/Credit/Credit.props.ts +0 -11
  103. package/src/components/Credit/Credit.tsx +0 -41
  104. package/src/components/Credit/index.ts +0 -1
  105. package/src/components/DatePicker/DatePicker.args.ts +0 -56
  106. package/src/components/DatePicker/DatePicker.props.ts +0 -26
  107. package/src/components/DatePicker/DatePicker.tsx +0 -80
  108. package/src/components/DatePicker/index.ts +0 -1
  109. package/src/components/Dropdown/Dropdown.args.ts +0 -70
  110. package/src/components/Dropdown/Dropdown.props.ts +0 -53
  111. package/src/components/Dropdown/Dropdown.tsx +0 -95
  112. package/src/components/Dropdown/index.ts +0 -1
  113. package/src/components/Empty/Empty.props.ts +0 -13
  114. package/src/components/Empty/Empty.tsx +0 -16
  115. package/src/components/Empty/index.ts +0 -1
  116. package/src/components/Fieldset/Fieldset.props.ts +0 -33
  117. package/src/components/Fieldset/Fieldset.tsx +0 -96
  118. package/src/components/Fieldset/index.ts +0 -1
  119. package/src/components/FileUpload/FileUpload.args.ts +0 -60
  120. package/src/components/FileUpload/FileUpload.props.ts +0 -21
  121. package/src/components/FileUpload/FileUpload.tsx +0 -116
  122. package/src/components/FileUpload/index.ts +0 -1
  123. package/src/components/Footer/Footer.args.ts +0 -74
  124. package/src/components/Footer/Footer.props.ts +0 -60
  125. package/src/components/Footer/Footer.tsx +0 -99
  126. package/src/components/Footer/index.ts +0 -1
  127. package/src/components/Form/Form.args.ts +0 -5
  128. package/src/components/Form/Form.props.ts +0 -8
  129. package/src/components/Form/Form.tsx +0 -23
  130. package/src/components/Form/index.ts +0 -2
  131. package/src/components/FormControl/FormControl.props.ts +0 -72
  132. package/src/components/FormControl/FormControl.tsx +0 -169
  133. package/src/components/FormControl/index.ts +0 -2
  134. package/src/components/FormElement/FormElement.props.ts +0 -60
  135. package/src/components/FormElement/FormElement.tsx +0 -19
  136. package/src/components/FormElement/index.ts +0 -1
  137. package/src/components/GlobalProvider/GlobalCtx.ts +0 -6
  138. package/src/components/GlobalProvider/GlobalProvider.props.ts +0 -15
  139. package/src/components/GlobalProvider/GlobalProvider.tsx +0 -21
  140. package/src/components/GlobalProvider/index.ts +0 -2
  141. package/src/components/Heading/Heading.args.ts +0 -49
  142. package/src/components/Heading/Heading.props.ts +0 -24
  143. package/src/components/Heading/Heading.tsx +0 -28
  144. package/src/components/Heading/index.ts +0 -1
  145. package/src/components/Hero/Hero.args.ts +0 -136
  146. package/src/components/Hero/Hero.props.ts +0 -62
  147. package/src/components/Hero/Hero.tsx +0 -94
  148. package/src/components/Hero/HeroCard.props.ts +0 -54
  149. package/src/components/Hero/HeroCard.tsx +0 -65
  150. package/src/components/Hero/index.ts +0 -2
  151. package/src/components/Icon/Icon.args.ts +0 -15
  152. package/src/components/Icon/Icon.props.ts +0 -16
  153. package/src/components/Icon/Icon.tsx +0 -25
  154. package/src/components/Icon/index.ts +0 -1
  155. package/src/components/Image/Image.args.ts +0 -29
  156. package/src/components/Image/Image.props.ts +0 -43
  157. package/src/components/Image/Image.tsx +0 -51
  158. package/src/components/Image/index.ts +0 -1
  159. package/src/components/Input/Input.args.ts +0 -139
  160. package/src/components/Input/Input.props.ts +0 -65
  161. package/src/components/Input/Input.tsx +0 -65
  162. package/src/components/Input/index.ts +0 -1
  163. package/src/components/Link/Link.props.ts +0 -39
  164. package/src/components/Link/Link.tsx +0 -42
  165. package/src/components/Link/index.ts +0 -1
  166. package/src/components/LinkList/LinkList.args.ts +0 -193
  167. package/src/components/LinkList/LinkList.props.ts +0 -52
  168. package/src/components/LinkList/LinkList.tsx +0 -59
  169. package/src/components/LinkList/index.ts +0 -1
  170. package/src/components/List/List.args.ts +0 -34
  171. package/src/components/List/List.props.ts +0 -37
  172. package/src/components/List/List.tsx +0 -41
  173. package/src/components/List/ListCtx.ts +0 -7
  174. package/src/components/List/ListItem.props.ts +0 -25
  175. package/src/components/List/ListItem.tsx +0 -22
  176. package/src/components/List/index.ts +0 -2
  177. package/src/components/Loading/Loading.args.ts +0 -55
  178. package/src/components/Loading/Loading.props.ts +0 -23
  179. package/src/components/Loading/Loading.tsx +0 -24
  180. package/src/components/Loading/index.ts +0 -1
  181. package/src/components/LocalNav/LocalNav.args.ts +0 -64
  182. package/src/components/LocalNav/LocalNav.props.ts +0 -56
  183. package/src/components/LocalNav/LocalNav.tsx +0 -181
  184. package/src/components/LocalNav/index.ts +0 -1
  185. package/src/components/Logo/Logo.args.ts +0 -45
  186. package/src/components/Logo/Logo.props.ts +0 -67
  187. package/src/components/Logo/Logo.tsx +0 -247
  188. package/src/components/Logo/index.ts +0 -1
  189. package/src/components/LogoGrid/LogoGrid.args.ts +0 -50
  190. package/src/components/LogoGrid/LogoGrid.props.ts +0 -28
  191. package/src/components/LogoGrid/LogoGrid.tsx +0 -53
  192. package/src/components/LogoGrid/index.ts +0 -1
  193. package/src/components/Navigation/Navigation.args.ts +0 -113
  194. package/src/components/Navigation/Navigation.props.ts +0 -120
  195. package/src/components/Navigation/Navigation.tsx +0 -246
  196. package/src/components/Navigation/index.ts +0 -1
  197. package/src/components/Notification/Notification.args.ts +0 -157
  198. package/src/components/Notification/Notification.props.ts +0 -67
  199. package/src/components/Notification/Notification.tsx +0 -78
  200. package/src/components/Notification/index.ts +0 -1
  201. package/src/components/NumberPicker/NumberPicker.args.ts +0 -50
  202. package/src/components/NumberPicker/NumberPicker.props.ts +0 -26
  203. package/src/components/NumberPicker/NumberPicker.tsx +0 -88
  204. package/src/components/NumberPicker/index.ts +0 -1
  205. package/src/components/Pagination/Pagination.args.ts +0 -43
  206. package/src/components/Pagination/Pagination.props.ts +0 -66
  207. package/src/components/Pagination/Pagination.tsx +0 -115
  208. package/src/components/Pagination/index.ts +0 -1
  209. package/src/components/Profile/Profile.args.ts +0 -58
  210. package/src/components/Profile/Profile.props.ts +0 -55
  211. package/src/components/Profile/Profile.tsx +0 -51
  212. package/src/components/Profile/index.ts +0 -1
  213. package/src/components/Radio/Radio.args.ts +0 -15
  214. package/src/components/Radio/Radio.props.ts +0 -6
  215. package/src/components/Radio/Radio.tsx +0 -102
  216. package/src/components/Radio/index.ts +0 -2
  217. package/src/components/ReadMore/ReadMore.args.ts +0 -23
  218. package/src/components/ReadMore/ReadMore.props.ts +0 -38
  219. package/src/components/ReadMore/ReadMore.tsx +0 -55
  220. package/src/components/ReadMore/index.ts +0 -1
  221. package/src/components/RichText/RichText.props.ts +0 -11
  222. package/src/components/RichText/RichText.tsx +0 -22
  223. package/src/components/RichText/index.ts +0 -1
  224. package/src/components/RichText/richText.args.ts +0 -38
  225. package/src/components/SearchField/SearchField.args.ts +0 -73
  226. package/src/components/SearchField/SearchField.props.ts +0 -35
  227. package/src/components/SearchField/SearchField.tsx +0 -83
  228. package/src/components/SearchField/index.ts +0 -1
  229. package/src/components/SocialMedia/SocialMedia.args.ts +0 -54
  230. package/src/components/SocialMedia/SocialMedia.props.ts +0 -45
  231. package/src/components/SocialMedia/SocialMedia.tsx +0 -46
  232. package/src/components/SocialMedia/index.ts +0 -3
  233. package/src/components/TableOfContents/TableOfContents.args.ts +0 -35
  234. package/src/components/TableOfContents/TableOfContents.props.ts +0 -23
  235. package/src/components/TableOfContents/TableOfContents.tsx +0 -32
  236. package/src/components/TableOfContents/index.ts +0 -1
  237. package/src/components/Tabs/Tabs.args.tsx +0 -201
  238. package/src/components/Tabs/Tabs.props.ts +0 -13
  239. package/src/components/Tabs/Tabs.tsx +0 -60
  240. package/src/components/Tabs/index.ts +0 -1
  241. package/src/components/Tag/Tag.args.ts +0 -15
  242. package/src/components/Tag/Tag.props.ts +0 -34
  243. package/src/components/Tag/Tag.tsx +0 -104
  244. package/src/components/Tag/TagCtx.ts +0 -4
  245. package/src/components/Tag/TagSet.args.ts +0 -37
  246. package/src/components/Tag/TagSet.props.ts +0 -37
  247. package/src/components/Tag/TagSet.tsx +0 -61
  248. package/src/components/Tag/index.ts +0 -2
  249. package/src/components/TextInput/TextInput.args.ts +0 -75
  250. package/src/components/TextInput/TextInput.props.ts +0 -20
  251. package/src/components/TextInput/TextInput.tsx +0 -71
  252. package/src/components/TextInput/index.ts +0 -2
  253. package/src/components/Textarea/Textarea.args.ts +0 -34
  254. package/src/components/Textarea/Textarea.props.ts +0 -45
  255. package/src/components/Textarea/Textarea.tsx +0 -52
  256. package/src/components/Textarea/index.ts +0 -3
  257. package/src/components/Toggle/Toggle.args.ts +0 -62
  258. package/src/components/Toggle/Toggle.props.ts +0 -27
  259. package/src/components/Toggle/Toggle.tsx +0 -85
  260. package/src/components/Toggle/index.ts +0 -3
  261. package/src/components/Tooltip/Tooltip.args.ts +0 -39
  262. package/src/components/Tooltip/Tooltip.props.ts +0 -38
  263. package/src/components/Tooltip/Tooltip.tsx +0 -119
  264. package/src/components/Tooltip/index.ts +0 -1
  265. package/src/components/Video/Video.args.ts +0 -47
  266. package/src/components/Video/Video.props.ts +0 -35
  267. package/src/components/Video/Video.tsx +0 -34
  268. package/src/components/Video/VideoPlayer.props.ts +0 -51
  269. package/src/components/Video/VideoPlayer.tsx +0 -71
  270. package/src/components/Video/index.ts +0 -1
  271. package/src/components/Video/media-file-poster.jpg +0 -0
  272. package/src/components/index.ts +0 -46
  273. package/src/declarations.d.ts +0 -36
  274. package/src/hooks/index.ts +0 -2
  275. package/src/hooks/useGlobalSettings.ts +0 -13
  276. package/src/hooks/usePrevious.ts +0 -15
  277. package/src/hooks/useVideoPlayer.ts +0 -85
  278. package/src/index.ts +0 -1
  279. package/src/types/forms.args.ts +0 -288
  280. package/src/types/index.ts +0 -139
  281. package/src/types/temp.d.ts +0 -9
  282. package/src/utils/checkArrayDuplicates.ts +0 -3
  283. package/src/utils/createChainedFunction.ts +0 -31
  284. package/src/utils/getDefaultDimensionValue.ts +0 -28
  285. package/src/utils/hoursMinutesSeconds.ts +0 -8
  286. package/src/utils/index.ts +0 -6
  287. package/src/utils/transitionEndListener.ts +0 -29
  288. package/src/utils/triggerBrowserReflow.ts +0 -4
  289. package/tsconfig.build.json +0 -19
  290. package/tsconfig.json +0 -8
@@ -1,136 +0,0 @@
1
- import { HeroProps } from "./Hero.props";
2
- import { defaultArgs } from "../SocialMedia";
3
- import { HeroCardProps } from "./HeroCard.props";
4
- import { ImageProps } from "../Image/Image.props";
5
- import { BreadcrumbProps } from "../Breadcrumb/Breadcrumb.props";
6
-
7
- const lightArticleCard: HeroCardProps = {
8
- title: "Does Artificial Intelligence threaten decent work?",
9
- datecopy: "17 July 2023",
10
- eyebrow: "Future of Work Podcast",
11
- intro:
12
- "The world of work has always been shaped by technology, but the new generation of Artificial Intelligence (AI) has raised fears that it could destroy tens of millions of jobs, and undermine progress towards decent work and greater social justice.",
13
- socialmedia: {
14
- icons: defaultArgs.icons.slice(0, 3),
15
- },
16
- theme: "light",
17
- };
18
-
19
- const darkPortalCard: HeroCardProps = {
20
- title: "Child labour",
21
- eyebrow: "ILO Topics",
22
- socialmedia: {
23
- icons: defaultArgs.icons.slice(0, 3),
24
- },
25
- };
26
-
27
- const lightPortalCard: HeroCardProps = {
28
- ...darkPortalCard,
29
- theme: "light",
30
- };
31
-
32
- const homepageCard: HeroCardProps = {
33
- eyebrow: lightArticleCard.eyebrow,
34
- title: lightArticleCard.title,
35
- url: "https://www.ilo.org",
36
- background: "semi-transparent",
37
- };
38
-
39
- const transparentHomepageCard: HeroCardProps = {
40
- ...homepageCard,
41
- background: "transparent",
42
- };
43
-
44
- const heroImage: ImageProps = {
45
- alt: "Alt tag",
46
- className: "storybook",
47
- url: [
48
- {
49
- breakpoint: 0,
50
- src: "/hero.jpg",
51
- },
52
- {
53
- breakpoint: 768,
54
- src: "/hero.jpg",
55
- },
56
- ],
57
- };
58
-
59
- const heroBreadCrumb: BreadcrumbProps = {
60
- home: {
61
- indented: false,
62
- label: "Home",
63
- url: "/",
64
- },
65
- links: [
66
- {
67
- label: "Link One",
68
- url: "https://www.ilo.org/",
69
- },
70
- {
71
- label: "Link Two",
72
- url: "https://www.ilo.org/",
73
- },
74
- {
75
- label: "Link Three",
76
- url: "https://www.ilo.org/",
77
- },
78
- {
79
- label: "Link Four",
80
- url: "https://www.ilo.org/",
81
- },
82
- ],
83
- };
84
-
85
- const standard = {
86
- image: heroImage,
87
- breadcrumb: heroBreadCrumb,
88
- heroCard: darkPortalCard,
89
- };
90
-
91
- export const darkPortal: HeroProps = standard;
92
-
93
- export const lightPortal: HeroProps = {
94
- ...standard,
95
- heroCard: lightPortalCard,
96
- };
97
-
98
- export const semiTransparent: HeroProps = {
99
- ...standard,
100
- align: "center",
101
- heroCard: homepageCard,
102
- };
103
-
104
- export const transparent: HeroProps = {
105
- ...standard,
106
- align: "center",
107
- heroCard: transparentHomepageCard,
108
- };
109
-
110
- export const offset: HeroProps = {
111
- ...standard,
112
- align: "baseline",
113
- justify: "offset",
114
- };
115
-
116
- export const center: HeroProps = {
117
- ...standard,
118
- align: "baseline",
119
- justify: "center",
120
- };
121
-
122
- export const centerBottom: HeroProps = {
123
- ...standard,
124
- cardSize: "xlarge",
125
- align: "bottom",
126
- justify: "center",
127
- heroCard: lightArticleCard,
128
- };
129
-
130
- export const noPoster: HeroProps = {
131
- cardSize: "xlarge",
132
- align: "bottom",
133
- justify: "center",
134
- posterSize: "small",
135
- heroCard: lightArticleCard,
136
- };
@@ -1,62 +0,0 @@
1
- import { ThemeTypes } from "../../types";
2
- import { BreadcrumbProps } from "../Breadcrumb/Breadcrumb.props";
3
- import { ImageProps } from "../Image/Image.props";
4
- import { TooltipProps } from "../Tooltip/Tooltip.props";
5
- import { HeroCardProps } from "./HeroCard.props";
6
-
7
- export interface HeroProps {
8
- /**
9
- * Vertical alignment of the hero card
10
- */
11
- align?: "center" | "bottom" | "baseline";
12
-
13
- /**
14
- * Props to pass to the breadcrumb if there is one
15
- */
16
- breadcrumb?: BreadcrumbProps;
17
-
18
- /**
19
- * Caption to render in the hero card
20
- */
21
- caption?: TooltipProps;
22
-
23
- /**
24
- * Size the of hero card
25
- */
26
- cardSize?: "small" | "medium" | "large" | "xlarge" | "xxlarge";
27
-
28
- /**
29
- * Specify an optional className to be added to your Hero component.
30
- */
31
- className?: string;
32
-
33
- /**
34
- * Props for the image for the hero
35
- */
36
- image?: ImageProps;
37
-
38
- /**
39
- * How to justify the hero card
40
- */
41
- justify?: "start" | "center" | "offset";
42
-
43
- /**
44
- * Props for the card for the hero
45
- */
46
- heroCard: HeroCardProps;
47
-
48
- /**
49
- * Color of the gap space between bottom of the hero image and bottom of the card
50
- */
51
- gap?: "white" | "transparent" | "dark" | "light";
52
-
53
- /**
54
- * The size of the poster image
55
- */
56
- posterSize?: "small" | "medium" | "large" | "xlarge";
57
-
58
- /**
59
- * Theme for the card
60
- */
61
- theme?: ThemeTypes;
62
- }
@@ -1,94 +0,0 @@
1
- import { FC } from "react";
2
- import classnames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import { HeroProps } from "./Hero.props";
5
- import HeroCard from "./HeroCard";
6
- import { ImageProps } from "../Image/Image.props";
7
- import { Breadcrumb } from "../Breadcrumb";
8
- import { Tooltip } from "../Tooltip";
9
-
10
- const HeroImage: FC<ImageProps> = ({ url, alt }) => {
11
- const { prefix } = useGlobalSettings();
12
-
13
- const imageClass = `${prefix}--card--image`;
14
-
15
- // Sort the urls by breakpoint
16
- const sortedUrls = url.sort((a, b) => a.breakpoint - b.breakpoint);
17
-
18
- const defaultSrc = sortedUrls[sortedUrls.length - 1].src;
19
-
20
- return (
21
- <figure className="hero--image">
22
- <picture>
23
- {sortedUrls.map((img) => (
24
- <source
25
- srcSet={img.src}
26
- media={`(min-width: ${img.breakpoint}px)`}
27
- key={img.breakpoint}
28
- />
29
- ))}
30
- <img className={imageClass} src={defaultSrc} alt={alt} />
31
- </picture>
32
- </figure>
33
- );
34
- };
35
-
36
- const Hero: FC<HeroProps> = ({
37
- justify = "start",
38
- align = "baseline",
39
- cardSize = "small",
40
- posterSize = "large",
41
- theme = "dark",
42
- image,
43
- breadcrumb,
44
- heroCard,
45
- caption,
46
- gap,
47
- }) => {
48
- const baseClass = "hero";
49
- const justifyClass = `${baseClass}__card-justify__${justify}`;
50
- const alignClass = `${baseClass}__card-align__${align}`;
51
- const cardSizeClass = `${baseClass}__card-size__${cardSize}`;
52
- const posterSizeClass = `${baseClass}__poster-size__${posterSize}`;
53
- const themeClass = `${baseClass}__card-theme__${theme}`;
54
- const gapClass = `${baseClass}__gap__${gap}`;
55
-
56
- const heroClasses = classnames(
57
- baseClass,
58
- justifyClass,
59
- alignClass,
60
- cardSizeClass,
61
- posterSizeClass,
62
- themeClass,
63
- { [gapClass]: !!gap }
64
- );
65
- return (
66
- <div className={heroClasses}>
67
- <div className="hero--background">
68
- {image && <HeroImage {...image} />}
69
- </div>
70
- {breadcrumb && (
71
- <>
72
- <div className="hero--breadcrumbs">
73
- <div className="hero--breadcrumbs--wrapper">
74
- <Breadcrumb {...breadcrumb} />
75
- </div>
76
- </div>
77
- </>
78
- )}
79
- <div className="hero--card-offset"></div>
80
- <div className="hero--card">
81
- <HeroCard {...heroCard} />
82
- </div>
83
- {caption && (
84
- <div className="hero--caption">
85
- <div className="hero--caption--wrapper">
86
- <Tooltip {...caption} />
87
- </div>
88
- </div>
89
- )}
90
- </div>
91
- );
92
- };
93
-
94
- export default Hero;
@@ -1,54 +0,0 @@
1
- import { ThemeTypes } from "../../types";
2
- import { SocialMediaProps } from "../SocialMedia";
3
-
4
- export interface HeroCardProps {
5
- /**
6
- * Specify whether the background should be solid, transparent or semi-transparent
7
- */
8
- background?: "solid" | "transparent" | "semi-transparent";
9
-
10
- /**
11
- * Specify an optional className to be added to your Hero component.
12
- */
13
- className?: string;
14
-
15
- /**
16
- * Whether the card should have a cornercut or not
17
- */
18
- cornercut?: boolean;
19
-
20
- /**
21
- * date copy for the hero card
22
- */
23
- datecopy?: string;
24
-
25
- /**
26
- * eyebrow copy for the hero card
27
- */
28
- eyebrow?: string;
29
-
30
- /**
31
- * body copy for the hero card
32
- */
33
- intro?: string;
34
-
35
- /**
36
- * Specify the links to be displayed in this link group
37
- */
38
- socialmedia?: SocialMediaProps;
39
-
40
- /**
41
- * Title for the page
42
- */
43
- title: string;
44
-
45
- /**
46
- * Theme for the card
47
- */
48
- theme?: ThemeTypes;
49
-
50
- /**
51
- * The link of the card's title if it has one
52
- */
53
- url?: string;
54
- }
@@ -1,65 +0,0 @@
1
- import { FC } from "react";
2
- import classnames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import { HeroCardProps } from "./HeroCard.props";
5
- import { SocialMedia } from "../SocialMedia";
6
-
7
- interface HeroCardTitleProps {
8
- baseclass: string;
9
- title: string;
10
- url?: string;
11
- }
12
-
13
- const HeroCardTitle: FC<HeroCardTitleProps> = ({ baseclass, title, url }) => {
14
- const titleClass = `${baseclass}--title`;
15
- const linkClass = `${baseclass}--title-link`;
16
-
17
- if (!url) {
18
- return <h1 className={titleClass}>{title}</h1>;
19
- }
20
-
21
- return (
22
- <a className={linkClass} href={url}>
23
- <h1 className={titleClass}>{title}</h1>
24
- </a>
25
- );
26
- };
27
-
28
- const HeroCard: FC<HeroCardProps> = ({
29
- theme = "dark",
30
- background = "solid",
31
- cornercut = "true",
32
- eyebrow,
33
- title,
34
- url,
35
- datecopy,
36
- intro,
37
- socialmedia,
38
- }) => {
39
- const { prefix } = useGlobalSettings();
40
-
41
- const baseClass = `${prefix}--hero-card`;
42
- const themeClass = `${baseClass}__theme__${theme}`;
43
- const backgroundClass = `${baseClass}__background__${background}`;
44
- const cornercutClass = `${baseClass}__cornercut`;
45
-
46
- const heroCardClasses = classnames(baseClass, themeClass, backgroundClass, {
47
- [cornercutClass]: cornercut,
48
- });
49
-
50
- const eyebrowClass = `${baseClass}--eyebrow`;
51
- const datecopyClass = `${baseClass}--datecopy`;
52
- const introClass = `${baseClass}--intro`;
53
-
54
- return (
55
- <div className={heroCardClasses}>
56
- {eyebrow && <p className={eyebrowClass}>{eyebrow}</p>}
57
- <HeroCardTitle baseclass={baseClass} title={title} url={url} />
58
- {intro && <p className={introClass}>{intro}</p>}
59
- {datecopy && <p className={datecopyClass}>{datecopy}</p>}
60
- {socialmedia && <SocialMedia {...socialmedia} theme={theme} />}
61
- </div>
62
- );
63
- };
64
-
65
- export default HeroCard;
@@ -1,2 +0,0 @@
1
- export { default as Hero } from "./Hero";
2
- export { default as HeroCard } from "./HeroCard";
@@ -1,15 +0,0 @@
1
- import { IconProps } from "./Icon.props";
2
-
3
- const icon: IconProps = {
4
- hidden: false,
5
- name: "add",
6
- };
7
-
8
- /**
9
- * Sample prop definitions for Button's enumerable properties (imported in stories and tests).
10
- */
11
- const IconArgs = {
12
- icon,
13
- };
14
-
15
- export default IconArgs;
@@ -1,16 +0,0 @@
1
- export interface IconProps {
2
- /**
3
- * Specify if this should be hidden from screen readers
4
- */
5
- hidden: boolean;
6
-
7
- /**
8
- * Specify the icon
9
- */
10
- name?: string;
11
-
12
- /**
13
- * Specify the icon's size
14
- */
15
- size?: number;
16
- }
@@ -1,25 +0,0 @@
1
- import { createElement, FC } from "react";
2
- import useGlobalSettings from "../../hooks/useGlobalSettings";
3
- import { IconProps } from "./Icon.props";
4
- import * as icons from "@ilo-org/icons-react";
5
-
6
- const Icon: FC<IconProps> = ({ hidden, name, size }) => {
7
- const { prefix } = useGlobalSettings();
8
- const baseClass = `${prefix}--icon`;
9
- const ariaHidden = hidden ? "hidden" : "";
10
- const iconsize = size || 24;
11
-
12
- const icon = name
13
- ? createElement(
14
- icons[`${name.charAt(0).toUpperCase() + name.slice(1)}${iconsize}`],
15
- {
16
- "aria-hidden": ariaHidden,
17
- className: baseClass,
18
- }
19
- )
20
- : false;
21
-
22
- return <>{icon}</>;
23
- };
24
-
25
- export default Icon;
@@ -1 +0,0 @@
1
- export { default as Icon } from "./Icon";
@@ -1,29 +0,0 @@
1
- import { ImageProps } from "./Image.props";
2
-
3
- const imageArgs: ImageProps = {
4
- alt: "Two women wearing yellow hard hats and neon safety jackets look directly at the viewer",
5
- className: "image",
6
- caption:
7
- "Women construction workers in Nepal build roads and bridges as part of a National Rural Transport Programme co-sponsored by the ILO.",
8
- credit: "© Marcel Crozet/ILO",
9
- url: [
10
- {
11
- breakpoint: 0,
12
- src: "/small.jpg",
13
- },
14
- {
15
- breakpoint: 800,
16
- src: "/medium.jpg",
17
- },
18
- {
19
- breakpoint: 1200,
20
- src: "/medium.jpg",
21
- },
22
- {
23
- breakpoint: 1440,
24
- src: "/large.jpg",
25
- },
26
- ],
27
- };
28
-
29
- export default imageArgs;
@@ -1,43 +0,0 @@
1
- interface ImageUrl {
2
- /**
3
- * Specify the breakpoint at which this image src should be used
4
- */
5
- breakpoint: number;
6
-
7
- /**
8
- * Specify the url of this breakpoint's image src
9
- */
10
- src: string;
11
- }
12
-
13
- export interface ImageProps {
14
- /**
15
- * Specify the alt for the image
16
- */
17
- alt?: Required<string>;
18
-
19
- /**
20
- * Specify the caption for the image/video
21
- */
22
- caption?: string;
23
-
24
- /**
25
- * Specify an optional className to be added to your Media.
26
- */
27
- className?: string;
28
-
29
- /**
30
- * Specify the credit for the image/video
31
- */
32
- credit?: Required<string>;
33
-
34
- /**
35
- * Specify the image src for the image
36
- */
37
- url: ImageUrl[];
38
-
39
- /**
40
- * Value to pass to lading attribute
41
- */
42
- loading?: "lazy" | "eager";
43
- }
@@ -1,51 +0,0 @@
1
- import { FC } from "react";
2
- import classNames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import { ImageProps } from "./Image.props";
5
- import { Credit } from "../Credit";
6
-
7
- const Image: FC<ImageProps> = ({ alt, caption, className, credit, url }) => {
8
- const { prefix } = useGlobalSettings();
9
- const baseClass = `${prefix}--image`;
10
-
11
- const imageClasses = classNames(className, {
12
- [baseClass]: true,
13
- });
14
-
15
- const imgClasses = classNames("", {
16
- [`${baseClass}--img`]: true,
17
- });
18
-
19
- const captionClasses = classNames("", {
20
- [`${baseClass}--caption`]: true,
21
- });
22
-
23
- return (
24
- <figure className={imageClasses}>
25
- <div className={`${imageClasses}--wrapper`}>
26
- <picture className={imgClasses}>
27
- {url &&
28
- url
29
- .sort(
30
- (a: any, b: any) =>
31
- parseFloat(a.breakpoint) - parseFloat(b.breakpoint)
32
- )
33
- .slice(1)
34
- .reverse()
35
- .map((item: any, index: any) => (
36
- <source
37
- srcSet={item.src}
38
- media={`(min-width: ${item.breakpoint}px)`}
39
- key={index}
40
- />
41
- ))}
42
- {url && <img src={url[0].src} alt={alt} />}
43
- </picture>
44
- {credit && <Credit credit={credit} />}
45
- </div>
46
- {caption && <figcaption className={captionClasses}>{caption}</figcaption>}
47
- </figure>
48
- );
49
- };
50
-
51
- export default Image;
@@ -1 +0,0 @@
1
- export { default as Image } from "./Image";