@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.
Files changed (290) hide show
  1. package/lib/cjs/components/Cards/CardGroup/CardGroup.js +0 -1
  2. package/lib/cjs/components/Cards/CardGroup/index.js +197 -160
  3. package/lib/cjs/components/Cards/FactlistCard/FactListCard.js +0 -1
  4. package/lib/cjs/components/Cards/FactlistCard/index.js +0 -1
  5. package/lib/cjs/components/Cards/TextCard/TextCard.js +1 -1
  6. package/lib/cjs/components/List/List.js +9 -11
  7. package/lib/cjs/components/List/ListItem.js +4 -7
  8. package/lib/cjs/components/List/index.js +1 -2
  9. package/lib/cjs/components/index.js +0 -1
  10. package/lib/cjs/index.js +0 -1
  11. package/lib/esm/components/Cards/CardGroup/CardGroup.js +0 -1
  12. package/lib/esm/components/Cards/CardGroup/index.js +197 -160
  13. package/lib/esm/components/Cards/FactlistCard/FactListCard.js +0 -1
  14. package/lib/esm/components/Cards/FactlistCard/index.js +0 -1
  15. package/lib/esm/components/Cards/TextCard/TextCard.js +1 -1
  16. package/lib/esm/components/List/List.js +10 -12
  17. package/lib/esm/components/List/ListItem.js +4 -7
  18. package/lib/esm/components/List/index.js +1 -2
  19. package/lib/esm/components/index.js +0 -1
  20. package/lib/esm/index.js +0 -1
  21. package/lib/types/react/src/components/List/List.props.d.ts +2 -9
  22. package/lib/types/react/src/components/List/ListItem.props.d.ts +0 -6
  23. package/lib/types/react/src/types/index.d.ts +0 -2
  24. package/package.json +35 -12
  25. package/.eslintrc.cjs +0 -39
  26. package/CHANGELOG.md +0 -858
  27. package/lib/cjs/ListCtx-14aa546f.js +0 -9
  28. package/lib/esm/ListCtx-da435fdf.js +0 -6
  29. package/lib/types/react/src/components/List/ListCtx.d.ts +0 -4
  30. package/rollup.config.mjs +0 -70
  31. package/src/components/Accordion/Accordion.args.ts +0 -16
  32. package/src/components/Accordion/Accordion.props.ts +0 -41
  33. package/src/components/Accordion/Accordion.tsx +0 -62
  34. package/src/components/Accordion/AccordionButton.props.ts +0 -13
  35. package/src/components/Accordion/AccordionButton.tsx +0 -58
  36. package/src/components/Accordion/AccordionCtx.ts +0 -9
  37. package/src/components/Accordion/AccordionItem.props.ts +0 -25
  38. package/src/components/Accordion/AccordionItem.tsx +0 -27
  39. package/src/components/Accordion/AccordionPanel.props.ts +0 -25
  40. package/src/components/Accordion/AccordionPanel.tsx +0 -46
  41. package/src/components/Accordion/index.ts +0 -4
  42. package/src/components/Breadcrumb/Breadcrumb.args.ts +0 -61
  43. package/src/components/Breadcrumb/Breadcrumb.props.ts +0 -13
  44. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -82
  45. package/src/components/Breadcrumb/index.ts +0 -1
  46. package/src/components/Button/Button.args.ts +0 -35
  47. package/src/components/Button/Button.props.ts +0 -89
  48. package/src/components/Button/Button.tsx +0 -77
  49. package/src/components/Button/index.ts +0 -2
  50. package/src/components/Callout/Callout.args.ts +0 -38
  51. package/src/components/Callout/Callout.props.ts +0 -60
  52. package/src/components/Callout/Callout.tsx +0 -80
  53. package/src/components/Callout/index.ts +0 -2
  54. package/src/components/Cards/CardGroup/CardGroup.args.ts +0 -768
  55. package/src/components/Cards/CardGroup/CardGroup.props.ts +0 -78
  56. package/src/components/Cards/CardGroup/CardGroup.tsx +0 -54
  57. package/src/components/Cards/CardGroup/index.tsx +0 -3
  58. package/src/components/Cards/DataCard/DataCard.args.ts +0 -69
  59. package/src/components/Cards/DataCard/DataCard.props.ts +0 -60
  60. package/src/components/Cards/DataCard/DataCard.tsx +0 -107
  61. package/src/components/Cards/DataCard/index.tsx +0 -3
  62. package/src/components/Cards/DetailCard/DetailCard.args.ts +0 -17
  63. package/src/components/Cards/DetailCard/DetailCard.props.ts +0 -43
  64. package/src/components/Cards/DetailCard/DetailCard.tsx +0 -62
  65. package/src/components/Cards/DetailCard/index.tsx +0 -3
  66. package/src/components/Cards/FactlistCard/FactListCard.args.ts +0 -14
  67. package/src/components/Cards/FactlistCard/FactListCard.props.ts +0 -19
  68. package/src/components/Cards/FactlistCard/FactListCard.tsx +0 -42
  69. package/src/components/Cards/FactlistCard/index.tsx +0 -3
  70. package/src/components/Cards/FeatureCard/FeatureCard.args.ts +0 -30
  71. package/src/components/Cards/FeatureCard/FeatureCard.props.ts +0 -38
  72. package/src/components/Cards/FeatureCard/FeatureCard.tsx +0 -69
  73. package/src/components/Cards/FeatureCard/index.tsx +0 -3
  74. package/src/components/Cards/MultilinkCard/MultiLinkCard.tsx +0 -76
  75. package/src/components/Cards/MultilinkCard/MultilinkCard.args.ts +0 -33
  76. package/src/components/Cards/MultilinkCard/MultilinkCard.props.ts +0 -30
  77. package/src/components/Cards/MultilinkCard/index.tsx +0 -3
  78. package/src/components/Cards/PromoCard/PromoCard.args.ts +0 -19
  79. package/src/components/Cards/PromoCard/PromoCard.props.ts +0 -36
  80. package/src/components/Cards/PromoCard/PromoCard.tsx +0 -60
  81. package/src/components/Cards/PromoCard/index.tsx +0 -3
  82. package/src/components/Cards/StatCard/StatCard.args.ts +0 -14
  83. package/src/components/Cards/StatCard/StatCard.props.ts +0 -21
  84. package/src/components/Cards/StatCard/StatCard.tsx +0 -36
  85. package/src/components/Cards/StatCard/index.tsx +0 -3
  86. package/src/components/Cards/TextCard/TextCard.args.ts +0 -21
  87. package/src/components/Cards/TextCard/TextCard.props.ts +0 -32
  88. package/src/components/Cards/TextCard/TextCard.tsx +0 -62
  89. package/src/components/Cards/TextCard/index.tsx +0 -3
  90. package/src/components/Checkbox/Checkbox.args.ts +0 -42
  91. package/src/components/Checkbox/Checkbox.props.ts +0 -5
  92. package/src/components/Checkbox/Checkbox.tsx +0 -94
  93. package/src/components/Checkbox/index.ts +0 -2
  94. package/src/components/Collapse/Collapse.props.ts +0 -92
  95. package/src/components/Collapse/Collapse.tsx +0 -130
  96. package/src/components/Collapse/index.ts +0 -1
  97. package/src/components/ContextMenu/ContextMenu.args.ts +0 -62
  98. package/src/components/ContextMenu/ContextMenu.props.ts +0 -28
  99. package/src/components/ContextMenu/ContextMenu.tsx +0 -32
  100. package/src/components/ContextMenu/index.ts +0 -1
  101. package/src/components/Credit/Credit.args.ts +0 -14
  102. package/src/components/Credit/Credit.props.ts +0 -11
  103. package/src/components/Credit/Credit.tsx +0 -41
  104. package/src/components/Credit/index.ts +0 -1
  105. package/src/components/DatePicker/DatePicker.args.ts +0 -56
  106. package/src/components/DatePicker/DatePicker.props.ts +0 -26
  107. package/src/components/DatePicker/DatePicker.tsx +0 -80
  108. package/src/components/DatePicker/index.ts +0 -1
  109. package/src/components/Dropdown/Dropdown.args.ts +0 -70
  110. package/src/components/Dropdown/Dropdown.props.ts +0 -53
  111. package/src/components/Dropdown/Dropdown.tsx +0 -95
  112. package/src/components/Dropdown/index.ts +0 -1
  113. package/src/components/Empty/Empty.props.ts +0 -13
  114. package/src/components/Empty/Empty.tsx +0 -16
  115. package/src/components/Empty/index.ts +0 -1
  116. package/src/components/Fieldset/Fieldset.props.ts +0 -33
  117. package/src/components/Fieldset/Fieldset.tsx +0 -96
  118. package/src/components/Fieldset/index.ts +0 -1
  119. package/src/components/FileUpload/FileUpload.args.ts +0 -60
  120. package/src/components/FileUpload/FileUpload.props.ts +0 -21
  121. package/src/components/FileUpload/FileUpload.tsx +0 -116
  122. package/src/components/FileUpload/index.ts +0 -1
  123. package/src/components/Footer/Footer.args.ts +0 -74
  124. package/src/components/Footer/Footer.props.ts +0 -60
  125. package/src/components/Footer/Footer.tsx +0 -99
  126. package/src/components/Footer/index.ts +0 -1
  127. package/src/components/Form/Form.args.ts +0 -5
  128. package/src/components/Form/Form.props.ts +0 -8
  129. package/src/components/Form/Form.tsx +0 -23
  130. package/src/components/Form/index.ts +0 -2
  131. package/src/components/FormControl/FormControl.props.ts +0 -72
  132. package/src/components/FormControl/FormControl.tsx +0 -169
  133. package/src/components/FormControl/index.ts +0 -2
  134. package/src/components/FormElement/FormElement.props.ts +0 -60
  135. package/src/components/FormElement/FormElement.tsx +0 -19
  136. package/src/components/FormElement/index.ts +0 -1
  137. package/src/components/GlobalProvider/GlobalCtx.ts +0 -6
  138. package/src/components/GlobalProvider/GlobalProvider.props.ts +0 -15
  139. package/src/components/GlobalProvider/GlobalProvider.tsx +0 -21
  140. package/src/components/GlobalProvider/index.ts +0 -2
  141. package/src/components/Heading/Heading.args.ts +0 -49
  142. package/src/components/Heading/Heading.props.ts +0 -24
  143. package/src/components/Heading/Heading.tsx +0 -28
  144. package/src/components/Heading/index.ts +0 -1
  145. package/src/components/Hero/Hero.args.ts +0 -136
  146. package/src/components/Hero/Hero.props.ts +0 -62
  147. package/src/components/Hero/Hero.tsx +0 -94
  148. package/src/components/Hero/HeroCard.props.ts +0 -54
  149. package/src/components/Hero/HeroCard.tsx +0 -65
  150. package/src/components/Hero/index.ts +0 -2
  151. package/src/components/Icon/Icon.args.ts +0 -15
  152. package/src/components/Icon/Icon.props.ts +0 -16
  153. package/src/components/Icon/Icon.tsx +0 -25
  154. package/src/components/Icon/index.ts +0 -1
  155. package/src/components/Image/Image.args.ts +0 -29
  156. package/src/components/Image/Image.props.ts +0 -43
  157. package/src/components/Image/Image.tsx +0 -51
  158. package/src/components/Image/index.ts +0 -1
  159. package/src/components/Input/Input.args.ts +0 -139
  160. package/src/components/Input/Input.props.ts +0 -65
  161. package/src/components/Input/Input.tsx +0 -65
  162. package/src/components/Input/index.ts +0 -1
  163. package/src/components/Link/Link.props.ts +0 -39
  164. package/src/components/Link/Link.tsx +0 -42
  165. package/src/components/Link/index.ts +0 -1
  166. package/src/components/LinkList/LinkList.args.ts +0 -193
  167. package/src/components/LinkList/LinkList.props.ts +0 -52
  168. package/src/components/LinkList/LinkList.tsx +0 -59
  169. package/src/components/LinkList/index.ts +0 -1
  170. package/src/components/List/List.args.ts +0 -34
  171. package/src/components/List/List.props.ts +0 -37
  172. package/src/components/List/List.tsx +0 -41
  173. package/src/components/List/ListCtx.ts +0 -7
  174. package/src/components/List/ListItem.props.ts +0 -25
  175. package/src/components/List/ListItem.tsx +0 -22
  176. package/src/components/List/index.ts +0 -2
  177. package/src/components/Loading/Loading.args.ts +0 -55
  178. package/src/components/Loading/Loading.props.ts +0 -23
  179. package/src/components/Loading/Loading.tsx +0 -24
  180. package/src/components/Loading/index.ts +0 -1
  181. package/src/components/LocalNav/LocalNav.args.ts +0 -64
  182. package/src/components/LocalNav/LocalNav.props.ts +0 -56
  183. package/src/components/LocalNav/LocalNav.tsx +0 -181
  184. package/src/components/LocalNav/index.ts +0 -1
  185. package/src/components/Logo/Logo.args.ts +0 -45
  186. package/src/components/Logo/Logo.props.ts +0 -67
  187. package/src/components/Logo/Logo.tsx +0 -247
  188. package/src/components/Logo/index.ts +0 -1
  189. package/src/components/LogoGrid/LogoGrid.args.ts +0 -50
  190. package/src/components/LogoGrid/LogoGrid.props.ts +0 -28
  191. package/src/components/LogoGrid/LogoGrid.tsx +0 -53
  192. package/src/components/LogoGrid/index.ts +0 -1
  193. package/src/components/Navigation/Navigation.args.ts +0 -113
  194. package/src/components/Navigation/Navigation.props.ts +0 -120
  195. package/src/components/Navigation/Navigation.tsx +0 -246
  196. package/src/components/Navigation/index.ts +0 -1
  197. package/src/components/Notification/Notification.args.ts +0 -157
  198. package/src/components/Notification/Notification.props.ts +0 -67
  199. package/src/components/Notification/Notification.tsx +0 -78
  200. package/src/components/Notification/index.ts +0 -1
  201. package/src/components/NumberPicker/NumberPicker.args.ts +0 -50
  202. package/src/components/NumberPicker/NumberPicker.props.ts +0 -26
  203. package/src/components/NumberPicker/NumberPicker.tsx +0 -88
  204. package/src/components/NumberPicker/index.ts +0 -1
  205. package/src/components/Pagination/Pagination.args.ts +0 -43
  206. package/src/components/Pagination/Pagination.props.ts +0 -66
  207. package/src/components/Pagination/Pagination.tsx +0 -115
  208. package/src/components/Pagination/index.ts +0 -1
  209. package/src/components/Profile/Profile.args.ts +0 -58
  210. package/src/components/Profile/Profile.props.ts +0 -55
  211. package/src/components/Profile/Profile.tsx +0 -51
  212. package/src/components/Profile/index.ts +0 -1
  213. package/src/components/Radio/Radio.args.ts +0 -15
  214. package/src/components/Radio/Radio.props.ts +0 -6
  215. package/src/components/Radio/Radio.tsx +0 -102
  216. package/src/components/Radio/index.ts +0 -2
  217. package/src/components/ReadMore/ReadMore.args.ts +0 -23
  218. package/src/components/ReadMore/ReadMore.props.ts +0 -38
  219. package/src/components/ReadMore/ReadMore.tsx +0 -55
  220. package/src/components/ReadMore/index.ts +0 -1
  221. package/src/components/RichText/RichText.props.ts +0 -11
  222. package/src/components/RichText/RichText.tsx +0 -22
  223. package/src/components/RichText/index.ts +0 -1
  224. package/src/components/RichText/richText.args.ts +0 -38
  225. package/src/components/SearchField/SearchField.args.ts +0 -73
  226. package/src/components/SearchField/SearchField.props.ts +0 -35
  227. package/src/components/SearchField/SearchField.tsx +0 -83
  228. package/src/components/SearchField/index.ts +0 -1
  229. package/src/components/SocialMedia/SocialMedia.args.ts +0 -54
  230. package/src/components/SocialMedia/SocialMedia.props.ts +0 -45
  231. package/src/components/SocialMedia/SocialMedia.tsx +0 -46
  232. package/src/components/SocialMedia/index.ts +0 -3
  233. package/src/components/TableOfContents/TableOfContents.args.ts +0 -35
  234. package/src/components/TableOfContents/TableOfContents.props.ts +0 -23
  235. package/src/components/TableOfContents/TableOfContents.tsx +0 -32
  236. package/src/components/TableOfContents/index.ts +0 -1
  237. package/src/components/Tabs/Tabs.args.tsx +0 -201
  238. package/src/components/Tabs/Tabs.props.ts +0 -13
  239. package/src/components/Tabs/Tabs.tsx +0 -60
  240. package/src/components/Tabs/index.ts +0 -1
  241. package/src/components/Tag/Tag.args.ts +0 -15
  242. package/src/components/Tag/Tag.props.ts +0 -34
  243. package/src/components/Tag/Tag.tsx +0 -104
  244. package/src/components/Tag/TagCtx.ts +0 -4
  245. package/src/components/Tag/TagSet.args.ts +0 -37
  246. package/src/components/Tag/TagSet.props.ts +0 -37
  247. package/src/components/Tag/TagSet.tsx +0 -61
  248. package/src/components/Tag/index.ts +0 -2
  249. package/src/components/TextInput/TextInput.args.ts +0 -75
  250. package/src/components/TextInput/TextInput.props.ts +0 -20
  251. package/src/components/TextInput/TextInput.tsx +0 -71
  252. package/src/components/TextInput/index.ts +0 -2
  253. package/src/components/Textarea/Textarea.args.ts +0 -34
  254. package/src/components/Textarea/Textarea.props.ts +0 -45
  255. package/src/components/Textarea/Textarea.tsx +0 -52
  256. package/src/components/Textarea/index.ts +0 -3
  257. package/src/components/Toggle/Toggle.args.ts +0 -62
  258. package/src/components/Toggle/Toggle.props.ts +0 -27
  259. package/src/components/Toggle/Toggle.tsx +0 -85
  260. package/src/components/Toggle/index.ts +0 -3
  261. package/src/components/Tooltip/Tooltip.args.ts +0 -39
  262. package/src/components/Tooltip/Tooltip.props.ts +0 -38
  263. package/src/components/Tooltip/Tooltip.tsx +0 -119
  264. package/src/components/Tooltip/index.ts +0 -1
  265. package/src/components/Video/Video.args.ts +0 -47
  266. package/src/components/Video/Video.props.ts +0 -35
  267. package/src/components/Video/Video.tsx +0 -34
  268. package/src/components/Video/VideoPlayer.props.ts +0 -51
  269. package/src/components/Video/VideoPlayer.tsx +0 -71
  270. package/src/components/Video/index.ts +0 -1
  271. package/src/components/Video/media-file-poster.jpg +0 -0
  272. package/src/components/index.ts +0 -46
  273. package/src/declarations.d.ts +0 -36
  274. package/src/hooks/index.ts +0 -2
  275. package/src/hooks/useGlobalSettings.ts +0 -13
  276. package/src/hooks/usePrevious.ts +0 -15
  277. package/src/hooks/useVideoPlayer.ts +0 -85
  278. package/src/index.ts +0 -1
  279. package/src/types/forms.args.ts +0 -288
  280. package/src/types/index.ts +0 -139
  281. package/src/types/temp.d.ts +0 -9
  282. package/src/utils/checkArrayDuplicates.ts +0 -3
  283. package/src/utils/createChainedFunction.ts +0 -31
  284. package/src/utils/getDefaultDimensionValue.ts +0 -28
  285. package/src/utils/hoursMinutesSeconds.ts +0 -8
  286. package/src/utils/index.ts +0 -6
  287. package/src/utils/transitionEndListener.ts +0 -29
  288. package/src/utils/triggerBrowserReflow.ts +0 -4
  289. package/tsconfig.build.json +0 -19
  290. package/tsconfig.json +0 -8
