carbon-react 140.1.1 → 141.0.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.
- package/esm/components/anchor-navigation/anchor-navigation.component.d.ts +3 -2
- package/esm/components/anchor-navigation/anchor-navigation.component.js +10 -3
- package/esm/components/date/date.style.d.ts +2 -1
- package/esm/components/date/date.style.js +3 -3
- package/esm/components/date-range/date-range.component.d.ts +2 -2
- package/esm/components/draggable/__internal__/drop-target.component.d.ts +1 -1
- package/esm/components/draggable/__internal__/drop-target.component.js +6 -1
- package/esm/components/draggable/draggable-container.component.d.ts +3 -2
- package/esm/components/draggable/draggable-container.component.js +8 -0
- package/esm/components/draggable/draggable-item/draggable-item.component.js +1 -0
- package/esm/components/icon-button/icon-button.component.d.ts +0 -2
- package/esm/components/icon-button/icon-button.component.js +1 -16
- package/esm/components/menu/menu.component.d.ts +1 -2
- package/esm/components/menu/menu.component.js +0 -1
- package/esm/components/portrait/portrait.component.d.ts +1 -1
- package/esm/components/portrait/portrait.component.js +7 -0
- package/esm/components/profile/profile.component.d.ts +1 -1
- package/esm/components/profile/profile.component.js +1 -0
- package/esm/components/sidebar/sidebar.component.d.ts +1 -1
- package/esm/components/sidebar/sidebar.component.js +8 -9
- package/esm/components/vertical-divider/vertical-divider.component.js +1 -1
- package/lib/components/anchor-navigation/anchor-navigation.component.d.ts +3 -2
- package/lib/components/anchor-navigation/anchor-navigation.component.js +10 -3
- package/lib/components/date/date.style.d.ts +2 -1
- package/lib/components/date/date.style.js +3 -3
- package/lib/components/date-range/date-range.component.d.ts +2 -2
- package/lib/components/draggable/__internal__/drop-target.component.d.ts +1 -1
- package/lib/components/draggable/__internal__/drop-target.component.js +6 -1
- package/lib/components/draggable/draggable-container.component.d.ts +3 -2
- package/lib/components/draggable/draggable-container.component.js +8 -0
- package/lib/components/draggable/draggable-item/draggable-item.component.js +1 -0
- package/lib/components/icon-button/icon-button.component.d.ts +0 -2
- package/lib/components/icon-button/icon-button.component.js +1 -16
- package/lib/components/menu/menu.component.d.ts +1 -2
- package/lib/components/menu/menu.component.js +1 -8
- package/lib/components/portrait/portrait.component.d.ts +1 -1
- package/lib/components/portrait/portrait.component.js +7 -0
- package/lib/components/profile/profile.component.d.ts +1 -1
- package/lib/components/profile/profile.component.js +1 -0
- package/lib/components/sidebar/sidebar.component.d.ts +1 -1
- package/lib/components/sidebar/sidebar.component.js +8 -9
- package/lib/components/vertical-divider/vertical-divider.component.js +2 -2
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
3
|
+
export interface AnchorNavigationProps extends Omit<TagProps, "data-component"> {
|
|
3
4
|
/** Child elements */
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
/** The AnchorNavigationItems components to be rendered in the sticky navigation.
|
|
@@ -8,7 +9,7 @@ export interface AnchorNavigationProps {
|
|
|
8
9
|
stickyNavigation?: React.ReactNode;
|
|
9
10
|
}
|
|
10
11
|
declare const AnchorNavigation: {
|
|
11
|
-
({ children, stickyNavigation, }: AnchorNavigationProps): JSX.Element;
|
|
12
|
+
({ children, stickyNavigation, "data-element": dataElement, "data-role": dataRole, }: AnchorNavigationProps): JSX.Element;
|
|
12
13
|
displayName: string;
|
|
13
14
|
};
|
|
14
15
|
export default AnchorNavigation;
|
|
@@ -11,7 +11,9 @@ const SECTION_VISIBILITY_OFFSET = 200;
|
|
|
11
11
|
const SCROLL_THROTTLE = 100;
|
|
12
12
|
const AnchorNavigation = ({
|
|
13
13
|
children,
|
|
14
|
-
stickyNavigation
|
|
14
|
+
stickyNavigation,
|
|
15
|
+
"data-element": dataElement,
|
|
16
|
+
"data-role": dataRole
|
|
15
17
|
}) => {
|
|
16
18
|
!isFragment(stickyNavigation) ? process.env.NODE_ENV !== "production" ? invariant(false, "`stickyNavigation` prop in `AnchorNavigation` should be a React Fragment.") : invariant(false) : void 0;
|
|
17
19
|
const hasCorrectItemStructure = useMemo(() => {
|
|
@@ -45,13 +47,14 @@ const AnchorNavigation = ({
|
|
|
45
47
|
setSelectedIndex(indexOfSmallestNegativeTopOffset);
|
|
46
48
|
}, []);
|
|
47
49
|
const scrollHandler = useMemo(() => throttle(() => {
|
|
50
|
+
/* istanbul ignore else */
|
|
48
51
|
if (isUserScroll.current) {
|
|
49
52
|
setSelectedAnchorBasedOnScroll();
|
|
50
53
|
} else {
|
|
51
54
|
if (isUserScrollTimer.current !== undefined) {
|
|
52
55
|
window.clearTimeout(isUserScrollTimer.current);
|
|
53
56
|
}
|
|
54
|
-
isUserScrollTimer.current = setTimeout(
|
|
57
|
+
isUserScrollTimer.current = setTimeout(() => {
|
|
55
58
|
isUserScroll.current = true;
|
|
56
59
|
}, SCROLL_THROTTLE + 50);
|
|
57
60
|
}
|
|
@@ -106,7 +109,9 @@ const AnchorNavigation = ({
|
|
|
106
109
|
};
|
|
107
110
|
return /*#__PURE__*/React.createElement(StyledAnchorNavigation, {
|
|
108
111
|
ref: contentRef,
|
|
109
|
-
"data-component": "anchor-navigation"
|
|
112
|
+
"data-component": "anchor-navigation",
|
|
113
|
+
"data-element": dataElement,
|
|
114
|
+
"data-role": dataRole
|
|
110
115
|
}, /*#__PURE__*/React.createElement(StyledNavigation, {
|
|
111
116
|
ref: navigationRef,
|
|
112
117
|
"data-element": "anchor-sticky-navigation"
|
|
@@ -121,6 +126,8 @@ const AnchorNavigation = ({
|
|
|
121
126
|
if (process.env.NODE_ENV !== "production") {
|
|
122
127
|
AnchorNavigation.propTypes = {
|
|
123
128
|
"children": PropTypes.node,
|
|
129
|
+
"data-element": PropTypes.string,
|
|
130
|
+
"data-role": PropTypes.string,
|
|
124
131
|
"stickyNavigation": PropTypes.node
|
|
125
132
|
};
|
|
126
133
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DateInputProps } from "./date.component";
|
|
2
|
-
interface StyledDateInputProps extends Pick<DateInputProps, "inputWidth" | "
|
|
2
|
+
interface StyledDateInputProps extends Pick<DateInputProps, "inputWidth" | "maxWidth" | "labelInline"> {
|
|
3
3
|
applyDateRangeStyling?: boolean;
|
|
4
|
+
size: Required<DateInputProps>["size"];
|
|
4
5
|
}
|
|
5
6
|
declare const StyledDateInput: import("styled-components").StyledComponent<"div", any, StyledDateInputProps, never>;
|
|
6
7
|
export default StyledDateInput;
|
|
@@ -19,7 +19,7 @@ const StyledDateInput = styled.div`
|
|
|
19
19
|
width: ${({
|
|
20
20
|
inputWidth,
|
|
21
21
|
maxWidth,
|
|
22
|
-
size
|
|
22
|
+
size
|
|
23
23
|
}) => maxWidth || inputWidth ? "" : datePickerWidth[size]};
|
|
24
24
|
|
|
25
25
|
${StyledInput} {
|
|
@@ -30,11 +30,11 @@ const StyledDateInput = styled.div`
|
|
|
30
30
|
${({
|
|
31
31
|
applyDateRangeStyling,
|
|
32
32
|
maxWidth,
|
|
33
|
-
size
|
|
33
|
+
size,
|
|
34
34
|
labelInline
|
|
35
35
|
}) => applyDateRangeStyling && !labelInline && css`
|
|
36
36
|
${FieldLineStyle} {
|
|
37
|
-
max-width: ${maxWidth || datePickerWidth[size]}
|
|
37
|
+
max-width: ${maxWidth || datePickerWidth[size]};
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
${StyledValidationMessage}, ${StyledLabel} {
|
|
@@ -16,7 +16,7 @@ export interface DateRangeChangeEvent {
|
|
|
16
16
|
}
|
|
17
17
|
export interface DateRangeProps extends StyledDateRangeProps, MarginProps, TagProps {
|
|
18
18
|
/** Props for the child end Date component */
|
|
19
|
-
endDateProps?: Partial<DateInputProps>;
|
|
19
|
+
endDateProps?: Omit<Partial<DateInputProps>, "required">;
|
|
20
20
|
/** Optional label for endDate field */
|
|
21
21
|
endLabel?: string;
|
|
22
22
|
/**
|
|
@@ -50,7 +50,7 @@ export interface DateRangeProps extends StyledDateRangeProps, MarginProps, TagPr
|
|
|
50
50
|
/** Specify a callback triggered on blur */
|
|
51
51
|
onBlur?: (ev: DateRangeChangeEvent) => void;
|
|
52
52
|
/** Props for the child start Date component */
|
|
53
|
-
startDateProps?: Partial<DateInputProps>;
|
|
53
|
+
startDateProps?: Omit<Partial<DateInputProps>, "required">;
|
|
54
54
|
/** Optional label for startDate field */
|
|
55
55
|
startLabel?: string;
|
|
56
56
|
/**
|
|
@@ -4,5 +4,5 @@ interface DropTargetProps extends Omit<DraggableContainerProps, "getOrder"> {
|
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
getOrder: (movedItemId?: string | number | undefined) => void;
|
|
6
6
|
}
|
|
7
|
-
declare const DropTarget: ({ children, getOrder, ...rest }: DropTargetProps) => React.JSX.Element;
|
|
7
|
+
declare const DropTarget: ({ "data-element": dataElement, "data-role": dataRole, children, getOrder, ...rest }: DropTargetProps) => React.JSX.Element;
|
|
8
8
|
export default DropTarget;
|
|
@@ -4,6 +4,8 @@ import PropTypes from "prop-types";
|
|
|
4
4
|
import { useDrop } from "react-dnd";
|
|
5
5
|
import { StyledDraggableContainer } from "../draggable-item/draggable-item.style";
|
|
6
6
|
const DropTarget = ({
|
|
7
|
+
"data-element": dataElement,
|
|
8
|
+
"data-role": dataRole,
|
|
7
9
|
children,
|
|
8
10
|
getOrder,
|
|
9
11
|
...rest
|
|
@@ -18,7 +20,10 @@ const DropTarget = ({
|
|
|
18
20
|
}
|
|
19
21
|
});
|
|
20
22
|
return /*#__PURE__*/React.createElement(StyledDraggableContainer, _extends({
|
|
21
|
-
ref: drop
|
|
23
|
+
ref: drop,
|
|
24
|
+
"data-component": "draggable-container",
|
|
25
|
+
"data-element": dataElement,
|
|
26
|
+
"data-role": dataRole
|
|
22
27
|
}, rest), children);
|
|
23
28
|
};
|
|
24
29
|
export default DropTarget;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MarginProps } from "styled-system";
|
|
3
|
-
|
|
3
|
+
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
4
|
+
export interface DraggableContainerProps extends MarginProps, Omit<TagProps, "data-component"> {
|
|
4
5
|
/** Callback fired when order is changed */
|
|
5
6
|
getOrder?: (draggableItemIds?: (string | number | undefined)[], movedItemId?: string | number | undefined) => void;
|
|
6
7
|
/**
|
|
@@ -11,7 +12,7 @@ export interface DraggableContainerProps extends MarginProps {
|
|
|
11
12
|
children?: React.ReactNode;
|
|
12
13
|
}
|
|
13
14
|
declare const DraggableContainer: {
|
|
14
|
-
({ children, getOrder, ...rest }: DraggableContainerProps): JSX.Element;
|
|
15
|
+
({ "data-element": dataElement, "data-role": dataRole, children, getOrder, ...rest }: DraggableContainerProps): JSX.Element;
|
|
15
16
|
displayName: string;
|
|
16
17
|
};
|
|
17
18
|
export default DraggableContainer;
|
|
@@ -8,6 +8,8 @@ import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
|
8
8
|
import DraggableItem from "./draggable-item/draggable-item.component";
|
|
9
9
|
import DropTarget from "./__internal__/drop-target.component";
|
|
10
10
|
const DraggableContainer = ({
|
|
11
|
+
"data-element": dataElement,
|
|
12
|
+
"data-role": dataRole = "draggable-container",
|
|
11
13
|
children,
|
|
12
14
|
getOrder,
|
|
13
15
|
...rest
|
|
@@ -39,6 +41,8 @@ const DraggableContainer = ({
|
|
|
39
41
|
draggableItem,
|
|
40
42
|
index
|
|
41
43
|
} = findItem(id);
|
|
44
|
+
|
|
45
|
+
// istanbul ignore if
|
|
42
46
|
if (!draggableItem) return;
|
|
43
47
|
const copyOfDraggableItems = [...draggableItems];
|
|
44
48
|
copyOfDraggableItems.splice(index, 1);
|
|
@@ -56,6 +60,8 @@ const DraggableContainer = ({
|
|
|
56
60
|
return /*#__PURE__*/React.createElement(DndProvider, {
|
|
57
61
|
backend: HTML5Backend
|
|
58
62
|
}, /*#__PURE__*/React.createElement(DropTarget, _extends({
|
|
63
|
+
"data-element": dataElement,
|
|
64
|
+
"data-role": dataRole,
|
|
59
65
|
getOrder: getItemsId
|
|
60
66
|
}, marginProps), draggableItems.map(item => {
|
|
61
67
|
return /*#__PURE__*/React.isValidElement(item) && /*#__PURE__*/React.cloneElement(item, {
|
|
@@ -68,6 +74,8 @@ const DraggableContainer = ({
|
|
|
68
74
|
if (process.env.NODE_ENV !== "production") {
|
|
69
75
|
DraggableContainer.propTypes = {
|
|
70
76
|
"children": PropTypes.node,
|
|
77
|
+
"data-element": PropTypes.string,
|
|
78
|
+
"data-role": PropTypes.string,
|
|
71
79
|
"getOrder": PropTypes.func,
|
|
72
80
|
"m": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
|
|
73
81
|
"__@toStringTag": PropTypes.string.isRequired,
|
|
@@ -57,6 +57,7 @@ const DraggableItem = ({
|
|
|
57
57
|
const paddingProps = filterStyledSystemPaddingProps(rest);
|
|
58
58
|
return /*#__PURE__*/React.createElement(StyledDraggableItem, _extends({
|
|
59
59
|
"data-element": "draggable",
|
|
60
|
+
"data-role": "draggable-item",
|
|
60
61
|
isDragging: isDragging,
|
|
61
62
|
ref: node => drag(drop(node)),
|
|
62
63
|
py: py
|
|
@@ -14,8 +14,6 @@ export interface IconButtonProps extends SpaceProps {
|
|
|
14
14
|
onMouseEnter?: (ev: React.MouseEvent<HTMLButtonElement>) => void;
|
|
15
15
|
/** Callback triggered on mouse leave */
|
|
16
16
|
onMouseLeave?: (ev: React.MouseEvent<HTMLButtonElement>) => void;
|
|
17
|
-
/** [DEPRECATED - use `onClick` instead] Action callback */
|
|
18
|
-
onAction?: (e: React.KeyboardEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement>) => void;
|
|
19
17
|
/** Set the button to disabled */
|
|
20
18
|
disabled?: boolean;
|
|
21
19
|
/** Callback triggered on click */
|
|
@@ -1,38 +1,24 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
import React, { useState, useCallback } from "react";
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
|
-
import invariant from "invariant";
|
|
5
4
|
import Events from "../../__internal__/utils/helpers/events";
|
|
6
5
|
import StyledIconButton from "./icon-button.style";
|
|
7
6
|
import { TooltipProvider } from "../../__internal__/tooltip-provider";
|
|
8
|
-
import Logger from "../../__internal__/utils/logger";
|
|
9
|
-
let onActionButtonWarnTriggered = false;
|
|
10
7
|
const IconButton = /*#__PURE__*/React.forwardRef(({
|
|
11
8
|
"aria-label": ariaLabel,
|
|
12
|
-
onAction,
|
|
13
9
|
onClick,
|
|
14
10
|
children,
|
|
15
11
|
disabled,
|
|
16
12
|
...rest
|
|
17
13
|
}, ref) => {
|
|
18
|
-
if (!onActionButtonWarnTriggered && onAction) {
|
|
19
|
-
onActionButtonWarnTriggered = true;
|
|
20
|
-
Logger.deprecate("The `onAction` callback for the `IconButton` component is deprecated and will soon be removed. Please use `onClick` instead");
|
|
21
|
-
}
|
|
22
|
-
!!(onClick && onAction) ? process.env.NODE_ENV !== "production" ? invariant(false, "onClick and onAction have both been set, please use onClick as onAction will soon be deprecated") : invariant(false) : void 0;
|
|
23
14
|
const [internalRef, setInternalRef] = useState();
|
|
24
15
|
const ariaLabelValue = ariaLabel || internalRef?.querySelector("[data-component='icon']")?.getAttribute("type") || "";
|
|
25
16
|
const handleKeyDown = e => {
|
|
26
17
|
if (Events.isEnterKey(e) || Events.isSpaceKey(e)) {
|
|
27
18
|
e.preventDefault();
|
|
28
|
-
onAction?.(e);
|
|
29
19
|
onClick?.(e);
|
|
30
20
|
}
|
|
31
21
|
};
|
|
32
|
-
const handleOnClick = e => {
|
|
33
|
-
onAction?.(e);
|
|
34
|
-
onClick?.(e);
|
|
35
|
-
};
|
|
36
22
|
const setRefs = useCallback(reference => {
|
|
37
23
|
setInternalRef(reference);
|
|
38
24
|
if (!ref) return;
|
|
@@ -44,7 +30,7 @@ const IconButton = /*#__PURE__*/React.forwardRef(({
|
|
|
44
30
|
}, rest, {
|
|
45
31
|
"aria-label": ariaLabelValue,
|
|
46
32
|
onKeyDown: handleKeyDown,
|
|
47
|
-
onClick:
|
|
33
|
+
onClick: onClick,
|
|
48
34
|
ref: setRefs,
|
|
49
35
|
disabled: disabled
|
|
50
36
|
}), /*#__PURE__*/React.createElement(TooltipProvider, {
|
|
@@ -212,7 +198,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
212
198
|
"toString": PropTypes.func.isRequired,
|
|
213
199
|
"valueOf": PropTypes.func.isRequired
|
|
214
200
|
}), PropTypes.string]),
|
|
215
|
-
"onAction": PropTypes.func,
|
|
216
201
|
"onBlur": PropTypes.func,
|
|
217
202
|
"onClick": PropTypes.func,
|
|
218
203
|
"onFocus": PropTypes.func,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { LayoutProps, FlexboxProps } from "styled-system";
|
|
3
3
|
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
4
|
-
import
|
|
4
|
+
import { MenuType } from "./__internal__/menu.context";
|
|
5
5
|
export interface MenuProps extends TagProps, LayoutProps, FlexboxProps {
|
|
6
6
|
/** Children elements */
|
|
7
7
|
children: React.ReactNode;
|
|
@@ -9,5 +9,4 @@ export interface MenuProps extends TagProps, LayoutProps, FlexboxProps {
|
|
|
9
9
|
menuType?: MenuType;
|
|
10
10
|
}
|
|
11
11
|
export declare const Menu: ({ menuType, children, ...rest }: MenuProps) => React.JSX.Element;
|
|
12
|
-
export { MenuContext };
|
|
13
12
|
export default Menu;
|
|
@@ -4,7 +4,7 @@ import { IconType } from "../icon";
|
|
|
4
4
|
export declare type PortraitShapes = "circle" | "square";
|
|
5
5
|
export declare type PortraitSizes = "XS" | "S" | "M" | "ML" | "L" | "XL" | "XXL";
|
|
6
6
|
export interface PortraitProps extends MarginProps {
|
|
7
|
-
/** An email address registered with Gravatar. */
|
|
7
|
+
/** (Deprecated) An email address registered with Gravatar. */
|
|
8
8
|
gravatar?: string;
|
|
9
9
|
/** A custom image URL. */
|
|
10
10
|
src?: string;
|
|
@@ -3,12 +3,14 @@ import React, { useEffect, useState, useContext } from "react";
|
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
4
|
import MD5 from "crypto-js/md5";
|
|
5
5
|
import invariant from "invariant";
|
|
6
|
+
import Logger from "../../__internal__/utils/logger";
|
|
6
7
|
import Tooltip from "../tooltip";
|
|
7
8
|
import tagComponent from "../../__internal__/utils/helpers/tags/tags";
|
|
8
9
|
import { PORTRAIT_SIZE_PARAMS } from "./portrait.config";
|
|
9
10
|
import { StyledCustomImg, StyledIcon, StyledPortraitContainer, StyledPortraitInitials, StyledPortraitGravatar } from "./portrait.style";
|
|
10
11
|
import { filterStyledSystemMarginProps } from "../../style/utils";
|
|
11
12
|
import RoundedCornersOptOutContext from "../carbon-provider/__internal__/new-validation.context";
|
|
13
|
+
let deprecatedGravatarWarnTriggered = false;
|
|
12
14
|
const Portrait = ({
|
|
13
15
|
alt,
|
|
14
16
|
name,
|
|
@@ -36,6 +38,10 @@ const Portrait = ({
|
|
|
36
38
|
} = useContext(RoundedCornersOptOutContext);
|
|
37
39
|
const defaultShape = roundedCornersOptOut ? "square" : "circle";
|
|
38
40
|
!!(src && gravatar) ? process.env.NODE_ENV !== "production" ? invariant(false, "The `src` prop cannot be used in conjunction with the `gravatar` prop." + " Please use one or the other.") : invariant(false) : void 0;
|
|
41
|
+
const logGravatarDeprecationWarning = () => {
|
|
42
|
+
deprecatedGravatarWarnTriggered = true;
|
|
43
|
+
Logger.deprecate("The `gravatar` prop has been deprecated and will soon be removed.");
|
|
44
|
+
};
|
|
39
45
|
useEffect(() => {
|
|
40
46
|
setExternalError(false);
|
|
41
47
|
}, [gravatar, src]);
|
|
@@ -74,6 +80,7 @@ const Portrait = ({
|
|
|
74
80
|
portrait = /*#__PURE__*/React.createElement(StyledPortraitGravatar, {
|
|
75
81
|
src: gravatarSrc(),
|
|
76
82
|
alt: alt || name || "",
|
|
83
|
+
onLoad: () => !deprecatedGravatarWarnTriggered && logGravatarDeprecationWarning(),
|
|
77
84
|
onError: () => setExternalError(true)
|
|
78
85
|
});
|
|
79
86
|
}
|
|
@@ -10,7 +10,7 @@ export interface ProfileProps extends MarginProps {
|
|
|
10
10
|
alt?: string;
|
|
11
11
|
/** Define the name to display. */
|
|
12
12
|
name?: string;
|
|
13
|
-
/** Define the email to use
|
|
13
|
+
/** Define the email to use. */
|
|
14
14
|
email?: string;
|
|
15
15
|
/** Define read-only text to display. */
|
|
16
16
|
text?: string;
|
|
@@ -60,6 +60,7 @@ export const Profile = ({
|
|
|
60
60
|
}, name), email && /*#__PURE__*/React.createElement(ProfileEmailStyle, {
|
|
61
61
|
href: `mailto: ${email}`,
|
|
62
62
|
size: size,
|
|
63
|
+
"data-role": "email-link",
|
|
63
64
|
darkBackground: darkBackground,
|
|
64
65
|
"data-element": "email"
|
|
65
66
|
}, email), text && /*#__PURE__*/React.createElement(ProfileTextStyle, {
|
|
@@ -5,7 +5,7 @@ import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
|
|
|
5
5
|
declare type CustomRefObject<T> = {
|
|
6
6
|
current?: T | null;
|
|
7
7
|
};
|
|
8
|
-
export interface SidebarProps extends PaddingProps, TagProps, WidthProps, Pick<ModalProps, "topModalOverride"> {
|
|
8
|
+
export interface SidebarProps extends PaddingProps, Omit<TagProps, "data-component">, WidthProps, Pick<ModalProps, "topModalOverride"> {
|
|
9
9
|
/** Prop to specify the aria-describedby property of the component */
|
|
10
10
|
"aria-describedby"?: string;
|
|
11
11
|
/**
|
|
@@ -20,6 +20,8 @@ const Sidebar = /*#__PURE__*/React.forwardRef(({
|
|
|
20
20
|
"aria-describedby": ariaDescribedBy,
|
|
21
21
|
"aria-label": ariaLabel,
|
|
22
22
|
"aria-labelledby": ariaLabelledBy,
|
|
23
|
+
"data-element": dataElement = "sidebar",
|
|
24
|
+
"data-role": dataRole,
|
|
23
25
|
open,
|
|
24
26
|
bespokeFocusTrap,
|
|
25
27
|
disableAutoFocus = false,
|
|
@@ -62,20 +64,17 @@ const Sidebar = /*#__PURE__*/React.forwardRef(({
|
|
|
62
64
|
type: "close"
|
|
63
65
|
}));
|
|
64
66
|
};
|
|
65
|
-
const componentTags = {
|
|
66
|
-
"data-component": "sidebar",
|
|
67
|
-
"data-element": rest["data-element"],
|
|
68
|
-
"data-role": rest["data-role"]
|
|
69
|
-
};
|
|
70
67
|
const sidebar = /*#__PURE__*/React.createElement(StyledSidebar, _extends({
|
|
71
68
|
"aria-modal": !enableBackgroundUI && isTopModal,
|
|
72
69
|
"aria-describedby": ariaDescribedBy,
|
|
73
70
|
"aria-label": ariaLabel,
|
|
74
71
|
"aria-labelledby": !ariaLabelledBy && !ariaLabel ? headerId : ariaLabelledBy,
|
|
72
|
+
"data-component": "sidebar",
|
|
73
|
+
"data-element": dataElement,
|
|
74
|
+
"data-role": dataRole,
|
|
75
75
|
ref: setRefs,
|
|
76
76
|
position: position,
|
|
77
77
|
size: size,
|
|
78
|
-
"data-element": "sidebar",
|
|
79
78
|
onCancel: onCancel,
|
|
80
79
|
role: role
|
|
81
80
|
}, filterStyledSystemPaddingProps(rest), {
|
|
@@ -86,6 +85,7 @@ const Sidebar = /*#__PURE__*/React.forwardRef(({
|
|
|
86
85
|
id: headerId
|
|
87
86
|
}), header), !header && closeIcon(), /*#__PURE__*/React.createElement(Box, _extends({
|
|
88
87
|
"data-element": "sidebar-content",
|
|
88
|
+
"data-role": "sidebar-content",
|
|
89
89
|
pt: "var(--spacing300)",
|
|
90
90
|
pb: "var(--spacing400)",
|
|
91
91
|
px: "var(--spacing400)"
|
|
@@ -98,13 +98,13 @@ const Sidebar = /*#__PURE__*/React.forwardRef(({
|
|
|
98
98
|
isInSidebar: true
|
|
99
99
|
}
|
|
100
100
|
}, children)));
|
|
101
|
-
return /*#__PURE__*/React.createElement(Modal,
|
|
101
|
+
return /*#__PURE__*/React.createElement(Modal, {
|
|
102
102
|
open: open,
|
|
103
103
|
onCancel: onCancel,
|
|
104
104
|
disableEscKey: disableEscKey,
|
|
105
105
|
enableBackgroundUI: enableBackgroundUI,
|
|
106
106
|
topModalOverride: topModalOverride
|
|
107
|
-
},
|
|
107
|
+
}, enableBackgroundUI ? sidebar : /*#__PURE__*/React.createElement(FocusTrap, {
|
|
108
108
|
wrapperRef: sidebarRef,
|
|
109
109
|
isOpen: open,
|
|
110
110
|
additionalWrapperRefs: focusableContainers,
|
|
@@ -121,7 +121,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
121
121
|
"aria-labelledby": PropTypes.string,
|
|
122
122
|
"bespokeFocusTrap": PropTypes.func,
|
|
123
123
|
"children": PropTypes.node,
|
|
124
|
-
"data-component": PropTypes.string,
|
|
125
124
|
"data-element": PropTypes.string,
|
|
126
125
|
"data-role": PropTypes.string,
|
|
127
126
|
"disableAutoFocus": PropTypes.bool,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
import React, { useContext } from "react";
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
|
-
import
|
|
4
|
+
import MenuContext from "../menu/__internal__/menu.context";
|
|
5
5
|
import { StyledVerticalWrapper, StyledDivider } from "./vertical-divider.style";
|
|
6
6
|
const VerticalDivider = ({
|
|
7
7
|
h,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
3
|
+
export interface AnchorNavigationProps extends Omit<TagProps, "data-component"> {
|
|
3
4
|
/** Child elements */
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
/** The AnchorNavigationItems components to be rendered in the sticky navigation.
|
|
@@ -8,7 +9,7 @@ export interface AnchorNavigationProps {
|
|
|
8
9
|
stickyNavigation?: React.ReactNode;
|
|
9
10
|
}
|
|
10
11
|
declare const AnchorNavigation: {
|
|
11
|
-
({ children, stickyNavigation, }: AnchorNavigationProps): JSX.Element;
|
|
12
|
+
({ children, stickyNavigation, "data-element": dataElement, "data-role": dataRole, }: AnchorNavigationProps): JSX.Element;
|
|
12
13
|
displayName: string;
|
|
13
14
|
};
|
|
14
15
|
export default AnchorNavigation;
|
|
@@ -20,7 +20,9 @@ const SECTION_VISIBILITY_OFFSET = 200;
|
|
|
20
20
|
const SCROLL_THROTTLE = 100;
|
|
21
21
|
const AnchorNavigation = ({
|
|
22
22
|
children,
|
|
23
|
-
stickyNavigation
|
|
23
|
+
stickyNavigation,
|
|
24
|
+
"data-element": dataElement,
|
|
25
|
+
"data-role": dataRole
|
|
24
26
|
}) => {
|
|
25
27
|
!(0, _reactIs.isFragment)(stickyNavigation) ? process.env.NODE_ENV !== "production" ? (0, _invariant.default)(false, "`stickyNavigation` prop in `AnchorNavigation` should be a React Fragment.") : (0, _invariant.default)(false) : void 0;
|
|
26
28
|
const hasCorrectItemStructure = (0, _react.useMemo)(() => {
|
|
@@ -54,13 +56,14 @@ const AnchorNavigation = ({
|
|
|
54
56
|
setSelectedIndex(indexOfSmallestNegativeTopOffset);
|
|
55
57
|
}, []);
|
|
56
58
|
const scrollHandler = (0, _react.useMemo)(() => (0, _throttle.default)(() => {
|
|
59
|
+
/* istanbul ignore else */
|
|
57
60
|
if (isUserScroll.current) {
|
|
58
61
|
setSelectedAnchorBasedOnScroll();
|
|
59
62
|
} else {
|
|
60
63
|
if (isUserScrollTimer.current !== undefined) {
|
|
61
64
|
window.clearTimeout(isUserScrollTimer.current);
|
|
62
65
|
}
|
|
63
|
-
isUserScrollTimer.current = setTimeout(
|
|
66
|
+
isUserScrollTimer.current = setTimeout(() => {
|
|
64
67
|
isUserScroll.current = true;
|
|
65
68
|
}, SCROLL_THROTTLE + 50);
|
|
66
69
|
}
|
|
@@ -115,7 +118,9 @@ const AnchorNavigation = ({
|
|
|
115
118
|
};
|
|
116
119
|
return /*#__PURE__*/_react.default.createElement(_anchorNavigation.StyledAnchorNavigation, {
|
|
117
120
|
ref: contentRef,
|
|
118
|
-
"data-component": "anchor-navigation"
|
|
121
|
+
"data-component": "anchor-navigation",
|
|
122
|
+
"data-element": dataElement,
|
|
123
|
+
"data-role": dataRole
|
|
119
124
|
}, /*#__PURE__*/_react.default.createElement(_anchorNavigation.StyledNavigation, {
|
|
120
125
|
ref: navigationRef,
|
|
121
126
|
"data-element": "anchor-sticky-navigation"
|
|
@@ -130,6 +135,8 @@ const AnchorNavigation = ({
|
|
|
130
135
|
if (process.env.NODE_ENV !== "production") {
|
|
131
136
|
AnchorNavigation.propTypes = {
|
|
132
137
|
"children": _propTypes.default.node,
|
|
138
|
+
"data-element": _propTypes.default.string,
|
|
139
|
+
"data-role": _propTypes.default.string,
|
|
133
140
|
"stickyNavigation": _propTypes.default.node
|
|
134
141
|
};
|
|
135
142
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DateInputProps } from "./date.component";
|
|
2
|
-
interface StyledDateInputProps extends Pick<DateInputProps, "inputWidth" | "
|
|
2
|
+
interface StyledDateInputProps extends Pick<DateInputProps, "inputWidth" | "maxWidth" | "labelInline"> {
|
|
3
3
|
applyDateRangeStyling?: boolean;
|
|
4
|
+
size: Required<DateInputProps>["size"];
|
|
4
5
|
}
|
|
5
6
|
declare const StyledDateInput: import("styled-components").StyledComponent<"div", any, StyledDateInputProps, never>;
|
|
6
7
|
export default StyledDateInput;
|
|
@@ -28,7 +28,7 @@ const StyledDateInput = _styledComponents.default.div`
|
|
|
28
28
|
width: ${({
|
|
29
29
|
inputWidth,
|
|
30
30
|
maxWidth,
|
|
31
|
-
size
|
|
31
|
+
size
|
|
32
32
|
}) => maxWidth || inputWidth ? "" : datePickerWidth[size]};
|
|
33
33
|
|
|
34
34
|
${_input.default} {
|
|
@@ -39,11 +39,11 @@ const StyledDateInput = _styledComponents.default.div`
|
|
|
39
39
|
${({
|
|
40
40
|
applyDateRangeStyling,
|
|
41
41
|
maxWidth,
|
|
42
|
-
size
|
|
42
|
+
size,
|
|
43
43
|
labelInline
|
|
44
44
|
}) => applyDateRangeStyling && !labelInline && (0, _styledComponents.css)`
|
|
45
45
|
${_formField.FieldLineStyle} {
|
|
46
|
-
max-width: ${maxWidth || datePickerWidth[size]}
|
|
46
|
+
max-width: ${maxWidth || datePickerWidth[size]};
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
${_validationMessage.default}, ${_label.default} {
|
|
@@ -16,7 +16,7 @@ export interface DateRangeChangeEvent {
|
|
|
16
16
|
}
|
|
17
17
|
export interface DateRangeProps extends StyledDateRangeProps, MarginProps, TagProps {
|
|
18
18
|
/** Props for the child end Date component */
|
|
19
|
-
endDateProps?: Partial<DateInputProps>;
|
|
19
|
+
endDateProps?: Omit<Partial<DateInputProps>, "required">;
|
|
20
20
|
/** Optional label for endDate field */
|
|
21
21
|
endLabel?: string;
|
|
22
22
|
/**
|
|
@@ -50,7 +50,7 @@ export interface DateRangeProps extends StyledDateRangeProps, MarginProps, TagPr
|
|
|
50
50
|
/** Specify a callback triggered on blur */
|
|
51
51
|
onBlur?: (ev: DateRangeChangeEvent) => void;
|
|
52
52
|
/** Props for the child start Date component */
|
|
53
|
-
startDateProps?: Partial<DateInputProps>;
|
|
53
|
+
startDateProps?: Omit<Partial<DateInputProps>, "required">;
|
|
54
54
|
/** Optional label for startDate field */
|
|
55
55
|
startLabel?: string;
|
|
56
56
|
/**
|
|
@@ -4,5 +4,5 @@ interface DropTargetProps extends Omit<DraggableContainerProps, "getOrder"> {
|
|
|
4
4
|
children?: React.ReactNode;
|
|
5
5
|
getOrder: (movedItemId?: string | number | undefined) => void;
|
|
6
6
|
}
|
|
7
|
-
declare const DropTarget: ({ children, getOrder, ...rest }: DropTargetProps) => React.JSX.Element;
|
|
7
|
+
declare const DropTarget: ({ "data-element": dataElement, "data-role": dataRole, children, getOrder, ...rest }: DropTargetProps) => React.JSX.Element;
|
|
8
8
|
export default DropTarget;
|
|
@@ -11,6 +11,8 @@ var _draggableItem = require("../draggable-item/draggable-item.style");
|
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
13
13
|
const DropTarget = ({
|
|
14
|
+
"data-element": dataElement,
|
|
15
|
+
"data-role": dataRole,
|
|
14
16
|
children,
|
|
15
17
|
getOrder,
|
|
16
18
|
...rest
|
|
@@ -25,7 +27,10 @@ const DropTarget = ({
|
|
|
25
27
|
}
|
|
26
28
|
});
|
|
27
29
|
return /*#__PURE__*/_react.default.createElement(_draggableItem.StyledDraggableContainer, _extends({
|
|
28
|
-
ref: drop
|
|
30
|
+
ref: drop,
|
|
31
|
+
"data-component": "draggable-container",
|
|
32
|
+
"data-element": dataElement,
|
|
33
|
+
"data-role": dataRole
|
|
29
34
|
}, rest), children);
|
|
30
35
|
};
|
|
31
36
|
var _default = exports.default = DropTarget;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MarginProps } from "styled-system";
|
|
3
|
-
|
|
3
|
+
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
4
|
+
export interface DraggableContainerProps extends MarginProps, Omit<TagProps, "data-component"> {
|
|
4
5
|
/** Callback fired when order is changed */
|
|
5
6
|
getOrder?: (draggableItemIds?: (string | number | undefined)[], movedItemId?: string | number | undefined) => void;
|
|
6
7
|
/**
|
|
@@ -11,7 +12,7 @@ export interface DraggableContainerProps extends MarginProps {
|
|
|
11
12
|
children?: React.ReactNode;
|
|
12
13
|
}
|
|
13
14
|
declare const DraggableContainer: {
|
|
14
|
-
({ children, getOrder, ...rest }: DraggableContainerProps): JSX.Element;
|
|
15
|
+
({ "data-element": dataElement, "data-role": dataRole, children, getOrder, ...rest }: DraggableContainerProps): JSX.Element;
|
|
15
16
|
displayName: string;
|
|
16
17
|
};
|
|
17
18
|
export default DraggableContainer;
|
|
@@ -17,6 +17,8 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
19
19
|
const DraggableContainer = ({
|
|
20
|
+
"data-element": dataElement,
|
|
21
|
+
"data-role": dataRole = "draggable-container",
|
|
20
22
|
children,
|
|
21
23
|
getOrder,
|
|
22
24
|
...rest
|
|
@@ -48,6 +50,8 @@ const DraggableContainer = ({
|
|
|
48
50
|
draggableItem,
|
|
49
51
|
index
|
|
50
52
|
} = findItem(id);
|
|
53
|
+
|
|
54
|
+
// istanbul ignore if
|
|
51
55
|
if (!draggableItem) return;
|
|
52
56
|
const copyOfDraggableItems = [...draggableItems];
|
|
53
57
|
copyOfDraggableItems.splice(index, 1);
|
|
@@ -65,6 +69,8 @@ const DraggableContainer = ({
|
|
|
65
69
|
return /*#__PURE__*/_react.default.createElement(_reactDnd.DndProvider, {
|
|
66
70
|
backend: _reactDndHtml5Backend.HTML5Backend
|
|
67
71
|
}, /*#__PURE__*/_react.default.createElement(_dropTarget.default, _extends({
|
|
72
|
+
"data-element": dataElement,
|
|
73
|
+
"data-role": dataRole,
|
|
68
74
|
getOrder: getItemsId
|
|
69
75
|
}, marginProps), draggableItems.map(item => {
|
|
70
76
|
return /*#__PURE__*/_react.default.isValidElement(item) && /*#__PURE__*/_react.default.cloneElement(item, {
|
|
@@ -77,6 +83,8 @@ const DraggableContainer = ({
|
|
|
77
83
|
if (process.env.NODE_ENV !== "production") {
|
|
78
84
|
DraggableContainer.propTypes = {
|
|
79
85
|
"children": _propTypes.default.node,
|
|
86
|
+
"data-element": _propTypes.default.string,
|
|
87
|
+
"data-role": _propTypes.default.string,
|
|
80
88
|
"getOrder": _propTypes.default.func,
|
|
81
89
|
"m": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
|
|
82
90
|
"__@toStringTag": _propTypes.default.string.isRequired,
|
|
@@ -64,6 +64,7 @@ const DraggableItem = ({
|
|
|
64
64
|
const paddingProps = (0, _utils.filterStyledSystemPaddingProps)(rest);
|
|
65
65
|
return /*#__PURE__*/_react.default.createElement(_draggableItem.StyledDraggableItem, _extends({
|
|
66
66
|
"data-element": "draggable",
|
|
67
|
+
"data-role": "draggable-item",
|
|
67
68
|
isDragging: isDragging,
|
|
68
69
|
ref: node => drag(drop(node)),
|
|
69
70
|
py: py
|
|
@@ -14,8 +14,6 @@ export interface IconButtonProps extends SpaceProps {
|
|
|
14
14
|
onMouseEnter?: (ev: React.MouseEvent<HTMLButtonElement>) => void;
|
|
15
15
|
/** Callback triggered on mouse leave */
|
|
16
16
|
onMouseLeave?: (ev: React.MouseEvent<HTMLButtonElement>) => void;
|
|
17
|
-
/** [DEPRECATED - use `onClick` instead] Action callback */
|
|
18
|
-
onAction?: (e: React.KeyboardEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement>) => void;
|
|
19
17
|
/** Set the button to disabled */
|
|
20
18
|
disabled?: boolean;
|
|
21
19
|
/** Callback triggered on click */
|
|
@@ -6,42 +6,28 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _invariant = _interopRequireDefault(require("invariant"));
|
|
10
9
|
var _events = _interopRequireDefault(require("../../__internal__/utils/helpers/events"));
|
|
11
10
|
var _iconButton = _interopRequireDefault(require("./icon-button.style"));
|
|
12
11
|
var _tooltipProvider = require("../../__internal__/tooltip-provider");
|
|
13
|
-
var _logger = _interopRequireDefault(require("../../__internal__/utils/logger"));
|
|
14
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
15
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
18
|
-
let onActionButtonWarnTriggered = false;
|
|
19
16
|
const IconButton = /*#__PURE__*/_react.default.forwardRef(({
|
|
20
17
|
"aria-label": ariaLabel,
|
|
21
|
-
onAction,
|
|
22
18
|
onClick,
|
|
23
19
|
children,
|
|
24
20
|
disabled,
|
|
25
21
|
...rest
|
|
26
22
|
}, ref) => {
|
|
27
|
-
if (!onActionButtonWarnTriggered && onAction) {
|
|
28
|
-
onActionButtonWarnTriggered = true;
|
|
29
|
-
_logger.default.deprecate("The `onAction` callback for the `IconButton` component is deprecated and will soon be removed. Please use `onClick` instead");
|
|
30
|
-
}
|
|
31
|
-
!!(onClick && onAction) ? process.env.NODE_ENV !== "production" ? (0, _invariant.default)(false, "onClick and onAction have both been set, please use onClick as onAction will soon be deprecated") : (0, _invariant.default)(false) : void 0;
|
|
32
23
|
const [internalRef, setInternalRef] = (0, _react.useState)();
|
|
33
24
|
const ariaLabelValue = ariaLabel || internalRef?.querySelector("[data-component='icon']")?.getAttribute("type") || "";
|
|
34
25
|
const handleKeyDown = e => {
|
|
35
26
|
if (_events.default.isEnterKey(e) || _events.default.isSpaceKey(e)) {
|
|
36
27
|
e.preventDefault();
|
|
37
|
-
onAction?.(e);
|
|
38
28
|
onClick?.(e);
|
|
39
29
|
}
|
|
40
30
|
};
|
|
41
|
-
const handleOnClick = e => {
|
|
42
|
-
onAction?.(e);
|
|
43
|
-
onClick?.(e);
|
|
44
|
-
};
|
|
45
31
|
const setRefs = (0, _react.useCallback)(reference => {
|
|
46
32
|
setInternalRef(reference);
|
|
47
33
|
if (!ref) return;
|
|
@@ -53,7 +39,7 @@ const IconButton = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
53
39
|
}, rest, {
|
|
54
40
|
"aria-label": ariaLabelValue,
|
|
55
41
|
onKeyDown: handleKeyDown,
|
|
56
|
-
onClick:
|
|
42
|
+
onClick: onClick,
|
|
57
43
|
ref: setRefs,
|
|
58
44
|
disabled: disabled
|
|
59
45
|
}), /*#__PURE__*/_react.default.createElement(_tooltipProvider.TooltipProvider, {
|
|
@@ -221,7 +207,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
221
207
|
"toString": _propTypes.default.func.isRequired,
|
|
222
208
|
"valueOf": _propTypes.default.func.isRequired
|
|
223
209
|
}), _propTypes.default.string]),
|
|
224
|
-
"onAction": _propTypes.default.func,
|
|
225
210
|
"onBlur": _propTypes.default.func,
|
|
226
211
|
"onClick": _propTypes.default.func,
|
|
227
212
|
"onFocus": _propTypes.default.func,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { LayoutProps, FlexboxProps } from "styled-system";
|
|
3
3
|
import { TagProps } from "../../__internal__/utils/helpers/tags";
|
|
4
|
-
import
|
|
4
|
+
import { MenuType } from "./__internal__/menu.context";
|
|
5
5
|
export interface MenuProps extends TagProps, LayoutProps, FlexboxProps {
|
|
6
6
|
/** Children elements */
|
|
7
7
|
children: React.ReactNode;
|
|
@@ -9,5 +9,4 @@ export interface MenuProps extends TagProps, LayoutProps, FlexboxProps {
|
|
|
9
9
|
menuType?: MenuType;
|
|
10
10
|
}
|
|
11
11
|
export declare const Menu: ({ menuType, children, ...rest }: MenuProps) => React.JSX.Element;
|
|
12
|
-
export { MenuContext };
|
|
13
12
|
export default Menu;
|
|
@@ -3,14 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.Menu = void 0;
|
|
7
|
-
Object.defineProperty(exports, "MenuContext", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () {
|
|
10
|
-
return _menu2.default;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.Menu = void 0;
|
|
14
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
15
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
9
|
var _menu = require("./menu.style");
|
|
@@ -4,7 +4,7 @@ import { IconType } from "../icon";
|
|
|
4
4
|
export declare type PortraitShapes = "circle" | "square";
|
|
5
5
|
export declare type PortraitSizes = "XS" | "S" | "M" | "ML" | "L" | "XL" | "XXL";
|
|
6
6
|
export interface PortraitProps extends MarginProps {
|
|
7
|
-
/** An email address registered with Gravatar. */
|
|
7
|
+
/** (Deprecated) An email address registered with Gravatar. */
|
|
8
8
|
gravatar?: string;
|
|
9
9
|
/** A custom image URL. */
|
|
10
10
|
src?: string;
|
|
@@ -8,6 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
9
|
var _md = _interopRequireDefault(require("crypto-js/md5"));
|
|
10
10
|
var _invariant = _interopRequireDefault(require("invariant"));
|
|
11
|
+
var _logger = _interopRequireDefault(require("../../__internal__/utils/logger"));
|
|
11
12
|
var _tooltip = _interopRequireDefault(require("../tooltip"));
|
|
12
13
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
|
|
13
14
|
var _portrait = require("./portrait.config");
|
|
@@ -18,6 +19,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
18
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
20
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
21
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
22
|
+
let deprecatedGravatarWarnTriggered = false;
|
|
21
23
|
const Portrait = ({
|
|
22
24
|
alt,
|
|
23
25
|
name,
|
|
@@ -45,6 +47,10 @@ const Portrait = ({
|
|
|
45
47
|
} = (0, _react.useContext)(_newValidation.default);
|
|
46
48
|
const defaultShape = roundedCornersOptOut ? "square" : "circle";
|
|
47
49
|
!!(src && gravatar) ? process.env.NODE_ENV !== "production" ? (0, _invariant.default)(false, "The `src` prop cannot be used in conjunction with the `gravatar` prop." + " Please use one or the other.") : (0, _invariant.default)(false) : void 0;
|
|
50
|
+
const logGravatarDeprecationWarning = () => {
|
|
51
|
+
deprecatedGravatarWarnTriggered = true;
|
|
52
|
+
_logger.default.deprecate("The `gravatar` prop has been deprecated and will soon be removed.");
|
|
53
|
+
};
|
|
48
54
|
(0, _react.useEffect)(() => {
|
|
49
55
|
setExternalError(false);
|
|
50
56
|
}, [gravatar, src]);
|
|
@@ -83,6 +89,7 @@ const Portrait = ({
|
|
|
83
89
|
portrait = /*#__PURE__*/_react.default.createElement(_portrait2.StyledPortraitGravatar, {
|
|
84
90
|
src: gravatarSrc(),
|
|
85
91
|
alt: alt || name || "",
|
|
92
|
+
onLoad: () => !deprecatedGravatarWarnTriggered && logGravatarDeprecationWarning(),
|
|
86
93
|
onError: () => setExternalError(true)
|
|
87
94
|
});
|
|
88
95
|
}
|
|
@@ -10,7 +10,7 @@ export interface ProfileProps extends MarginProps {
|
|
|
10
10
|
alt?: string;
|
|
11
11
|
/** Define the name to display. */
|
|
12
12
|
name?: string;
|
|
13
|
-
/** Define the email to use
|
|
13
|
+
/** Define the email to use. */
|
|
14
14
|
email?: string;
|
|
15
15
|
/** Define read-only text to display. */
|
|
16
16
|
text?: string;
|
|
@@ -67,6 +67,7 @@ const Profile = ({
|
|
|
67
67
|
}, name), email && /*#__PURE__*/_react.default.createElement(_profile.ProfileEmailStyle, {
|
|
68
68
|
href: `mailto: ${email}`,
|
|
69
69
|
size: size,
|
|
70
|
+
"data-role": "email-link",
|
|
70
71
|
darkBackground: darkBackground,
|
|
71
72
|
"data-element": "email"
|
|
72
73
|
}, email), text && /*#__PURE__*/_react.default.createElement(_profile.ProfileTextStyle, {
|
|
@@ -5,7 +5,7 @@ import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
|
|
|
5
5
|
declare type CustomRefObject<T> = {
|
|
6
6
|
current?: T | null;
|
|
7
7
|
};
|
|
8
|
-
export interface SidebarProps extends PaddingProps, TagProps, WidthProps, Pick<ModalProps, "topModalOverride"> {
|
|
8
|
+
export interface SidebarProps extends PaddingProps, Omit<TagProps, "data-component">, WidthProps, Pick<ModalProps, "topModalOverride"> {
|
|
9
9
|
/** Prop to specify the aria-describedby property of the component */
|
|
10
10
|
"aria-describedby"?: string;
|
|
11
11
|
/**
|
|
@@ -28,6 +28,8 @@ const Sidebar = exports.Sidebar = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
28
28
|
"aria-describedby": ariaDescribedBy,
|
|
29
29
|
"aria-label": ariaLabel,
|
|
30
30
|
"aria-labelledby": ariaLabelledBy,
|
|
31
|
+
"data-element": dataElement = "sidebar",
|
|
32
|
+
"data-role": dataRole,
|
|
31
33
|
open,
|
|
32
34
|
bespokeFocusTrap,
|
|
33
35
|
disableAutoFocus = false,
|
|
@@ -70,20 +72,17 @@ const Sidebar = exports.Sidebar = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
70
72
|
type: "close"
|
|
71
73
|
}));
|
|
72
74
|
};
|
|
73
|
-
const componentTags = {
|
|
74
|
-
"data-component": "sidebar",
|
|
75
|
-
"data-element": rest["data-element"],
|
|
76
|
-
"data-role": rest["data-role"]
|
|
77
|
-
};
|
|
78
75
|
const sidebar = /*#__PURE__*/_react.default.createElement(_sidebar.default, _extends({
|
|
79
76
|
"aria-modal": !enableBackgroundUI && isTopModal,
|
|
80
77
|
"aria-describedby": ariaDescribedBy,
|
|
81
78
|
"aria-label": ariaLabel,
|
|
82
79
|
"aria-labelledby": !ariaLabelledBy && !ariaLabel ? headerId : ariaLabelledBy,
|
|
80
|
+
"data-component": "sidebar",
|
|
81
|
+
"data-element": dataElement,
|
|
82
|
+
"data-role": dataRole,
|
|
83
83
|
ref: setRefs,
|
|
84
84
|
position: position,
|
|
85
85
|
size: size,
|
|
86
|
-
"data-element": "sidebar",
|
|
87
86
|
onCancel: onCancel,
|
|
88
87
|
role: role
|
|
89
88
|
}, (0, _utils.filterStyledSystemPaddingProps)(rest), {
|
|
@@ -94,6 +93,7 @@ const Sidebar = exports.Sidebar = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
94
93
|
id: headerId
|
|
95
94
|
}), header), !header && closeIcon(), /*#__PURE__*/_react.default.createElement(_box.default, _extends({
|
|
96
95
|
"data-element": "sidebar-content",
|
|
96
|
+
"data-role": "sidebar-content",
|
|
97
97
|
pt: "var(--spacing300)",
|
|
98
98
|
pb: "var(--spacing400)",
|
|
99
99
|
px: "var(--spacing400)"
|
|
@@ -106,13 +106,13 @@ const Sidebar = exports.Sidebar = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
106
106
|
isInSidebar: true
|
|
107
107
|
}
|
|
108
108
|
}, children)));
|
|
109
|
-
return /*#__PURE__*/_react.default.createElement(_modal.default,
|
|
109
|
+
return /*#__PURE__*/_react.default.createElement(_modal.default, {
|
|
110
110
|
open: open,
|
|
111
111
|
onCancel: onCancel,
|
|
112
112
|
disableEscKey: disableEscKey,
|
|
113
113
|
enableBackgroundUI: enableBackgroundUI,
|
|
114
114
|
topModalOverride: topModalOverride
|
|
115
|
-
},
|
|
115
|
+
}, enableBackgroundUI ? sidebar : /*#__PURE__*/_react.default.createElement(_focusTrap.default, {
|
|
116
116
|
wrapperRef: sidebarRef,
|
|
117
117
|
isOpen: open,
|
|
118
118
|
additionalWrapperRefs: focusableContainers,
|
|
@@ -129,7 +129,6 @@ if (process.env.NODE_ENV !== "production") {
|
|
|
129
129
|
"aria-labelledby": _propTypes.default.string,
|
|
130
130
|
"bespokeFocusTrap": _propTypes.default.func,
|
|
131
131
|
"children": _propTypes.default.node,
|
|
132
|
-
"data-component": _propTypes.default.string,
|
|
133
132
|
"data-element": _propTypes.default.string,
|
|
134
133
|
"data-role": _propTypes.default.string,
|
|
135
134
|
"disableAutoFocus": _propTypes.default.bool,
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.VerticalDivider = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
var _menu = require("../menu/menu.
|
|
9
|
+
var _menu = _interopRequireDefault(require("../menu/__internal__/menu.context"));
|
|
10
10
|
var _verticalDivider = require("./vertical-divider.style");
|
|
11
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -21,7 +21,7 @@ const VerticalDivider = ({
|
|
|
21
21
|
}) => {
|
|
22
22
|
const {
|
|
23
23
|
inMenu
|
|
24
|
-
} = (0, _react.useContext)(_menu.
|
|
24
|
+
} = (0, _react.useContext)(_menu.default);
|
|
25
25
|
return /*#__PURE__*/_react.default.createElement(_verticalDivider.StyledVerticalWrapper, _extends({
|
|
26
26
|
"data-component": "vertical-divider",
|
|
27
27
|
"data-role": "vertical-divider",
|