@onewelcome/react-lib-components 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/Button/IconButton.d.ts +2 -1
  2. package/dist/DataGrid/DataGrid.d.ts +1 -0
  3. package/dist/DataGrid/DataGridActions/DataGridActions.d.ts +2 -1
  4. package/dist/Form/Form.d.ts +3 -3
  5. package/dist/Notifications/SlideInModal/SlideInModal.d.ts +1 -1
  6. package/dist/Tabs/Tab.d.ts +5 -9
  7. package/dist/Tabs/TabButton.d.ts +3 -6
  8. package/dist/Tabs/Tabs.d.ts +1 -2
  9. package/dist/react-lib-components.cjs.development.js +437 -392
  10. package/dist/react-lib-components.cjs.development.js.map +1 -1
  11. package/dist/react-lib-components.cjs.production.min.js +1 -1
  12. package/dist/react-lib-components.cjs.production.min.js.map +1 -1
  13. package/dist/react-lib-components.esm.js +438 -393
  14. package/dist/react-lib-components.esm.js.map +1 -1
  15. package/package.json +1 -1
  16. package/src/Breadcrumbs/Breadcrumbs.tsx +46 -38
  17. package/src/Button/BaseButton.tsx +23 -20
  18. package/src/Button/Button.tsx +40 -40
  19. package/src/Button/IconButton.tsx +28 -28
  20. package/src/ContextMenu/ContextMenu.tsx +161 -160
  21. package/src/ContextMenu/ContextMenuItem.tsx +55 -49
  22. package/src/DataGrid/DataGrid.tsx +1 -0
  23. package/src/DataGrid/DataGridActions/DataGridActions.module.scss +1 -1
  24. package/src/DataGrid/DataGridActions/DataGridActions.test.tsx +4 -2
  25. package/src/DataGrid/DataGridActions/DataGridActions.tsx +95 -87
  26. package/src/DataGrid/DataGridActions/DataGridColumnsToggle.tsx +64 -64
  27. package/src/DataGrid/DataGridBody/DataGridCell.tsx +42 -44
  28. package/src/DataGrid/DataGridBody/DataGridRow.tsx +29 -29
  29. package/src/DataGrid/DataGridHeader/DataGridHeader.tsx +78 -78
  30. package/src/DataGrid/DataGridHeader/DataGridHeaderCell.tsx +48 -48
  31. package/src/Form/Checkbox/Checkbox.tsx +134 -130
  32. package/src/Form/Fieldset/Fieldset.tsx +81 -78
  33. package/src/Form/Form.tsx +9 -4
  34. package/src/Form/FormControl/FormControl.module.scss +1 -20
  35. package/src/Form/FormControl/FormControl.tsx +36 -35
  36. package/src/Form/FormGroup/FormGroup.tsx +62 -62
  37. package/src/Form/FormHelperText/FormHelperText.tsx +19 -18
  38. package/src/Form/FormSelectorWrapper/FormSelectorWrapper.tsx +58 -53
  39. package/src/Form/Input/Input.tsx +90 -87
  40. package/src/Form/Label/Label.tsx +17 -16
  41. package/src/Form/Radio/Radio.tsx +91 -91
  42. package/src/Form/Select/Option.tsx +66 -60
  43. package/src/Form/Select/Select.tsx +207 -209
  44. package/src/Form/Textarea/Textarea.tsx +51 -53
  45. package/src/Form/Toggle/Toggle.tsx +26 -23
  46. package/src/Form/Wrapper/CheckboxWrapper/CheckboxWrapper.tsx +51 -43
  47. package/src/Form/Wrapper/InputWrapper/InputWrapper.tsx +112 -106
  48. package/src/Form/Wrapper/RadioWrapper/RadioWrapper.tsx +67 -62
  49. package/src/Form/Wrapper/SelectWrapper/SelectWrapper.tsx +42 -37
  50. package/src/Form/Wrapper/TextareaWrapper/TextareaWrapper.tsx +94 -94
  51. package/src/Form/Wrapper/Wrapper/Wrapper.tsx +73 -73
  52. package/src/Icon/Icon.tsx +19 -16
  53. package/src/Link/Link.tsx +68 -63
  54. package/src/Notifications/BaseModal/BaseModal.tsx +68 -68
  55. package/src/Notifications/BaseModal/BaseModalActions/BaseModalActions.tsx +13 -10
  56. package/src/Notifications/BaseModal/BaseModalContent/BaseModalContent.tsx +33 -25
  57. package/src/Notifications/BaseModal/BaseModalHeader/BaseModalHeader.tsx +20 -17
  58. package/src/Notifications/Dialog/Dialog.tsx +83 -83
  59. package/src/Notifications/Dialog/DialogActions/DialogActions.tsx +17 -14
  60. package/src/Notifications/Dialog/DialogTitle/DialogTitle.tsx +15 -12
  61. package/src/Notifications/DiscardChangesModal/DiscardChangesDialog/DiscardChangesDialog.tsx +40 -40
  62. package/src/Notifications/SlideInModal/SlideInModal.module.scss +5 -5
  63. package/src/Notifications/SlideInModal/SlideInModal.test.tsx +7 -2
  64. package/src/Notifications/SlideInModal/SlideInModal.tsx +47 -27
  65. package/src/Pagination/Pagination.tsx +169 -169
  66. package/src/Popover/Popover.module.scss +1 -0
  67. package/src/Popover/Popover.tsx +43 -33
  68. package/src/ProgressBar/ProgressBar.tsx +17 -14
  69. package/src/Skeleton/Skeleton.tsx +23 -20
  70. package/src/StatusIndicator/StatusIndicator.tsx +18 -15
  71. package/src/Tabs/{TabPanel.module.scss → Tab.module.scss} +1 -1
  72. package/src/Tabs/Tab.test.tsx +1 -39
  73. package/src/Tabs/Tab.tsx +16 -10
  74. package/src/Tabs/TabButton.module.scss +0 -4
  75. package/src/Tabs/TabButton.test.tsx +3 -31
  76. package/src/Tabs/TabButton.tsx +35 -49
  77. package/src/Tabs/Tabs.test.tsx +40 -33
  78. package/src/Tabs/Tabs.tsx +107 -101
  79. package/src/TextEllipsis/TextEllipsis.tsx +50 -41
  80. package/src/Tiles/Tile.tsx +58 -56
  81. package/src/Tiles/Tiles.tsx +44 -41
  82. package/src/Tooltip/Tooltip.tsx +101 -100
  83. package/src/Typography/Typography.tsx +47 -44
  84. package/src/Wizard/BaseWizardSteps/BaseWizardSteps.tsx +55 -52
  85. package/src/Wizard/WizardSteps/WizardSteps.tsx +25 -22
  86. package/src/mixins.module.scss +2 -2
  87. package/src/util/helper.test.tsx +0 -28
  88. package/dist/Tabs/TabPanel.d.ts +0 -8
  89. package/src/Tabs/TabPanel.test.tsx +0 -92
  90. package/src/Tabs/TabPanel.tsx +0 -43
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onewelcome/react-lib-components",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "license": "Apache-2.0",
5
5
  "author": "OneWelcome B.V.",