@@ -1,88 +0,0 @@
1
- import React from "react";
2
- import classNames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import FormControl, { useFormControl } from "../FormControl/FormControl";
5
- import {
6
- NumberPickerProps,
7
- LabelledNumberPickerProps,
8
- } from "./NumberPicker.props";
9
-
10
- const NumberPicker = React.forwardRef<HTMLInputElement, NumberPickerProps>(
11
- (
12
- {
13
- onChange,
14
- onBlur,
15
- disabled = false,
16
- error,
17
- id,
18
- name,
19
- placeholder,
20
- required,
21
- max,
22
- min,
23
- step,
24
- },
25
- ref
26
- ) => {
27
- const { prefix } = useGlobalSettings();
28
- const formControlCtx = useFormControl();
29
- const { ariaDescribedBy } = formControlCtx;
30
-
31
- const inputClass = `${prefix}--input`;
32
- const baseClass = `${prefix}--numberpicker`;
33
-
34
- const hasError = !disabled && !!error;
35
-
36
- const numberPickerClasses = classNames(inputClass, baseClass, {
37
- error: hasError,
38
- });
39
-
40
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
41
- if (onChange) {
42
- onChange(e);
43
- }
44
- };
45
-
46
- return (
47
- <input
48
- ref={ref}
49
- id={id ? id : name}
50
- name={name}
51
- onChange={handleChange}
52
- onBlur={onBlur}
53
- disabled={disabled}
54
- placeholder={placeholder}
55
- required={required}
56
- type="number"
57
- className={numberPickerClasses}
58
- pattern="[0-9]*"
59
- inputMode="numeric"
60
- aria-describedby={ariaDescribedBy}
61
- max={max}
62
- min={min}
63
- step={step}
64
- />
65
- );
66
- }
67
- );
68
-
69
- const LabelledNumberPicker = React.forwardRef<
70
- HTMLInputElement,
71
- LabelledNumberPickerProps
72
- >((props, ref) => {
73
- const { style, inputStyle, className, ...rest } = props;
74
- const fieldId = props.id ? props.id : props.name;
75
-
76
- return (
77
- <FormControl
78
- fieldId={fieldId}
79
- style={style}
80
- className={className}
81
- {...rest}
82
- >
83
- <NumberPicker ref={ref} style={inputStyle} {...rest} />
84
- </FormControl>
85
- );
86
- });
87
-
88
- export default LabelledNumberPicker;
@@ -1 +0,0 @@
1
- export { default as NumberPicker } from "./NumberPicker";
@@ -1,43 +0,0 @@
1
- import { PaginationProps } from "./Pagination.props";
2
-
3
- const pagination: PaginationProps = {
4
- className: "storybook",
5
- callback: () => {},
6
- currentPage: 1,
7
- firstPageUrl: "https://www.google.com?s=first",
8
- firstPageTitle: "First",
9
- lastPageUrl: "https://www.google.com?s=last",
10
- lastPageTitle: "Last",
11
- nextPageUrl: "https://www.google.com?s=next",
12
- nextPageTitle: "Next",
13
- pageCountPreposition: "of",
14
- prevPageUrl: "https://www.google.com?s=prev",
15
- prevPageTitle: "Prev",
16
- totalPages: 8,
17
- };
18
-
19
- const firstDisabled: PaginationProps = {
20
- className: "storybook",
21
- callback: () => {},
22
- currentPage: 0,
23
- firstPageUrl: "https://www.google.com?s=first",
24
- firstPageTitle: "First",
25
- lastPageUrl: "https://www.google.com?s=last",
26
- lastPageTitle: "Last",
27
- nextPageUrl: "https://www.google.com?s=next",
28
- nextPageTitle: "Next",
29
- pageCountPreposition: "of",
30
- prevPageUrl: "https://www.google.com?s=prev",
31
- prevPageTitle: "Prev",
32
- totalPages: 1,
33
- };
34
-
35
- /**
36
- * Sample prop definitions for Pagination's enumerable properties (imported in stories and test)
37
- */
38
- const PaginationArgs = {
39
- pagination,
40
- firstDisabled,
41
- };
42
-
43
- export default PaginationArgs;
@@ -1,66 +0,0 @@
1
- export interface PaginationProps {
2
- /**
3
- * Specify the callback of your Button.
4
- */
5
- callback: (e: React.MouseEvent<Element, MouseEvent>) => any;
6
-
7
- /**
8
- * Specify an optional className to be added to your Pagination component.
9
- */
10
- className?: string;
11
-
12
- /**
13
- * current page number that the user is on, zero-indexed
14
- */
15
- currentPage: number;
16
-
17
- /**
18
- * link to the first page
19
- */
20
- firstPageUrl: string;
21
-
22
- /**
23
- * title label for the first page
24
- */
25
- firstPageTitle: string;
26
-
27
- /**
28
- * link to the last page
29
- */
30
- lastPageUrl: string;
31
-
32
- /**
33
- * title label for the last page
34
- */
35
- lastPageTitle: string;
36
-
37
- /**
38
- * linking word for the page counts
39
- */
40
- pageCountPreposition?: string;
41
-
42
- /**
43
- * link the following page
44
- */
45
- nextPageUrl: string;
46
-
47
- /**
48
- * title label for the next page
49
- */
50
- nextPageTitle: string;
51
-
52
- /**
53
- * link of the previous page
54
- */
55
- prevPageUrl: string;
56
-
57
- /**
58
- * title label for the prev page
59
- */
60
- prevPageTitle: string;
61
-
62
- /**
63
- * total number of pages that are available
64
- */
65
- totalPages: number;
66
- }
@@ -1,115 +0,0 @@
1
- import { FC } from "react";
2
- import classNames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import { PaginationProps } from "./Pagination.props";
5
-
6
- const Pagination: FC<PaginationProps> = ({
7
- className,
8
- callback,
9
- currentPage,
10
- firstPageUrl,
11
- firstPageTitle = "First page",
12
- lastPageUrl,
13
- lastPageTitle = "Last page",
14
- nextPageUrl,
15
- nextPageTitle = "Next page",
16
- pageCountPreposition = "of",
17
- prevPageUrl,
18
- prevPageTitle = "Previous page",
19
- totalPages,
20
- }) => {
21
- const { prefix } = useGlobalSettings();
22
-
23
- const baseClass = `${prefix}--pagination`;
24
- const paginationClasses = classNames(className, {
25
- [baseClass]: true,
26
- });
27
-
28
- const isFirst = currentPage === 0;
29
- const isLast = currentPage + 1 === totalPages;
30
-
31
- const firstClasses = classNames(className, {
32
- [`${baseClass}--first-page`]: true,
33
- [`${baseClass}--link`]: true,
34
- [`${baseClass}--disable`]: isFirst,
35
- });
36
-
37
- const prevClasses = classNames(className, {
38
- [`${baseClass}--prev-page`]: true,
39
- [`${baseClass}--link`]: true,
40
- [`${baseClass}--disable`]: isFirst,
41
- });
42
-
43
- const nextClasses = classNames(className, {
44
- [`${baseClass}--next-page`]: true,
45
- [`${baseClass}--link`]: true,
46
- [`${baseClass}--disable`]: isLast,
47
- });
48
-
49
- const lastClasses = classNames(className, {
50
- [`${baseClass}--last-page`]: true,
51
- [`${baseClass}--link`]: true,
52
- [`${baseClass}--disable`]: isLast,
53
- });
54
-
55
- /**
56
- * On click, if there is a callback, call it
57
- */
58
- const handleClick = (e: React.MouseEvent<Element, MouseEvent>) => {
59
- if (callback) {
60
- callback(e);
61
- }
62
- };
63
-
64
- return (
65
- <div className={paginationClasses}>
66
- <div className={`${baseClass}--previous-set`}>
67
- <a
68
- className={firstClasses}
69
- onClick={(e) => handleClick(e)}
70
- href={firstPageUrl}
71
- title={firstPageTitle}
72
- >
73
- {firstPageTitle}
74
- </a>
75
-
76
- <a
77
- className={prevClasses}
78
- onClick={(e) => handleClick(e)}
79
- href={prevPageUrl}
80
- title={prevPageTitle}
81
- >
82
- {prevPageTitle}
83
- </a>
84
- </div>
85
-
86
- <p className={`${baseClass}--page`}>
87
- <span>{currentPage + 1}</span>
88
- <span>{pageCountPreposition}</span>
89
- <span>{totalPages}</span>
90
- </p>
91
-
92
- <div className={`${baseClass}--next-set`}>
93
- <a
94
- className={nextClasses}
95
- onClick={(e) => handleClick(e)}
96
- href={nextPageUrl}
97
- title={nextPageTitle}
98
- >
99
- {nextPageTitle}
100
- </a>
101
-
102
- <a
103
- className={lastClasses}
104
- onClick={(e) => handleClick(e)}
105
- href={lastPageUrl}
106
- title={lastPageTitle}
107
- >
108
- {lastPageTitle}
109
- </a>
110
- </div>
111
- </div>
112
- );
113
- };
114
-
115
- export default Pagination;
@@ -1 +0,0 @@
1
- export { default as Pagination } from "./Pagination";
@@ -1,58 +0,0 @@
1
- import { ProfileProps } from "./Profile.props";
2
-
3
- const basic: ProfileProps = {
4
- avatar: "/ilo-dg.jpg",
5
- className: "storybook",
6
- name: "Gilbert F. Houngbo",
7
- };
8
-
9
- const hasall: ProfileProps = {
10
- avatar: "/ilo-dg.jpg",
11
- className: "storybook",
12
- description:
13
- "Gilbert F. Houngbo was elected as the ILO’s 11th Director-General by the organization’s Governing Body in March 2022",
14
- link: {
15
- label: "Learn more",
16
- url: "http://www.google.com",
17
- },
18
- name: "Gilbert F. Houngbo",
19
- role: "ILO Director-General",
20
- };
21
-
22
- const hasdescription: ProfileProps = {
23
- avatar: "/ilo-dg.jpg",
24
- className: "storybook",
25
- description:
26
- "Gilbert F. Houngbo was elected as the ILO’s 11th Director-General by the organization’s Governing Body in March 2022",
27
- name: "Gilbert F. Houngbo",
28
- };
29
-
30
- const haslink: ProfileProps = {
31
- avatar: "/ilo-dg.jpg",
32
- className: "storybook",
33
- link: {
34
- label: "Learn more",
35
- url: "http://www.google.com",
36
- },
37
- name: "Gilbert F. Houngbo",
38
- };
39
-
40
- const hasrole: ProfileProps = {
41
- avatar: "/ilo-dg.jpg",
42
- className: "storybook",
43
- name: "Gilbert F. Houngbo",
44
- role: "ILO Director-General",
45
- };
46
-
47
- /**
48
- * Sample prop definitions for Profiles's enumerable properties (imported in stories and test)
49
- */
50
- const ProfileArgs = {
51
- basic,
52
- hasall,
53
- hasdescription,
54
- haslink,
55
- hasrole,
56
- };
57
-
58
- export default ProfileArgs;
@@ -1,55 +0,0 @@
1
- import { ThemeTypes, SizeTypes } from "../../types";
2
-
3
- interface LinkProps {
4
- /**
5
- * Specify the label for the the Profile's link
6
- */
7
- label?: Required<string>;
8
-
9
- /**
10
- * Specify the url for the Profile's link
11
- */
12
- url?: Required<string>;
13
- }
14
-
15
- export interface ProfileProps {
16
- /**
17
- * Specify the theme for your profile component.
18
- */
19
- theme?: ThemeTypes;
20
-
21
- /**
22
- * Specify the size for your profile component.
23
- */
24
- size?: SizeTypes;
25
-
26
- /**
27
- * Specify an optional avatar to be added to your Profile component. Image *must* be a perfect square. CMS backend should provide a fallback if the avatar is not populated.
28
- */
29
- avatar?: Required<string>;
30
-
31
- /**
32
- * Specify an optional className to be added to your Profile component.
33
- */
34
- className?: string;
35
-
36
- /**
37
- * Specify an optional description to be added to your Profile component.
38
- */
39
- description?: string;
40
-
41
- /**
42
- * Specify an optional link to be added to your Profile component.
43
- */
44
- link?: LinkProps;
45
-
46
- /**
47
- * Specify the name to be added to your Profile component.
48
- */
49
- name?: Required<string>;
50
-
51
- /**
52
- * Specify an optional role to be added to your Profile component.
53
- */
54
- role?: string;
55
- }
@@ -1,51 +0,0 @@
1
- import { FC } from "react";
2
- import classNames from "classnames";
3
- import useGlobalSettings from "../../hooks/useGlobalSettings";
4
- import { ProfileProps } from "./Profile.props";
5
-
6
- const Profile: FC<ProfileProps> = ({
7
- avatar,
8
- className,
9
- description,
10
- link,
11
- name,
12
- role,
13
- theme = "light",
14
- size = "large",
15
- }) => {
16
- const { prefix } = useGlobalSettings();
17
- const baseClass = `${prefix}--profile`;
18
- const profileClasses = classNames(className, {
19
- [baseClass]: true,
20
- [`${baseClass}__theme__${theme}`]: theme,
21
- [`${baseClass}__size__${size}`]: size,
22
- });
23
-
24
- return (
25
- <figure className={profileClasses}>
26
- <img
27
- className={`${baseClass}--avatar`}
28
- src={avatar}
29
- alt={`Avatar for ${name}`}
30
- />
31
- <figcaption>
32
- <div className={`${baseClass}--figcaption--content`}>
33
- <div className={`${baseClass}--name`}>{name}</div>
34
- {role && <div className={`${baseClass}--role`}>{role}</div>}
35
- </div>
36
- </figcaption>
37
- {description && (
38
- <p className={`${baseClass}--description`}>{description}</p>
39
- )}
40
- {link && (
41
- <div className={`${baseClass}--link`}>
42
- <a href={link.url} target="__blank" rel="noopener noreferrer">
43
- <span className={`${baseClass}--link--label`}>{link.label}</span>
44
- </a>
45
- </div>
46
- )}
47
- </figure>
48
- );
49
- };
50
-
51
- export default Profile;
@@ -1 +0,0 @@
1
- export { default as Profile } from "./Profile";
@@ -1,15 +0,0 @@
1
- import { RadioProps } from "./Radio.props";
2
-
3
- const basic: RadioProps = {
4
- className: "Radio",
5
- name: "radio",
6
- };
7
-
8
- /**
9
- * Sample prop definitions Radio's enumerable properties (imported in stories and test)
10
- */
11
- const RadioArgs = {
12
- basic,
13
- };
14
-
15
- export default RadioArgs;
@@ -1,6 +0,0 @@
1
- import { ChoiceFieldProps } from "../../types";
2
- import { LabelledFormFieldProps } from "../../types";
3
-
4
- export type RadioProps = ChoiceFieldProps<HTMLInputElement>;
5
-
6
- export type LabelledRadioProps = LabelledFormFieldProps<RadioProps>;
@@ -1,102 +0,0 @@
1
- import React, { useEffect } from "react";
2
- import classNames from "classnames";
3
- import { useGlobalSettings } from "../../hooks";
4
- import { LabelledRadioProps, RadioProps } from "./Radio.props";
5
- import { useFieldsetError } from "../Fieldset/Fieldset";
6
- import FormControl, { useFormControl } from "../FormControl/FormControl";
7
- import usePrevious from "../../hooks/usePrevious";
8
-
9
- const Radio = React.forwardRef<HTMLInputElement, RadioProps>(
10
- (
11
- {
12
- onChange,
13
- onBlur,
14
- disabled = false,
15
- error,
16
- id,
17
- name,
18
- required,
19
- checked,
20
- defaultChecked = false,
21
- value,
22
- },
23
- ref
24
- ) => {
25
- const { prefix } = useGlobalSettings();
26
- const { setHasError } = useFieldsetError();
27
- const formControlCtx = useFormControl();
28
- const prevError = usePrevious(error);
29
-
30
- useEffect(() => {
31
- if (error !== prevError) {
32
- setHasError(!!error);
33
- }
34
- }, [error, prevError, setHasError]);
35
-
36
- const { ariaDescribedBy } = formControlCtx;
37
-
38
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
39
- console.log(e.target.value);
40
- if (onChange) {
41
- onChange(e);
42
- }
43
- };
44
-
45
- const baseClass = `${prefix}--radio`;
46
- const controlClass = `${baseClass}--control`;
47
- const errorClass = `${baseClass}__error`;
48
-
49
- const RadioClasses = classNames(baseClass, {
50
- [errorClass]: error,
51
- });
52
-
53
- return (
54
- <div className={RadioClasses}>
55
- <input
56
- ref={ref}
57
- id={id ? id : name}
58
- name={name}
59
- onChange={handleChange}
60
- onBlur={onBlur}
61
- disabled={disabled}
62
- required={required}
63
- type="radio"
64
- defaultChecked={defaultChecked}
65
- aria-describedby={ariaDescribedBy}
66
- checked={checked}
67
- value={value}
68
- />
69
- <span className={controlClass}></span>
70
- </div>
71
- );
72
- }
73
- );
74
-
75
- const LabelledRadio = React.forwardRef<HTMLInputElement, LabelledRadioProps>(
76
- (props, ref) => {
77
- const {
78
- style,
79
- inputStyle,
80
- className,
81
- labelPlacement = "end",
82
- labelSize = "small",
83
- ...rest
84
- } = props;
85
- const fieldId = props.id ? props.id : props.name;
86
-
87
- return (
88
- <FormControl
89
- fieldId={fieldId}
90
- style={style}
91
- className={className}
92
- labelPlacement={labelPlacement}
93
- labelSize={labelSize}
94
- {...rest}
95
- >
96
- <Radio ref={ref} style={inputStyle} {...rest} />
97
- </FormControl>
98
- );
99
- }
100
- );
101
-
102
- export default LabelledRadio;
@@ -1,2 +0,0 @@
1
- export { default as Radio } from "./Radio";
2
- export { default as RadioArgs } from "./Radio.args";
@@ -1,23 +0,0 @@
1
- import { ReadMoreProps } from "./ReadMore.props";
2
-
3
- const fulltext = `<p>Underlying the ILO’s work is the importance of cooperation between governments and employers’ and workers’ organizations in fostering social and economic progress. The ILO aims to ensure that it serves the needs of working women and men by bringing together governments, employers and workers to set labour standards, develop policies and devise programmes.</p>
4
-
5
- <p>The very structure of the ILO, where workers and employers together have an equal voice with governments in its deliberations, shows social dialogue in action. It ensures that the views of the social partners are closely reflected in ILO labour standards, policies and programmes.</p>
6
-
7
- <p>The ILO encourages this tripartism within its constituents - employers , workers and member States , by promoting a social dialogue between trade unions and employers in formulating, and where appropriate, implementing national policy on social, economic, and many other issues.</p>`;
8
-
9
- const excerpt = fulltext.split("\n\n")[0];
10
-
11
- const base: ReadMoreProps = {
12
- buttonlabel: {
13
- closed: "Read More",
14
- opened: "Close",
15
- },
16
- excerpt,
17
- fulltext,
18
- openatstart: false,
19
- };
20
-
21
- const open = { ...base, openatstart: true };
22
-
23
- export default { base, open };
@@ -1,38 +0,0 @@
1
- export interface ReadMoreButtonLabelProps {
2
- /**
3
- * Specify the label for the closed state of the "Read More" button
4
- */
5
- closed?: Required<string>;
6
-
7
- /**
8
- * Specify the label for the opened state of the "Read More" button
9
- */
10
- opened?: Required<string>;
11
- }
12
-
13
- export interface ReadMoreProps {
14
- /**
15
- * Specify labels for the "Read More" button.
16
- */
17
- buttonlabel?: Required<ReadMoreButtonLabelProps>;
18
-
19
- /**
20
- * Specify an optional className to be added to your Button.
21
- */
22
- className?: string;
23
-
24
- /**
25
- * Specify the excerpt text
26
- */
27
- excerpt: string;
28
-
29
- /**
30
- * Specify the complete text
31
- */
32
- fulltext: string;
33
-
34
- /**
35
- * Specify the open/closed state on component load
36
- */
37
- openatstart?: boolean;
38
- }