@ilo-org/react 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/Cards/CardGroup/CardGroup.js +7 -4
- package/lib/cjs/components/Cards/CardGroup/index.js +9 -8
- package/lib/cjs/components/Cards/DetailCard/DetailCard.js +2 -2
- package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +2 -2
- package/lib/cjs/components/Cards/FeatureCard/FeatureCard.js +2 -2
- package/lib/cjs/components/Cards/MultilinkCard/MultiLinkCard.js +2 -2
- package/lib/cjs/components/Cards/PromoCard/PromoCard.js +2 -2
- package/lib/cjs/components/Cards/StatCard/StatCard.js +2 -2
- package/lib/cjs/components/Cards/TextCard/TextCard.js +2 -2
- package/lib/cjs/components/LogoGrid/LogoGrid.js +1 -1
- package/lib/cjs/components/Navigation/Navigation.js +34 -8
- package/lib/cjs/components/SocialMedia/SocialMedia.js +1 -1
- package/lib/cjs/hooks/index.js +0 -2
- package/lib/esm/components/Cards/CardGroup/CardGroup.js +7 -4
- package/lib/esm/components/Cards/CardGroup/index.js +9 -8
- package/lib/esm/components/Cards/DetailCard/DetailCard.js +2 -2
- package/lib/esm/components/Cards/FactlistCard/FactListCard.js +2 -2
- package/lib/esm/components/Cards/FeatureCard/FeatureCard.js +2 -2
- package/lib/esm/components/Cards/MultilinkCard/MultiLinkCard.js +2 -2
- package/lib/esm/components/Cards/PromoCard/PromoCard.js +2 -2
- package/lib/esm/components/Cards/StatCard/StatCard.js +2 -2
- package/lib/esm/components/Cards/TextCard/TextCard.js +2 -2
- package/lib/esm/components/LogoGrid/LogoGrid.js +1 -1
- package/lib/esm/components/Navigation/Navigation.js +35 -9
- package/lib/esm/components/SocialMedia/SocialMedia.js +1 -1
- package/lib/esm/hooks/index.js +0 -1
- package/lib/types/react/src/components/Cards/CardGroup/CardGroup.props.d.ts +28 -2
- package/lib/types/react/src/components/Cards/DetailCard/DetailCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/FactlistCard/FactListCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/FeatureCard/FeatureCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/MultilinkCard/MultilinkCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/PromoCard/PromoCard.props.d.ts +5 -1
- package/lib/types/react/src/components/Cards/StatCard/StatCard.props.d.ts +8 -1
- package/lib/types/react/src/components/Cards/TextCard/TextCard.props.d.ts +5 -1
- package/lib/types/react/src/hooks/index.d.ts +0 -1
- package/lib/types/react/src/types/index.d.ts +1 -0
- package/package.json +14 -11
- 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/lib/cjs/hooks/useVideoPlayer.js +0 -75
- package/lib/esm/hooks/useVideoPlayer.js +0 -73
- package/lib/types/react/src/hooks/useVideoPlayer.d.ts +0 -12
- 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";
|