6
6
  "main": "dist/index.js",
@@ -14,7 +14,12 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React, { ComponentPropsWithRef, Fragment, ReactElement } from "react";
17
+ import React, {
18
+ ComponentPropsWithRef,
19
+ ForwardRefRenderFunction,
20
+ Fragment,
21
+ ReactElement
22
+ } from "react";
18
23
  import { Icon, Icons } from "../Icon/Icon";
19
24
  import { Link, Props as LinkProps } from "../Link/Link";
20
25
  import { Typography } from "../Typography/Typography";
@@ -27,40 +32,43 @@ export interface Props extends ComponentPropsWithRef<"div"> {
27
32
  ariaLabel: string;
28
33
  }
29
34
 
30
- export const Breadcrumbs = React.forwardRef<HTMLDivElement, Props>(
31
- ({ children, ariaLabel, className = "", ...rest }: Props, ref) => {
32
- const items = React.Children.map(children, (child, index) => {
33
- const isLastElement = Array.isArray(children) ? index === children.length - 1 : true;
34
- if (isLastElement) {
35
- return (
36
- <Typography
37
- key={child.key}
38
- variant="body"
39
- tag="span"
40
- className={classes["last"]}
41
- aria-current="page"
42
- >
43
- {child.props.children}
44
- </Typography>
45
- );
46
- } else {
47
- return (
48
- <Fragment key={child.key}>
49
- {React.cloneElement(child)}
50
- <Icon icon={Icons.ChevronRight} className={classes["icon"]} />
51
- </Fragment>
52
- );
53
- }
54
- });
55
- return (
56
- <nav
57
- {...rest}
58
- ref={ref}
59
- aria-label={ariaLabel}
60
- className={`${classes["breadcrumbs"]} ${className}`}
61
- >
62
- {items}
63
- </nav>
64
- );
65
- }
66
- );
35
+ const BreadcrumbsComponent: ForwardRefRenderFunction<HTMLDivElement, Props> = (
36
+ { children, ariaLabel, className = "", ...rest }: Props,
37
+ ref
38
+ ) => {
39
+ const items = React.Children.map(children, (child, index) => {
40
+ const isLastElement = Array.isArray(children) ? index === children.length - 1 : true;
41
+ if (isLastElement) {
42
+ return (
43
+ <Typography
44
+ key={child.key}
45
+ variant="body"
46
+ tag="span"
47
+ className={classes["last"]}
48
+ aria-current="page"
49
+ >
50
+ {child.props.children}
51
+ </Typography>
52
+ );
53
+ } else {
54
+ return (
55
+ <Fragment key={child.key}>
56
+ {React.cloneElement(child)}
57
+ <Icon icon={Icons.ChevronRight} className={classes["icon"]} />
58
+ </Fragment>
59
+ );
60
+ }
61
+ });
62
+ return (
63
+ <nav
64
+ {...rest}
65
+ ref={ref}
66
+ aria-label={ariaLabel}
67
+ className={`${classes["breadcrumbs"]} ${className}`}
68
+ >
69
+ {items}
70
+ </nav>
71
+ );
72
+ };
73
+
74
+ export const Breadcrumbs = React.forwardRef(BreadcrumbsComponent);
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React, { ComponentPropsWithRef } from "react";
17
+ import React, { ForwardRefRenderFunction, ComponentPropsWithRef } from "react";
18
18
  import classes from "./BaseButton.module.scss";
