@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,71 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { TextInputProps, LabelledTextInputProps } from "./TextInput.props";
|
|
5
|
-
import FormControl, { useFormControl } from "../FormControl/FormControl";
|
|
6
|
-
|
|
7
|
-
const TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(
|
|
8
|
-
(
|
|
9
|
-
{
|
|
10
|
-
onChange,
|
|
11
|
-
onBlur,
|
|
12
|
-
error,
|
|
13
|
-
id,
|
|
14
|
-
name,
|
|
15
|
-
placeholder,
|
|
16
|
-
required,
|
|
17
|
-
pattern,
|
|
18
|
-
disabled = false,
|
|
19
|
-
type = "text",
|
|
20
|
-
},
|
|
21
|
-
ref
|
|
22
|
-
) => {
|
|
23
|
-
const { prefix } = useGlobalSettings();
|
|
24
|
-
const formControlCtx = useFormControl();
|
|
25
|
-
const { ariaDescribedBy } = formControlCtx;
|
|
26
|
-
|
|
27
|
-
const baseClass = `${prefix}--text-input`;
|
|
28
|
-
|
|
29
|
-
const inputClass = classNames(baseClass, {
|
|
30
|
-
[`${baseClass}__error`]: error,
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<input
|
|
35
|
-
ref={ref}
|
|
36
|
-
id={id ? id : name}
|
|
37
|
-
name={name}
|
|
38
|
-
onChange={onChange}
|
|
39
|
-
onBlur={onBlur}
|
|
40
|
-
disabled={disabled}
|
|
41
|
-
placeholder={placeholder}
|
|
42
|
-
required={required}
|
|
43
|
-
type={type}
|
|
44
|
-
className={inputClass}
|
|
45
|
-
pattern={pattern}
|
|
46
|
-
aria-describedby={ariaDescribedBy}
|
|
47
|
-
/>
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
);
|
|
51
|
-
|
|
52
|
-
const LabelledTextInput = React.forwardRef<
|
|
53
|
-
HTMLInputElement,
|
|
54
|
-
LabelledTextInputProps
|
|
55
|
-
>((props, ref) => {
|
|
56
|
-
const { style, inputStyle, className, ...rest } = props;
|
|
57
|
-
const fieldId = props.id ? props.id : props.name;
|
|
58
|
-
|
|
59
|
-
return (
|
|
60
|
-
<FormControl
|
|
61
|
-
fieldId={fieldId}
|
|
62
|
-
style={style}
|
|
63
|
-
className={className}
|
|
64
|
-
{...rest}
|
|
65
|
-
>
|
|
66
|
-
<TextInput ref={ref} style={inputStyle} {...rest} />
|
|
67
|
-
</FormControl>
|
|
68
|
-
);
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
export default LabelledTextInput;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { LabelledTextareaProps, TextareaProps } from "./Textarea.props";
|
|
2
|
-
|
|
3
|
-
const placeholder =
|
|
4
|
-
"It was a cold day in April and the clocks were striking thirteen....";
|
|
5
|
-
|
|
6
|
-
export const basic: LabelledTextareaProps = {
|
|
7
|
-
id: "textarea",
|
|
8
|
-
disabled: false,
|
|
9
|
-
name: "textarea",
|
|
10
|
-
placeholder,
|
|
11
|
-
required: false,
|
|
12
|
-
spellcheck: false,
|
|
13
|
-
label: "Insert your life story here",
|
|
14
|
-
labelPlacement: "top" as const,
|
|
15
|
-
labelSize: "medium" as const,
|
|
16
|
-
style: { width: "100%" },
|
|
17
|
-
errorMessage: "This is an error message",
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const haserror: TextareaProps = {
|
|
21
|
-
...basic,
|
|
22
|
-
error: true,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export const disabled: TextareaProps = {
|
|
26
|
-
...basic,
|
|
27
|
-
disabled: true,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export default {
|
|
31
|
-
basic,
|
|
32
|
-
haserror,
|
|
33
|
-
disabled,
|
|
34
|
-
};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { FormFieldProps } from "../../types";
|
|
2
|
-
import { LabelledFormFieldProps } from "../../types";
|
|
3
|
-
export interface TextareaProps extends FormFieldProps<HTMLTextAreaElement> {
|
|
4
|
-
/**
|
|
5
|
-
* The Textarea's onChange callback.
|
|
6
|
-
*/
|
|
7
|
-
onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => any;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Activate automatic spelling correction and processing of text substitutions
|
|
11
|
-
**/
|
|
12
|
-
autocorrect?: "on" | "off";
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* The id of the form element the Textarea belongs to if it's not nested inside the form.
|
|
16
|
-
**/
|
|
17
|
-
form?: string;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* The Textarea's maxlength
|
|
21
|
-
*/
|
|
22
|
-
maxlength?: number;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* The Textarea's minlength
|
|
26
|
-
*/
|
|
27
|
-
minlength?: number;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Specify an optional className to be added to your Textarea component.
|
|
31
|
-
*/
|
|
32
|
-
placeholder?: string;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Specifies whether the textarea is subject to spellchecking by the underlying browser/OS
|
|
36
|
-
**/
|
|
37
|
-
spellcheck?: boolean | "default";
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* How the control should wrap the value for submission.
|
|
41
|
-
**/
|
|
42
|
-
wrap?: "hard" | "soft" | "off";
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export type LabelledTextareaProps = LabelledFormFieldProps<TextareaProps>;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import classnames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { TextareaProps, LabelledTextareaProps } from "./Textarea.props";
|
|
5
|
-
import FormControl, { useFormControl } from "../FormControl/FormControl";
|
|
6
|
-
|
|
7
|
-
const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(
|
|
8
|
-
({ error, className, name, id, ...props }, ref) => {
|
|
9
|
-
const { prefix } = useGlobalSettings();
|
|
10
|
-
const formControlCtx = useFormControl();
|
|
11
|
-
const { ariaDescribedBy } = formControlCtx;
|
|
12
|
-
|
|
13
|
-
const baseClass = `${prefix}--textarea`;
|
|
14
|
-
const errorClass = `${baseClass}__error`;
|
|
15
|
-
|
|
16
|
-
const textAreaClass = classnames(baseClass, className, {
|
|
17
|
-
[errorClass]: error,
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
return (
|
|
21
|
-
<textarea
|
|
22
|
-
ref={ref}
|
|
23
|
-
className={textAreaClass}
|
|
24
|
-
name={name}
|
|
25
|
-
id={id ? id : name}
|
|
26
|
-
aria-describedby={ariaDescribedBy}
|
|
27
|
-
{...props}
|
|
28
|
-
/>
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
const LabelledTextarea = React.forwardRef<
|
|
34
|
-
HTMLTextAreaElement,
|
|
35
|
-
LabelledTextareaProps
|
|
36
|
-
>((props, ref) => {
|
|
37
|
-
const { style, inputStyle, className, ...rest } = props;
|
|
38
|
-
const fieldId = props.id ? props.id : props.name;
|
|
39
|
-
|
|
40
|
-
return (
|
|
41
|
-
<FormControl
|
|
42
|
-
fieldId={fieldId}
|
|
43
|
-
style={style}
|
|
44
|
-
className={className}
|
|
45
|
-
{...rest}
|
|
46
|
-
>
|
|
47
|
-
<Textarea ref={ref} style={inputStyle} {...rest} />
|
|
48
|
-
</FormControl>
|
|
49
|
-
);
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
export default LabelledTextarea;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { LabelledToggleProps } from "./Toggle.props";
|
|
2
|
-
|
|
3
|
-
export const Default: LabelledToggleProps = {
|
|
4
|
-
defaultChecked: false,
|
|
5
|
-
errorMessage: "Invalid option",
|
|
6
|
-
name: "my-toggle",
|
|
7
|
-
size: "medium",
|
|
8
|
-
label: "Show details",
|
|
9
|
-
labelPlacement: "end",
|
|
10
|
-
labelSize: "small",
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export const Checked: LabelledToggleProps = {
|
|
14
|
-
...Default,
|
|
15
|
-
defaultChecked: true,
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export const Disabled: LabelledToggleProps = {
|
|
19
|
-
...Default,
|
|
20
|
-
disabled: true,
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const Helper: LabelledToggleProps = {
|
|
24
|
-
...Default,
|
|
25
|
-
helper: "This is a helper text",
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const Tooltip: LabelledToggleProps = {
|
|
29
|
-
...Helper,
|
|
30
|
-
tooltip: "This is a tooltip",
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export const Error: LabelledToggleProps = {
|
|
34
|
-
...Default,
|
|
35
|
-
error: true,
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const DefaultChecked: LabelledToggleProps = {
|
|
39
|
-
...Default,
|
|
40
|
-
defaultChecked: true,
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const Controlled: LabelledToggleProps = {
|
|
44
|
-
...Default,
|
|
45
|
-
onClick: () => console.log("clicked"),
|
|
46
|
-
checked: true,
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Large: LabelledToggleProps = {
|
|
50
|
-
...Default,
|
|
51
|
-
size: "large",
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export const Medium: LabelledToggleProps = {
|
|
55
|
-
...Default,
|
|
56
|
-
size: "medium",
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
export const Small: LabelledToggleProps = {
|
|
60
|
-
...Default,
|
|
61
|
-
size: "small",
|
|
62
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { FormFieldProps } from "../../types";
|
|
2
|
-
import { LabelledFormFieldProps } from "../../types";
|
|
3
|
-
|
|
4
|
-
export interface ToggleProps extends FormFieldProps<HTMLInputElement> {
|
|
5
|
-
/**
|
|
6
|
-
* Specify the size of your Toggle. Defaults to "medium".
|
|
7
|
-
*/
|
|
8
|
-
size?: "large" | "medium" | "small";
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Specify whether your Toggle is checked by default. Defaults to false.
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
defaultChecked?: boolean;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Specify whether your Toggle is checked. Defaults to undefined.
|
|
18
|
-
*/
|
|
19
|
-
checked?: boolean;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* OnClick handler for the input element.
|
|
23
|
-
*/
|
|
24
|
-
onClick?: (event: React.MouseEvent<HTMLInputElement>) => any;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export type LabelledToggleProps = LabelledFormFieldProps<ToggleProps>;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Ref, forwardRef } from "react";
|
|
2
|
-
import { ToggleProps } from "./Toggle.props";
|
|
3
|
-
import { LabelledToggleProps } from "./Toggle.props";
|
|
4
|
-
import { useGlobalSettings } from "../../hooks";
|
|
5
|
-
import classnames from "classnames";
|
|
6
|
-
import FormControl, { useFormControl } from "../FormControl/FormControl";
|
|
7
|
-
|
|
8
|
-
const Toggle = forwardRef<HTMLInputElement, ToggleProps>(
|
|
9
|
-
(
|
|
10
|
-
{
|
|
11
|
-
size = "medium",
|
|
12
|
-
error = false,
|
|
13
|
-
disabled = false,
|
|
14
|
-
defaultChecked = false,
|
|
15
|
-
required = false,
|
|
16
|
-
id,
|
|
17
|
-
name,
|
|
18
|
-
onChange,
|
|
19
|
-
onBlur,
|
|
20
|
-
onClick,
|
|
21
|
-
checked,
|
|
22
|
-
className,
|
|
23
|
-
},
|
|
24
|
-
ref
|
|
25
|
-
) => {
|
|
26
|
-
const { prefix } = useGlobalSettings();
|
|
27
|
-
const formControlCtx = useFormControl();
|
|
28
|
-
const { ariaDescribedBy } = formControlCtx;
|
|
29
|
-
|
|
30
|
-
const hasError = !disabled && !!error;
|
|
31
|
-
|
|
32
|
-
const baseClass = `${prefix}--input--toggle`;
|
|
33
|
-
const sliderClass = `${baseClass}--slider`;
|
|
34
|
-
|
|
35
|
-
const toggleClass = classnames(
|
|
36
|
-
baseClass,
|
|
37
|
-
className,
|
|
38
|
-
`${baseClass}__size__${size}`,
|
|
39
|
-
[
|
|
40
|
-
{ [`${baseClass}__error`]: hasError },
|
|
41
|
-
{ [`${baseClass}__disabled`]: disabled },
|
|
42
|
-
]
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
return (
|
|
46
|
-
<div className={toggleClass}>
|
|
47
|
-
<input
|
|
48
|
-
ref={ref} // Forwarded ref applied here
|
|
49
|
-
checked={checked}
|
|
50
|
-
disabled={disabled}
|
|
51
|
-
defaultChecked={defaultChecked}
|
|
52
|
-
name={name}
|
|
53
|
-
id={id ? id : name}
|
|
54
|
-
type="checkbox"
|
|
55
|
-
role="switch"
|
|
56
|
-
required={required}
|
|
57
|
-
onChange={onChange}
|
|
58
|
-
onBlur={onBlur}
|
|
59
|
-
onClick={onClick}
|
|
60
|
-
aria-describedby={ariaDescribedBy}
|
|
61
|
-
/>
|
|
62
|
-
<span className={sliderClass} />
|
|
63
|
-
</div>
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
const LabelledToggle = forwardRef(
|
|
69
|
-
(props: LabelledToggleProps, ref: Ref<HTMLInputElement>) => {
|
|
70
|
-
const fieldId = props.id ? props.id : props.name;
|
|
71
|
-
const { style, inputStyle, className, ...rest } = props;
|
|
72
|
-
return (
|
|
73
|
-
<FormControl
|
|
74
|
-
fieldId={fieldId}
|
|
75
|
-
style={style}
|
|
76
|
-
className={className}
|
|
77
|
-
{...rest}
|
|
78
|
-
>
|
|
79
|
-
<Toggle ref={ref} style={inputStyle} {...rest} />
|
|
80
|
-
</FormControl>
|
|
81
|
-
);
|
|
82
|
-
}
|
|
83
|
-
);
|
|
84
|
-
|
|
85
|
-
export default LabelledToggle;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { TooltipProps } from "./Tooltip.props";
|
|
2
|
-
|
|
3
|
-
const light: TooltipProps = {
|
|
4
|
-
label: "This is a light tooltip",
|
|
5
|
-
theme: "light", // "light" | "dark" ;
|
|
6
|
-
isVisible: false,
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const lighticon: TooltipProps = {
|
|
10
|
-
icon: true,
|
|
11
|
-
label: "This is a light tooltip",
|
|
12
|
-
theme: "light", // "light" | "dark" ;
|
|
13
|
-
isVisible: false,
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const dark: TooltipProps = {
|
|
17
|
-
label: "This is a dark tooltip",
|
|
18
|
-
theme: "dark", // "light" | "dark" ;
|
|
19
|
-
isVisible: false,
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const darkicon: TooltipProps = {
|
|
23
|
-
icon: true,
|
|
24
|
-
label: "This is a tooltip for an icon",
|
|
25
|
-
iconTheme: "dark", // "light" | "dark" ;
|
|
26
|
-
isVisible: false,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Sample prop definitions for Tooltip's enumerable properties (imported in stories and tests).
|
|
31
|
-
*/
|
|
32
|
-
const tooltipArgs = {
|
|
33
|
-
light,
|
|
34
|
-
lighticon,
|
|
35
|
-
dark,
|
|
36
|
-
darkicon,
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export default tooltipArgs;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { TooltipThemes, TooltipIconThemes } from "../../types";
|
|
2
|
-
|
|
3
|
-
export interface TooltipProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify an optional className to be added to your Tooltip.
|
|
6
|
-
*/
|
|
7
|
-
className?: string;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Should the tooltip appear on hover of an info icon?
|
|
11
|
-
*/
|
|
12
|
-
icon?: boolean;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Set the id of the tooltip
|
|
16
|
-
*/
|
|
17
|
-
id?: string;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Set the label for the tooltip
|
|
21
|
-
*/
|
|
22
|
-
label?: Required<string>;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Set whether the tooltip is visible or not
|
|
26
|
-
*/
|
|
27
|
-
isVisible?: boolean;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Describe the theme of the tooltip
|
|
31
|
-
*/
|
|
32
|
-
theme?: Required<TooltipThemes>;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Describe the background theme of the tooltip
|
|
36
|
-
*/
|
|
37
|
-
iconTheme?: Required<TooltipIconThemes>;
|
|
38
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import React, { FC, useState, useRef } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { TooltipProps } from "./Tooltip.props";
|
|
5
|
-
import { createPopper, Instance as PopperInstance } from "@popperjs/core";
|
|
6
|
-
|
|
7
|
-
const Tooltip: FC<TooltipProps> = ({
|
|
8
|
-
className,
|
|
9
|
-
children,
|
|
10
|
-
icon,
|
|
11
|
-
label,
|
|
12
|
-
iconTheme,
|
|
13
|
-
theme,
|
|
14
|
-
id,
|
|
15
|
-
}) => {
|
|
16
|
-
const { prefix } = useGlobalSettings();
|
|
17
|
-
const baseClass = `${prefix}--tooltip`;
|
|
18
|
-
const [isVisible, setIsVisible] = useState<boolean>(false);
|
|
19
|
-
const tooltipRef = useRef<HTMLDivElement>(null);
|
|
20
|
-
const popperInstanceRef = useRef<PopperInstance | null>(null);
|
|
21
|
-
|
|
22
|
-
const isLongTooltip = () => {
|
|
23
|
-
const tooltipText = (
|
|
24
|
-
tooltipRef.current?.textContent ||
|
|
25
|
-
tooltipRef.current?.innerText ||
|
|
26
|
-
""
|
|
27
|
-
).trim();
|
|
28
|
-
return tooltipText.length > 50;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const tooltipClasses = classNames(className, {
|
|
32
|
-
[baseClass]: true,
|
|
33
|
-
[`${baseClass}--${theme}`]: theme,
|
|
34
|
-
[`${baseClass}--visible`]: isVisible,
|
|
35
|
-
[`${baseClass}--long`]: isLongTooltip(),
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
const tooltipArrowClasses = classNames(
|
|
39
|
-
`${baseClass}--arrow`,
|
|
40
|
-
`${baseClass}--arrow--placement-negative`
|
|
41
|
-
);
|
|
42
|
-
|
|
43
|
-
const iconClasses = classNames(className, `${baseClass}--wrapper`, {
|
|
44
|
-
[`${baseClass}--wrapper__icon ${baseClass}--wrapper__icon__theme__${theme}`]:
|
|
45
|
-
icon,
|
|
46
|
-
[`${baseClass}--wrapper__icon__theme__${theme}`]: iconTheme,
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
const handleOnMouseOver: React.MouseEventHandler<HTMLDivElement> = (e) => {
|
|
50
|
-
const target = e.currentTarget;
|
|
51
|
-
if (target && tooltipRef.current) {
|
|
52
|
-
const popperInstance = createPopper(target, tooltipRef.current, {
|
|
53
|
-
placement: "top",
|
|
54
|
-
modifiers: [
|
|
55
|
-
{
|
|
56
|
-
name: "offset",
|
|
57
|
-
options: {
|
|
58
|
-
offset: [0, 12], // Adjust offset as needed
|
|
59
|
-
},
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: "flip",
|
|
63
|
-
enabled: true,
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
name: "preventOverflow",
|
|
67
|
-
enabled: true,
|
|
68
|
-
},
|
|
69
|
-
],
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
popperInstanceRef.current = popperInstance;
|
|
73
|
-
|
|
74
|
-
setIsVisible(true);
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
const handleOnMouseOut = () => {
|
|
79
|
-
if (popperInstanceRef.current) {
|
|
80
|
-
popperInstanceRef.current.destroy();
|
|
81
|
-
}
|
|
82
|
-
setIsVisible(false);
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
const handleOnFocus: React.FocusEventHandler<HTMLDivElement> = (e) => {
|
|
86
|
-
handleOnMouseOver(e as unknown as React.MouseEvent<HTMLDivElement>);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
return (
|
|
90
|
-
<div
|
|
91
|
-
className={iconClasses}
|
|
92
|
-
onMouseOver={handleOnMouseOver}
|
|
93
|
-
onFocus={handleOnFocus}
|
|
94
|
-
onMouseOut={handleOnMouseOut}
|
|
95
|
-
onBlur={handleOnMouseOut}
|
|
96
|
-
id={id}
|
|
97
|
-
>
|
|
98
|
-
{!icon && <>{children}</>}
|
|
99
|
-
<span
|
|
100
|
-
className={tooltipClasses}
|
|
101
|
-
ref={tooltipRef}
|
|
102
|
-
data-id={id}
|
|
103
|
-
id="tooltip"
|
|
104
|
-
role="tooltip"
|
|
105
|
-
aria-hidden={!isVisible}
|
|
106
|
-
>
|
|
107
|
-
<span
|
|
108
|
-
data-popper-arrow
|
|
109
|
-
className={tooltipArrowClasses}
|
|
110
|
-
data-placement="negative"
|
|
111
|
-
role="presentation"
|
|
112
|
-
/>
|
|
113
|
-
{label}
|
|
114
|
-
</span>
|
|
115
|
-
</div>
|
|
116
|
-
);
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
export default Tooltip;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Tooltip } from "./Tooltip";
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { VideoProps } from "./Video.props";
|
|
2
|
-
|
|
3
|
-
const videofile: VideoProps = {
|
|
4
|
-
className: "image",
|
|
5
|
-
caption:
|
|
6
|
-
"The ILO brings together governments, employers and workers to set labour standards and promote decent work.",
|
|
7
|
-
poster: {
|
|
8
|
-
src: "/media-file-poster.jpg",
|
|
9
|
-
alt: "The ILO logo on a blue background",
|
|
10
|
-
},
|
|
11
|
-
controls: {
|
|
12
|
-
fullscreen: "Fullscreen",
|
|
13
|
-
play: "Play",
|
|
14
|
-
pause: "Pause",
|
|
15
|
-
volume: "Volume",
|
|
16
|
-
},
|
|
17
|
-
src: "/video-example.mp4",
|
|
18
|
-
youtube: false,
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
const videoyt: VideoProps = {
|
|
22
|
-
caption:
|
|
23
|
-
"Indigenous entrepreneur Celestina Ábalos runs a tourism business in the UNESCO World Heritage site of Quebrada de Humahuaca in northern Argentina. ©ILO/Ivar Velasquez",
|
|
24
|
-
className: "image",
|
|
25
|
-
poster: {
|
|
26
|
-
src: "/youtube-video-poster.avif",
|
|
27
|
-
alt: "An smiling woman with gray hair holds a bowl full of corn in front of her home.",
|
|
28
|
-
},
|
|
29
|
-
controls: {
|
|
30
|
-
fullscreen: "Fullscreen",
|
|
31
|
-
play: "Play",
|
|
32
|
-
pause: "Pause",
|
|
33
|
-
volume: "Volume",
|
|
34
|
-
},
|
|
35
|
-
src: "https://youtu.be/X72_A4_6zjU",
|
|
36
|
-
youtube: true,
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Sample prop definitions for Video's enumerable properties (imported in stories and tests).
|
|
41
|
-
*/
|
|
42
|
-
const videoArgs = {
|
|
43
|
-
videofile,
|
|
44
|
-
videoyt,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
export default videoArgs;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { VideoPlayerControls } from "./VideoPlayer.props";
|
|
2
|
-
|
|
3
|
-
export interface Poster {
|
|
4
|
-
src: string;
|
|
5
|
-
alt: string;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export interface VideoProps {
|
|
9
|
-
src: string;
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Specify the strings to be used as labels for the video controls
|
|
13
|
-
*/
|
|
14
|
-
controls?: VideoPlayerControls;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* if YouTube, set to true
|
|
18
|
-
*/
|
|
19
|
-
youtube?: boolean;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Specify the caption for the image/video
|
|
23
|
-
*/
|
|
24
|
-
caption?: string;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Specify an optional className to be added to your Media.
|
|
28
|
-
*/
|
|
29
|
-
className?: string;
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* Specify the image src for the image
|
|
33
|
-
*/
|
|
34
|
-
poster?: Poster;
|
|
35
|
-
}
|