@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
|
@@ -6,7 +6,7 @@ import 'tslib';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
8
8
|
|
|
9
|
-
const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, link, linklist, image, }) => {
|
|
9
|
+
const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, link, linklist, image, titleLevel: TitleElement, }) => {
|
|
10
10
|
const { prefix } = useGlobalSettings();
|
|
11
11
|
const baseClass = `${prefix}--card`;
|
|
12
12
|
const cardClasses = classNames(baseClass, `${baseClass}__type__feature`, {
|
|
@@ -16,7 +16,7 @@ const FeatureCard = ({ isvideo, eyebrow, title, theme, size = "narrow", date, li
|
|
|
16
16
|
[`${baseClass}__linklist`]: linklist,
|
|
17
17
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
18
18
|
});
|
|
19
|
-
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("
|
|
19
|
+
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), date && (jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), linklist && (jsx(LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup }))] }))] }))] })));
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export { FeatureCard as default };
|
|
@@ -6,7 +6,7 @@ import 'tslib';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
8
8
|
|
|
9
|
-
const MultilinkCard = ({ isvideo, eyebrow, title, size = "
|
|
9
|
+
const MultilinkCard = ({ isvideo, eyebrow, title, size = "standard", alignment, intro, link, linklist, image, titleLevel: TitleElement, }) => {
|
|
10
10
|
const { prefix } = useGlobalSettings();
|
|
11
11
|
const baseClass = `${prefix}--card`;
|
|
12
12
|
const cardClasses = classNames(baseClass, `${baseClass}__type__multilink`, {
|
|
@@ -16,7 +16,7 @@ const MultilinkCard = ({ isvideo, eyebrow, title, size = "narrow", alignment, in
|
|
|
16
16
|
[`${baseClass}__isvideo`]: isvideo,
|
|
17
17
|
[`${baseClass}__linklist`]: linklist,
|
|
18
18
|
});
|
|
19
|
-
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("
|
|
19
|
+
return (jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsxs("div", Object.assign({ className: `${baseClass}--wrap` }, { children: [image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), image && (jsx("div", Object.assign({ className: `${baseClass}--image--wrapper` }, { children: jsx("picture", { children: jsx("img", { className: `${baseClass}--picture`, src: image, alt: title }) }) }))), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), linklist && (jsx(LinkList, { headline: linklist.headline, linkgroup: linklist.linkgroup }))] }))] }))] })));
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export { MultilinkCard as default };
|
|
@@ -5,7 +5,7 @@ import 'tslib';
|
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
7
7
|
|
|
8
|
-
const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, link, cta, }) => {
|
|
8
|
+
const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, link, cta, titleLevel: TitleElement, }) => {
|
|
9
9
|
const { prefix } = useGlobalSettings();
|
|
10
10
|
const baseClass = `${prefix}--card`;
|
|
11
11
|
const wrapperClass = classNames(`${baseClass}--wrapper`, `${baseClass}--wrapper__type__promo ${baseClass}--wrapper__type__promo__size__${size}`);
|
|
@@ -15,7 +15,7 @@ const PromoCard = ({ eyebrow, title, theme, size = "narrow", cornercut, intro, l
|
|
|
15
15
|
[`${baseClass}__size__${size}`]: size,
|
|
16
16
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
17
17
|
});
|
|
18
|
-
return (jsx("div", Object.assign({ className: wrapperClass }, { children: jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("
|
|
18
|
+
return (jsx("div", Object.assign({ className: wrapperClass }, { children: jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), cta && cta.label && (jsx("a", Object.assign({ className: `${baseClass}--cta ${prefix}--button ${prefix}--button--medium ${prefix}--button--primary`, href: cta.url }, { children: jsx("span", Object.assign({ className: "link__label" }, { children: cta.label })) })))] })) }))] })) })));
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export { PromoCard as default };
|
|
@@ -6,14 +6,14 @@ import 'tslib';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
8
8
|
|
|
9
|
-
const StatCard = ({ title, color, size = "standard", intro, source, }) => {
|
|
9
|
+
const StatCard = ({ title, color, size = "standard", intro, source, titleLevel: TitleElement, }) => {
|
|
10
10
|
const { prefix } = useGlobalSettings();
|
|
11
11
|
const baseClass = `${prefix}--card`;
|
|
12
12
|
const cardClasses = classNames(baseClass, `${baseClass}__type__stat`, {
|
|
13
13
|
[`${baseClass}__color__${color}`]: color,
|
|
14
14
|
[`${baseClass}__size__${size}`]: size,
|
|
15
15
|
});
|
|
16
|
-
return (jsx("div", Object.assign({ className: cardClasses }, { children: jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && jsx("
|
|
16
|
+
return (jsx("div", Object.assign({ className: cardClasses }, { children: jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), intro && jsx("p", Object.assign({ className: `${baseClass}--intro` }, { children: intro })), source && jsx(Link, Object.assign({ url: source.url }, { children: source.label }))] })) })) })));
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
export { StatCard as default };
|
|
@@ -6,7 +6,7 @@ import 'tslib';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import '../../../GlobalCtx-7fb23cfa.js';
|
|
8
8
|
|
|
9
|
-
const TextCard = ({ eyebrow, title, theme, size, date, profile, link, }) => {
|
|
9
|
+
const TextCard = ({ eyebrow, title, theme, size, date, profile, link, titleLevel: TitleElement, }) => {
|
|
10
10
|
const { prefix } = useGlobalSettings();
|
|
11
11
|
const baseClass = `${prefix}--card`;
|
|
12
12
|
const wrapperClass = classNames(`${baseClass}--wrapper`);
|
|
@@ -15,7 +15,7 @@ const TextCard = ({ eyebrow, title, theme, size, date, profile, link, }) => {
|
|
|
15
15
|
[`${baseClass}__size__${size}`]: size,
|
|
16
16
|
[`${baseClass}__theme__${theme}`]: theme,
|
|
17
17
|
});
|
|
18
|
-
return (jsx("div", Object.assign({ className: wrapperClass }, { children: jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && jsx("
|
|
18
|
+
return (jsx("div", Object.assign({ className: wrapperClass }, { children: jsxs("div", Object.assign({ className: cardClasses }, { children: [link && (jsx("a", Object.assign({ className: `${baseClass}--link`, href: link, title: title }, { children: jsx("span", Object.assign({ className: `${baseClass}--link--text` }, { children: title })) }))), jsx("div", Object.assign({ className: `${baseClass}--wrap` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--content` }, { children: [eyebrow && jsx("p", Object.assign({ className: `${baseClass}--eyebrow` }, { children: eyebrow })), title && TitleElement ? (jsx(TitleElement, Object.assign({ className: `${baseClass}--title` }, { children: title }))) : (jsx("p", Object.assign({ className: `${baseClass}--title` }, { children: title }))), date && (jsx("time", Object.assign({ className: `${baseClass}--date`, dateTime: date.unix }, { children: date.human }))), profile && profile.avatar && (jsx(Profile, { avatar: profile.avatar, description: profile.description, link: profile.link, name: profile.name, role: profile.role, className: `${prefix}--profile__theme__${theme}` }))] })) }))] })) })));
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
export { TextCard as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import useGlobalSettings from '../../hooks/useGlobalSettings.js';
|
|
4
|
-
import 'react';
|
|
5
4
|
import 'tslib';
|
|
5
|
+
import 'react';
|
|
6
6
|
import '../../GlobalCtx-7fb23cfa.js';
|
|
7
7
|
|
|
8
8
|
const LogoGridItem = ({ url, label, src }) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { useState } from 'react';
|
|
2
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
3
3
|
import useGlobalSettings from '../../hooks/useGlobalSettings.js';
|
|
4
4
|
import ContextMenu from '../ContextMenu/ContextMenu.js';
|
|
5
5
|
import SearchField from '../SearchField/SearchField.js';
|
|
@@ -18,31 +18,57 @@ const Navigation = ({ logo, mobilelogo, siteurl, tagline, primarynav, subnav, me
|
|
|
18
18
|
const { prefix } = useGlobalSettings();
|
|
19
19
|
const [toggleMenuOpen, setMenuToggleOpen] = useState(false);
|
|
20
20
|
const [toggleSearchOpen, setSearchToggleOpen] = useState(false);
|
|
21
|
+
const [searchTabbable, setSearchTabbable] = useState(false);
|
|
21
22
|
const [toggleSubnavOpen, setSubnavToggleOpen] = useState(false);
|
|
23
|
+
const [subnavTabbable, setSubnavTabbable] = useState(false);
|
|
22
24
|
const [toggleLanguageOpen, setLanguageToggleOpen] = useState(false);
|
|
23
25
|
const baseClass = `${prefix}--header`;
|
|
24
26
|
const NavigationClasses = classNames(baseClass, {
|
|
25
27
|
[`${prefix}--mobile--open`]: toggleMenuOpen,
|
|
26
|
-
[`${prefix}--select--open`]: toggleLanguageOpen,
|
|
27
28
|
[`${prefix}--search--open`]: toggleSearchOpen,
|
|
28
29
|
[`${prefix}--subnav--open`]: toggleSubnavOpen,
|
|
30
|
+
[`${prefix}--select--open`]: toggleLanguageOpen,
|
|
31
|
+
[`${prefix}--context--open`]: toggleLanguageOpen,
|
|
29
32
|
});
|
|
30
33
|
const handleMenuToggle = () => {
|
|
31
34
|
setMenuToggleOpen(!toggleMenuOpen);
|
|
32
35
|
};
|
|
33
|
-
const handleLanguageToggle = () => {
|
|
36
|
+
const handleLanguageToggle = useCallback(() => {
|
|
34
37
|
setLanguageToggleOpen(!toggleLanguageOpen);
|
|
35
|
-
};
|
|
38
|
+
}, [toggleLanguageOpen]);
|
|
36
39
|
const handleSearchToggle = () => {
|
|
37
|
-
|
|
40
|
+
if (toggleSearchOpen) {
|
|
41
|
+
setSearchToggleOpen(false);
|
|
42
|
+
setTimeout(() => setSearchTabbable(false), 225);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
setSearchTabbable(true);
|
|
46
|
+
setTimeout(() => setSearchToggleOpen(true), 10);
|
|
38
47
|
};
|
|
39
48
|
const handleSubnavToggle = () => {
|
|
40
|
-
|
|
49
|
+
if (toggleSubnavOpen) {
|
|
50
|
+
setSubnavToggleOpen(false);
|
|
51
|
+
setTimeout(() => setSubnavTabbable(false), 125);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
setSubnavTabbable(true);
|
|
55
|
+
setTimeout(() => setSubnavToggleOpen(true), 10);
|
|
41
56
|
};
|
|
42
|
-
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (window) {
|
|
59
|
+
if (toggleLanguageOpen) {
|
|
60
|
+
window.addEventListener("click", handleLanguageToggle);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
window.removeEventListener("click", handleLanguageToggle);
|
|
64
|
+
}
|
|
65
|
+
return () => window.removeEventListener("click", handleLanguageToggle);
|
|
66
|
+
}
|
|
67
|
+
}, [toggleLanguageOpen, handleLanguageToggle]);
|
|
68
|
+
return (jsxs("header", Object.assign({ className: NavigationClasses }, { children: [jsx("div", Object.assign({ className: `${baseClass}--utility-bar` }, { children: jsx("div", Object.assign({ className: `${prefix}--language-switcher` }, { children: jsxs("div", Object.assign({ className: `${prefix}--language-switcher--wrap` }, { children: [jsx("button", Object.assign({ className: `${prefix}--language-switcher--button`, type: "button", onClick: handleLanguageToggle }, { children: languagelabel })), jsx(ContextMenu, { links: languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links })] })) })) })), jsx("div", Object.assign({ className: `${baseClass}--logo-bar` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsx("img", { className: `${baseClass}--logo`, src: logo, alt: "ILO Logo" }) })), jsxs("p", Object.assign({ className: `${baseClass}--logo-tagline` }, { children: [tagline === null || tagline === void 0 ? void 0 : tagline.tag, jsx("span", Object.assign({ className: `${baseClass}--logo-tagline--small` }, { children: tagline === null || tagline === void 0 ? void 0 : tagline.small }))] })), jsx("button", Object.assign({ className: `${baseClass}--menu`, onClick: handleMenuToggle }, { children: menulabel }))] })) })), jsxs("div", Object.assign({ className: `${baseClass}--navigation` }, { children: [jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--nav` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--nav--logo` }, { children: [jsx("a", Object.assign({ href: siteurl, className: `${baseClass}--logo-link` }, { children: jsx("img", { className: `${baseClass}--logo`, src: mobilelogo, alt: "ILO Logo" }) })), jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: menucloselabel }))] })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--search` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--switcher` }, { children: jsx("button", Object.assign({ className: `${prefix}--mobile--nav--language--switcher--button`, onClick: handleLanguageToggle, type: "button" }, { children: languagelabel })) })), jsx("div", Object.assign({ className: `${prefix}--mobile--nav--language--select` }, { children: jsxs("div", Object.assign({ className: `${baseClass}--inner ${prefix}--container` }, { children: [jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleLanguageToggle, type: "button" }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${baseClass}--menu--close`, onClick: handleMenuToggle }, { children: subnav === null || subnav === void 0 ? void 0 : subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: languagelabel }))] })), jsx("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: (languagecontextmenu === null || languagecontextmenu === void 0 ? void 0 : languagecontextmenu.links) &&
|
|
43
69
|
languagecontextmenu.links.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link ${prefix}--nav--language` }, { children: item.label })) }), index))) }))] })) }))] })), jsxs("nav", Object.assign({ className: `${prefix}--nav`, "aria-labelledby": "primary-navigation" }, { children: [jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "primary-navigation" }, { children: primarynav === null || primarynav === void 0 ? void 0 : primarynav.navlabel })), jsxs("ul", Object.assign({ className: `${prefix}--nav--set` }, { children: [(primarynav === null || primarynav === void 0 ? void 0 : primarynav.items) &&
|
|
44
|
-
primarynav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))), subnav && (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("button", Object.assign({ className: `${prefix}--nav--trigger`, onClick: handleSubnavToggle }, { children: subnav.buttonlabel })) })))] }))] })), jsx("div", Object.assign({ className: `${prefix}--search` }, { children: jsx("button", Object.assign({ className: `${prefix}--search--button`, type: "button", onClick: handleSearchToggle }, { children: searchlabel })) }))] })), subnav && (jsx("nav", Object.assign({ className: `${prefix}--subnav`, "aria-labelledby": "secondary-navigation" }, { children: jsxs("div", Object.assign({ className: `${prefix}--subnav--inner ${prefix}--container` }, { children: [jsx("div", Object.assign({ className: `${prefix}--mobile--subnav` }, { children: jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleSubnavToggle, type: "button" }, { children: subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${prefix}--header--menu--close`, onClick: handleMenuToggle }, { children: subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: subnav.buttonlabel }))] })) })), jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "secondary-navigation" }, { children: subnav.navlabel })), jsx("ul", Object.assign({ className: `${prefix}--subnav--set` }, { children: (subnav === null || subnav === void 0 ? void 0 : subnav.items) &&
|
|
45
|
-
subnav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--subnav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--subnav--link` }, { children: item.label })) }), index))) }))] })) }))), jsx("div", Object.assign({ className: `${prefix}--search-box` }, { children: jsx("div", Object.assign({ className: `${prefix}--header--inner ${prefix}--container` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })) }))] }))] })));
|
|
70
|
+
primarynav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--nav--link` }, { children: item.label })) }), index))), subnav && (jsx("li", Object.assign({ className: `${prefix}--nav--items` }, { children: jsx("button", Object.assign({ className: `${prefix}--nav--trigger`, onClick: handleSubnavToggle }, { children: subnav.buttonlabel })) })))] }))] })), jsx("div", Object.assign({ className: `${prefix}--search` }, { children: jsx("button", Object.assign({ className: `${prefix}--search--button`, type: "button", onClick: handleSearchToggle }, { children: searchlabel })) }))] })), subnav && (jsx("nav", Object.assign({ style: { display: subnavTabbable ? "block" : "none" }, className: `${prefix}--subnav`, "aria-labelledby": "secondary-navigation" }, { children: jsxs("div", Object.assign({ className: `${prefix}--subnav--inner ${prefix}--container` }, { children: [jsx("div", Object.assign({ className: `${prefix}--mobile--subnav` }, { children: jsxs("div", Object.assign({ className: `${prefix}--mobile--subnav--menu` }, { children: [jsx("button", Object.assign({ className: `${prefix}--mobile--subnav--back`, onClick: handleSubnavToggle, type: "button" }, { children: subnav.mobilebacklabel })), jsx("button", Object.assign({ className: `${prefix}--header--menu--close`, onClick: handleMenuToggle }, { children: subnav.mobilecloselabel })), jsx("h6", Object.assign({ className: `${prefix}--mobile--subnav--label` }, { children: subnav.buttonlabel }))] })) })), jsx("h2", Object.assign({ className: `${prefix}--nav--label`, id: "secondary-navigation" }, { children: subnav.navlabel })), jsx("ul", Object.assign({ className: `${prefix}--subnav--set` }, { children: (subnav === null || subnav === void 0 ? void 0 : subnav.items) &&
|
|
71
|
+
subnav.items.map((item, index) => (jsx("li", Object.assign({ className: `${prefix}--subnav--items` }, { children: jsx("a", Object.assign({ href: item.url, className: `${prefix}--subnav--link` }, { children: item.label })) }), index))) }))] })) }))), jsx("div", Object.assign({ style: { display: searchTabbable ? "block" : "none" }, className: `${prefix}--search-box` }, { children: jsx("div", Object.assign({ className: `${prefix}--header--inner ${prefix}--container` }, { children: jsx(SearchField, { input: searchfield === null || searchfield === void 0 ? void 0 : searchfield.input, action: searchfield === null || searchfield === void 0 ? void 0 : searchfield.action }) })) }))] }))] })));
|
|
46
72
|
};
|
|
47
73
|
|
|
48
74
|
export { Navigation as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import useGlobalSettings from '../../hooks/useGlobalSettings.js';
|
|
4
|
-
import 'react';
|
|
5
4
|
import 'tslib';
|
|
5
|
+
import 'react';
|
|
6
6
|
import '../../GlobalCtx-7fb23cfa.js';
|
|
7
7
|
|
|
8
8
|
const SocialMedia = ({ className, theme = "light", justify = "start", headline, icons, }) => {
|
package/lib/esm/hooks/index.js
CHANGED
|
@@ -7,15 +7,40 @@ import { FeatureCardProps } from "../FeatureCard";
|
|
|
7
7
|
import { DetailCardProps } from "../DetailCard";
|
|
8
8
|
import { FactlistCardProps } from "../FactlistCard";
|
|
9
9
|
import { DataCardProps } from "../DataCard";
|
|
10
|
+
import { HeadingTypes, CardSize, ThemeTypes, CardAlignment } from "../../../types";
|
|
10
11
|
export interface CommonCardGroupProps {
|
|
11
12
|
/**
|
|
12
|
-
*
|
|
13
|
+
*Collapsed - Optionally collapses margins between the cards.
|
|
14
|
+
*Option keys: true, false
|
|
15
|
+
*/
|
|
16
|
+
collapsed?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
*Number of cards in the group
|
|
13
19
|
*/
|
|
14
20
|
cardCount: string;
|
|
15
21
|
/**
|
|
16
|
-
*
|
|
22
|
+
*Size - Sets the layout of the cards in the group. See the Card component for more info on this setting, which has different effects on the different types of cards.
|
|
23
|
+
*Option keys: standard, narrow, wide, fluid
|
|
24
|
+
*/
|
|
25
|
+
size: CardSize;
|
|
26
|
+
/**
|
|
27
|
+
*Alignment - Positions the image to the right or to the left of the content when the card is displayed in a wide or fluid size. Has no effect if the card is displayed in a standard or narrow size. Only used by `Multilink Card`.
|
|
28
|
+
*Option keys: left, right
|
|
29
|
+
*/
|
|
30
|
+
alignment?: CardAlignment;
|
|
31
|
+
/**
|
|
32
|
+
*Set the title level for all the cards in the group
|
|
33
|
+
*/
|
|
34
|
+
titleLevel?: HeadingTypes;
|
|
35
|
+
/**
|
|
36
|
+
*A Button to display after all the cards in the group
|
|
17
37
|
*/
|
|
18
38
|
cta?: LinkProps;
|
|
39
|
+
/**
|
|
40
|
+
*Theme - Sets all of the cards to appear as either light or dark. Used by all card groups except for Multilink Card, Data Card and Stat Card.
|
|
41
|
+
*Option keys: dark, light
|
|
42
|
+
*/
|
|
43
|
+
theme?: ThemeTypes;
|
|
19
44
|
}
|
|
20
45
|
export interface StatCardGroup extends CommonCardGroupProps {
|
|
21
46
|
/**
|
|
@@ -53,6 +78,7 @@ export interface FactlistCardGroup extends CommonCardGroupProps {
|
|
|
53
78
|
}
|
|
54
79
|
export interface DataCardGroup extends CommonCardGroupProps {
|
|
55
80
|
type: "data";
|
|
81
|
+
titleLevel?: never;
|
|
56
82
|
cards: DataCardProps[];
|
|
57
83
|
}
|
|
58
84
|
export type CardGroupProps = StatCardGroup | MultilinkCardGroup | TextCardGroup | PromoCardGroup | FeatureCardGroup | DetailCardGroup | FactlistCardGroup | DataCardGroup;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CardSize, EventDate } from "../../../types";
|
|
1
|
+
import { CardSize, EventDate, HeadingTypes } from "../../../types";
|
|
2
2
|
export type DetailCardProps = {
|
|
3
3
|
/**
|
|
4
4
|
* A line of text that appears as a small heading above the title of the card
|
|
@@ -8,6 +8,10 @@ export type DetailCardProps = {
|
|
|
8
8
|
* The title of the card
|
|
9
9
|
*/
|
|
10
10
|
title: string;
|
|
11
|
+
/**
|
|
12
|
+
* HTML element used for the title
|
|
13
|
+
*/
|
|
14
|
+
titleLevel?: HeadingTypes;
|
|
11
15
|
/**
|
|
12
16
|
* Introductory text in the card
|
|
13
17
|
*/
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import { ThemeTypes, CardSize } from "../../../types";
|
|
1
|
+
import { ThemeTypes, CardSize, HeadingTypes } from "../../../types";
|
|
2
2
|
export type FactlistCardProps = {
|
|
3
3
|
/**
|
|
4
4
|
* The title of the card
|
|
5
5
|
*/
|
|
6
6
|
title: string;
|
|
7
|
+
/**
|
|
8
|
+
* HTML element used for the title
|
|
9
|
+
*/
|
|
10
|
+
titleLevel?: HeadingTypes;
|
|
7
11
|
/**
|
|
8
12
|
* Will render the card to appear on light or dark backgrounds
|
|
9
13
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemeTypes, CardSize, EventDate } from "../../../types";
|
|
1
|
+
import { ThemeTypes, CardSize, EventDate, HeadingTypes } from "../../../types";
|
|
2
2
|
import { LinkListProps } from "../../LinkList/LinkList.props";
|
|
3
3
|
export type FeatureCardProps = {
|
|
4
4
|
isvideo?: boolean;
|
|
@@ -10,6 +10,10 @@ export type FeatureCardProps = {
|
|
|
10
10
|
* The title of the card
|
|
11
11
|
*/
|
|
12
12
|
title: string;
|
|
13
|
+
/**
|
|
14
|
+
* HTML element used for the title
|
|
15
|
+
*/
|
|
16
|
+
titleLevel?: HeadingTypes;
|
|
13
17
|
/**
|
|
14
18
|
* Will render the card to appear on light or dark backgrounds
|
|
15
19
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CardAlignment, CardSize } from "../../../types";
|
|
1
|
+
import { CardAlignment, CardSize, HeadingTypes } from "../../../types";
|
|
2
2
|
import { LinkListProps } from "../../LinkList/LinkList.props";
|
|
3
3
|
export type MultilinkCardProps = {
|
|
4
4
|
isvideo?: boolean;
|
|
@@ -10,6 +10,10 @@ export type MultilinkCardProps = {
|
|
|
10
10
|
* The title of the card
|
|
11
11
|
*/
|
|
12
12
|
title: string;
|
|
13
|
+
/**
|
|
14
|
+
* HTML element used for the title
|
|
15
|
+
*/
|
|
16
|
+
titleLevel?: HeadingTypes;
|
|
13
17
|
/**
|
|
14
18
|
* How big should the card be
|
|
15
19
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemeTypes, CardCornerType, CardSize } from "../../../types";
|
|
1
|
+
import { ThemeTypes, CardCornerType, CardSize, HeadingTypes } from "../../../types";
|
|
2
2
|
import { LinkProps } from "../../LinkList/LinkList.props";
|
|
3
3
|
export type PromoCardProps = {
|
|
4
4
|
/**
|
|
@@ -9,6 +9,10 @@ export type PromoCardProps = {
|
|
|
9
9
|
* The title of the card
|
|
10
10
|
*/
|
|
11
11
|
title: string;
|
|
12
|
+
/**
|
|
13
|
+
* HTML element used for the title
|
|
14
|
+
*/
|
|
15
|
+
titleLevel?: HeadingTypes;
|
|
12
16
|
/**
|
|
13
17
|
* Will render the card to appear on light or dark backgrounds
|
|
14
18
|
*/
|
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
import { CardColor, CardSize } from "../../../types";
|
|
1
|
+
import { CardColor, CardSize, HeadingTypes } from "../../../types";
|
|
2
2
|
import { LinkProps } from "../../LinkList/LinkList.props";
|
|
3
3
|
export type StatCardProps = {
|
|
4
4
|
/**
|
|
5
5
|
* The title of the card
|
|
6
6
|
*/
|
|
7
7
|
title: string;
|
|
8
|
+
/**
|
|
9
|
+
* HTML element used for the title
|
|
10
|
+
*/
|
|
11
|
+
titleLevel?: HeadingTypes;
|
|
12
|
+
/**
|
|
13
|
+
* Background color of stat card
|
|
14
|
+
*/
|
|
8
15
|
color?: CardColor;
|
|
9
16
|
/**
|
|
10
17
|
* How big should the card be
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ThemeTypes, CardSize, EventDate } from "../../../types";
|
|
1
|
+
import { ThemeTypes, CardSize, EventDate, HeadingTypes } from "../../../types";
|
|
2
2
|
import { ProfileProps } from "../../Profile/Profile.props";
|
|
3
3
|
export type TextCardProps = {
|
|
4
4
|
/**
|
|
@@ -9,6 +9,10 @@ export type TextCardProps = {
|
|
|
9
9
|
* The title of the card
|
|
10
10
|
*/
|
|
11
11
|
title: string;
|
|
12
|
+
/**
|
|
13
|
+
* HTML element used for the title
|
|
14
|
+
*/
|
|
15
|
+
titleLevel?: HeadingTypes;
|
|
12
16
|
/**
|
|
13
17
|
* Will render the card to appear on light or dark backgrounds
|
|
14
18
|
*/
|
|
@@ -29,6 +29,7 @@ export type CardSize = "wide" | "standard" | "narrow" | "fluid";
|
|
|
29
29
|
export type CardCornerType = boolean;
|
|
30
30
|
export type CardAlignment = "left" | "right";
|
|
31
31
|
export type CardTypes = "stat" | "multilink" | "text" | "promo" | "feature" | "detail" | "factlist" | "data";
|
|
32
|
+
export type HeadingTypes = "p" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
32
33
|
export type EventDate = {
|
|
33
34
|
unix?: string;
|
|
34
35
|
human?: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ilo-org/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "React components for the ILO's Design System",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui_patterns",
|
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
"designsystem",
|
|
10
10
|
"components"
|
|
11
11
|
],
|
|
12
|
+
"files": [
|
|
13
|
+
"lib/**/*"
|
|
14
|
+
],
|
|
12
15
|
"contributors": [
|
|
13
16
|
{
|
|
14
17
|
"name": "Justin Smith",
|
|
@@ -95,12 +98,12 @@
|
|
|
95
98
|
"react-transition-group": "^4.4.1",
|
|
96
99
|
"video.js": "^7.21.2",
|
|
97
100
|
"videojs-youtube": "^3.0.1",
|
|
98
|
-
"@ilo-org/brand-assets": "0.5.
|
|
99
|
-
"@ilo-org/fonts": "0.2.
|
|
100
|
-
"@ilo-org/icons-react": "0.1.
|
|
101
|
-
"@ilo-org/styles": "0.
|
|
102
|
-
"@ilo-org/themes": "0.8.
|
|
103
|
-
"@ilo-org/utils": "0.1.
|
|
101
|
+
"@ilo-org/brand-assets": "0.5.1",
|
|
102
|
+
"@ilo-org/fonts": "0.2.1",
|
|
103
|
+
"@ilo-org/icons-react": "0.1.1",
|
|
104
|
+
"@ilo-org/styles": "1.0.0",
|
|
105
|
+
"@ilo-org/themes": "0.8.1",
|
|
106
|
+
"@ilo-org/utils": "0.1.1"
|
|
104
107
|
},
|
|
105
108
|
"devDependencies": {
|
|
106
109
|
"@rollup/plugin-commonjs": "^23.0.2",
|
|
@@ -152,10 +155,10 @@
|
|
|
152
155
|
"ts-dedent": "^2.2.0",
|
|
153
156
|
"ts-jest": "^29.1.1",
|
|
154
157
|
"tslib": "^2.3.1",
|
|
155
|
-
"vite": "^4.5.
|
|
156
|
-
"@ilo-org/eslint-config": "0.2.
|
|
157
|
-
"@ilo-org/prettier-config": "0.1.
|
|
158
|
-
"@ilo-org/typescript-config": "0.1.
|
|
158
|
+
"vite": "^4.5.3",
|
|
159
|
+
"@ilo-org/eslint-config": "0.2.1",
|
|
160
|
+
"@ilo-org/prettier-config": "0.1.1",
|
|
161
|
+
"@ilo-org/typescript-config": "0.1.1"
|
|
159
162
|
},
|
|
160
163
|
"peerDependencies": {
|
|
161
164
|
"react": ">16",
|
package/.eslintrc.cjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package-level eslint config extends the global config and applies
|
|
3
|
-
* customizations relative to the local project. In this example we
|
|
4
|
-
* are lintinting both js and ts files, so we combine two configs
|
|
5
|
-
* and set the TypeScript settings as an override
|
|
6
|
-
*/
|
|
7
|
-
module.exports = {
|
|
8
|
-
/* =============== */
|
|
9
|
-
/* Global Settings */
|
|
10
|
-
/* =============== */
|
|
11
|
-
root: true,
|
|
12
|
-
extends: ["@ilo-org/eslint-config"],
|
|
13
|
-
// Extend the default config and add any specific settings for this project
|
|
14
|
-
ignorePatterns: [
|
|
15
|
-
"storybook-static/",
|
|
16
|
-
"node_modules/",
|
|
17
|
-
"lib/",
|
|
18
|
-
"src/stories/",
|
|
19
|
-
//@TODO: Remove this once type errors in tests and args files are fixed
|
|
20
|
-
"src/__tests__",
|
|
21
|
-
"src/components/**/*.args.ts",
|
|
22
|
-
],
|
|
23
|
-
|
|
24
|
-
overrides: [
|
|
25
|
-
/* =================== */
|
|
26
|
-
/* TypeScript Settings */
|
|
27
|
-
/* =================== */
|
|
28
|
-
{
|
|
29
|
-
// Which files the override will apply to relative to the package root
|
|
30
|
-
files: ["**/*.{ts,tsx}"],
|
|
31
|
-
extends: ["@ilo-org/eslint-config/typescript"],
|
|
32
|
-
// The typescript parser options for this package, which will be different
|
|
33
|
-
// from other packages
|
|
34
|
-
parserOptions: {
|
|
35
|
-
project: ["./tsconfig.json"],
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
],
|
|
39
|
-
};
|
package/.storybook/main.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export const core = {
|
|
2
|
-
disableTelemetry: true,
|
|
3
|
-
builder: "@storybook/builder-vite",
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
export const framework = {
|
|
7
|
-
name: "@storybook/react-vite",
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const stories = [
|
|
11
|
-
"../src/stories/**/*.mdx",
|
|
12
|
-
"../src/stories/**/*.stories.@(js|jsx|ts|tsx)",
|
|
13
|
-
];
|
|
14
|
-
|
|
15
|
-
export const docs = {
|
|
16
|
-
defaultName: "Overview",
|
|
17
|
-
autodocs: "tag",
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export const staticDirs = [
|
|
21
|
-
"../public",
|
|
22
|
-
{ from: "../node_modules/@ilo-org/fonts/font-css", to: "/fonts" },
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
export const addons = [
|
|
26
|
-
"@storybook/addon-links",
|
|
27
|
-
"@storybook/addon-essentials",
|
|
28
|
-
"@storybook/addon-a11y",
|
|
29
|
-
"@storybook/addon-styling",
|
|
30
|
-
"storybook-addon-rtl-direction",
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
export const typescript = {
|
|
34
|
-
reactDocgen: "react-docgen-typescript",
|
|
35
|
-
reactDocgenTypescriptOptions: {
|
|
36
|
-
compilerOptions: {
|
|
37
|
-
allowSyntheticDefaultImports: true,
|
|
38
|
-
esModuleInterop: true,
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
};
|