19
19
 
20
20
  export interface Props extends ComponentPropsWithRef<"button"> {
@@ -23,24 +23,27 @@ export interface Props extends ComponentPropsWithRef<"button"> {
23
23
  color?: "primary" | "secondary" | "tertiary" | "default";
24
24
  }
25
25
 
26
- export const BaseButton = React.forwardRef<HTMLButtonElement, Props>(
27
- ({ children, type = "button", className, ...rest }, ref) => {
28
- const validTypes = ["submit", "button", "reset"];
26
+ const BaseButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (
27
+ { children, type = "button", className, ...rest },
28
+ ref
29
+ ) => {
30
+ const validTypes = ["submit", "button", "reset"];
29
31
 
30
- if (!validTypes.includes(type))
31
- throw new Error(
32
- `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`
33
- );
34
-
35
- return (
36
- <button
37
- {...rest}
38
- ref={ref}
39
- type={type}
40
- className={`${classes.button} ${className ? className : ""}`}
41
- >
42
- {children}
43
- </button>
32
+ if (!validTypes.includes(type))
33
+ throw new Error(
34
+ `You have entered an invalid button type. Expected 'submit', 'button' or 'reset' got ${type}`
44
35
  );
45
- }
46
- );
36
+
37
+ return (
38
+ <button
39
+ {...rest}
40
+ ref={ref}
41
+ type={type}
42
+ className={`${classes.button} ${className ? className : ""}`}
43
+ >
44
+ {children}
45
+ </button>
46
+ );
47
+ };
48
+
49
+ export const BaseButton = React.forwardRef(BaseButtonComponent);
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React from "react";
17
+ import React, { ForwardRefRenderFunction } from "react";
18
18
  import { BaseButton, Props as BaseButtonProps } from "./BaseButton";
19
19
  import classes from "./Button.module.scss";
20
20
 
@@ -25,47 +25,47 @@ export interface Props extends BaseButtonProps {
25
25
  variant?: "text" | "fill" | "outline";
26
26
  }
27
27
 
28
- export const Button = React.forwardRef<HTMLButtonElement, Props>(
29
- (
30
- {
31
- children,
32
- variant = "fill",
33
- color = "primary",
34
- startIcon = false,
35
- endIcon = false,
36
- className,
37
- ...rest
38
- },
39
- ref
40
- ) => {
41
- const additionalClasses = [];
28
+ const ButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (
29
+ {
30
+ children,
31
+ variant = "fill",
32
+ color = "primary",
33
+ startIcon = false,
34
+ endIcon = false,
35
+ className,
36
+ ...rest
37
+ },
38
+ ref
39
+ ) => {
40
+ const additionalClasses = [];
42
41
 
43
- if (startIcon || endIcon) {
44
- additionalClasses.push(classes["has-icon"]);
45
- }
46
-
47
- if (startIcon) {
48
- additionalClasses.push(classes["start-icon"]);
49
- }
42
+ if (startIcon || endIcon) {
43
+ additionalClasses.push(classes["has-icon"]);
44
+ }
50
45
 
51
- if (endIcon) {
52
- additionalClasses.push(classes["end-icon"]);
53
- }
46
+ if (startIcon) {
47
+ additionalClasses.push(classes["start-icon"]);
48
+ }
54
49
 
55
- if (className) {
56
- additionalClasses.push(className);
57
- }
50
+ if (endIcon) {
51
+ additionalClasses.push(classes["end-icon"]);
52
+ }
58
53
 
59
- return (
60
- <BaseButton
61
- {...rest}
62
- ref={ref}
63
- className={`${classes[color]} ${classes[variant]} ${additionalClasses.join(" ")}`}
64
- >
65
- {startIcon && <i>{startIcon}</i>}
66
- <span>{children}</span>
67
- {endIcon && <i>&nbsp;{endIcon}</i>}
68
- </BaseButton>
69
- );
54
+ if (className) {
55
+ additionalClasses.push(className);
70
56
  }
71
- );
57
+
58
+ return (
59
+ <BaseButton
60
+ {...rest}
61
+ ref={ref}
62
+ className={`${classes[color]} ${classes[variant]} ${additionalClasses.join(" ")}`}
63
+ >
64
+ {startIcon && <i>{startIcon}</i>}
65
+ <span>{children}</span>
66
+ {endIcon && <i>&nbsp;{endIcon}</i>}
67
+ </BaseButton>
68
+ );
69
+ };
70
+
71
+ export const Button = React.forwardRef(ButtonComponent);
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import React, { Fragment } from "react";
17
+ import React, { ForwardRefRenderFunction, Fragment } from "react";
18
18
  import { BaseButton, Props as BaseButtonProps } from "./BaseButton";
19
19
  import classes from "./IconButton.module.scss";
20
20
  import readyclasses from "../readyclasses.module.scss";
@@ -27,33 +27,33 @@ export interface Props extends BaseButtonProps {
27
27
  title?: string;
28
28
  }
29
29
 
30
- export const IconButton = React.forwardRef<HTMLButtonElement, Props>(
31
- (
32
- { children, color = "primary", variant = "text", iconSize = "m", title, className, ...rest },
33
- ref
34
- ) => {
35
- if (!title) {
36
- console.error("Please make sure to specify a 'title' prop to your IconButton component! ");
37
- }
38
-
39
- const iconButtonClasses = [
40
- classes["icon-button"],
41
- classes[variant],
42
- classes[color],
43
- classes["button-" + iconSize]
44
- ];
30
+ export const IconButtonComponent: ForwardRefRenderFunction<HTMLButtonElement, Props> = (
31
+ { children, color = "primary", variant = "text", iconSize = "m", title, className, ...rest },
32
+ ref
33
+ ) => {
34
+ if (!title) {
35
+ console.error("Please make sure to specify a 'title' prop to your IconButton component! ");
36
+ }
45
37
 
46
- if (className) {
47
- iconButtonClasses.push(className);
48
- }
38
+ const iconButtonClasses = [
39
+ classes["icon-button"],
40
+ classes[variant],
41
+ classes[color],
42
+ classes["button-" + iconSize]
43
+ ];
49
44
 
50
- return (
51
- <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(" ")}>
52
- <Fragment>
53
- {children}
54
- <span className={readyclasses["sr-only"]}>{title}</span>
55
- </Fragment>
56
- </BaseButton>
57
- );
45
+ if (className) {
46
+ iconButtonClasses.push(className);
58
47
  }
59
- );
48
+
49
+ return (
50
+ <BaseButton {...rest} ref={ref} className={iconButtonClasses.join(" ")}>
51
+ <Fragment>
52
+ {children}
53
+ <span className={readyclasses["sr-only"]}>{title}</span>
54
+ </Fragment>
55
+ </BaseButton>
56
+ );
57
+ };
58
+
59
+ export const IconButton = React.forwardRef(IconButtonComponent);