@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,62 +0,0 @@
|
|
|
1
|
-
import { getUpdatedItems } from "@ilo-org/utils";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import { Children, FC, ReactElement, useEffect, useState } from "react";
|
|
4
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
5
|
-
import { checkArrayDuplicates } from "../../utils/checkArrayDuplicates";
|
|
6
|
-
import { AccordionProps } from "./Accordion.props";
|
|
7
|
-
import { AccordionContext } from "./AccordionCtx";
|
|
8
|
-
|
|
9
|
-
const Accordion: FC<AccordionProps> = ({
|
|
10
|
-
children,
|
|
11
|
-
allowMultipleExpanded = false,
|
|
12
|
-
onButtonClick,
|
|
13
|
-
defaultAccordionsExpanded = [],
|
|
14
|
-
className,
|
|
15
|
-
}) => {
|
|
16
|
-
const { prefix } = useGlobalSettings();
|
|
17
|
-
const baseClass = `${prefix}--accordion`;
|
|
18
|
-
const [activeItems, setActiveItems] = useState<string[]>([]);
|
|
19
|
-
|
|
20
|
-
const accordionClasses = classNames(className, {
|
|
21
|
-
[baseClass]: true,
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
const defaultAccordionsExpandedString = JSON.stringify(
|
|
25
|
-
defaultAccordionsExpanded
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
const expandedOnLoad = allowMultipleExpanded
|
|
30
|
-
? defaultAccordionsExpanded
|
|
31
|
-
: defaultAccordionsExpanded.length > 0
|
|
32
|
-
? [defaultAccordionsExpanded[0]]
|
|
33
|
-
: defaultAccordionsExpanded;
|
|
34
|
-
setActiveItems(expandedOnLoad);
|
|
35
|
-
}, [defaultAccordionsExpandedString, allowMultipleExpanded]); //eslint-disable-line react-hooks/exhaustive-deps
|
|
36
|
-
|
|
37
|
-
if (children) {
|
|
38
|
-
const ids: string[] = [];
|
|
39
|
-
Children.forEach(children, (child: ReactElement) => {
|
|
40
|
-
ids.push(child.props.id);
|
|
41
|
-
});
|
|
42
|
-
if (checkArrayDuplicates(ids)) {
|
|
43
|
-
console.warn("Warning: Accordion items must have unique ids.");
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<AccordionContext.Provider
|
|
49
|
-
value={{
|
|
50
|
-
activeItems,
|
|
51
|
-
setActiveItems,
|
|
52
|
-
getUpdatedItems,
|
|
53
|
-
allowMultipleExpanded,
|
|
54
|
-
onButtonClick,
|
|
55
|
-
}}
|
|
56
|
-
>
|
|
57
|
-
<ul className={accordionClasses}>{children}</ul>
|
|
58
|
-
</AccordionContext.Provider>
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export default Accordion;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export default interface AccordionButtonProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify the content of your Button.
|
|
6
|
-
*/
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Specify an optional className to be added to your Button.
|
|
11
|
-
*/
|
|
12
|
-
className?: string;
|
|
13
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import classNames from "classnames";
|
|
2
|
-
import { FC, MouseEvent, useContext } from "react";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { default as AccordionButtonProps } from "./AccordionButton.props";
|
|
5
|
-
import { AccordionContext, AccordionItemContext } from "./AccordionCtx";
|
|
6
|
-
|
|
7
|
-
const AccordionButton: FC<AccordionButtonProps> = ({
|
|
8
|
-
children,
|
|
9
|
-
className,
|
|
10
|
-
...rest
|
|
11
|
-
}) => {
|
|
12
|
-
const { prefix } = useGlobalSettings();
|
|
13
|
-
const baseClass = `${prefix}--accordion--button`;
|
|
14
|
-
|
|
15
|
-
const {
|
|
16
|
-
activeItems,
|
|
17
|
-
setActiveItems,
|
|
18
|
-
getUpdatedItems,
|
|
19
|
-
allowMultipleExpanded,
|
|
20
|
-
onButtonClick,
|
|
21
|
-
} = useContext(AccordionContext);
|
|
22
|
-
const { id } = useContext(AccordionItemContext);
|
|
23
|
-
const open = activeItems.indexOf(id) > -1;
|
|
24
|
-
|
|
25
|
-
const accordionButtonClasses = classNames(className, {
|
|
26
|
-
[baseClass]: true,
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* On click, get id of clicked item, and set that item in state to 'open', all others to 'closed'
|
|
31
|
-
*/
|
|
32
|
-
const handleClick = (e: MouseEvent<HTMLButtonElement>, id: string) => {
|
|
33
|
-
setActiveItems(
|
|
34
|
-
getUpdatedItems({ id, itemStatuses: activeItems, allowMultipleExpanded })
|
|
35
|
-
);
|
|
36
|
-
if (onButtonClick) {
|
|
37
|
-
onButtonClick(e, id);
|
|
38
|
-
}
|
|
39
|
-
e.currentTarget.blur();
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<div className={`${prefix}--h3`}>
|
|
44
|
-
<button
|
|
45
|
-
className={accordionButtonClasses}
|
|
46
|
-
aria-expanded={open}
|
|
47
|
-
onClick={(e) => handleClick(e, id)}
|
|
48
|
-
aria-controls={`panel-${id}`}
|
|
49
|
-
id={`button-${id}`}
|
|
50
|
-
{...rest}
|
|
51
|
-
>
|
|
52
|
-
{children}
|
|
53
|
-
</button>
|
|
54
|
-
</div>
|
|
55
|
-
);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export default AccordionButton;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { createContext } from "react";
|
|
2
|
-
import { AccordionContextProps } from "./Accordion.props";
|
|
3
|
-
import { AccordionItemContextProps } from "./AccordionItem.props";
|
|
4
|
-
|
|
5
|
-
export const AccordionContext = createContext({} as AccordionContextProps);
|
|
6
|
-
|
|
7
|
-
export const AccordionItemContext = createContext(
|
|
8
|
-
{} as AccordionItemContextProps
|
|
9
|
-
);
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export interface AccordionItemContextProps {
|
|
4
|
-
/**
|
|
5
|
-
* The accordion item's unique id.
|
|
6
|
-
*/
|
|
7
|
-
id: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface AccordionItemProps {
|
|
11
|
-
/**
|
|
12
|
-
* Specify the id of the accordion item.
|
|
13
|
-
*/
|
|
14
|
-
id: string;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Specify the content of your Button.
|
|
18
|
-
*/
|
|
19
|
-
children: ReactNode;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Specify an optional className to be added to your Button.
|
|
23
|
-
*/
|
|
24
|
-
className?: string;
|
|
25
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import classNames from "classnames";
|
|
2
|
-
import { FC } from "react";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { AccordionItemContext } from "./AccordionCtx";
|
|
5
|
-
import { AccordionItemProps } from "./AccordionItem.props";
|
|
6
|
-
|
|
7
|
-
const AccordionItem: FC<AccordionItemProps> = ({
|
|
8
|
-
children,
|
|
9
|
-
id,
|
|
10
|
-
className,
|
|
11
|
-
...rest
|
|
12
|
-
}) => {
|
|
13
|
-
const { prefix } = useGlobalSettings();
|
|
14
|
-
const baseClass = `${prefix}--accordion--item`;
|
|
15
|
-
const accordionItemClasses = classNames(className, {
|
|
16
|
-
[baseClass]: true,
|
|
17
|
-
});
|
|
18
|
-
return (
|
|
19
|
-
<AccordionItemContext.Provider value={{ id }}>
|
|
20
|
-
<li className={accordionItemClasses} {...rest}>
|
|
21
|
-
{children}
|
|
22
|
-
</li>
|
|
23
|
-
</AccordionItemContext.Provider>
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export default AccordionItem;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export default interface AccordionPanelProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify the content of your Button.
|
|
6
|
-
*/
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Specify an optional className to be added to your Button.
|
|
11
|
-
*/
|
|
12
|
-
className?: string;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Duration of the collapse animation in milliseconds, to ensure that
|
|
16
|
-
* finishing callbacks are fired even if the original browser transition end
|
|
17
|
-
* events are canceled
|
|
18
|
-
*/
|
|
19
|
-
timeout?: number;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Allows the AccordionPanel to be scrollable by default
|
|
23
|
-
*/
|
|
24
|
-
scroll?: boolean;
|
|
25
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import classNames from "classnames";
|
|
2
|
-
import { FC, useContext, useLayoutEffect, useRef, useState } from "react";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { AccordionContext, AccordionItemContext } from "./AccordionCtx";
|
|
5
|
-
import { default as AccordionPanelProps } from "./AccordionPanel.props";
|
|
6
|
-
|
|
7
|
-
const AccordionPanel: FC<AccordionPanelProps> = ({
|
|
8
|
-
children,
|
|
9
|
-
className,
|
|
10
|
-
scroll,
|
|
11
|
-
...rest
|
|
12
|
-
}) => {
|
|
13
|
-
const { activeItems } = useContext(AccordionContext);
|
|
14
|
-
const { id } = useContext(AccordionItemContext);
|
|
15
|
-
const [panelHeight, setPanelHeight] = useState(0);
|
|
16
|
-
const open = activeItems.indexOf(id) > -1;
|
|
17
|
-
const { prefix } = useGlobalSettings();
|
|
18
|
-
const baseClass = `${prefix}--accordion--panel`;
|
|
19
|
-
|
|
20
|
-
const accordionaPanelClasses = classNames(className, baseClass, {
|
|
21
|
-
[`${baseClass}__scroll`]: scroll,
|
|
22
|
-
[`${baseClass}--open`]: open,
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
const ref = useRef<HTMLInputElement>();
|
|
26
|
-
|
|
27
|
-
useLayoutEffect(() => {
|
|
28
|
-
ref.current && setPanelHeight(ref.current.scrollHeight);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
return (
|
|
32
|
-
<div
|
|
33
|
-
className={accordionaPanelClasses}
|
|
34
|
-
id={`panel-${id}`}
|
|
35
|
-
aria-labelledby={`button-${id}`}
|
|
36
|
-
role="region"
|
|
37
|
-
ref={ref as any}
|
|
38
|
-
style={{ ["--height" as any]: `${panelHeight}px` }}
|
|
39
|
-
{...rest}
|
|
40
|
-
>
|
|
41
|
-
<div className={`${prefix}--accordion--innerpanel`}>{children}</div>
|
|
42
|
-
</div>
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export default AccordionPanel;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { BreadcrumbProps } from "./Breadcrumb.props";
|
|
2
|
-
|
|
3
|
-
const basic: BreadcrumbProps = {
|
|
4
|
-
home: {
|
|
5
|
-
indented: false,
|
|
6
|
-
label: "Home",
|
|
7
|
-
url: "/",
|
|
8
|
-
},
|
|
9
|
-
links: [
|
|
10
|
-
{
|
|
11
|
-
label: "Link One",
|
|
12
|
-
url: "https://www.ilo.org/",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
label: "Link Two",
|
|
16
|
-
url: "https://www.ilo.org/",
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
label: "Link Three",
|
|
20
|
-
url: "https://www.ilo.org/",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
label: "Link Four",
|
|
24
|
-
url: "https://www.ilo.org/",
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const fiveLinks: BreadcrumbProps = {
|
|
30
|
-
home: {
|
|
31
|
-
indented: false,
|
|
32
|
-
label: "Home",
|
|
33
|
-
url: "/",
|
|
34
|
-
},
|
|
35
|
-
links: [
|
|
36
|
-
{
|
|
37
|
-
label: "Link One",
|
|
38
|
-
url: "https://www.ilo.org/",
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
label: "Link Two",
|
|
42
|
-
url: "https://www.ilo.org/",
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
label: "Link Three",
|
|
46
|
-
url: "https://www.ilo.org/",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
label: "Link Four",
|
|
50
|
-
url: "https://www.ilo.org/",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
label: "Link Five",
|
|
54
|
-
url: "https://www.ilo.org/",
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const BreadcrumbArgs = { basic, fiveLinks };
|
|
60
|
-
|
|
61
|
-
export default BreadcrumbArgs;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { LinkProps } from "../LinkList/LinkList.props";
|
|
2
|
-
|
|
3
|
-
export interface BreadcrumbProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify the HOME link in the Breadcrumb
|
|
6
|
-
*/
|
|
7
|
-
home: Required<LinkProps>;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Specify the links to be displayed in the Breadcrumb
|
|
11
|
-
*/
|
|
12
|
-
links: Required<Array<LinkProps>>;
|
|
13
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { FC, useState, useEffect } from "react";
|
|
2
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
3
|
-
import classnames from "classnames";
|
|
4
|
-
import { BreadcrumbProps } from "./Breadcrumb.props";
|
|
5
|
-
import { ContextMenu } from "../ContextMenu";
|
|
6
|
-
|
|
7
|
-
const Breadcrumb: FC<BreadcrumbProps> = ({ home, links }) => {
|
|
8
|
-
const { prefix } = useGlobalSettings();
|
|
9
|
-
|
|
10
|
-
const [showContextMenu, enableContextMenu] = useState(false);
|
|
11
|
-
const [toggleMenuOpen, setContextMenuToggleOpen] = useState(false);
|
|
12
|
-
|
|
13
|
-
const handleScreenResize = () => {
|
|
14
|
-
enableContextMenu(window.innerWidth <= 1024); // turn on context menu when screen is resized to a smaller size
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
window.addEventListener("resize", handleScreenResize);
|
|
19
|
-
handleScreenResize();
|
|
20
|
-
|
|
21
|
-
return () => {
|
|
22
|
-
window.removeEventListener("resize", handleScreenResize);
|
|
23
|
-
};
|
|
24
|
-
}, []);
|
|
25
|
-
|
|
26
|
-
const handleContextMenuToggle = () => {
|
|
27
|
-
setContextMenuToggleOpen(!toggleMenuOpen);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const showContext = links.length > 4 || showContextMenu ? true : false;
|
|
31
|
-
|
|
32
|
-
const baseClass = `${prefix}--breadcrumb`;
|
|
33
|
-
const BreadcrumbClasses = classnames(baseClass);
|
|
34
|
-
|
|
35
|
-
const lastLink = links[links.length - 1];
|
|
36
|
-
const menuLinks = links.slice(0, -1);
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<nav
|
|
40
|
-
className={`${BreadcrumbClasses} ${showContext ? " contextmenu" : ""}`}
|
|
41
|
-
>
|
|
42
|
-
<ol className={`${baseClass}--items`}>
|
|
43
|
-
<li className={`${baseClass}--item home`}>
|
|
44
|
-
<a className={`${baseClass}--link`} href={home.url}>
|
|
45
|
-
<span className={`${baseClass}--link--label`}>{home.label}</span>
|
|
46
|
-
</a>
|
|
47
|
-
</li>
|
|
48
|
-
<li
|
|
49
|
-
className={`${baseClass}--item--context`}
|
|
50
|
-
onClick={handleContextMenuToggle}
|
|
51
|
-
>
|
|
52
|
-
<ul
|
|
53
|
-
className={`${baseClass}--items context--menu ${
|
|
54
|
-
toggleMenuOpen ? " open" : ""
|
|
55
|
-
}`}
|
|
56
|
-
>
|
|
57
|
-
{showContext && <ContextMenu links={menuLinks}></ContextMenu>}
|
|
58
|
-
{!showContext &&
|
|
59
|
-
menuLinks.map((link, index) => (
|
|
60
|
-
<li className={`${baseClass}--item`} key={index}>
|
|
61
|
-
<a href={link.url} className={`${baseClass}--link`}>
|
|
62
|
-
<span className={`${baseClass}--link--label`}>
|
|
63
|
-
{link.label}
|
|
64
|
-
</span>
|
|
65
|
-
</a>
|
|
66
|
-
</li>
|
|
67
|
-
))}
|
|
68
|
-
</ul>
|
|
69
|
-
</li>
|
|
70
|
-
<li className={`${baseClass}--item final`}>
|
|
71
|
-
<a className={`${baseClass}--link`} href={lastLink.url}>
|
|
72
|
-
<span className={`${baseClass}--link--label`}>
|
|
73
|
-
{lastLink.label}
|
|
74
|
-
</span>
|
|
75
|
-
</a>
|
|
76
|
-
</li>
|
|
77
|
-
</ol>
|
|
78
|
-
</nav>
|
|
79
|
-
);
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export default Breadcrumb;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Breadcrumb } from "./Breadcrumb";
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ButtonProps } from "./Button.props";
|
|
2
|
-
|
|
3
|
-
const primary: ButtonProps = {
|
|
4
|
-
type: "primary",
|
|
5
|
-
label: "Primary",
|
|
6
|
-
size: "medium",
|
|
7
|
-
name: "primary",
|
|
8
|
-
};
|
|
9
|
-
const secondary: ButtonProps = {
|
|
10
|
-
type: "secondary",
|
|
11
|
-
label: "Secondary",
|
|
12
|
-
name: "secondary",
|
|
13
|
-
};
|
|
14
|
-
const tertiary: ButtonProps = {
|
|
15
|
-
type: "tertiary",
|
|
16
|
-
label: "Tertiary",
|
|
17
|
-
name: "tertiary",
|
|
18
|
-
};
|
|
19
|
-
const alert: ButtonProps = { type: "alert", label: "Alert", name: "alert" };
|
|
20
|
-
const icon: ButtonProps = { type: "primary", label: "Icon", icon: "close" };
|
|
21
|
-
const disabled: ButtonProps = {
|
|
22
|
-
type: "primary",
|
|
23
|
-
label: "Disabled",
|
|
24
|
-
disabled: true,
|
|
25
|
-
};
|
|
26
|
-
const link: ButtonProps = {
|
|
27
|
-
type: "primary",
|
|
28
|
-
icon: "arrowright",
|
|
29
|
-
iconPosition: "right",
|
|
30
|
-
label: "Visit ilo.org",
|
|
31
|
-
url: "https://www.ilo.org",
|
|
32
|
-
target: "__blank",
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default { primary, secondary, tertiary, alert, icon, disabled, link };
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import React, { ReactNode } from "react";
|
|
2
|
-
import {
|
|
3
|
-
ButtonFunctions,
|
|
4
|
-
ButtonTypes,
|
|
5
|
-
PositionTypes,
|
|
6
|
-
SizeTypes,
|
|
7
|
-
} from "../../types";
|
|
8
|
-
|
|
9
|
-
export interface ButtonProps {
|
|
10
|
-
/**
|
|
11
|
-
* Specify the callback of your Button.
|
|
12
|
-
*/
|
|
13
|
-
callback?: (e: React.MouseEvent<Element, MouseEvent>) => any;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Specify the content of your Button.
|
|
17
|
-
*/
|
|
18
|
-
children?: ReactNode;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Specify an optional className to be added to your Button.
|
|
22
|
-
*/
|
|
23
|
-
className?: string;
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Specify the name for the Button.
|
|
27
|
-
*/
|
|
28
|
-
name?: string;
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Specify whether or not the button is disabled.
|
|
32
|
-
*/
|
|
33
|
-
disabled?: boolean;
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Specify the icon for the Button
|
|
37
|
-
*/
|
|
38
|
-
icon?: string;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Specify the icon for the Button
|
|
42
|
-
*/
|
|
43
|
-
iconPosition?: PositionTypes;
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Does this button display an icon only?
|
|
47
|
-
*/
|
|
48
|
-
icononly?: boolean;
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Specify which function the button performs
|
|
52
|
-
*/
|
|
53
|
-
kind?: ButtonFunctions;
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* Specify the label for the Button
|
|
57
|
-
*/
|
|
58
|
-
label?: string;
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Does this button open a modal?
|
|
62
|
-
*/
|
|
63
|
-
opensmodal?: boolean;
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Specify an optional className to be added to your Button.
|
|
67
|
-
*/
|
|
68
|
-
size?: SizeTypes;
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Specify the target for when Button is really a link
|
|
72
|
-
*/
|
|
73
|
-
target?: string;
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Specify an optional className to be added to your Button.
|
|
77
|
-
*/
|
|
78
|
-
type?: ButtonTypes;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Specify the url for the Button's href
|
|
82
|
-
*/
|
|
83
|
-
url?: string;
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Inline styles to be applied to the rendered element
|
|
87
|
-
*/
|
|
88
|
-
style?: React.CSSProperties;
|
|
89
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { ButtonProps } from "./Button.props";
|
|
5
|
-
import { Link } from "../Link";
|
|
6
|
-
import { Icon } from "../Icon";
|
|
7
|
-
|
|
8
|
-
const Button: FC<ButtonProps> = ({
|
|
9
|
-
callback,
|
|
10
|
-
className,
|
|
11
|
-
disabled = false,
|
|
12
|
-
icon,
|
|
13
|
-
icononly,
|
|
14
|
-
iconPosition,
|
|
15
|
-
kind = "button",
|
|
16
|
-
label,
|
|
17
|
-
opensmodal,
|
|
18
|
-
size = "large",
|
|
19
|
-
target = "",
|
|
20
|
-
type = "primary",
|
|
21
|
-
url,
|
|
22
|
-
style,
|
|
23
|
-
name,
|
|
24
|
-
}) => {
|
|
25
|
-
const { prefix } = useGlobalSettings();
|
|
26
|
-
const baseClass = `${prefix}--button`;
|
|
27
|
-
const hasURL = !!url;
|
|
28
|
-
const icoPos = iconPosition || "left";
|
|
29
|
-
|
|
30
|
-
const ButtonClasses = classNames(className, {
|
|
31
|
-
[baseClass]: true,
|
|
32
|
-
[`${baseClass}--${size}`]: size,
|
|
33
|
-
[`${baseClass}--${type}`]: type,
|
|
34
|
-
[`icon icon__position--${icoPos}`]: icon && !icononly,
|
|
35
|
-
[`icon icon--only`]: icon && icononly,
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* On click, if there is a callback, call it
|
|
40
|
-
*/
|
|
41
|
-
const handleClick = (e: React.MouseEvent<Element, MouseEvent>) => {
|
|
42
|
-
if (callback) {
|
|
43
|
-
callback(e);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<>
|
|
49
|
-
{hasURL ? (
|
|
50
|
-
<Link
|
|
51
|
-
className={ButtonClasses}
|
|
52
|
-
target={target}
|
|
53
|
-
url={url}
|
|
54
|
-
label={label}
|
|
55
|
-
style={style}
|
|
56
|
-
>
|
|
57
|
-
{icon && <Icon name={icon} hidden={true} />}
|
|
58
|
-
</Link>
|
|
59
|
-
) : (
|
|
60
|
-
<button
|
|
61
|
-
className={ButtonClasses}
|
|
62
|
-
onClick={(e) => handleClick(e)}
|
|
63
|
-
disabled={disabled}
|
|
64
|
-
type={kind}
|
|
65
|
-
aria-haspopup={opensmodal ? `dialog` : false}
|
|
66
|
-
style={style}
|
|
67
|
-
name={name}
|
|
68
|
-
>
|
|
69
|
-
{label && <span className="button__label">{label}</span>}
|
|
70
|
-
{icon && <Icon name={icon} hidden={true} />}
|
|
71
|
-
</button>
|
|
72
|
-
)}
|
|
73
|
-
</>
|
|
74
|
-
);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
export default Button;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { CalloutProps } from "./Callout.props";
|
|
2
|
-
|
|
3
|
-
const baseArgs: CalloutProps = {
|
|
4
|
-
copy: "Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
|
|
5
|
-
isCollapsible: false,
|
|
6
|
-
headline: "Info Callout",
|
|
7
|
-
type: "info",
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const success: CalloutProps = {
|
|
11
|
-
...baseArgs,
|
|
12
|
-
type: "success",
|
|
13
|
-
headline: "Success Callout",
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const warning: CalloutProps = {
|
|
17
|
-
...baseArgs,
|
|
18
|
-
type: "warning",
|
|
19
|
-
headline: "Warning Callout",
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
const error: CalloutProps = {
|
|
23
|
-
...baseArgs,
|
|
24
|
-
cta: {
|
|
25
|
-
label: "Optional CTA",
|
|
26
|
-
url: "http://www.google.com",
|
|
27
|
-
},
|
|
28
|
-
isCollapsible: true,
|
|
29
|
-
isOpen: false,
|
|
30
|
-
headline: "Error Callout (Collapsible)",
|
|
31
|
-
toggleOpenLabel: "Open",
|
|
32
|
-
toggleClosedLabel: "Closed",
|
|
33
|
-
type: "error",
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const CalloutArgs = { baseArgs, success, warning, error };
|
|
37
|
-
|
|
38
|
-
export default CalloutArgs;
|