carbon-react 106.7.0 → 107.1.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/esm/__internal__/click-away-wrapper/click-away-wrapper.component.d.ts +12 -0
- package/esm/__internal__/click-away-wrapper/click-away-wrapper.component.js +43 -0
- package/esm/__internal__/click-away-wrapper/index.d.ts +2 -0
- package/esm/__internal__/click-away-wrapper/index.js +1 -0
- package/esm/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.d.ts +0 -0
- package/esm/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.js +0 -0
- package/esm/components/badge/badge.style.d.ts +1 -1
- package/esm/components/button/button.component.d.ts +1 -3
- package/esm/components/button/button.component.js +1 -12
- package/esm/components/button/button.style.d.ts +1 -1
- package/esm/components/button-toggle-group/button-toggle-group.component.js +1 -1
- package/esm/components/confirm/confirm.component.d.ts +1 -5
- package/esm/components/confirm/confirm.component.js +2 -14
- package/esm/components/confirm/confirm.d.ts +0 -2
- package/esm/components/date/date.component.js +19 -20
- package/esm/components/date/date.d.ts +10 -1
- package/esm/components/date/index.d.ts +1 -0
- package/esm/components/date-range/date-range.d.ts +3 -3
- package/esm/components/date-range/index.d.ts +1 -0
- package/esm/components/dialog-full-screen/content.style.js +4 -10
- package/esm/components/heading/heading.component.d.ts +27 -52
- package/esm/components/heading/heading.component.js +86 -170
- package/esm/components/heading/heading.d.ts +5 -3
- package/esm/components/i18n-provider/i18n-provider.component.d.ts +0 -9
- package/esm/components/i18n-provider/i18n-provider.component.js +0 -9
- package/esm/components/menu/__internal__/submenu/submenu.component.js +11 -17
- package/esm/components/menu/index.d.ts +0 -1
- package/esm/components/menu/index.js +0 -1
- package/esm/components/menu/menu-item/menu-item.component.js +0 -6
- package/esm/components/multi-action-button/multi-action-button.component.d.ts +1 -1
- package/esm/components/multi-action-button/multi-action-button.component.js +1 -11
- package/esm/components/navigation-bar/navigation-bar.component.d.ts +1 -6
- package/esm/components/navigation-bar/navigation-bar.component.js +1 -15
- package/esm/components/navigation-bar/navigation-bar.style.d.ts +0 -4
- package/esm/components/navigation-bar/navigation-bar.style.js +0 -8
- package/esm/components/popover-container/popover-container.component.js +16 -3
- package/esm/components/radio-button/radio-button-group.component.js +1 -1
- package/esm/components/select/select-list/select-list.component.js +2 -2
- package/esm/components/simple-color-picker/simple-color-picker.component.js +1 -1
- package/esm/components/split-button/split-button-toggle.style.d.ts +1 -1
- package/esm/components/split-button/split-button.component.d.ts +1 -4
- package/esm/components/split-button/split-button.component.js +3 -16
- package/esm/components/split-button/split-button.d.ts +0 -2
- package/esm/components/tile/tile.component.d.ts +1 -2
- package/esm/components/tile/tile.component.js +1 -13
- package/esm/components/tile/tile.d.ts +0 -2
- package/esm/components/tile-select/tile-select-group.component.js +1 -1
- package/esm/components/toast/toast.component.d.ts +1 -4
- package/esm/components/toast/toast.component.js +1 -13
- package/esm/components/toast/toast.d.ts +0 -2
- package/esm/locales/en-gb.js +0 -9
- package/esm/locales/locale.d.ts +0 -9
- package/esm/locales/pl-pl.js +0 -9
- package/lib/__internal__/click-away-wrapper/click-away-wrapper.component.d.ts +12 -0
- package/lib/__internal__/click-away-wrapper/click-away-wrapper.component.js +59 -0
- package/lib/__internal__/click-away-wrapper/index.d.ts +2 -0
- package/lib/{components/menu/submenu-block → __internal__/click-away-wrapper}/index.js +2 -2
- package/lib/{components/scrollable-list → __internal__/click-away-wrapper}/package.json +1 -1
- package/lib/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.d.ts +0 -0
- package/lib/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.js +0 -0
- package/lib/components/badge/badge.style.d.ts +1 -1
- package/lib/components/button/button.component.d.ts +1 -3
- package/lib/components/button/button.component.js +1 -14
- package/lib/components/button/button.style.d.ts +1 -1
- package/lib/components/button-toggle-group/button-toggle-group.component.js +1 -1
- package/lib/components/confirm/confirm.component.d.ts +1 -5
- package/lib/components/confirm/confirm.component.js +2 -17
- package/lib/components/confirm/confirm.d.ts +0 -2
- package/lib/components/date/date.component.js +20 -20
- package/lib/components/date/date.d.ts +10 -1
- package/lib/components/date/index.d.ts +1 -0
- package/lib/components/date-range/date-range.d.ts +3 -3
- package/lib/components/date-range/index.d.ts +1 -0
- package/lib/components/dialog-full-screen/content.style.js +4 -10
- package/lib/components/heading/heading.component.d.ts +27 -52
- package/lib/components/heading/heading.component.js +86 -170
- package/lib/components/heading/heading.d.ts +5 -3
- package/lib/components/i18n-provider/i18n-provider.component.d.ts +0 -9
- package/lib/components/i18n-provider/i18n-provider.component.js +0 -9
- package/lib/components/menu/__internal__/submenu/submenu.component.js +12 -17
- package/lib/components/menu/index.d.ts +0 -1
- package/lib/components/menu/index.js +0 -8
- package/lib/components/menu/menu-item/menu-item.component.js +0 -7
- package/lib/components/multi-action-button/multi-action-button.component.d.ts +1 -1
- package/lib/components/multi-action-button/multi-action-button.component.js +1 -14
- package/lib/components/navigation-bar/navigation-bar.component.d.ts +1 -6
- package/lib/components/navigation-bar/navigation-bar.component.js +1 -18
- package/lib/components/navigation-bar/navigation-bar.style.d.ts +0 -4
- package/lib/components/navigation-bar/navigation-bar.style.js +0 -8
- package/lib/components/popover-container/popover-container.component.js +17 -3
- package/lib/components/radio-button/radio-button-group.component.js +1 -1
- package/lib/components/select/select-list/select-list.component.js +2 -2
- package/lib/components/simple-color-picker/simple-color-picker.component.js +1 -1
- package/lib/components/split-button/split-button-toggle.style.d.ts +1 -1
- package/lib/components/split-button/split-button.component.d.ts +1 -4
- package/lib/components/split-button/split-button.component.js +3 -18
- package/lib/components/split-button/split-button.d.ts +0 -2
- package/lib/components/tile/tile.component.d.ts +1 -2
- package/lib/components/tile/tile.component.js +1 -16
- package/lib/components/tile/tile.d.ts +0 -2
- package/lib/components/tile-select/tile-select-group.component.js +1 -1
- package/lib/components/toast/toast.component.d.ts +1 -4
- package/lib/components/toast/toast.component.js +1 -16
- package/lib/components/toast/toast.d.ts +0 -2
- package/lib/locales/en-gb.js +0 -9
- package/lib/locales/locale.d.ts +0 -9
- package/lib/locales/pl-pl.js +0 -9
- package/package.json +1 -1
- package/esm/components/app-wrapper/app-wrapper.component.d.ts +0 -25
- package/esm/components/app-wrapper/app-wrapper.component.js +0 -104
- package/esm/components/app-wrapper/app-wrapper.d.ts +0 -12
- package/esm/components/app-wrapper/app-wrapper.style.d.ts +0 -2
- package/esm/components/app-wrapper/app-wrapper.style.js +0 -17
- package/esm/components/app-wrapper/index.d.ts +0 -1
- package/esm/components/app-wrapper/index.js +0 -1
- package/esm/components/menu/submenu-block/index.d.ts +0 -2
- package/esm/components/menu/submenu-block/index.js +0 -1
- package/esm/components/menu/submenu-block/submenu-block.component.d.ts +0 -12
- package/esm/components/menu/submenu-block/submenu-block.component.js +0 -34
- package/esm/components/menu/submenu-block/submenu-block.d.ts +0 -12
- package/esm/components/menu/submenu-block/submenu-block.style.d.ts +0 -2
- package/esm/components/menu/submenu-block/submenu-block.style.js +0 -16
- package/esm/components/mount-in-app/__spec__.d.ts +0 -1
- package/esm/components/mount-in-app/__spec__.js +0 -47
- package/esm/components/mount-in-app/index.d.ts +0 -1
- package/esm/components/mount-in-app/mount-in-app.d.ts +0 -12
- package/esm/components/mount-in-app/mount-in-app.js +0 -90
- package/esm/components/mount-in-app/package.json +0 -3
- package/esm/components/multi-step-wizard/__spec__.d.ts +0 -1
- package/esm/components/multi-step-wizard/__spec__.js +0 -191
- package/esm/components/multi-step-wizard/multi-step-wizard.d.ts +0 -109
- package/esm/components/multi-step-wizard/multi-step-wizard.js +0 -383
- package/esm/components/multi-step-wizard/multi-step-wizard.style.d.ts +0 -2
- package/esm/components/multi-step-wizard/multi-step-wizard.style.js +0 -10
- package/esm/components/multi-step-wizard/package.json +0 -4
- package/esm/components/multi-step-wizard/step/__spec__.d.ts +0 -1
- package/esm/components/multi-step-wizard/step/__spec__.js +0 -399
- package/esm/components/multi-step-wizard/step/package.json +0 -4
- package/esm/components/multi-step-wizard/step/step.d.ts +0 -166
- package/esm/components/multi-step-wizard/step/step.js +0 -407
- package/esm/components/multi-step-wizard/step/step.style.d.ts +0 -13
- package/esm/components/multi-step-wizard/step/step.style.js +0 -138
- package/esm/components/scrollable-list/as-scrollable-list-item.wrapper.d.ts +0 -2
- package/esm/components/scrollable-list/as-scrollable-list-item.wrapper.js +0 -10
- package/esm/components/scrollable-list/index.d.ts +0 -4
- package/esm/components/scrollable-list/index.js +0 -4
- package/esm/components/scrollable-list/scrollable-list-item.component.d.ts +0 -2
- package/esm/components/scrollable-list/scrollable-list-item.component.js +0 -26
- package/esm/components/scrollable-list/scrollable-list.component.d.ts +0 -52
- package/esm/components/scrollable-list/scrollable-list.component.js +0 -306
- package/esm/components/scrollable-list/scrollable-list.context.d.ts +0 -3
- package/esm/components/scrollable-list/scrollable-list.context.js +0 -2
- package/esm/components/scrollable-list/scrollable-list.style.d.ts +0 -2
- package/esm/components/scrollable-list/scrollable-list.style.js +0 -30
- package/esm/components/scrollable-list/test-utils.d.ts +0 -2
- package/esm/components/scrollable-list/test-utils.js +0 -25
- package/lib/components/app-wrapper/app-wrapper.component.d.ts +0 -25
- package/lib/components/app-wrapper/app-wrapper.component.js +0 -120
- package/lib/components/app-wrapper/app-wrapper.d.ts +0 -12
- package/lib/components/app-wrapper/app-wrapper.style.d.ts +0 -2
- package/lib/components/app-wrapper/app-wrapper.style.js +0 -28
- package/lib/components/app-wrapper/index.d.ts +0 -1
- package/lib/components/app-wrapper/index.js +0 -15
- package/lib/components/app-wrapper/package.json +0 -6
- package/lib/components/menu/submenu-block/index.d.ts +0 -2
- package/lib/components/menu/submenu-block/package.json +0 -6
- package/lib/components/menu/submenu-block/submenu-block.component.d.ts +0 -12
- package/lib/components/menu/submenu-block/submenu-block.component.js +0 -53
- package/lib/components/menu/submenu-block/submenu-block.d.ts +0 -12
- package/lib/components/menu/submenu-block/submenu-block.style.d.ts +0 -2
- package/lib/components/menu/submenu-block/submenu-block.style.js +0 -33
- package/lib/components/mount-in-app/__spec__.d.ts +0 -1
- package/lib/components/mount-in-app/__spec__.js +0 -55
- package/lib/components/mount-in-app/index.d.ts +0 -1
- package/lib/components/mount-in-app/mount-in-app.d.ts +0 -12
- package/lib/components/mount-in-app/mount-in-app.js +0 -105
- package/lib/components/mount-in-app/package.json +0 -3
- package/lib/components/multi-step-wizard/__spec__.d.ts +0 -1
- package/lib/components/multi-step-wizard/__spec__.js +0 -202
- package/lib/components/multi-step-wizard/multi-step-wizard.d.ts +0 -109
- package/lib/components/multi-step-wizard/multi-step-wizard.js +0 -397
- package/lib/components/multi-step-wizard/multi-step-wizard.style.d.ts +0 -2
- package/lib/components/multi-step-wizard/multi-step-wizard.style.js +0 -21
- package/lib/components/multi-step-wizard/package.json +0 -4
- package/lib/components/multi-step-wizard/step/__spec__.d.ts +0 -1
- package/lib/components/multi-step-wizard/step/__spec__.js +0 -409
- package/lib/components/multi-step-wizard/step/package.json +0 -4
- package/lib/components/multi-step-wizard/step/step.d.ts +0 -166
- package/lib/components/multi-step-wizard/step/step.js +0 -421
- package/lib/components/multi-step-wizard/step/step.style.d.ts +0 -13
- package/lib/components/multi-step-wizard/step/step.style.js +0 -162
- package/lib/components/scrollable-list/as-scrollable-list-item.wrapper.d.ts +0 -2
- package/lib/components/scrollable-list/as-scrollable-list-item.wrapper.js +0 -21
- package/lib/components/scrollable-list/index.d.ts +0 -4
- package/lib/components/scrollable-list/index.js +0 -31
- package/lib/components/scrollable-list/scrollable-list-item.component.d.ts +0 -2
- package/lib/components/scrollable-list/scrollable-list-item.component.js +0 -42
- package/lib/components/scrollable-list/scrollable-list.component.d.ts +0 -52
- package/lib/components/scrollable-list/scrollable-list.component.js +0 -328
- package/lib/components/scrollable-list/scrollable-list.context.d.ts +0 -3
- package/lib/components/scrollable-list/scrollable-list.context.js +0 -14
- package/lib/components/scrollable-list/scrollable-list.style.d.ts +0 -2
- package/lib/components/scrollable-list/scrollable-list.style.js +0 -41
- package/lib/components/scrollable-list/test-utils.d.ts +0 -2
- package/lib/components/scrollable-list/test-utils.js +0 -37
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface ClickAwayWrapperProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
handleClickAway: (ev: CustomEvent) => void;
|
|
5
|
+
eventTypeId?: "mousedown" | "click";
|
|
6
|
+
targets: React.RefObject<HTMLElement>[];
|
|
7
|
+
}
|
|
8
|
+
declare const ClickAwayWrapper: {
|
|
9
|
+
({ children, handleClickAway, eventTypeId, targets, }: ClickAwayWrapperProps): JSX.Element;
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
export default ClickAwayWrapper;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React, { useEffect } from "react";
|
|
2
|
+
import PropTypes from "prop-types";
|
|
3
|
+
import Events from "../utils/helpers/events";
|
|
4
|
+
|
|
5
|
+
const ClickAwayWrapper = ({
|
|
6
|
+
children,
|
|
7
|
+
handleClickAway,
|
|
8
|
+
eventTypeId = "click",
|
|
9
|
+
targets
|
|
10
|
+
}) => {
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
const fnClickAway = ev => {
|
|
13
|
+
const clickedElements = targets.filter(ref => (ref === null || ref === void 0 ? void 0 : ref.current) && Events.composedPath(ev).includes(ref.current));
|
|
14
|
+
|
|
15
|
+
if (!clickedElements || !clickedElements.length) {
|
|
16
|
+
handleClickAway(ev);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
document.addEventListener(eventTypeId, fnClickAway);
|
|
21
|
+
return function cleanup() {
|
|
22
|
+
document.removeEventListener(eventTypeId, fnClickAway);
|
|
23
|
+
};
|
|
24
|
+
}, [handleClickAway, targets, eventTypeId]);
|
|
25
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, children);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
ClickAwayWrapper.propTypes = {
|
|
29
|
+
"children": PropTypes.node,
|
|
30
|
+
"eventTypeId": PropTypes.oneOf(["click", "mousedown"]),
|
|
31
|
+
"handleClickAway": PropTypes.func.isRequired,
|
|
32
|
+
"targets": PropTypes.arrayOf(PropTypes.shape({
|
|
33
|
+
"current": PropTypes.oneOfType([PropTypes.oneOf([null]), function (props, propName) {
|
|
34
|
+
if (props[propName] == null) {
|
|
35
|
+
return new Error("Prop '" + propName + "' is required but wasn't specified");
|
|
36
|
+
} else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
|
|
37
|
+
return new Error("Expected prop '" + propName + "' to be of type Element");
|
|
38
|
+
}
|
|
39
|
+
}]).isRequired
|
|
40
|
+
})).isRequired
|
|
41
|
+
};
|
|
42
|
+
ClickAwayWrapper.displayName = "ClickAwayWrapper";
|
|
43
|
+
export default ClickAwayWrapper;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./click-away-wrapper.component";
|
|
File without changes
|
|
File without changes
|
|
@@ -3,7 +3,7 @@ import Icon from "../icon";
|
|
|
3
3
|
declare const StyledBadgeWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
4
|
declare const StyledCounter: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
5
|
declare const StyledButton: import("styled-components").StyledComponent<{
|
|
6
|
-
({ size, subtext,
|
|
6
|
+
({ size, subtext, children, forwardRef, "aria-label": ariaLabel, disabled, destructive, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, fullWidth, ...rest }: import("../button").ButtonProps): JSX.Element;
|
|
7
7
|
displayName: string;
|
|
8
8
|
}, any, {}, never>;
|
|
9
9
|
declare const StyledCrossIcon: import("styled-components").StyledComponent<typeof Icon, any, {}, never>;
|
|
@@ -10,8 +10,6 @@ export interface ButtonProps extends SpaceProps {
|
|
|
10
10
|
* This is required to comply with WCAG 4.1.2 - Buttons must have discernible text
|
|
11
11
|
*/
|
|
12
12
|
"aria-label"?: string;
|
|
13
|
-
/** [Legacy] Button types for legacy theme: "primary" | "secondary" */
|
|
14
|
-
as?: ButtonTypes;
|
|
15
13
|
/** Color variants for new business themes: "primary" | "secondary" | "tertiary" | "darkBackground" */
|
|
16
14
|
buttonType?: ButtonTypes;
|
|
17
15
|
/** The text the button displays */
|
|
@@ -60,7 +58,7 @@ export interface ButtonProps extends SpaceProps {
|
|
|
60
58
|
rel?: string;
|
|
61
59
|
}
|
|
62
60
|
declare const Button: {
|
|
63
|
-
({ size, subtext,
|
|
61
|
+
({ size, subtext, children, forwardRef, "aria-label": ariaLabel, disabled, destructive, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, fullWidth, ...rest }: ButtonProps): JSX.Element;
|
|
64
62
|
displayName: string;
|
|
65
63
|
};
|
|
66
64
|
declare const ButtonWithForwardRef: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -7,7 +7,6 @@ import Icon from "../icon";
|
|
|
7
7
|
import StyledButton, { StyledButtonSubtext } from "./button.style";
|
|
8
8
|
import tagComponent from "../../__internal__/utils/helpers/tags/tags";
|
|
9
9
|
import { TooltipProvider } from "../../__internal__/tooltip-provider";
|
|
10
|
-
import Logger from "../../__internal__/utils/logger";
|
|
11
10
|
|
|
12
11
|
function renderChildren({
|
|
13
12
|
/* eslint-disable react/prop-types */
|
|
@@ -74,12 +73,10 @@ renderChildren.propTypes = {
|
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
};
|
|
77
|
-
let deprecatedWarnTriggered = false;
|
|
78
76
|
|
|
79
77
|
const Button = ({
|
|
80
78
|
size = "medium",
|
|
81
79
|
subtext = "",
|
|
82
|
-
as,
|
|
83
80
|
children,
|
|
84
81
|
forwardRef,
|
|
85
82
|
"aria-label": ariaLabel,
|
|
@@ -99,12 +96,6 @@ const Button = ({
|
|
|
99
96
|
fullWidth = false,
|
|
100
97
|
...rest
|
|
101
98
|
}) => {
|
|
102
|
-
if (!deprecatedWarnTriggered && as) {
|
|
103
|
-
deprecatedWarnTriggered = true;
|
|
104
|
-
Logger.deprecate( // eslint-disable-next-line max-len
|
|
105
|
-
"The `as` prop is deprecated and will soon be removed from the `Button` component interface. You should use the `buttonType` prop to achieve the same styling. The following codemod is available to help with updating your code https://github.com/Sage/carbon-codemod/tree/master/transforms/rename-prop");
|
|
106
|
-
}
|
|
107
|
-
|
|
108
99
|
invariant(!!(children || iconType), "Either prop `iconType` must be defined or this node must have children.");
|
|
109
100
|
|
|
110
101
|
if (subtext) {
|
|
@@ -112,7 +103,7 @@ const Button = ({
|
|
|
112
103
|
}
|
|
113
104
|
|
|
114
105
|
const [internalRef, setInternalRef] = useState();
|
|
115
|
-
const buttonType =
|
|
106
|
+
const buttonType = buttonTypeProp;
|
|
116
107
|
let paddingX;
|
|
117
108
|
|
|
118
109
|
const handleLinkKeyDown = event => {
|
|
@@ -182,7 +173,6 @@ const Button = ({
|
|
|
182
173
|
|
|
183
174
|
Button.propTypes = {
|
|
184
175
|
"aria-label": PropTypes.string,
|
|
185
|
-
"as": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
|
|
186
176
|
"buttonType": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
|
|
187
177
|
"children": PropTypes.node,
|
|
188
178
|
"destructive": PropTypes.bool,
|
|
@@ -522,7 +512,6 @@ const ButtonWithForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__
|
|
|
522
512
|
}, props)));
|
|
523
513
|
ButtonWithForwardRef.propTypes = {
|
|
524
514
|
"aria-label": PropTypes.string,
|
|
525
|
-
"as": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
|
|
526
515
|
"buttonType": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
|
|
527
516
|
"children": PropTypes.node,
|
|
528
517
|
"destructive": PropTypes.bool,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SpaceProps } from "styled-system";
|
|
2
2
|
import { ButtonProps } from "./button.component";
|
|
3
|
-
declare const StyledButton: import("styled-components").StyledComponent<"button", any, SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> &
|
|
3
|
+
declare const StyledButton: import("styled-components").StyledComponent<"button", any, SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> & ButtonProps & {
|
|
4
4
|
iconOnly?: boolean | undefined;
|
|
5
5
|
}, never>;
|
|
6
6
|
export declare const StyledButtonSubtext: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
@@ -6,7 +6,7 @@ import styledSystemPropTypes from "@styled-system/prop-types";
|
|
|
6
6
|
import FormField from "../../__internal__/form-field";
|
|
7
7
|
import ButtonToggleGroupStyle from "./button-toggle-group.style";
|
|
8
8
|
import ButtonToggle from "../button-toggle";
|
|
9
|
-
import RadioButtonMapper from "
|
|
9
|
+
import RadioButtonMapper from "../../__internal__/radio-button-mapper/radio-button-mapper.component";
|
|
10
10
|
import ValidationIcon from "../../__internal__/validations/validation-icon.component";
|
|
11
11
|
import { InputGroupBehaviour } from "../../__internal__/input-behaviour";
|
|
12
12
|
import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
export default Confirm;
|
|
2
|
-
declare function Confirm({ "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, open, children,
|
|
2
|
+
declare function Confirm({ "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, open, children, cancelButtonDestructive, confirmButtonDestructive, cancelButtonType, confirmButtonType, cancelButtonIconType, cancelButtonIconPosition, confirmButtonIconType, confirmButtonIconPosition, cancelLabel, onCancel, disableCancel, onConfirm, isLoadingConfirm, disableConfirm, confirmLabel, iconType, subtitle, title, ...rest }: {
|
|
3
3
|
[x: string]: any;
|
|
4
4
|
"aria-labelledby": any;
|
|
5
5
|
"aria-describedby": any;
|
|
6
6
|
"aria-label": any;
|
|
7
7
|
open: any;
|
|
8
8
|
children: any;
|
|
9
|
-
destructive: any;
|
|
10
9
|
cancelButtonDestructive: any;
|
|
11
10
|
confirmButtonDestructive: any;
|
|
12
11
|
cancelButtonType: any;
|
|
@@ -30,7 +29,6 @@ declare namespace Confirm {
|
|
|
30
29
|
namespace defaultProps {
|
|
31
30
|
const size: string;
|
|
32
31
|
const showCloseIcon: boolean;
|
|
33
|
-
const destructive: boolean;
|
|
34
32
|
const cancelButtonDestructive: boolean;
|
|
35
33
|
const confirmButtonDestructive: boolean;
|
|
36
34
|
const iconType: null;
|
|
@@ -81,8 +79,6 @@ declare namespace Confirm {
|
|
|
81
79
|
confirmLabel: PropTypes.Requireable<string>;
|
|
82
80
|
/** Customise the cancel button label */
|
|
83
81
|
cancelLabel: PropTypes.Requireable<string>;
|
|
84
|
-
/** Apply destructive style to the buttons */
|
|
85
|
-
destructive: PropTypes.Requireable<boolean>;
|
|
86
82
|
/** Apply destructive style to the cancel button */
|
|
87
83
|
cancelButtonDestructive: PropTypes.Requireable<boolean>;
|
|
88
84
|
/** Apply destructive style to the confirm button */
|
|
@@ -3,7 +3,6 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
3
3
|
import React, { useRef } from "react";
|
|
4
4
|
import PropTypes from "prop-types";
|
|
5
5
|
import createGuid from "../../__internal__/utils/helpers/guid";
|
|
6
|
-
import Logger from "../../__internal__/utils/logger";
|
|
7
6
|
import Heading from "../heading";
|
|
8
7
|
import Dialog from "../dialog";
|
|
9
8
|
import { StyledConfirmButtons, StyledConfirmHeading } from "./confirm.style";
|
|
@@ -11,7 +10,6 @@ import Button from "../button/button.component";
|
|
|
11
10
|
import Icon from "../icon";
|
|
12
11
|
import Loader from "../loader";
|
|
13
12
|
import useLocale from "../../hooks/__internal__/useLocale";
|
|
14
|
-
let deprecatedWarnTriggered = false;
|
|
15
13
|
|
|
16
14
|
const Confirm = ({
|
|
17
15
|
"aria-labelledby": ariaLabelledBy,
|
|
@@ -19,7 +17,6 @@ const Confirm = ({
|
|
|
19
17
|
"aria-label": ariaLabel,
|
|
20
18
|
open,
|
|
21
19
|
children,
|
|
22
|
-
destructive,
|
|
23
20
|
cancelButtonDestructive,
|
|
24
21
|
confirmButtonDestructive,
|
|
25
22
|
cancelButtonType,
|
|
@@ -40,11 +37,6 @@ const Confirm = ({
|
|
|
40
37
|
title,
|
|
41
38
|
...rest
|
|
42
39
|
}) => {
|
|
43
|
-
if (!deprecatedWarnTriggered && destructive) {
|
|
44
|
-
deprecatedWarnTriggered = true;
|
|
45
|
-
Logger.deprecate("`destructive` prop is deprecated and will soon be removed. Please use `cancelButtonDestructive` and `confirmButtonDestructive` props.");
|
|
46
|
-
}
|
|
47
|
-
|
|
48
40
|
const l = useLocale();
|
|
49
41
|
const {
|
|
50
42
|
current: titleId
|
|
@@ -72,7 +64,7 @@ const Confirm = ({
|
|
|
72
64
|
onClick: onCancel,
|
|
73
65
|
"data-element": "cancel",
|
|
74
66
|
buttonType: cancelButtonType,
|
|
75
|
-
destructive:
|
|
67
|
+
destructive: cancelButtonDestructive,
|
|
76
68
|
disabled: disableCancel,
|
|
77
69
|
iconType: cancelButtonIconType,
|
|
78
70
|
iconPosition: cancelButtonIconPosition
|
|
@@ -83,7 +75,7 @@ const Confirm = ({
|
|
|
83
75
|
onClick: onConfirm,
|
|
84
76
|
"data-element": "confirm",
|
|
85
77
|
buttonType: confirmButtonType,
|
|
86
|
-
destructive:
|
|
78
|
+
destructive: confirmButtonDestructive,
|
|
87
79
|
disabled: isLoadingConfirm || disableConfirm,
|
|
88
80
|
ml: 2,
|
|
89
81
|
iconType: confirmButtonIconType,
|
|
@@ -127,7 +119,6 @@ const Confirm = ({
|
|
|
127
119
|
Confirm.defaultProps = {
|
|
128
120
|
size: "extra-small",
|
|
129
121
|
showCloseIcon: false,
|
|
130
|
-
destructive: false,
|
|
131
122
|
cancelButtonDestructive: false,
|
|
132
123
|
confirmButtonDestructive: false,
|
|
133
124
|
iconType: null,
|
|
@@ -195,9 +186,6 @@ Confirm.propTypes = {
|
|
|
195
186
|
/** Customise the cancel button label */
|
|
196
187
|
cancelLabel: PropTypes.string,
|
|
197
188
|
|
|
198
|
-
/** Apply destructive style to the buttons */
|
|
199
|
-
destructive: PropTypes.bool,
|
|
200
|
-
|
|
201
189
|
/** Apply destructive style to the cancel button */
|
|
202
190
|
cancelButtonDestructive: PropTypes.bool,
|
|
203
191
|
|
|
@@ -21,8 +21,6 @@ export interface ConfirmProps extends DialogProps {
|
|
|
21
21
|
cancelLabel?: string;
|
|
22
22
|
/** Customise the confirm button label */
|
|
23
23
|
confirmLabel?: string;
|
|
24
|
-
/** Apply destructive style to the buttons */
|
|
25
|
-
destructive?: boolean;
|
|
26
24
|
/** Apply destructive style to the cancel button */
|
|
27
25
|
cancelButtonDestructive?: boolean;
|
|
28
26
|
/** Apply destructive style to the confirm button */
|
|
@@ -12,6 +12,7 @@ import StyledDateInput from "./date.style";
|
|
|
12
12
|
import Textbox from "../textbox";
|
|
13
13
|
import DatePicker from "./__internal__/date-picker";
|
|
14
14
|
import DateRangeContext from "../date-range/date-range.context";
|
|
15
|
+
import ClickAwayWrapper from "../../__internal__/click-away-wrapper";
|
|
15
16
|
const marginPropTypes = filterStyledSystemMarginProps(styledSystemPropTypes.space);
|
|
16
17
|
|
|
17
18
|
const DateInput = ({
|
|
@@ -234,23 +235,6 @@ const DateInput = ({
|
|
|
234
235
|
}
|
|
235
236
|
};
|
|
236
237
|
|
|
237
|
-
useEffect(() => {
|
|
238
|
-
const fnClosePicker = ev => {
|
|
239
|
-
if (open && !Events.composedPath(ev).includes(parentRef.current) && !Events.composedPath(ev).includes(pickerRef.current)) {
|
|
240
|
-
alreadyFocused.current = true;
|
|
241
|
-
inputRef.current.focus();
|
|
242
|
-
isBlurBlocked.current = false;
|
|
243
|
-
inputRef.current.blur();
|
|
244
|
-
setOpen(false);
|
|
245
|
-
alreadyFocused.current = false;
|
|
246
|
-
}
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
document.addEventListener("mousedown", fnClosePicker);
|
|
250
|
-
return function cleanup() {
|
|
251
|
-
document.removeEventListener("mousedown", fnClosePicker);
|
|
252
|
-
};
|
|
253
|
-
}, [open]);
|
|
254
238
|
useEffect(() => {
|
|
255
239
|
const [matchedFormat, matchedValue] = findMatchedFormatAndValue(value, formats);
|
|
256
240
|
|
|
@@ -282,7 +266,22 @@ const DateInput = ({
|
|
|
282
266
|
return value;
|
|
283
267
|
};
|
|
284
268
|
|
|
285
|
-
|
|
269
|
+
const handleClickAway = () => {
|
|
270
|
+
if (open) {
|
|
271
|
+
alreadyFocused.current = true;
|
|
272
|
+
inputRef.current.focus();
|
|
273
|
+
isBlurBlocked.current = false;
|
|
274
|
+
inputRef.current.blur();
|
|
275
|
+
setOpen(false);
|
|
276
|
+
alreadyFocused.current = false;
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
|
|
280
|
+
return /*#__PURE__*/React.createElement(ClickAwayWrapper, {
|
|
281
|
+
handleClickAway: handleClickAway,
|
|
282
|
+
eventTypeId: "mousedown",
|
|
283
|
+
targets: [parentRef, pickerRef]
|
|
284
|
+
}, /*#__PURE__*/React.createElement(StyledDateInput, _extends({
|
|
286
285
|
ref: wrapperRef,
|
|
287
286
|
role: "presentation",
|
|
288
287
|
size: size,
|
|
@@ -322,13 +321,13 @@ const DateInput = ({
|
|
|
322
321
|
ref: pickerRef,
|
|
323
322
|
pickerMouseDown: handlePickerMouseDown,
|
|
324
323
|
open: open
|
|
325
|
-
}));
|
|
324
|
+
})));
|
|
326
325
|
};
|
|
327
326
|
|
|
328
327
|
DateInput.propTypes = { ...Textbox.propTypes,
|
|
329
328
|
...marginPropTypes,
|
|
330
329
|
|
|
331
|
-
/** Pass any props that match the [DayPickerProps](https://react-day-picker.
|
|
330
|
+
/** Pass any props that match the [DayPickerProps](https://react-day-picker-v7.netlify.app/docs/getting-started/)
|
|
332
331
|
* interface to override default behaviors
|
|
333
332
|
* */
|
|
334
333
|
pickerProps: PropTypes.object,
|
|
@@ -2,6 +2,15 @@ import * as React from "react";
|
|
|
2
2
|
import { DayPickerProps } from "react-day-picker";
|
|
3
3
|
import { TextboxProps } from "../textbox/textbox";
|
|
4
4
|
|
|
5
|
+
export interface DateChangeEvent {
|
|
6
|
+
target: {
|
|
7
|
+
value: {
|
|
8
|
+
formattedValue: string;
|
|
9
|
+
rawValue: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
5
14
|
export interface DateInputProps
|
|
6
15
|
extends Omit<
|
|
7
16
|
TextboxProps,
|
|
@@ -31,7 +40,7 @@ export interface DateInputProps
|
|
|
31
40
|
/** Maximum possible date YYYY-MM-DD */
|
|
32
41
|
maxDate?: string;
|
|
33
42
|
/** Specify a callback triggered on change */
|
|
34
|
-
onChange: (ev:
|
|
43
|
+
onChange: (ev: DateChangeEvent) => void;
|
|
35
44
|
/** The current date string */
|
|
36
45
|
value: string;
|
|
37
46
|
/** Pass any props that match the DayPickerProps interface to override default behaviors */
|
|
@@ -2,7 +2,7 @@ import * as React from "react";
|
|
|
2
2
|
import { MarginProps } from "styled-system";
|
|
3
3
|
import { DateInputProps } from "../date/date";
|
|
4
4
|
|
|
5
|
-
interface DateRangeChangeEvent {
|
|
5
|
+
export interface DateRangeChangeEvent {
|
|
6
6
|
target: {
|
|
7
7
|
value: [
|
|
8
8
|
{
|
|
@@ -19,7 +19,7 @@ interface DateRangeChangeEvent {
|
|
|
19
19
|
|
|
20
20
|
export interface DateRangeProps extends MarginProps {
|
|
21
21
|
/** Props for the child end Date component */
|
|
22
|
-
endDateProps?: DateInputProps
|
|
22
|
+
endDateProps?: Partial<DateInputProps>;
|
|
23
23
|
/** Optional label for endDate field */
|
|
24
24
|
endLabel?: string;
|
|
25
25
|
/**
|
|
@@ -51,7 +51,7 @@ export interface DateRangeProps extends MarginProps {
|
|
|
51
51
|
/** Specify a callback triggered on blur */
|
|
52
52
|
onBlur?: (ev: DateRangeChangeEvent) => void;
|
|
53
53
|
/** Props for the child start Date component */
|
|
54
|
-
startDateProps?: DateInputProps
|
|
54
|
+
startDateProps?: Partial<DateInputProps>;
|
|
55
55
|
/** Optional label for startDate field */
|
|
56
56
|
startLabel?: string;
|
|
57
57
|
/**
|
|
@@ -80,15 +80,9 @@ const StyledContent = styled.div`
|
|
|
80
80
|
|
|
81
81
|
${({
|
|
82
82
|
hasHeader
|
|
83
|
-
}) => !hasHeader && `
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
.carbon-app-wrapper {
|
|
88
|
-
max-width: 100%;
|
|
89
|
-
padding: 0;
|
|
90
|
-
height: 70px;
|
|
91
|
-
}
|
|
92
|
-
`}
|
|
83
|
+
}) => !hasHeader && css`
|
|
84
|
+
padding-top: 0;
|
|
85
|
+
margin-top: -25px;
|
|
86
|
+
`}
|
|
93
87
|
`;
|
|
94
88
|
export default StyledContent;
|
|
@@ -1,64 +1,44 @@
|
|
|
1
1
|
export default Heading;
|
|
2
|
-
declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
declare function Heading({ children, backLink, divider, help, helpAriaLabel, helpLink, pills, separator, subheader, subtitleId, title, titleId, ...rest }: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
children: any;
|
|
5
|
+
backLink: any;
|
|
6
|
+
divider?: boolean | undefined;
|
|
7
|
+
help: any;
|
|
8
|
+
helpAriaLabel: any;
|
|
9
|
+
helpLink: any;
|
|
10
|
+
pills: any;
|
|
11
|
+
separator?: boolean | undefined;
|
|
12
|
+
subheader: any;
|
|
13
|
+
subtitleId: any;
|
|
14
|
+
title: any;
|
|
15
|
+
titleId: any;
|
|
16
|
+
}): JSX.Element | null;
|
|
13
17
|
declare namespace Heading {
|
|
14
18
|
const propTypes: {
|
|
15
|
-
/**
|
|
16
|
-
* Children elements
|
|
17
|
-
*/
|
|
19
|
+
/** Child elements */
|
|
18
20
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
19
|
-
/**
|
|
20
|
-
* Defines the title for the heading.
|
|
21
|
-
*/
|
|
21
|
+
/** Defines the title for the heading. */
|
|
22
22
|
title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
23
|
-
/**
|
|
24
|
-
* Defines the title id for the heading.
|
|
25
|
-
*/
|
|
23
|
+
/** Defines the title id for the heading. */
|
|
26
24
|
titleId: PropTypes.Requireable<string>;
|
|
27
|
-
/**
|
|
28
|
-
* Defines the subheader for the heading.
|
|
29
|
-
*/
|
|
25
|
+
/** Defines the subheader for the heading. */
|
|
30
26
|
subheader: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
31
|
-
/**
|
|
32
|
-
* Defines the subtitle id for the heading.
|
|
33
|
-
*/
|
|
27
|
+
/** Defines the subtitle id for the heading. */
|
|
34
28
|
subtitleId: PropTypes.Requireable<string>;
|
|
35
|
-
/**
|
|
36
|
-
* Defines the help text for the heading.
|
|
37
|
-
*/
|
|
29
|
+
/** Defines the help text for the heading. */
|
|
38
30
|
help: PropTypes.Requireable<string>;
|
|
39
|
-
/**
|
|
40
|
-
* Defines the help link for the heading.
|
|
41
|
-
*/
|
|
31
|
+
/** Defines the help link for the heading. */
|
|
42
32
|
helpLink: PropTypes.Requireable<string>;
|
|
43
|
-
/**
|
|
44
|
-
* Defines the a href for the back link.
|
|
45
|
-
*/
|
|
33
|
+
/** Defines the a href for the back link. */
|
|
46
34
|
backLink: PropTypes.Requireable<string | ((...args: any[]) => any)>;
|
|
47
|
-
/**
|
|
48
|
-
* Adds a divider below the heading and the content.
|
|
49
|
-
*/
|
|
35
|
+
/** Adds a divider below the heading and the content. */
|
|
50
36
|
divider: PropTypes.Requireable<boolean>;
|
|
51
|
-
/**
|
|
52
|
-
* Adds a separator between the title and the subheader.
|
|
53
|
-
*/
|
|
37
|
+
/** Adds a separator between the title and the subheader. */
|
|
54
38
|
separator: PropTypes.Requireable<boolean>;
|
|
55
|
-
/**
|
|
56
|
-
* Pills that will be added after the title.
|
|
57
|
-
*/
|
|
39
|
+
/** Pills that will be added after the title. */
|
|
58
40
|
pills: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
59
|
-
/**
|
|
60
|
-
* Aria label for rendered help component
|
|
61
|
-
*/
|
|
41
|
+
/** Aria label for rendered help component */
|
|
62
42
|
helpAriaLabel: PropTypes.Requireable<string>;
|
|
63
43
|
marginBottom?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
|
|
64
44
|
margin?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
|
|
@@ -75,10 +55,5 @@ declare namespace Heading {
|
|
|
75
55
|
marginY?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
|
|
76
56
|
my?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
|
|
77
57
|
};
|
|
78
|
-
namespace defaultProps {
|
|
79
|
-
const divider: boolean;
|
|
80
|
-
const separator: boolean;
|
|
81
|
-
}
|
|
82
58
|
}
|
|
83
|
-
import React from "react";
|
|
84
59
|
import PropTypes from "prop-types";
|