@ilo-org/react 0.14.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.
- package/package.json +13 -10
- package/.eslintrc.cjs +0 -39
- package/.storybook/main.ts +0 -41
- package/.storybook/manager-head.html +0 -92
- package/.storybook/manager.ts +0 -6
- package/.storybook/preview-head.html +0 -5
- package/.storybook/preview.tsx +0 -81
- package/.storybook/styles.scss +0 -25
- package/.storybook/theme.ts +0 -46
- package/.turbo/turbo-build:lib.log +0 -15
- package/CHANGELOG.md +0 -884
- package/public/fao-logo.svg +0 -195
- package/public/favicon.ico +0 -0
- package/public/hero.jpg +0 -0
- package/public/ilo-dg.jpg +0 -0
- package/public/ilo-headquarters.jpg +0 -0
- package/public/large.jpg +0 -0
- package/public/media-file-poster.jpg +0 -0
- package/public/medium.jpg +0 -0
- package/public/react.svg +0 -8
- package/public/small.jpg +0 -0
- package/public/unhcr-logo.svg +0 -1
- package/public/unicef-logo.png +0 -0
- package/public/video-example.mp4 +0 -0
- package/public/wfp-logo.svg +0 -1
- package/public/who-logo.svg +0 -1
- package/public/youtube-video-poster.avif +0 -0
- package/rollup.config.mjs +0 -72
- package/src/__tests__/Accordion.test.tsx +0 -16
- package/src/__tests__/Button.test.tsx +0 -60
- package/src/__tests__/Callout.test.tsx +0 -43
- package/src/__tests__/ContextMenu.test.tsx +0 -19
- package/src/__tests__/Dropdown.test.tsx +0 -38
- package/src/__tests__/Heading.test.tsx +0 -51
- package/src/__tests__/Image.test.tsx +0 -21
- package/src/__tests__/LinkList.test.tsx +0 -17
- package/src/__tests__/List.test.tsx +0 -25
- package/src/__tests__/Loading.test.tsx +0 -33
- package/src/__tests__/Notification.test.tsx +0 -39
- package/src/__tests__/Pagination.test.tsx +0 -58
- package/src/__tests__/Profile.test.tsx +0 -48
- package/src/__tests__/ReadMore.test.tsx +0 -43
- package/src/__tests__/RichText.test.tsx +0 -16
- package/src/__tests__/SearchField.test.tsx +0 -35
- package/src/__tests__/TableOfContents.test.tsx +0 -12
- package/src/__tests__/Tag.test.tsx +0 -10
- package/src/components/Accordion/Accordion.args.ts +0 -16
- package/src/components/Accordion/Accordion.props.ts +0 -41
- package/src/components/Accordion/Accordion.tsx +0 -62
- package/src/components/Accordion/AccordionButton.props.ts +0 -13
- package/src/components/Accordion/AccordionButton.tsx +0 -58
- package/src/components/Accordion/AccordionCtx.ts +0 -9
- package/src/components/Accordion/AccordionItem.props.ts +0 -25
- package/src/components/Accordion/AccordionItem.tsx +0 -27
- package/src/components/Accordion/AccordionPanel.props.ts +0 -25
- package/src/components/Accordion/AccordionPanel.tsx +0 -46
- package/src/components/Accordion/index.ts +0 -4
- package/src/components/Breadcrumb/Breadcrumb.args.ts +0 -61
- package/src/components/Breadcrumb/Breadcrumb.props.ts +0 -13
- package/src/components/Breadcrumb/Breadcrumb.tsx +0 -82
- package/src/components/Breadcrumb/index.ts +0 -1
- package/src/components/Button/Button.args.ts +0 -35
- package/src/components/Button/Button.props.ts +0 -89
- package/src/components/Button/Button.tsx +0 -77
- package/src/components/Button/index.ts +0 -2
- package/src/components/Callout/Callout.args.ts +0 -38
- package/src/components/Callout/Callout.props.ts +0 -60
- package/src/components/Callout/Callout.tsx +0 -80
- package/src/components/Callout/index.ts +0 -2
- package/src/components/Cards/CardGroup/CardGroup.args.ts +0 -807
- package/src/components/Cards/CardGroup/CardGroup.props.ts +0 -78
- package/src/components/Cards/CardGroup/CardGroup.tsx +0 -54
- package/src/components/Cards/CardGroup/index.tsx +0 -3
- package/src/components/Cards/DataCard/DataCard.args.ts +0 -69
- package/src/components/Cards/DataCard/DataCard.props.ts +0 -60
- package/src/components/Cards/DataCard/DataCard.tsx +0 -107
- package/src/components/Cards/DataCard/index.tsx +0 -3
- package/src/components/Cards/DetailCard/DetailCard.args.ts +0 -17
- package/src/components/Cards/DetailCard/DetailCard.props.ts +0 -43
- package/src/components/Cards/DetailCard/DetailCard.tsx +0 -62
- package/src/components/Cards/DetailCard/index.tsx +0 -3
- package/src/components/Cards/FactlistCard/FactListCard.args.ts +0 -14
- package/src/components/Cards/FactlistCard/FactListCard.props.ts +0 -19
- package/src/components/Cards/FactlistCard/FactListCard.tsx +0 -42
- package/src/components/Cards/FactlistCard/index.tsx +0 -3
- package/src/components/Cards/FeatureCard/FeatureCard.args.ts +0 -30
- package/src/components/Cards/FeatureCard/FeatureCard.props.ts +0 -38
- package/src/components/Cards/FeatureCard/FeatureCard.tsx +0 -69
- package/src/components/Cards/FeatureCard/index.tsx +0 -3
- package/src/components/Cards/MultilinkCard/MultiLinkCard.tsx +0 -76
- package/src/components/Cards/MultilinkCard/MultilinkCard.args.ts +0 -33
- package/src/components/Cards/MultilinkCard/MultilinkCard.props.ts +0 -30
- package/src/components/Cards/MultilinkCard/index.tsx +0 -3
- package/src/components/Cards/PromoCard/PromoCard.args.ts +0 -19
- package/src/components/Cards/PromoCard/PromoCard.props.ts +0 -36
- package/src/components/Cards/PromoCard/PromoCard.tsx +0 -60
- package/src/components/Cards/PromoCard/index.tsx +0 -3
- package/src/components/Cards/StatCard/StatCard.args.ts +0 -14
- package/src/components/Cards/StatCard/StatCard.props.ts +0 -21
- package/src/components/Cards/StatCard/StatCard.tsx +0 -36
- package/src/components/Cards/StatCard/index.tsx +0 -3
- package/src/components/Cards/TextCard/TextCard.args.ts +0 -21
- package/src/components/Cards/TextCard/TextCard.props.ts +0 -32
- package/src/components/Cards/TextCard/TextCard.tsx +0 -62
- package/src/components/Cards/TextCard/index.tsx +0 -3
- package/src/components/Checkbox/Checkbox.args.ts +0 -42
- package/src/components/Checkbox/Checkbox.props.ts +0 -5
- package/src/components/Checkbox/Checkbox.tsx +0 -94
- package/src/components/Checkbox/index.ts +0 -2
- package/src/components/Collapse/Collapse.props.ts +0 -92
- package/src/components/Collapse/Collapse.tsx +0 -130
- package/src/components/Collapse/index.ts +0 -1
- package/src/components/ContextMenu/ContextMenu.args.ts +0 -62
- package/src/components/ContextMenu/ContextMenu.props.ts +0 -28
- package/src/components/ContextMenu/ContextMenu.tsx +0 -32
- package/src/components/ContextMenu/index.ts +0 -1
- package/src/components/Credit/Credit.args.ts +0 -14
- package/src/components/Credit/Credit.props.ts +0 -11
- package/src/components/Credit/Credit.tsx +0 -41
- package/src/components/Credit/index.ts +0 -1
- package/src/components/DatePicker/DatePicker.args.ts +0 -56
- package/src/components/DatePicker/DatePicker.props.ts +0 -26
- package/src/components/DatePicker/DatePicker.tsx +0 -80
- package/src/components/DatePicker/index.ts +0 -1
- package/src/components/Dropdown/Dropdown.args.ts +0 -70
- package/src/components/Dropdown/Dropdown.props.ts +0 -53
- package/src/components/Dropdown/Dropdown.tsx +0 -95
- package/src/components/Dropdown/index.ts +0 -1
- package/src/components/Empty/Empty.props.ts +0 -13
- package/src/components/Empty/Empty.tsx +0 -16
- package/src/components/Empty/index.ts +0 -1
- package/src/components/Fieldset/Fieldset.props.ts +0 -33
- package/src/components/Fieldset/Fieldset.tsx +0 -96
- package/src/components/Fieldset/index.ts +0 -1
- package/src/components/FileUpload/FileUpload.args.ts +0 -60
- package/src/components/FileUpload/FileUpload.props.ts +0 -21
- package/src/components/FileUpload/FileUpload.tsx +0 -116
- package/src/components/FileUpload/index.ts +0 -1
- package/src/components/Footer/Footer.args.ts +0 -74
- package/src/components/Footer/Footer.props.ts +0 -60
- package/src/components/Footer/Footer.tsx +0 -99
- package/src/components/Footer/index.ts +0 -1
- package/src/components/Form/Form.args.ts +0 -5
- package/src/components/Form/Form.props.ts +0 -8
- package/src/components/Form/Form.tsx +0 -23
- package/src/components/Form/index.ts +0 -2
- package/src/components/FormControl/FormControl.props.ts +0 -72
- package/src/components/FormControl/FormControl.tsx +0 -169
- package/src/components/FormControl/index.ts +0 -2
- package/src/components/FormElement/FormElement.props.ts +0 -60
- package/src/components/FormElement/FormElement.tsx +0 -19
- package/src/components/FormElement/index.ts +0 -1
- package/src/components/GlobalProvider/GlobalCtx.ts +0 -6
- package/src/components/GlobalProvider/GlobalProvider.props.ts +0 -15
- package/src/components/GlobalProvider/GlobalProvider.tsx +0 -21
- package/src/components/GlobalProvider/index.ts +0 -2
- package/src/components/Heading/Heading.args.ts +0 -49
- package/src/components/Heading/Heading.props.ts +0 -24
- package/src/components/Heading/Heading.tsx +0 -28
- package/src/components/Heading/index.ts +0 -1
- package/src/components/Hero/Hero.args.ts +0 -136
- package/src/components/Hero/Hero.props.ts +0 -62
- package/src/components/Hero/Hero.tsx +0 -94
- package/src/components/Hero/HeroCard.props.ts +0 -54
- package/src/components/Hero/HeroCard.tsx +0 -65
- package/src/components/Hero/index.ts +0 -2
- package/src/components/Icon/Icon.args.ts +0 -15
- package/src/components/Icon/Icon.props.ts +0 -16
- package/src/components/Icon/Icon.tsx +0 -25
- package/src/components/Icon/index.ts +0 -1
- package/src/components/Image/Image.args.ts +0 -29
- package/src/components/Image/Image.props.ts +0 -43
- package/src/components/Image/Image.tsx +0 -51
- package/src/components/Image/index.ts +0 -1
- package/src/components/Input/Input.args.ts +0 -139
- package/src/components/Input/Input.props.ts +0 -65
- package/src/components/Input/Input.tsx +0 -65
- package/src/components/Input/index.ts +0 -1
- package/src/components/Link/Link.props.ts +0 -39
- package/src/components/Link/Link.tsx +0 -42
- package/src/components/Link/index.ts +0 -1
- package/src/components/LinkList/LinkList.args.ts +0 -193
- package/src/components/LinkList/LinkList.props.ts +0 -52
- package/src/components/LinkList/LinkList.tsx +0 -59
- package/src/components/LinkList/index.ts +0 -1
- package/src/components/List/List.args.ts +0 -34
- package/src/components/List/List.props.ts +0 -29
- package/src/components/List/List.tsx +0 -36
- package/src/components/List/ListItem.props.ts +0 -18
- package/src/components/List/ListItem.tsx +0 -17
- package/src/components/List/index.ts +0 -2
- package/src/components/Loading/Loading.args.ts +0 -55
- package/src/components/Loading/Loading.props.ts +0 -23
- package/src/components/Loading/Loading.tsx +0 -24
- package/src/components/Loading/index.ts +0 -1
- package/src/components/LocalNav/LocalNav.args.ts +0 -64
- package/src/components/LocalNav/LocalNav.props.ts +0 -56
- package/src/components/LocalNav/LocalNav.tsx +0 -181
- package/src/components/LocalNav/index.ts +0 -1
- package/src/components/Logo/Logo.args.ts +0 -45
- package/src/components/Logo/Logo.props.ts +0 -67
- package/src/components/Logo/Logo.tsx +0 -247
- package/src/components/Logo/index.ts +0 -1
- package/src/components/LogoGrid/LogoGrid.args.ts +0 -50
- package/src/components/LogoGrid/LogoGrid.props.ts +0 -28
- package/src/components/LogoGrid/LogoGrid.tsx +0 -53
- package/src/components/LogoGrid/index.ts +0 -1
- package/src/components/Navigation/Navigation.args.ts +0 -113
- package/src/components/Navigation/Navigation.props.ts +0 -120
- package/src/components/Navigation/Navigation.tsx +0 -246
- package/src/components/Navigation/index.ts +0 -1
- package/src/components/Notification/Notification.args.ts +0 -157
- package/src/components/Notification/Notification.props.ts +0 -67
- package/src/components/Notification/Notification.tsx +0 -78
- package/src/components/Notification/index.ts +0 -1
- package/src/components/NumberPicker/NumberPicker.args.ts +0 -50
- package/src/components/NumberPicker/NumberPicker.props.ts +0 -26
- package/src/components/NumberPicker/NumberPicker.tsx +0 -88
- package/src/components/NumberPicker/index.ts +0 -1
- package/src/components/Pagination/Pagination.args.ts +0 -43
- package/src/components/Pagination/Pagination.props.ts +0 -66
- package/src/components/Pagination/Pagination.tsx +0 -115
- package/src/components/Pagination/index.ts +0 -1
- package/src/components/Profile/Profile.args.ts +0 -58
- package/src/components/Profile/Profile.props.ts +0 -55
- package/src/components/Profile/Profile.tsx +0 -51
- package/src/components/Profile/index.ts +0 -1
- package/src/components/Radio/Radio.args.ts +0 -15
- package/src/components/Radio/Radio.props.ts +0 -6
- package/src/components/Radio/Radio.tsx +0 -102
- package/src/components/Radio/index.ts +0 -2
- package/src/components/ReadMore/ReadMore.args.ts +0 -23
- package/src/components/ReadMore/ReadMore.props.ts +0 -38
- package/src/components/ReadMore/ReadMore.tsx +0 -55
- package/src/components/ReadMore/index.ts +0 -1
- package/src/components/RichText/RichText.props.ts +0 -11
- package/src/components/RichText/RichText.tsx +0 -22
- package/src/components/RichText/index.ts +0 -1
- package/src/components/RichText/richText.args.ts +0 -38
- package/src/components/SearchField/SearchField.args.ts +0 -73
- package/src/components/SearchField/SearchField.props.ts +0 -35
- package/src/components/SearchField/SearchField.tsx +0 -83
- package/src/components/SearchField/index.ts +0 -1
- package/src/components/SocialMedia/SocialMedia.args.ts +0 -54
- package/src/components/SocialMedia/SocialMedia.props.ts +0 -45
- package/src/components/SocialMedia/SocialMedia.tsx +0 -46
- package/src/components/SocialMedia/index.ts +0 -3
- package/src/components/TableOfContents/TableOfContents.args.ts +0 -35
- package/src/components/TableOfContents/TableOfContents.props.ts +0 -23
- package/src/components/TableOfContents/TableOfContents.tsx +0 -32
- package/src/components/TableOfContents/index.ts +0 -1
- package/src/components/Tabs/Tabs.args.tsx +0 -201
- package/src/components/Tabs/Tabs.props.ts +0 -13
- package/src/components/Tabs/Tabs.tsx +0 -60
- package/src/components/Tabs/index.ts +0 -1
- package/src/components/Tag/Tag.args.ts +0 -15
- package/src/components/Tag/Tag.props.ts +0 -34
- package/src/components/Tag/Tag.tsx +0 -104
- package/src/components/Tag/TagCtx.ts +0 -4
- package/src/components/Tag/TagSet.args.ts +0 -37
- package/src/components/Tag/TagSet.props.ts +0 -37
- package/src/components/Tag/TagSet.tsx +0 -61
- package/src/components/Tag/index.ts +0 -2
- package/src/components/TextInput/TextInput.args.ts +0 -75
- package/src/components/TextInput/TextInput.props.ts +0 -20
- package/src/components/TextInput/TextInput.tsx +0 -71
- package/src/components/TextInput/index.ts +0 -2
- package/src/components/Textarea/Textarea.args.ts +0 -34
- package/src/components/Textarea/Textarea.props.ts +0 -45
- package/src/components/Textarea/Textarea.tsx +0 -52
- package/src/components/Textarea/index.ts +0 -3
- package/src/components/Toggle/Toggle.args.ts +0 -62
- package/src/components/Toggle/Toggle.props.ts +0 -27
- package/src/components/Toggle/Toggle.tsx +0 -85
- package/src/components/Toggle/index.ts +0 -3
- package/src/components/Tooltip/Tooltip.args.ts +0 -39
- package/src/components/Tooltip/Tooltip.props.ts +0 -38
- package/src/components/Tooltip/Tooltip.tsx +0 -119
- package/src/components/Tooltip/index.ts +0 -1
- package/src/components/Video/Video.args.ts +0 -47
- package/src/components/Video/Video.props.ts +0 -35
- package/src/components/Video/Video.tsx +0 -34
- package/src/components/Video/VideoPlayer.props.ts +0 -51
- package/src/components/Video/VideoPlayer.tsx +0 -71
- package/src/components/Video/index.ts +0 -1
- package/src/components/Video/media-file-poster.jpg +0 -0
- package/src/components/index.ts +0 -46
- package/src/declarations.d.ts +0 -36
- package/src/hooks/index.ts +0 -2
- package/src/hooks/useGlobalSettings.ts +0 -13
- package/src/hooks/usePrevious.ts +0 -15
- package/src/hooks/useVideoPlayer.ts +0 -85
- package/src/index.ts +0 -1
- package/src/setup.ts +0 -6
- package/src/stories/Accordion/Accordion.stories.tsx +0 -145
- package/src/stories/Breadcrumb/Breadcrumb.mdx +0 -17
- package/src/stories/Breadcrumb/Breadcrumb.stories.tsx +0 -20
- package/src/stories/Button/Button.mdx +0 -94
- package/src/stories/Button/Button.stories.tsx +0 -68
- package/src/stories/Callout/Callout.mdx +0 -35
- package/src/stories/Callout/Callout.stories.tsx +0 -43
- package/src/stories/Card/DataCard.stories.tsx +0 -45
- package/src/stories/Card/DetailCard.stories.tsx +0 -41
- package/src/stories/Card/FactlistCard.stories.tsx +0 -48
- package/src/stories/Card/FeatureCard.stories.tsx +0 -56
- package/src/stories/Card/MultilinkCard.stories.tsx +0 -48
- package/src/stories/Card/PromoCard.stories.tsx +0 -48
- package/src/stories/Card/StatCard.stories.tsx +0 -45
- package/src/stories/Card/TextCard.stories.tsx +0 -45
- package/src/stories/CardGroup/CardGroup.mdx +0 -17
- package/src/stories/CardGroup/CardGroup.stories.tsx +0 -50
- package/src/stories/Checkbox/Checkbox.stories.tsx +0 -118
- package/src/stories/ContextMenu/ContextMenu.stories.tsx +0 -83
- package/src/stories/DatePicker/DatePicker.stories.tsx +0 -110
- package/src/stories/Dropdown/Dropdown.stories.tsx +0 -145
- package/src/stories/Empty/Empty.stories.tsx +0 -53
- package/src/stories/Fieldset/Fieldset.stories.tsx +0 -167
- package/src/stories/FileUpload/FileUpload.stories.tsx +0 -103
- package/src/stories/Footer/Footer.mdx +0 -17
- package/src/stories/Footer/Footer.stories.tsx +0 -15
- package/src/stories/Form/Form.mdx +0 -58
- package/src/stories/Form/Form.stories.tsx +0 -162
- package/src/stories/GetStarted.mdx +0 -57
- package/src/stories/Heading/Heading.stories.tsx +0 -193
- package/src/stories/Hero/Hero.stories.tsx +0 -68
- package/src/stories/Image/Image.stories.tsx +0 -50
- package/src/stories/Link/Link.stories.tsx +0 -81
- package/src/stories/LinkList/LinkList.args.ts +0 -190
- package/src/stories/LinkList/LinkList.stories.tsx +0 -60
- package/src/stories/List/List.stories.tsx +0 -167
- package/src/stories/Loading/Loading.stories.tsx +0 -97
- package/src/stories/LocalNav/LocalNav.mdx +0 -17
- package/src/stories/LocalNav/LocalNav.stories.tsx +0 -15
- package/src/stories/Logo/Logo.stories.tsx +0 -172
- package/src/stories/LogoGrid/LogoGrid.stories.tsx +0 -59
- package/src/stories/Navigation/Navigation.mdx +0 -17
- package/src/stories/Navigation/Navigation.stories.tsx +0 -15
- package/src/stories/Notification/Notification.stories.tsx +0 -187
- package/src/stories/NumberPicker/NumberPicker.stories.tsx +0 -69
- package/src/stories/Pagination/Pagination.stories.tsx +0 -86
- package/src/stories/Profile/Profile.stories.tsx +0 -64
- package/src/stories/Radio/Radio.stories.tsx +0 -232
- package/src/stories/ReadMore/ReadMore.stories.tsx +0 -59
- package/src/stories/RichText/RichText.stories.tsx +0 -63
- package/src/stories/SearchField/SearchField.stories.tsx +0 -91
- package/src/stories/SocialMedia/SocialMedia.stories.tsx +0 -60
- package/src/stories/TableOfContents/TableOfContents.stories.tsx +0 -55
- package/src/stories/Tabs/Tabs.mdx +0 -17
- package/src/stories/Tabs/Tabs.stories.tsx +0 -25
- package/src/stories/Tag/Tag.stories.tsx +0 -130
- package/src/stories/TextInput/TextInput.stories.tsx +0 -100
- package/src/stories/Textarea/Textarea.stories.tsx +0 -147
- package/src/stories/Toggle/Toggle.stories.tsx +0 -99
- package/src/stories/Tooltip/Tooltip.stories.tsx +0 -82
- package/src/stories/Video/Video.stories.tsx +0 -71
- package/src/stories/Welcome.stories.mdx +0 -37
- package/src/stories/assets/code-brackets.svg +0 -1
- package/src/stories/assets/colors.svg +0 -1
- package/src/stories/assets/comments.svg +0 -1
- package/src/stories/assets/direction.svg +0 -1
- package/src/stories/assets/flow.svg +0 -1
- package/src/stories/assets/plugin.svg +0 -1
- package/src/stories/assets/repo.svg +0 -1
- package/src/stories/assets/stackalt.svg +0 -1
- package/src/stories/welcome.scss +0 -133
- package/src/types/forms.args.ts +0 -288
- package/src/types/index.ts +0 -137
- package/src/types/temp.d.ts +0 -9
- package/src/utils/checkArrayDuplicates.ts +0 -3
- package/src/utils/createChainedFunction.ts +0 -31
- package/src/utils/getDefaultDimensionValue.ts +0 -28
- package/src/utils/hoursMinutesSeconds.ts +0 -8
- package/src/utils/index.ts +0 -6
- package/src/utils/transitionEndListener.ts +0 -29
- package/src/utils/triggerBrowserReflow.ts +0 -4
- package/tsconfig.build.json +0 -19
- 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,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,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";
|