@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,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
|
-
}
|