@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
package/rollup.config.mjs
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import commonjs from "@rollup/plugin-commonjs";
|
|
2
|
-
import json from "@rollup/plugin-json";
|
|
3
|
-
import resolve from "@rollup/plugin-node-resolve";
|
|
4
|
-
import { createRequire } from "node:module";
|
|
5
|
-
import del from "rollup-plugin-delete";
|
|
6
|
-
import livereload from "rollup-plugin-livereload";
|
|
7
|
-
import peerDepsExternal from "rollup-plugin-peer-deps-external";
|
|
8
|
-
import typescript from "rollup-plugin-typescript2";
|
|
9
|
-
import multiInput from "rollup-plugin-multi-input";
|
|
10
|
-
|
|
11
|
-
const require = createRequire(import.meta.url);
|
|
12
|
-
const packageJson = require("./package.json");
|
|
13
|
-
|
|
14
|
-
const config = {
|
|
15
|
-
input: [
|
|
16
|
-
"src/index.ts",
|
|
17
|
-
"src/components/**/index.ts",
|
|
18
|
-
"src/components/**/*.tsx",
|
|
19
|
-
"src/hooks/*.ts",
|
|
20
|
-
"src/utils/*.ts",
|
|
21
|
-
],
|
|
22
|
-
external: [
|
|
23
|
-
...Object.keys(packageJson.dependencies),
|
|
24
|
-
...Object.keys(packageJson.devDependencies),
|
|
25
|
-
],
|
|
26
|
-
output: [
|
|
27
|
-
{
|
|
28
|
-
dir: "lib/esm",
|
|
29
|
-
format: "esm",
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
dir: "lib/cjs",
|
|
33
|
-
format: "cjs",
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const basePlugins = [
|
|
39
|
-
resolve(),
|
|
40
|
-
commonjs(),
|
|
41
|
-
json(),
|
|
42
|
-
multiInput.default({ relative: "src/" }),
|
|
43
|
-
typescript({
|
|
44
|
-
baseUrl: "./src",
|
|
45
|
-
useTsconfigDeclarationDir: true,
|
|
46
|
-
tsconfig: "./tsconfig.build.json",
|
|
47
|
-
}),
|
|
48
|
-
peerDepsExternal(),
|
|
49
|
-
];
|
|
50
|
-
|
|
51
|
-
export default function (commandLineArgs) {
|
|
52
|
-
let plugins;
|
|
53
|
-
|
|
54
|
-
// For production
|
|
55
|
-
if (!commandLineArgs.configDevelop) {
|
|
56
|
-
plugins = [...basePlugins, del({ targets: "lib/*" })];
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// for development
|
|
60
|
-
if (commandLineArgs.configDevelop) {
|
|
61
|
-
plugins = [
|
|
62
|
-
...basePlugins,
|
|
63
|
-
del({ targets: "lib/*", runOnce: true }),
|
|
64
|
-
livereload(),
|
|
65
|
-
];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
config.plugins = plugins;
|
|
69
|
-
return config;
|
|
70
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { AccordionProps } from "./Accordion.props";
|
|
2
|
-
|
|
3
|
-
const large: AccordionProps = {
|
|
4
|
-
onButtonClick: (e) => {
|
|
5
|
-
console.log(e.target);
|
|
6
|
-
},
|
|
7
|
-
allowMultipleExpanded: true,
|
|
8
|
-
defaultAccordionsExpanded: ["l1", "l2"],
|
|
9
|
-
children: undefined,
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Sample prop definitions for Accordions's enumerable properties (imported in stories and tests).
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
export { large };
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Dispatch, MouseEvent, ReactElement, SetStateAction } from "react";
|
|
2
|
-
export { default as AccordionItem } from "./AccordionItem";
|
|
3
|
-
import { getUpdatedItems } from "@ilo-org/utils";
|
|
4
|
-
import { AccordionItemProps } from "./AccordionItem.props";
|
|
5
|
-
|
|
6
|
-
export interface AccordionProps {
|
|
7
|
-
/**
|
|
8
|
-
* Specify the content of your Accordion.
|
|
9
|
-
*/
|
|
10
|
-
children?:
|
|
11
|
-
| ReactElement<AccordionItemProps>
|
|
12
|
-
| Array<ReactElement<AccordionItemProps>>;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Callback to onButtonClick event;
|
|
16
|
-
*/
|
|
17
|
-
onButtonClick?: (e: MouseEvent<HTMLButtonElement>, i: any) => void;
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Allow multiple accordions to be expanded at once, default value is false
|
|
21
|
-
*/
|
|
22
|
-
allowMultipleExpanded?: boolean;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Default accordions expanded on first load
|
|
26
|
-
*/
|
|
27
|
-
defaultAccordionsExpanded?: string[];
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Specify an optional className to be added to your accordion.
|
|
31
|
-
*/
|
|
32
|
-
className?: string;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface AccordionContextProps {
|
|
36
|
-
activeItems: string[];
|
|
37
|
-
getUpdatedItems: typeof getUpdatedItems;
|
|
38
|
-
setActiveItems: Dispatch<SetStateAction<string[]>>;
|
|
39
|
-
allowMultipleExpanded: boolean;
|
|
40
|
-
onButtonClick?: (e: MouseEvent<HTMLButtonElement>, i: any) => void;
|
|
41
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { getUpdatedItems } from "@ilo-org/utils";
|
|
2
|
-
import classNames from "classnames";
|
|
3
|
-
import { Children, FC, ReactElement, useEffect, useState } from "react";
|
|
4
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
5
|
-
import { checkArrayDuplicates } from "../../utils/checkArrayDuplicates";
|
|
6
|
-
import { AccordionProps } from "./Accordion.props";
|
|
7
|
-
import { AccordionContext } from "./AccordionCtx";
|
|
8
|
-
|
|
9
|
-
const Accordion: FC<AccordionProps> = ({
|
|
10
|
-
children,
|
|
11
|
-
allowMultipleExpanded = false,
|
|
12
|
-
onButtonClick,
|
|
13
|
-
defaultAccordionsExpanded = [],
|
|
14
|
-
className,
|
|
15
|
-
}) => {
|
|
16
|
-
const { prefix } = useGlobalSettings();
|
|
17
|
-
const baseClass = `${prefix}--accordion`;
|
|
18
|
-
const [activeItems, setActiveItems] = useState<string[]>([]);
|
|
19
|
-
|
|
20
|
-
const accordionClasses = classNames(className, {
|
|
21
|
-
[baseClass]: true,
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
const defaultAccordionsExpandedString = JSON.stringify(
|
|
25
|
-
defaultAccordionsExpanded
|
|
26
|
-
);
|
|
27
|
-
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
const expandedOnLoad = allowMultipleExpanded
|
|
30
|
-
? defaultAccordionsExpanded
|
|
31
|
-
: defaultAccordionsExpanded.length > 0
|
|
32
|
-
? [defaultAccordionsExpanded[0]]
|
|
33
|
-
: defaultAccordionsExpanded;
|
|
34
|
-
setActiveItems(expandedOnLoad);
|
|
35
|
-
}, [defaultAccordionsExpandedString, allowMultipleExpanded]); //eslint-disable-line react-hooks/exhaustive-deps
|
|
36
|
-
|
|
37
|
-
if (children) {
|
|
38
|
-
const ids: string[] = [];
|
|
39
|
-
Children.forEach(children, (child: ReactElement) => {
|
|
40
|
-
ids.push(child.props.id);
|
|
41
|
-
});
|
|
42
|
-
if (checkArrayDuplicates(ids)) {
|
|
43
|
-
console.warn("Warning: Accordion items must have unique ids.");
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<AccordionContext.Provider
|
|
49
|
-
value={{
|
|
50
|
-
activeItems,
|
|
51
|
-
setActiveItems,
|
|
52
|
-
getUpdatedItems,
|
|
53
|
-
allowMultipleExpanded,
|
|
54
|
-
onButtonClick,
|
|
55
|
-
}}
|
|
56
|
-
>
|
|
57
|
-
<ul className={accordionClasses}>{children}</ul>
|
|
58
|
-
</AccordionContext.Provider>
|
|
59
|
-
);
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export default Accordion;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export default interface AccordionButtonProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify the content of your Button.
|
|
6
|
-
*/
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Specify an optional className to be added to your Button.
|
|
11
|
-
*/
|
|
12
|
-
className?: string;
|
|
13
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import classNames from "classnames";
|
|
2
|
-
import { FC, MouseEvent, useContext } from "react";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { default as AccordionButtonProps } from "./AccordionButton.props";
|
|
5
|
-
import { AccordionContext, AccordionItemContext } from "./AccordionCtx";
|
|
6
|
-
|
|
7
|
-
const AccordionButton: FC<AccordionButtonProps> = ({
|
|
8
|
-
children,
|
|
9
|
-
className,
|
|
10
|
-
...rest
|
|
11
|
-
}) => {
|
|
12
|
-
const { prefix } = useGlobalSettings();
|
|
13
|
-
const baseClass = `${prefix}--accordion--button`;
|
|
14
|
-
|
|
15
|
-
const {
|
|
16
|
-
activeItems,
|
|
17
|
-
setActiveItems,
|
|
18
|
-
getUpdatedItems,
|
|
19
|
-
allowMultipleExpanded,
|
|
20
|
-
onButtonClick,
|
|
21
|
-
} = useContext(AccordionContext);
|
|
22
|
-
const { id } = useContext(AccordionItemContext);
|
|
23
|
-
const open = activeItems.indexOf(id) > -1;
|
|
24
|
-
|
|
25
|
-
const accordionButtonClasses = classNames(className, {
|
|
26
|
-
[baseClass]: true,
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* On click, get id of clicked item, and set that item in state to 'open', all others to 'closed'
|
|
31
|
-
*/
|
|
32
|
-
const handleClick = (e: MouseEvent<HTMLButtonElement>, id: string) => {
|
|
33
|
-
setActiveItems(
|
|
34
|
-
getUpdatedItems({ id, itemStatuses: activeItems, allowMultipleExpanded })
|
|
35
|
-
);
|
|
36
|
-
if (onButtonClick) {
|
|
37
|
-
onButtonClick(e, id);
|
|
38
|
-
}
|
|
39
|
-
e.currentTarget.blur();
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<div className={`${prefix}--h3`}>
|
|
44
|
-
<button
|
|
45
|
-
className={accordionButtonClasses}
|
|
46
|
-
aria-expanded={open}
|
|
47
|
-
onClick={(e) => handleClick(e, id)}
|
|
48
|
-
aria-controls={`panel-${id}`}
|
|
49
|
-
id={`button-${id}`}
|
|
50
|
-
{...rest}
|
|
51
|
-
>
|
|
52
|
-
{children}
|
|
53
|
-
</button>
|
|
54
|
-
</div>
|
|
55
|
-
);
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export default AccordionButton;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { createContext } from "react";
|
|
2
|
-
import { AccordionContextProps } from "./Accordion.props";
|
|
3
|
-
import { AccordionItemContextProps } from "./AccordionItem.props";
|
|
4
|
-
|
|
5
|
-
export const AccordionContext = createContext({} as AccordionContextProps);
|
|
6
|
-
|
|
7
|
-
export const AccordionItemContext = createContext(
|
|
8
|
-
{} as AccordionItemContextProps
|
|
9
|
-
);
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export interface AccordionItemContextProps {
|
|
4
|
-
/**
|
|
5
|
-
* The accordion item's unique id.
|
|
6
|
-
*/
|
|
7
|
-
id: string;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export interface AccordionItemProps {
|
|
11
|
-
/**
|
|
12
|
-
* Specify the id of the accordion item.
|
|
13
|
-
*/
|
|
14
|
-
id: string;
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Specify the content of your Button.
|
|
18
|
-
*/
|
|
19
|
-
children: ReactNode;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Specify an optional className to be added to your Button.
|
|
23
|
-
*/
|
|
24
|
-
className?: string;
|
|
25
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import classNames from "classnames";
|
|
2
|
-
import { FC } from "react";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { AccordionItemContext } from "./AccordionCtx";
|
|
5
|
-
import { AccordionItemProps } from "./AccordionItem.props";
|
|
6
|
-
|
|
7
|
-
const AccordionItem: FC<AccordionItemProps> = ({
|
|
8
|
-
children,
|
|
9
|
-
id,
|
|
10
|
-
className,
|
|
11
|
-
...rest
|
|
12
|
-
}) => {
|
|
13
|
-
const { prefix } = useGlobalSettings();
|
|
14
|
-
const baseClass = `${prefix}--accordion--item`;
|
|
15
|
-
const accordionItemClasses = classNames(className, {
|
|
16
|
-
[baseClass]: true,
|
|
17
|
-
});
|
|
18
|
-
return (
|
|
19
|
-
<AccordionItemContext.Provider value={{ id }}>
|
|
20
|
-
<li className={accordionItemClasses} {...rest}>
|
|
21
|
-
{children}
|
|
22
|
-
</li>
|
|
23
|
-
</AccordionItemContext.Provider>
|
|
24
|
-
);
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export default AccordionItem;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export default interface AccordionPanelProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify the content of your Button.
|
|
6
|
-
*/
|
|
7
|
-
children: ReactNode;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Specify an optional className to be added to your Button.
|
|
11
|
-
*/
|
|
12
|
-
className?: string;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Duration of the collapse animation in milliseconds, to ensure that
|
|
16
|
-
* finishing callbacks are fired even if the original browser transition end
|
|
17
|
-
* events are canceled
|
|
18
|
-
*/
|
|
19
|
-
timeout?: number;
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Allows the AccordionPanel to be scrollable by default
|
|
23
|
-
*/
|
|
24
|
-
scroll?: boolean;
|
|
25
|
-
}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import classNames from "classnames";
|
|
2
|
-
import { FC, useContext, useLayoutEffect, useRef, useState } from "react";
|
|
3
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
4
|
-
import { AccordionContext, AccordionItemContext } from "./AccordionCtx";
|
|
5
|
-
import { default as AccordionPanelProps } from "./AccordionPanel.props";
|
|
6
|
-
|
|
7
|
-
const AccordionPanel: FC<AccordionPanelProps> = ({
|
|
8
|
-
children,
|
|
9
|
-
className,
|
|
10
|
-
scroll,
|
|
11
|
-
...rest
|
|
12
|
-
}) => {
|
|
13
|
-
const { activeItems } = useContext(AccordionContext);
|
|
14
|
-
const { id } = useContext(AccordionItemContext);
|
|
15
|
-
const [panelHeight, setPanelHeight] = useState(0);
|
|
16
|
-
const open = activeItems.indexOf(id) > -1;
|
|
17
|
-
const { prefix } = useGlobalSettings();
|
|
18
|
-
const baseClass = `${prefix}--accordion--panel`;
|
|
19
|
-
|
|
20
|
-
const accordionaPanelClasses = classNames(className, baseClass, {
|
|
21
|
-
[`${baseClass}__scroll`]: scroll,
|
|
22
|
-
[`${baseClass}--open`]: open,
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
const ref = useRef<HTMLInputElement>();
|
|
26
|
-
|
|
27
|
-
useLayoutEffect(() => {
|
|
28
|
-
ref.current && setPanelHeight(ref.current.scrollHeight);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
return (
|
|
32
|
-
<div
|
|
33
|
-
className={accordionaPanelClasses}
|
|
34
|
-
id={`panel-${id}`}
|
|
35
|
-
aria-labelledby={`button-${id}`}
|
|
36
|
-
role="region"
|
|
37
|
-
ref={ref as any}
|
|
38
|
-
style={{ ["--height" as any]: `${panelHeight}px` }}
|
|
39
|
-
{...rest}
|
|
40
|
-
>
|
|
41
|
-
<div className={`${prefix}--accordion--innerpanel`}>{children}</div>
|
|
42
|
-
</div>
|
|
43
|
-
);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export default AccordionPanel;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { BreadcrumbProps } from "./Breadcrumb.props";
|
|
2
|
-
|
|
3
|
-
const basic: BreadcrumbProps = {
|
|
4
|
-
home: {
|
|
5
|
-
indented: false,
|
|
6
|
-
label: "Home",
|
|
7
|
-
url: "/",
|
|
8
|
-
},
|
|
9
|
-
links: [
|
|
10
|
-
{
|
|
11
|
-
label: "Link One",
|
|
12
|
-
url: "https://www.ilo.org/",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
label: "Link Two",
|
|
16
|
-
url: "https://www.ilo.org/",
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
label: "Link Three",
|
|
20
|
-
url: "https://www.ilo.org/",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
label: "Link Four",
|
|
24
|
-
url: "https://www.ilo.org/",
|
|
25
|
-
},
|
|
26
|
-
],
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
const fiveLinks: BreadcrumbProps = {
|
|
30
|
-
home: {
|
|
31
|
-
indented: false,
|
|
32
|
-
label: "Home",
|
|
33
|
-
url: "/",
|
|
34
|
-
},
|
|
35
|
-
links: [
|
|
36
|
-
{
|
|
37
|
-
label: "Link One",
|
|
38
|
-
url: "https://www.ilo.org/",
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
label: "Link Two",
|
|
42
|
-
url: "https://www.ilo.org/",
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
label: "Link Three",
|
|
46
|
-
url: "https://www.ilo.org/",
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
label: "Link Four",
|
|
50
|
-
url: "https://www.ilo.org/",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
label: "Link Five",
|
|
54
|
-
url: "https://www.ilo.org/",
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
const BreadcrumbArgs = { basic, fiveLinks };
|
|
60
|
-
|
|
61
|
-
export default BreadcrumbArgs;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { LinkProps } from "../LinkList/LinkList.props";
|
|
2
|
-
|
|
3
|
-
export interface BreadcrumbProps {
|
|
4
|
-
/**
|
|
5
|
-
* Specify the HOME link in the Breadcrumb
|
|
6
|
-
*/
|
|
7
|
-
home: Required<LinkProps>;
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Specify the links to be displayed in the Breadcrumb
|
|
11
|
-
*/
|
|
12
|
-
links: Required<Array<LinkProps>>;
|
|
13
|
-
}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { FC, useState, useEffect } from "react";
|
|
2
|
-
import useGlobalSettings from "../../hooks/useGlobalSettings";
|
|
3
|
-
import classnames from "classnames";
|
|
4
|
-
import { BreadcrumbProps } from "./Breadcrumb.props";
|
|
5
|
-
import { ContextMenu } from "../ContextMenu";
|
|
6
|
-
|
|
7
|
-
const Breadcrumb: FC<BreadcrumbProps> = ({ home, links }) => {
|
|
8
|
-
const { prefix } = useGlobalSettings();
|
|
9
|
-
|
|
10
|
-
const [showContextMenu, enableContextMenu] = useState(false);
|
|
11
|
-
const [toggleMenuOpen, setContextMenuToggleOpen] = useState(false);
|
|
12
|
-
|
|
13
|
-
const handleScreenResize = () => {
|
|
14
|
-
enableContextMenu(window.innerWidth <= 1024); // turn on context menu when screen is resized to a smaller size
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
window.addEventListener("resize", handleScreenResize);
|
|
19
|
-
handleScreenResize();
|
|
20
|
-
|
|
21
|
-
return () => {
|
|
22
|
-
window.removeEventListener("resize", handleScreenResize);
|
|
23
|
-
};
|
|
24
|
-
}, []);
|
|
25
|
-
|
|
26
|
-
const handleContextMenuToggle = () => {
|
|
27
|
-
setContextMenuToggleOpen(!toggleMenuOpen);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const showContext = links.length > 4 || showContextMenu ? true : false;
|
|
31
|
-
|
|
32
|
-
const baseClass = `${prefix}--breadcrumb`;
|
|
33
|
-
const BreadcrumbClasses = classnames(baseClass);
|
|
34
|
-
|
|
35
|
-
const lastLink = links[links.length - 1];
|
|
36
|
-
const menuLinks = links.slice(0, -1);
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<nav
|
|
40
|
-
className={`${BreadcrumbClasses} ${showContext ? " contextmenu" : ""}`}
|
|
41
|
-
>
|
|
42
|
-
<ol className={`${baseClass}--items`}>
|
|
43
|
-
<li className={`${baseClass}--item home`}>
|
|
44
|
-
<a className={`${baseClass}--link`} href={home.url}>
|
|
45
|
-
<span className={`${baseClass}--link--label`}>{home.label}</span>
|
|
46
|
-
</a>
|
|
47
|
-
</li>
|
|
48
|
-
<li
|
|
49
|
-
className={`${baseClass}--item--context`}
|
|
50
|
-
onClick={handleContextMenuToggle}
|
|
51
|
-
>
|
|
52
|
-
<ul
|
|
53
|
-
className={`${baseClass}--items context--menu ${
|
|
54
|
-
toggleMenuOpen ? " open" : ""
|
|
55
|
-
}`}
|
|
56
|
-
>
|
|
57
|
-
{showContext && <ContextMenu links={menuLinks}></ContextMenu>}
|
|
58
|
-
{!showContext &&
|
|
59
|
-
menuLinks.map((link, index) => (
|
|
60
|
-
<li className={`${baseClass}--item`} key={index}>
|
|
61
|
-
<a href={link.url} className={`${baseClass}--link`}>
|
|
62
|
-
<span className={`${baseClass}--link--label`}>
|
|
63
|
-
{link.label}
|
|
64
|
-
</span>
|
|
65
|
-
</a>
|
|
66
|
-
</li>
|
|
67
|
-
))}
|
|
68
|
-
</ul>
|
|
69
|
-
</li>
|
|
70
|
-
<li className={`${baseClass}--item final`}>
|
|
71
|
-
<a className={`${baseClass}--link`} href={lastLink.url}>
|
|
72
|
-
<span className={`${baseClass}--link--label`}>
|
|
73
|
-
{lastLink.label}
|
|
74
|
-
</span>
|
|
75
|
-
</a>
|
|
76
|
-
</li>
|
|
77
|
-
</ol>
|
|
78
|
-
</nav>
|
|
79
|
-
);
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
export default Breadcrumb;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { default as Breadcrumb } from "./Breadcrumb";
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ButtonProps } from "./Button.props";
|
|
2
|
-
|
|
3
|
-
const primary: ButtonProps = {
|
|
4
|
-
type: "primary",
|
|
5
|
-
label: "Primary",
|
|
6
|
-
size: "medium",
|
|
7
|
-
name: "primary",
|
|
8
|
-
};
|
|
9
|
-
const secondary: ButtonProps = {
|
|
10
|
-
type: "secondary",
|
|
11
|
-
label: "Secondary",
|
|
12
|
-
name: "secondary",
|
|
13
|
-
};
|
|
14
|
-
const tertiary: ButtonProps = {
|
|
15
|
-
type: "tertiary",
|
|
16
|
-
label: "Tertiary",
|
|
17
|
-
name: "tertiary",
|
|
18
|
-
};
|
|
19
|
-
const alert: ButtonProps = { type: "alert", label: "Alert", name: "alert" };
|
|
20
|
-
const icon: ButtonProps = { type: "primary", label: "Icon", icon: "close" };
|
|
21
|
-
const disabled: ButtonProps = {
|
|
22
|
-
type: "primary",
|
|
23
|
-
label: "Disabled",
|
|
24
|
-
disabled: true,
|
|
25
|
-
};
|
|
26
|
-
const link: ButtonProps = {
|
|
27
|
-
type: "primary",
|
|
28
|
-
icon: "arrowright",
|
|
29
|
-
iconPosition: "right",
|
|
30
|
-
label: "Visit ilo.org",
|
|
31
|
-
url: "https://www.ilo.org",
|
|
32
|
-
target: "__blank",
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default { primary, secondary, tertiary, alert, icon, disabled, link };
|