@ilo-org/react 0.13.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/Cards/CardGroup/CardGroup.js +0 -1
- package/lib/cjs/components/Cards/CardGroup/index.js +197 -160
- package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +0 -1
- package/lib/cjs/components/Cards/FactlistCard/index.js +0 -1
- package/lib/cjs/components/Cards/TextCard/TextCard.js +1 -1
- package/lib/cjs/components/List/List.js +9 -11
- package/lib/cjs/components/List/ListItem.js +4 -7
- package/lib/cjs/components/List/index.js +1 -2
- package/lib/cjs/components/index.js +0 -1
- package/lib/cjs/index.js +0 -1
- package/lib/esm/components/Cards/CardGroup/CardGroup.js +0 -1
- package/lib/esm/components/Cards/CardGroup/index.js +197 -160
- package/lib/esm/components/Cards/FactlistCard/FactListCard.js +0 -1
- package/lib/esm/components/Cards/FactlistCard/index.js +0 -1
- package/lib/esm/components/Cards/TextCard/TextCard.js +1 -1
- package/lib/esm/components/List/List.js +10 -12
- package/lib/esm/components/List/ListItem.js +4 -7
- package/lib/esm/components/List/index.js +1 -2
- package/lib/esm/components/index.js +0 -1
- package/lib/esm/index.js +0 -1
- package/lib/types/react/src/components/List/List.props.d.ts +2 -9
- package/lib/types/react/src/components/List/ListItem.props.d.ts +0 -6
- package/lib/types/react/src/types/index.d.ts +0 -2
- package/package.json +35 -12
- package/.eslintrc.cjs +0 -39
- package/CHANGELOG.md +0 -858
- package/lib/cjs/ListCtx-14aa546f.js +0 -9
- package/lib/esm/ListCtx-da435fdf.js +0 -6
- package/lib/types/react/src/components/List/ListCtx.d.ts +0 -4
- package/rollup.config.mjs +0 -70
- 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 -768
- 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 -37
- package/src/components/List/List.tsx +0 -41
- package/src/components/List/ListCtx.ts +0 -7
- package/src/components/List/ListItem.props.ts +0 -25
- package/src/components/List/ListItem.tsx +0 -22
- 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/types/forms.args.ts +0 -288
- package/src/types/index.ts +0 -139
- 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,70 +0,0 @@
|
|
|
1
|
-
import { LabelledDropdownProps } from "./Dropdown.props";
|
|
2
|
-
|
|
3
|
-
export const options = [
|
|
4
|
-
{ label: "Switzerland", value: "CH" },
|
|
5
|
-
{ label: "Côte d'Ivoire ", value: "CI" },
|
|
6
|
-
{ label: "Thailand", value: "TH" },
|
|
7
|
-
{ label: "United States", value: "US" },
|
|
8
|
-
{ label: "Zimbabwe", value: "ZW" },
|
|
9
|
-
{ label: "Afghanistan", value: "AF" },
|
|
10
|
-
{ label: "Åland Islands", value: "AX" },
|
|
11
|
-
{ label: "Albania", value: "AL" },
|
|
12
|
-
{ label: "Algeria", value: "DZ" },
|
|
13
|
-
{ label: "American Samoa", value: "AS" },
|
|
14
|
-
{ label: "AndorrA", value: "AD" },
|
|
15
|
-
{ label: "Angola", value: "AO" },
|
|
16
|
-
{ label: "Anguilla", value: "AI" },
|
|
17
|
-
{ label: "Antarctica", value: "AQ" },
|
|
18
|
-
{ label: "Antigua and Barbuda", value: "AG" },
|
|
19
|
-
{ label: "Argentina", value: "AR" },
|
|
20
|
-
{ label: "Armenia", value: "AM" },
|
|
21
|
-
{ label: "Aruba", value: "AW" },
|
|
22
|
-
{ label: "Australia", value: "AU" },
|
|
23
|
-
{ label: "Austria", value: "AT" },
|
|
24
|
-
{ label: "Azerbaijan", value: "AZ" },
|
|
25
|
-
];
|
|
26
|
-
|
|
27
|
-
const basic: LabelledDropdownProps = {
|
|
28
|
-
label: "Select a country",
|
|
29
|
-
errorMessage: "Please select a country",
|
|
30
|
-
autocomplete: "false",
|
|
31
|
-
className: "storybook",
|
|
32
|
-
disabled: false,
|
|
33
|
-
error: false,
|
|
34
|
-
id: "dropdown",
|
|
35
|
-
name: "dropdown",
|
|
36
|
-
options,
|
|
37
|
-
required: false,
|
|
38
|
-
value: "option one",
|
|
39
|
-
style: { width: "100%" },
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
const haserror: LabelledDropdownProps = {
|
|
43
|
-
...basic,
|
|
44
|
-
error: true,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const hashelper: LabelledDropdownProps = {
|
|
48
|
-
...basic,
|
|
49
|
-
helper: "Please select a country",
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
const hastooltip: LabelledDropdownProps = {
|
|
53
|
-
...basic,
|
|
54
|
-
tooltip: "Please select a country",
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const isdisabled: LabelledDropdownProps = {
|
|
58
|
-
...basic,
|
|
59
|
-
disabled: true,
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
const DropdownArgs = {
|
|
63
|
-
basic,
|
|
64
|
-
haserror,
|
|
65
|
-
hashelper,
|
|
66
|
-
hastooltip,
|
|
67
|
-
isdisabled,
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export default DropdownArgs;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { FormFieldProps } from "../../types";
|
|
2
|
-
import { LabelledFormFieldProps } from "../../types";
|
|
3
|
-
|
|
4
|
-
export interface OptionProps {
|
|
5
|
-
/**
|
|
6
|
-
* Is this option disabled?
|
|
7
|
-
*/
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* The option's label
|
|
12
|
-
*/
|
|
13
|
-
label: string;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* The option's value
|
|
17
|
-
*/
|
|
18
|
-
value?: string;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface DropdownProps extends FormFieldProps<HTMLSelectElement> {
|
|
22
|
-
/**
|
|
23
|
-
* A string providing a hint for a user agent's autocomplete feature.
|
|
24
|
-
*/
|
|
25
|
-
autocomplete?: string;
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* The form element to associate the Dropdown with if it's not nested in a form element.
|
|
29
|
-
*/
|
|
30
|
-
form?: string;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Indicates that multiple options can be selected from the list.
|
|
34
|
-
*/
|
|
35
|
-
multiple?: boolean;
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* The Dropdown's options
|
|
39
|
-
*/
|
|
40
|
-
options?: OptionProps[];
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Number of rows in the list that should be visible at one time. Corresponds to the select element's size attribute.
|
|
44
|
-
*/
|
|
45
|
-
selectSize?: number;
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* The Dropdown's default selection; should match one of the values in `options`
|
|
49
|
-
*/
|
|
50
|
-
value?: string;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export type LabelledDropdownProps = LabelledFormFieldProps<DropdownProps>;
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef, useState } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import { useGlobalSettings } from "../../hooks";
|
|
4
|
-
import { DropdownProps, LabelledDropdownProps } from "./Dropdown.props";
|
|
5
|
-
import FormControl, { useFormControl } from "../FormControl/FormControl";
|
|
6
|
-
|
|
7
|
-
const Dropdown = forwardRef<HTMLSelectElement, DropdownProps>((props, ref) => {
|
|
8
|
-
const {
|
|
9
|
-
autocomplete,
|
|
10
|
-
onChange,
|
|
11
|
-
onBlur,
|
|
12
|
-
disabled = false,
|
|
13
|
-
error,
|
|
14
|
-
id,
|
|
15
|
-
name,
|
|
16
|
-
options,
|
|
17
|
-
required,
|
|
18
|
-
value,
|
|
19
|
-
form,
|
|
20
|
-
multiple,
|
|
21
|
-
selectSize,
|
|
22
|
-
} = props;
|
|
23
|
-
|
|
24
|
-
const { prefix } = useGlobalSettings();
|
|
25
|
-
const formControlCtx = useFormControl();
|
|
26
|
-
const { ariaDescribedBy } = formControlCtx;
|
|
27
|
-
|
|
28
|
-
const baseClass = `${prefix}--dropdown`;
|
|
29
|
-
|
|
30
|
-
const dropdownClasses = classNames(baseClass, {
|
|
31
|
-
[`error`]: error,
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
const [currentvalue, setValue] = useState(value);
|
|
35
|
-
|
|
36
|
-
const handleChange = (e: React.ChangeEvent<HTMLSelectElement>) => {
|
|
37
|
-
setValue(e.target.value);
|
|
38
|
-
if (onChange) {
|
|
39
|
-
onChange(e);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
return (
|
|
44
|
-
<div className={`${baseClass}--wrapper`}>
|
|
45
|
-
<select
|
|
46
|
-
ref={ref}
|
|
47
|
-
id={id ? id : name}
|
|
48
|
-
autoComplete={autocomplete}
|
|
49
|
-
name={name}
|
|
50
|
-
required={required}
|
|
51
|
-
onChange={handleChange}
|
|
52
|
-
onBlur={onBlur}
|
|
53
|
-
disabled={disabled}
|
|
54
|
-
className={dropdownClasses}
|
|
55
|
-
value={currentvalue}
|
|
56
|
-
form={form}
|
|
57
|
-
multiple={multiple}
|
|
58
|
-
size={selectSize}
|
|
59
|
-
aria-describedby={ariaDescribedBy}
|
|
60
|
-
>
|
|
61
|
-
{options &&
|
|
62
|
-
options.map((option, i) => (
|
|
63
|
-
<option
|
|
64
|
-
disabled={option.disabled}
|
|
65
|
-
label={option.label}
|
|
66
|
-
value={option.value}
|
|
67
|
-
key={`${baseClass}--option--${i}`}
|
|
68
|
-
>
|
|
69
|
-
{option.label}
|
|
70
|
-
</option>
|
|
71
|
-
))}
|
|
72
|
-
</select>
|
|
73
|
-
</div>
|
|
74
|
-
);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
const LabelledDropdown = forwardRef<HTMLSelectElement, LabelledDropdownProps>(
|
|
78
|
-
(props, ref) => {
|
|
79
|
-
const { style, inputStyle, className, ...rest } = props;
|
|
80
|
-
const fieldId = props.id ? props.id : props.name;
|
|
81
|
-
|
|
82
|
-
return (
|
|
83
|
-
<FormControl
|
|
84
|
-
fieldId={fieldId}
|
|
85
|
-
style={style}
|
|
86
|
-
className={className}
|
|
87
|
-
{...rest}
|
|
88
|
-
>
|
|
89
|
-
<Dropdown ref={ref} style={inputStyle} {...rest} />
|
|
90
|
-
</FormControl>
|
|
91
|
-
);
|
|
92
|
-
}
|
|
93
|
-
);
|
|
94
|
-
|
|
95
|
-
export default LabelledDropdown;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Dropdown } from "./Dropdown";
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { FC } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { EmptyProps } from "./Empty.props";
|
|
5
|
-
|
|
6
|
-
const Empty: FC<EmptyProps> = ({ className, style }) => {
|
|
7
|
-
const { prefix } = useGlobalSettings();
|
|
8
|
-
const baseClass = `${prefix}--empty`;
|
|
9
|
-
const emptyClasses = classNames(className, {
|
|
10
|
-
[baseClass]: true,
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
return <div style={style} className={emptyClasses}></div>;
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export default Empty;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Empty } from "./Empty";
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { HTMLProps } from "react";
|
|
2
|
-
|
|
3
|
-
export interface FieldsetProps extends HTMLProps<HTMLFieldSetElement> {
|
|
4
|
-
/**
|
|
5
|
-
* Optional helper text for the fieldset
|
|
6
|
-
*/
|
|
7
|
-
helper?: string;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Optional error text for the fieldset
|
|
11
|
-
*/
|
|
12
|
-
errorMessage?: string;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Optional tooltip text for the fieldset
|
|
16
|
-
*/
|
|
17
|
-
tooltip?: string;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* The fieldset's legend
|
|
21
|
-
*/
|
|
22
|
-
legend?: string;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* The direction of the Fieldset's children
|
|
26
|
-
*/
|
|
27
|
-
direction?: "row" | "column" | "row-reverse" | "column-reverse";
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* How the Fieldset children will wrap
|
|
31
|
-
*/
|
|
32
|
-
wrap?: "reverse" | "nowrap" | "wrap" | "wrap-reverse";
|
|
33
|
-
}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { FC, createContext, useContext, useState } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { FieldsetProps } from "./Fieldset.props";
|
|
5
|
-
import { Tooltip } from "../Tooltip";
|
|
6
|
-
|
|
7
|
-
type FieldsetContextType = {
|
|
8
|
-
hasError: boolean;
|
|
9
|
-
setHasError: (value: boolean) => void;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
// Create a new context for the error state
|
|
13
|
-
export const FieldsetErrorContext = createContext<FieldsetContextType>({
|
|
14
|
-
hasError: false,
|
|
15
|
-
setHasError: (value) => value,
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
// Custom hook to access the error state from the context
|
|
19
|
-
export const useFieldsetError = () => useContext(FieldsetErrorContext);
|
|
20
|
-
|
|
21
|
-
const Fieldset: FC<FieldsetProps> = ({
|
|
22
|
-
children,
|
|
23
|
-
className,
|
|
24
|
-
legend,
|
|
25
|
-
helper,
|
|
26
|
-
tooltip,
|
|
27
|
-
errorMessage,
|
|
28
|
-
disabled = false,
|
|
29
|
-
wrap = "nowrap",
|
|
30
|
-
direction = "column",
|
|
31
|
-
...props
|
|
32
|
-
}) => {
|
|
33
|
-
const { prefix } = useGlobalSettings();
|
|
34
|
-
|
|
35
|
-
const [hasError, setHasError] = useState(false);
|
|
36
|
-
|
|
37
|
-
const baseClass = `${prefix}--fieldset`;
|
|
38
|
-
const wrapClass = `${baseClass}--wrap__${wrap}`;
|
|
39
|
-
const directionClass = `${baseClass}--direction__${direction}`;
|
|
40
|
-
const helperClass = `${baseClass}--helper`;
|
|
41
|
-
const errorClass = `${baseClass}__error`;
|
|
42
|
-
const disabledClass = `${baseClass}__disabled`;
|
|
43
|
-
|
|
44
|
-
const fieldsetClasses = classNames(
|
|
45
|
-
className,
|
|
46
|
-
baseClass,
|
|
47
|
-
wrapClass,
|
|
48
|
-
directionClass,
|
|
49
|
-
{
|
|
50
|
-
[disabledClass]: disabled,
|
|
51
|
-
}
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
const helperClasses = classNames(helperClass, {
|
|
55
|
-
[errorClass]: hasError,
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
const contextValue = {
|
|
59
|
-
hasError,
|
|
60
|
-
setHasError,
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
const showHelper = !!helper || hasError;
|
|
64
|
-
|
|
65
|
-
const helperMessage = hasError ? errorMessage : helper;
|
|
66
|
-
|
|
67
|
-
return (
|
|
68
|
-
<fieldset className={fieldsetClasses} {...props}>
|
|
69
|
-
{legend || helper ? (
|
|
70
|
-
<div className={`${baseClass}--legend-wrapper`}>
|
|
71
|
-
{legend && (
|
|
72
|
-
<legend className={`${baseClass}--legend`}>
|
|
73
|
-
{legend}
|
|
74
|
-
{tooltip && (
|
|
75
|
-
<Tooltip
|
|
76
|
-
className={`${baseClass}--legend--tooltip`}
|
|
77
|
-
icon={true}
|
|
78
|
-
label={tooltip}
|
|
79
|
-
theme={"dark"}
|
|
80
|
-
></Tooltip>
|
|
81
|
-
)}
|
|
82
|
-
</legend>
|
|
83
|
-
)}
|
|
84
|
-
{showHelper && <span className={helperClasses}>{helperMessage}</span>}
|
|
85
|
-
</div>
|
|
86
|
-
) : null}
|
|
87
|
-
<div className={`${baseClass}--elements`}>
|
|
88
|
-
<FieldsetErrorContext.Provider value={contextValue}>
|
|
89
|
-
{children}
|
|
90
|
-
</FieldsetErrorContext.Provider>
|
|
91
|
-
</div>
|
|
92
|
-
</fieldset>
|
|
93
|
-
);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
export default Fieldset;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Fieldset } from "./Fieldset";
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { FileUploadProps, LabelledFileUploadProps } from "./FileUpload.props";
|
|
2
|
-
|
|
3
|
-
const basic: LabelledFileUploadProps = {
|
|
4
|
-
label: "Upload your file",
|
|
5
|
-
id: "fileupload",
|
|
6
|
-
disabled: false,
|
|
7
|
-
error: false,
|
|
8
|
-
multiple: true,
|
|
9
|
-
name: "fileupload",
|
|
10
|
-
placeholder: "Select files",
|
|
11
|
-
required: false,
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const hashelper: LabelledFileUploadProps = {
|
|
15
|
-
label: "Upload your file",
|
|
16
|
-
id: "fileupload",
|
|
17
|
-
disabled: false,
|
|
18
|
-
error: false,
|
|
19
|
-
multiple: true,
|
|
20
|
-
name: "fileupload",
|
|
21
|
-
placeholder: "Select files",
|
|
22
|
-
required: false,
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
const haserror: LabelledFileUploadProps = {
|
|
26
|
-
label: "Upload your file",
|
|
27
|
-
id: "fileupload",
|
|
28
|
-
disabled: false,
|
|
29
|
-
error: true,
|
|
30
|
-
multiple: true,
|
|
31
|
-
name: "fileupload",
|
|
32
|
-
placeholder: "Select files",
|
|
33
|
-
required: false,
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
const hastooltip: LabelledFileUploadProps = {
|
|
37
|
-
label: "Upload your file",
|
|
38
|
-
id: "fileupload",
|
|
39
|
-
disabled: false,
|
|
40
|
-
error: false,
|
|
41
|
-
multiple: true,
|
|
42
|
-
name: "fileupload",
|
|
43
|
-
placeholder: "Select files",
|
|
44
|
-
required: false,
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const disabled: FileUploadProps = { ...basic, disabled: true };
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Sample prop definitions FileUpload's enumerable properties (imported in stories and test)
|
|
51
|
-
*/
|
|
52
|
-
const FileUploadArgs = {
|
|
53
|
-
basic,
|
|
54
|
-
hashelper,
|
|
55
|
-
haserror,
|
|
56
|
-
hastooltip,
|
|
57
|
-
disabled,
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
export default FileUploadArgs;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { FormFieldProps } from "../../types";
|
|
2
|
-
import { LabelledFormFieldProps } from "../../types";
|
|
3
|
-
|
|
4
|
-
export interface FileUploadProps extends FormFieldProps<HTMLInputElement> {
|
|
5
|
-
/**
|
|
6
|
-
* The placeholder for the input
|
|
7
|
-
*/
|
|
8
|
-
placeholder?: string;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* The accept attribute for the input
|
|
12
|
-
*/
|
|
13
|
-
accept?: string;
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Can the user upload more than one file?
|
|
17
|
-
*/
|
|
18
|
-
multiple?: boolean;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export type LabelledFileUploadProps = LabelledFormFieldProps<FileUploadProps>;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import React, { useState } from "react";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import FormControl, { useFormControl } from "../FormControl/FormControl";
|
|
5
|
-
import { FileUploadProps, LabelledFileUploadProps } from "./FileUpload.props";
|
|
6
|
-
|
|
7
|
-
function formatBytes(bytes: number, decimals = 2) {
|
|
8
|
-
if (!+bytes) return "0 Bytes";
|
|
9
|
-
|
|
10
|
-
const k = 1024;
|
|
11
|
-
const dm = decimals < 0 ? 0 : decimals;
|
|
12
|
-
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
13
|
-
|
|
14
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
15
|
-
|
|
16
|
-
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const FileUpload = React.forwardRef<HTMLInputElement, FileUploadProps>(
|
|
20
|
-
(
|
|
21
|
-
{
|
|
22
|
-
onChange,
|
|
23
|
-
onBlur,
|
|
24
|
-
disabled = false,
|
|
25
|
-
error,
|
|
26
|
-
id,
|
|
27
|
-
multiple,
|
|
28
|
-
name,
|
|
29
|
-
placeholder,
|
|
30
|
-
required,
|
|
31
|
-
accept,
|
|
32
|
-
},
|
|
33
|
-
ref
|
|
34
|
-
) => {
|
|
35
|
-
const { prefix } = useGlobalSettings();
|
|
36
|
-
const formControlCtx = useFormControl();
|
|
37
|
-
const { ariaDescribedBy } = formControlCtx;
|
|
38
|
-
|
|
39
|
-
const baseClass = `${prefix}--file-upload`;
|
|
40
|
-
const fileUploadClasses = classNames(baseClass, {
|
|
41
|
-
[`error`]: error,
|
|
42
|
-
});
|
|
43
|
-
const inputClass = `${baseClass}--input`;
|
|
44
|
-
|
|
45
|
-
const [uploadfiles, setUploadFiles] = useState<null | FileList>(null);
|
|
46
|
-
|
|
47
|
-
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
48
|
-
const files = e.target.files;
|
|
49
|
-
setUploadFiles(files);
|
|
50
|
-
|
|
51
|
-
if (onChange) {
|
|
52
|
-
onChange(e);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
const inputId = id ? id : name;
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<>
|
|
60
|
-
<div className={fileUploadClasses}>
|
|
61
|
-
<label className={inputClass}>
|
|
62
|
-
{placeholder}
|
|
63
|
-
<input
|
|
64
|
-
ref={ref}
|
|
65
|
-
id={inputId}
|
|
66
|
-
name={name}
|
|
67
|
-
accept={accept}
|
|
68
|
-
onChange={handleChange}
|
|
69
|
-
onBlur={onBlur}
|
|
70
|
-
disabled={disabled}
|
|
71
|
-
multiple={multiple}
|
|
72
|
-
placeholder={placeholder}
|
|
73
|
-
required={required as any}
|
|
74
|
-
type="file"
|
|
75
|
-
data-label={placeholder}
|
|
76
|
-
aria-describedby={ariaDescribedBy}
|
|
77
|
-
/>
|
|
78
|
-
</label>
|
|
79
|
-
</div>
|
|
80
|
-
{uploadfiles && uploadfiles.length > 0 && (
|
|
81
|
-
<ul className={`${baseClass}--list`}>
|
|
82
|
-
{[...uploadfiles].map((file, i) => (
|
|
83
|
-
<li
|
|
84
|
-
className={`${baseClass}--list-item`}
|
|
85
|
-
key={`${baseClass}--list-item-${i}`}
|
|
86
|
-
>
|
|
87
|
-
{`${file.name} (${formatBytes(file.size)})`}
|
|
88
|
-
</li>
|
|
89
|
-
))}
|
|
90
|
-
</ul>
|
|
91
|
-
)}
|
|
92
|
-
</>
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
const LabelledFileUpload = React.forwardRef<
|
|
98
|
-
HTMLInputElement,
|
|
99
|
-
LabelledFileUploadProps
|
|
100
|
-
>((props, ref) => {
|
|
101
|
-
const { style, inputStyle, className, ...rest } = props;
|
|
102
|
-
const fieldId = props.id ? props.id : props.name;
|
|
103
|
-
|
|
104
|
-
return (
|
|
105
|
-
<FormControl
|
|
106
|
-
fieldId={fieldId}
|
|
107
|
-
style={style}
|
|
108
|
-
className={className}
|
|
109
|
-
{...rest}
|
|
110
|
-
>
|
|
111
|
-
<FileUpload ref={ref} style={inputStyle} {...rest} />
|
|
112
|
-
</FormControl>
|
|
113
|
-
);
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
export default LabelledFileUpload;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as FileUpload } from "./FileUpload";
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { FooterProps } from "./Footer.props";
|
|
2
|
-
import ilo_logo_white from "@ilo-org/brand-assets/logo_en_horizontal_white.svg";
|
|
3
|
-
import { darkArgs as socialMediaArgs } from "../SocialMedia/SocialMedia.args";
|
|
4
|
-
|
|
5
|
-
const basic: FooterProps = {
|
|
6
|
-
className: "footer",
|
|
7
|
-
logo: ilo_logo_white,
|
|
8
|
-
tagline: "Advancing social justice, promoting decent work",
|
|
9
|
-
subtagline: "ILO is a specialized agency of the United Nations",
|
|
10
|
-
address: [
|
|
11
|
-
"International Labour Organization",
|
|
12
|
-
"4 route des Morillons",
|
|
13
|
-
"CH-1211 Genève 22",
|
|
14
|
-
"Switzerland",
|
|
15
|
-
],
|
|
16
|
-
linkgroup: [
|
|
17
|
-
{
|
|
18
|
-
links: [
|
|
19
|
-
{
|
|
20
|
-
label: "Contact us",
|
|
21
|
-
url: "https://www.ilo.org",
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
label: "Contact us",
|
|
25
|
-
url: "https://www.ilo.org",
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
label: "Contact us",
|
|
29
|
-
url: "https://www.ilo.org",
|
|
30
|
-
},
|
|
31
|
-
],
|
|
32
|
-
},
|
|
33
|
-
],
|
|
34
|
-
socialmedia: socialMediaArgs,
|
|
35
|
-
subscribe: {
|
|
36
|
-
label: "Subscribe for updates",
|
|
37
|
-
url: "https://www.ilo.org",
|
|
38
|
-
},
|
|
39
|
-
legal: "© 1996-2023 International Labour Organization (ILO)",
|
|
40
|
-
secondarylinks: [
|
|
41
|
-
{
|
|
42
|
-
label: "Link One",
|
|
43
|
-
url: "https://www.ilo.org",
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
label: "Link Two",
|
|
47
|
-
url: "https://www.ilo.org",
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
label: "Link Three",
|
|
51
|
-
url: "https://www.ilo.org",
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
label: "Link Four",
|
|
55
|
-
url: "https://www.ilo.org",
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
label: "Link Five",
|
|
59
|
-
url: "https://www.ilo.org",
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
label: "Link Six",
|
|
63
|
-
url: "https://www.ilo.org",
|
|
64
|
-
},
|
|
65
|
-
],
|
|
66
|
-
anchorlink: {
|
|
67
|
-
label: "Back to Top",
|
|
68
|
-
url: "#anchor",
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const FooterArgs = { basic };
|
|
73
|
-
|
|
74
|
-
export default FooterArgs;
|