@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,60 +0,0 @@
|
|
|
1
|
-
import { LinkGroupProps } from "../LinkList/LinkList.props";
|
|
2
|
-
import { LinkProps } from "../LinkList/LinkList.props";
|
|
3
|
-
import { SocialMediaProps } from "../SocialMedia";
|
|
4
|
-
|
|
5
|
-
export interface FooterProps {
|
|
6
|
-
/**
|
|
7
|
-
* Specify an optional className to be added to your Footer.
|
|
8
|
-
*/
|
|
9
|
-
className?: string;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Props for the logo of the Footer
|
|
13
|
-
*/
|
|
14
|
-
logo?: string;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Specify the tagline for the Footer
|
|
18
|
-
*/
|
|
19
|
-
tagline?: string;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Specify the subtagline for the Footer
|
|
23
|
-
*/
|
|
24
|
-
subtagline?: string;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Specify the address for the Footer, in multiple lines
|
|
28
|
-
*/
|
|
29
|
-
address?: string[];
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Specify the linkgroup for the Footer's links
|
|
33
|
-
*/
|
|
34
|
-
linkgroup?: Required<Array<LinkGroupProps>>;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Specify the links to be displayed in this link group
|
|
38
|
-
*/
|
|
39
|
-
socialmedia?: SocialMediaProps;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Specify the legal statement for the Footer
|
|
43
|
-
*/
|
|
44
|
-
subscribe?: LinkProps;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Specify the legal statement for the Footer
|
|
48
|
-
*/
|
|
49
|
-
legal?: string;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Specify the secondary links for the Footer
|
|
53
|
-
*/
|
|
54
|
-
secondarylinks?: LinkProps[];
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Specify the anchor link for the Footer
|
|
58
|
-
*/
|
|
59
|
-
anchorlink?: LinkProps;
|
|
60
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
3
|
-
import classnames from "classnames";
|
|
4
|
-
import { FooterProps } from "./Footer.props";
|
|
5
|
-
import { LinkList } from "../LinkList";
|
|
6
|
-
import { Button } from "../Button";
|
|
7
|
-
import { SocialMedia } from "../SocialMedia";
|
|
8
|
-
|
|
9
|
-
const Footer: FC<FooterProps> = ({
|
|
10
|
-
className,
|
|
11
|
-
logo,
|
|
12
|
-
tagline,
|
|
13
|
-
subtagline,
|
|
14
|
-
address,
|
|
15
|
-
linkgroup,
|
|
16
|
-
socialmedia,
|
|
17
|
-
subscribe,
|
|
18
|
-
legal,
|
|
19
|
-
secondarylinks,
|
|
20
|
-
anchorlink,
|
|
21
|
-
}) => {
|
|
22
|
-
const { prefix } = useGlobalSettings();
|
|
23
|
-
|
|
24
|
-
const baseClass = `${prefix}--footer`;
|
|
25
|
-
const footerClasses = classnames(className, baseClass);
|
|
26
|
-
|
|
27
|
-
return (
|
|
28
|
-
<footer className={footerClasses}>
|
|
29
|
-
<div className={`${baseClass}--main ${prefix}--container`}>
|
|
30
|
-
<div className="site--info">
|
|
31
|
-
<img className={`${baseClass}--logo`} src={logo} alt="ILO Logo" />
|
|
32
|
-
<h3 className={`${baseClass}--headline`}>{tagline}</h3>
|
|
33
|
-
<h4 className={`${baseClass}--subhead`}>{subtagline}</h4>
|
|
34
|
-
</div>
|
|
35
|
-
{address && (
|
|
36
|
-
<div className="address">
|
|
37
|
-
{address.map((line, i) => (
|
|
38
|
-
<p key={i} className="address--line">
|
|
39
|
-
{line}
|
|
40
|
-
</p>
|
|
41
|
-
))}
|
|
42
|
-
</div>
|
|
43
|
-
)}
|
|
44
|
-
{linkgroup && (
|
|
45
|
-
<nav className="links">
|
|
46
|
-
<LinkList linkgroup={linkgroup} theme="dark"></LinkList>
|
|
47
|
-
</nav>
|
|
48
|
-
)}
|
|
49
|
-
{socialmedia && (
|
|
50
|
-
<div className="connect">
|
|
51
|
-
<div className="social--links">
|
|
52
|
-
<SocialMedia {...socialmedia} theme="dark" />
|
|
53
|
-
</div>
|
|
54
|
-
</div>
|
|
55
|
-
)}
|
|
56
|
-
{subscribe && (
|
|
57
|
-
<div className="subscribe">
|
|
58
|
-
<Button
|
|
59
|
-
label={subscribe?.label}
|
|
60
|
-
url={subscribe?.url}
|
|
61
|
-
type="primary"
|
|
62
|
-
size="large"
|
|
63
|
-
target="_blank"
|
|
64
|
-
></Button>
|
|
65
|
-
</div>
|
|
66
|
-
)}
|
|
67
|
-
</div>
|
|
68
|
-
<div className={`${baseClass}--secondary`}>
|
|
69
|
-
<div className={`${prefix}--container`}>
|
|
70
|
-
<div className={`${baseClass}--secondary--details`}>
|
|
71
|
-
<div className="legal">{legal}</div>
|
|
72
|
-
{secondarylinks && (
|
|
73
|
-
<nav className="secondarylinks">
|
|
74
|
-
<ul className="secondarylinks--list">
|
|
75
|
-
{secondarylinks.map((link, i) => (
|
|
76
|
-
<li className="secondarylinks--list--item">
|
|
77
|
-
<a
|
|
78
|
-
key={i}
|
|
79
|
-
href={link.url}
|
|
80
|
-
className="secondarylinks--list--link"
|
|
81
|
-
>
|
|
82
|
-
{link?.label}
|
|
83
|
-
</a>
|
|
84
|
-
</li>
|
|
85
|
-
))}
|
|
86
|
-
</ul>
|
|
87
|
-
</nav>
|
|
88
|
-
)}
|
|
89
|
-
</div>
|
|
90
|
-
<a href={anchorlink?.url} className="anchorlink">
|
|
91
|
-
{anchorlink?.label}
|
|
92
|
-
</a>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</footer>
|
|
96
|
-
);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
export default Footer;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Footer } from "./Footer";
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { forwardRef } from "react";
|
|
2
|
-
import { useGlobalSettings } from "../../hooks";
|
|
3
|
-
import classNames from "classnames";
|
|
4
|
-
import { FormProps } from "./Form.props";
|
|
5
|
-
|
|
6
|
-
const Form = forwardRef<HTMLFormElement, FormProps>(
|
|
7
|
-
({ children, theme = "light", ...props }, ref) => {
|
|
8
|
-
const { prefix } = useGlobalSettings();
|
|
9
|
-
|
|
10
|
-
const baseClass = `${prefix}--form`;
|
|
11
|
-
const themeClass = `${baseClass}__theme__${theme}`;
|
|
12
|
-
|
|
13
|
-
const formClasses = classNames(baseClass, themeClass);
|
|
14
|
-
|
|
15
|
-
return (
|
|
16
|
-
<form ref={ref} className={formClasses} {...props}>
|
|
17
|
-
{children}
|
|
18
|
-
</form>
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
);
|
|
22
|
-
|
|
23
|
-
export default Form;
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
2
|
-
import { DropdownProps } from "../Dropdown/Dropdown.props";
|
|
3
|
-
import { InputProps } from "../Input/Input.props";
|
|
4
|
-
import { TextareaProps } from "../Textarea";
|
|
5
|
-
import { ToggleProps } from "../Toggle";
|
|
6
|
-
|
|
7
|
-
export interface FormControlPublicProps {
|
|
8
|
-
/**
|
|
9
|
-
* Optional className to add to the FormControl wrapper
|
|
10
|
-
*/
|
|
11
|
-
className?: string;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Is the input disabled?
|
|
15
|
-
*/
|
|
16
|
-
disabled?: boolean;
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Does the input have an error?
|
|
20
|
-
*/
|
|
21
|
-
error?: boolean;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* The message to display in case of an error
|
|
25
|
-
*/
|
|
26
|
-
errorMessage?: string;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Helper text to display with the label
|
|
30
|
-
*/
|
|
31
|
-
helper?: string;
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* The FormControl's label
|
|
35
|
-
*/
|
|
36
|
-
label: string;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Where to place the label
|
|
40
|
-
*/
|
|
41
|
-
labelPlacement?: "top" | "start" | "bottom" | "end";
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* The size of your label. Defaults to "medium"
|
|
45
|
-
*/
|
|
46
|
-
labelSize?: "small" | "medium" | "large";
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Inline styles for the input
|
|
50
|
-
*/
|
|
51
|
-
style?: React.CSSProperties;
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Optional text to render in a tooltip
|
|
55
|
-
*/
|
|
56
|
-
tooltip?: string;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export interface FormControlPrivateProps {
|
|
60
|
-
/**
|
|
61
|
-
* The id of the underlying input element
|
|
62
|
-
*/
|
|
63
|
-
fieldId: string;
|
|
64
|
-
|
|
65
|
-
children:
|
|
66
|
-
| ReactElement<ToggleProps>
|
|
67
|
-
| ReactElement<InputProps>
|
|
68
|
-
| ReactElement<DropdownProps>
|
|
69
|
-
| ReactElement<TextareaProps>;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export type FormControlProps = FormControlPublicProps & FormControlPrivateProps;
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import classnames from "classnames";
|
|
2
|
-
import { nanoid } from "nanoid";
|
|
3
|
-
import {
|
|
4
|
-
FC,
|
|
5
|
-
createContext,
|
|
6
|
-
useContext,
|
|
7
|
-
useEffect,
|
|
8
|
-
useMemo,
|
|
9
|
-
useState,
|
|
10
|
-
} from "react";
|
|
11
|
-
import { useGlobalSettings } from "../../hooks";
|
|
12
|
-
import { Tooltip } from "../Tooltip";
|
|
13
|
-
import { FormControlProps } from "./FormControl.props";
|
|
14
|
-
|
|
15
|
-
interface AllyFields {
|
|
16
|
-
tooltip?: string;
|
|
17
|
-
helper?: string;
|
|
18
|
-
errorMessage?: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
interface AllyFieldsIds {
|
|
22
|
-
tooltipId?: string;
|
|
23
|
-
helperId?: string;
|
|
24
|
-
errorId?: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export interface FormControlContextProps {
|
|
28
|
-
ariaDescribedBy?: string;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Calculates unique IDs for the internal accessibility elements
|
|
32
|
-
// TODO: When we upgrade to React 8, this should use useId instead
|
|
33
|
-
function getA11yFields(
|
|
34
|
-
baseClass = "",
|
|
35
|
-
{ tooltip, helper, errorMessage }: AllyFields = {}
|
|
36
|
-
) {
|
|
37
|
-
return {
|
|
38
|
-
tooltipId: tooltip && `${baseClass}--tooltip--${nanoid()}`,
|
|
39
|
-
helperId: helper && `${baseClass}--helper--${nanoid()}`,
|
|
40
|
-
errorId: errorMessage && `${baseClass}--error--${nanoid()}`,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
// Calculates the aria-describedby attribute value based on whether or not there's an error
|
|
45
|
-
function getAriaDescribedBy(getAllyFields: AllyFieldsIds, hasError?: boolean) {
|
|
46
|
-
const { tooltipId, helperId, errorId } = getAllyFields;
|
|
47
|
-
|
|
48
|
-
const ariaDescribedBy = classnames(tooltipId, {
|
|
49
|
-
[`${helperId}`]: !hasError,
|
|
50
|
-
[`${errorId}`]: hasError,
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
// For some reason, classnames seems to return "undefined" as a string sometimes
|
|
54
|
-
if (!ariaDescribedBy || ariaDescribedBy === "undefined") {
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
return ariaDescribedBy;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// The context passed down to form elements wrapped by the form control
|
|
61
|
-
export const FormControlContext: React.Context<FormControlContextProps> =
|
|
62
|
-
createContext({});
|
|
63
|
-
|
|
64
|
-
// Hook to get the context value
|
|
65
|
-
export const useFormControl = () => useContext(FormControlContext);
|
|
66
|
-
|
|
67
|
-
const FormControl: FC<FormControlProps> = ({
|
|
68
|
-
children,
|
|
69
|
-
className,
|
|
70
|
-
label,
|
|
71
|
-
helper,
|
|
72
|
-
errorMessage,
|
|
73
|
-
tooltip,
|
|
74
|
-
style,
|
|
75
|
-
error,
|
|
76
|
-
disabled,
|
|
77
|
-
fieldId,
|
|
78
|
-
labelSize = "medium",
|
|
79
|
-
labelPlacement = "top",
|
|
80
|
-
}) => {
|
|
81
|
-
const { prefix } = useGlobalSettings();
|
|
82
|
-
|
|
83
|
-
// Classes applied to the outer container
|
|
84
|
-
const baseClass = `${prefix}--form-control`;
|
|
85
|
-
|
|
86
|
-
// The ids of the tooltip, helper, and error only get calculated on first render
|
|
87
|
-
const a11yFields = useMemo(
|
|
88
|
-
() => getA11yFields(baseClass, { helper, errorMessage, tooltip }),
|
|
89
|
-
[baseClass, helper, errorMessage, tooltip]
|
|
90
|
-
);
|
|
91
|
-
|
|
92
|
-
// The ids of the tooltip, helper, and error
|
|
93
|
-
const { tooltipId, helperId, errorId } = a11yFields;
|
|
94
|
-
|
|
95
|
-
// The aria-describedby attribute value
|
|
96
|
-
const [ariaDescribedBy, setAriaDescribedBy] = useState<string | undefined>(
|
|
97
|
-
undefined
|
|
98
|
-
);
|
|
99
|
-
|
|
100
|
-
// Update the aria-describedby attribute value when the error changes
|
|
101
|
-
useEffect(() => {
|
|
102
|
-
setAriaDescribedBy(
|
|
103
|
-
getAriaDescribedBy({ tooltipId, helperId, errorId }, error)
|
|
104
|
-
);
|
|
105
|
-
}, [tooltipId, helperId, errorId, error]);
|
|
106
|
-
|
|
107
|
-
// The context passed down to form elements wrapped by the form control
|
|
108
|
-
const contextValue: FormControlContextProps = {
|
|
109
|
-
ariaDescribedBy,
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
// Classes applied to the outer container
|
|
113
|
-
const errorClass = `${baseClass}__error`;
|
|
114
|
-
const disabledClass = `${baseClass}__disabled`;
|
|
115
|
-
const labelPlacementClass = `${baseClass}__label-placement__${labelPlacement}`;
|
|
116
|
-
|
|
117
|
-
const formControlClass = classnames(
|
|
118
|
-
baseClass,
|
|
119
|
-
className,
|
|
120
|
-
labelPlacementClass,
|
|
121
|
-
[{ [errorClass]: error }, { [disabledClass]: disabled }]
|
|
122
|
-
);
|
|
123
|
-
|
|
124
|
-
// Classes applies to the label
|
|
125
|
-
const labelBaseClass = `${baseClass}--label`;
|
|
126
|
-
const labelSizeClass = `${labelBaseClass}__size__${labelSize}`;
|
|
127
|
-
const labelClass = classnames(labelBaseClass, labelSizeClass);
|
|
128
|
-
|
|
129
|
-
// Helper class
|
|
130
|
-
const helperClass = `${baseClass}--helper`;
|
|
131
|
-
|
|
132
|
-
// Show the error message if there is an error and an error message
|
|
133
|
-
const showError = !!error && !!errorMessage;
|
|
134
|
-
|
|
135
|
-
// Show the helper text if there is no error and a helper text
|
|
136
|
-
const showHelper = !showError && !!helper;
|
|
137
|
-
|
|
138
|
-
return (
|
|
139
|
-
<FormControlContext.Provider value={contextValue}>
|
|
140
|
-
<div className={formControlClass} style={style}>
|
|
141
|
-
<span className={labelClass}>
|
|
142
|
-
<label htmlFor={fieldId}>{label}</label>
|
|
143
|
-
{tooltip && (
|
|
144
|
-
<Tooltip
|
|
145
|
-
id={tooltipId}
|
|
146
|
-
className={`${baseClass}--legend--tooltip`}
|
|
147
|
-
icon={true}
|
|
148
|
-
label={tooltip}
|
|
149
|
-
theme={"dark"}
|
|
150
|
-
/>
|
|
151
|
-
)}
|
|
152
|
-
</span>
|
|
153
|
-
{children}
|
|
154
|
-
{showHelper && (
|
|
155
|
-
<span id={helperId} className={helperClass}>
|
|
156
|
-
{helper}
|
|
157
|
-
</span>
|
|
158
|
-
)}
|
|
159
|
-
{showError && (
|
|
160
|
-
<span id={errorId} className={helperClass} aria-live="assertive">
|
|
161
|
-
{errorMessage}
|
|
162
|
-
</span>
|
|
163
|
-
)}
|
|
164
|
-
</div>
|
|
165
|
-
</FormControlContext.Provider>
|
|
166
|
-
);
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
export default FormControl;
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from "react";
|
|
2
|
-
import { TextInputTypes, FieldTypes } from "../../types";
|
|
3
|
-
import { DropdownProps } from "../Dropdown/Dropdown.props";
|
|
4
|
-
import { InputProps } from "../Input/Input.props";
|
|
5
|
-
import { TextareaProps } from "../Textarea/Textarea.props";
|
|
6
|
-
|
|
7
|
-
export interface FormElementProps {
|
|
8
|
-
/**
|
|
9
|
-
* Specify the content of your FormElement.
|
|
10
|
-
*/
|
|
11
|
-
children:
|
|
12
|
-
| ReactElement<InputProps>
|
|
13
|
-
| ReactElement<DropdownProps>
|
|
14
|
-
| ReactElement<TextareaProps>;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Specify an optional className to be added to your FormElement component.
|
|
18
|
-
*/
|
|
19
|
-
className?: string;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Is the field disabled?
|
|
23
|
-
*/
|
|
24
|
-
disabled?: boolean;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The fieldset's error message
|
|
28
|
-
*/
|
|
29
|
-
error: string | false;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* The fieldset's helper text
|
|
33
|
-
*/
|
|
34
|
-
helper: string;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The ID of the form element
|
|
38
|
-
*/
|
|
39
|
-
elemid: string;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* The fieldset's label
|
|
43
|
-
*/
|
|
44
|
-
label?: string;
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Is this element required?
|
|
48
|
-
*/
|
|
49
|
-
required: boolean;
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Does this fieldset have a tooltip?
|
|
53
|
-
*/
|
|
54
|
-
tooltip?: string;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* The type of field
|
|
58
|
-
*/
|
|
59
|
-
type?: TextInputTypes | FieldTypes;
|
|
60
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import { FormElementProps } from "./FormElement.props";
|
|
3
|
-
|
|
4
|
-
// TODO: What is the point of this component?
|
|
5
|
-
const FormElement: FC<FormElementProps> = ({
|
|
6
|
-
children,
|
|
7
|
-
// className,
|
|
8
|
-
// error,
|
|
9
|
-
// elemid,
|
|
10
|
-
// helper,
|
|
11
|
-
// label,
|
|
12
|
-
// required,
|
|
13
|
-
// tooltip,
|
|
14
|
-
// type,
|
|
15
|
-
}) => {
|
|
16
|
-
return <>{children}</>;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default FormElement;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as FormElement } from "./FormElement";
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export interface GlobalProviderContextProps {
|
|
4
|
-
/**
|
|
5
|
-
* Prefix classname to use across the components.
|
|
6
|
-
*/
|
|
7
|
-
prefix?: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface GlobalProviderProps extends GlobalProviderContextProps {
|
|
11
|
-
/**
|
|
12
|
-
* Specify the content of nested under the global provider.
|
|
13
|
-
*/
|
|
14
|
-
children: ReactNode;
|
|
15
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { themeprefix } from "@ilo-org/themes/tokens/theme/base.json";
|
|
2
|
-
import { FC } from "react";
|
|
3
|
-
import { GlobalProviderContext } from "./GlobalCtx";
|
|
4
|
-
import { GlobalProviderProps } from "./GlobalProvider.props";
|
|
5
|
-
|
|
6
|
-
const GlobalProvider: FC<GlobalProviderProps> = ({
|
|
7
|
-
prefix = themeprefix.value,
|
|
8
|
-
children,
|
|
9
|
-
}) => {
|
|
10
|
-
return (
|
|
11
|
-
<GlobalProviderContext.Provider
|
|
12
|
-
value={{
|
|
13
|
-
prefix,
|
|
14
|
-
}}
|
|
15
|
-
>
|
|
16
|
-
{children}
|
|
17
|
-
</GlobalProviderContext.Provider>
|
|
18
|
-
);
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export default GlobalProvider;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { HeadingProps } from "./Heading.props";
|
|
2
|
-
|
|
3
|
-
const text =
|
|
4
|
-
"The ILO brings together governments, employers and workers to set labour standards and promote decent work";
|
|
5
|
-
|
|
6
|
-
const heading1: HeadingProps = {
|
|
7
|
-
children: text,
|
|
8
|
-
level: "h1",
|
|
9
|
-
type: "actionable",
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const heading2: HeadingProps = {
|
|
13
|
-
children: text,
|
|
14
|
-
level: "h2",
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const heading3: HeadingProps = {
|
|
18
|
-
children: text,
|
|
19
|
-
level: "h3",
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const heading4: HeadingProps = {
|
|
23
|
-
children: text,
|
|
24
|
-
level: "h4",
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const heading5: HeadingProps = {
|
|
28
|
-
children: text,
|
|
29
|
-
level: "h5",
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const heading6: HeadingProps = {
|
|
33
|
-
children: text,
|
|
34
|
-
level: "h6",
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Sample prop definitions for Headings's enumerable properties (imported in stories and test)
|
|
39
|
-
*/
|
|
40
|
-
const HeadingArgs = {
|
|
41
|
-
heading1,
|
|
42
|
-
heading2,
|
|
43
|
-
heading3,
|
|
44
|
-
heading4,
|
|
45
|
-
heading5,
|
|
46
|
-
heading6,
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default HeadingArgs;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
import { HeadingLevel, LabelTypes } from "../../types";
|
|
3
|
-
|
|
4
|
-
export interface HeadingProps {
|
|
5
|
-
/**
|
|
6
|
-
* Specify the content of your heading.
|
|
7
|
-
*/
|
|
8
|
-
children: ReactNode;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Specify the heading level the heading. Default level is h3.
|
|
12
|
-
*/
|
|
13
|
-
level?: HeadingLevel;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Specify an optional className to be added to your heading.
|
|
17
|
-
*/
|
|
18
|
-
className?: string;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Specify an optional color of Heading.
|
|
22
|
-
*/
|
|
23
|
-
type?: LabelTypes;
|
|
24
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { HeadingProps } from "./Heading.props";
|
|
5
|
-
|
|
6
|
-
const Heading: FC<HeadingProps> = ({
|
|
7
|
-
level = "h3",
|
|
8
|
-
children,
|
|
9
|
-
className,
|
|
10
|
-
type,
|
|
11
|
-
...rest
|
|
12
|
-
}) => {
|
|
13
|
-
const { prefix } = useGlobalSettings();
|
|
14
|
-
const UseHeading = level;
|
|
15
|
-
const baseClass = `${prefix}--${level}`;
|
|
16
|
-
const headingClasses = classNames(className, {
|
|
17
|
-
[baseClass]: true,
|
|
18
|
-
[`${baseClass}--${type}`]: type,
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
return (
|
|
22
|
-
<UseHeading className={headingClasses} {...rest}>
|
|
23
|
-
{children}
|
|
24
|
-
</UseHeading>
|
|
25
|
-
);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export default Heading;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Heading } from "./Heading";
|