carbon-react 152.2.1 → 152.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.
- package/esm/__internal__/ai-icon/ai-icon.component.d.ts +4 -0
- package/esm/__internal__/ai-icon/ai-icon.component.js +28 -0
- package/esm/__internal__/ai-icon/index.d.ts +1 -0
- package/esm/__internal__/ai-icon/index.js +1 -0
- package/esm/__internal__/utils/helpers/events/events.d.ts +1 -1
- package/esm/components/button/button-types.style.js +11 -1
- package/esm/components/button/button.component.js +1 -1
- package/esm/components/dialog/dialog.component.d.ts +1 -0
- package/esm/components/dialog/dialog.component.js +2 -0
- package/esm/components/dialog/dialog.style.d.ts +1 -0
- package/esm/components/dialog/dialog.style.js +14 -0
- package/esm/components/hr/hr.style.js +1 -1
- package/esm/components/image/image.style.d.ts +1 -1
- package/esm/components/message/message.component.d.ts +5 -1
- package/esm/components/message/message.component.js +38 -24
- package/esm/components/message/message.style.d.ts +4 -1
- package/esm/components/message/message.style.js +39 -13
- package/esm/components/split-button/split-button-toggle.style.d.ts +1 -0
- package/esm/components/split-button/split-button-toggle.style.js +30 -2
- package/esm/components/split-button/split-button.component.d.ts +2 -0
- package/esm/components/split-button/split-button.component.js +4 -0
- package/esm/components/tile/tile.style.d.ts +1 -1
- package/esm/components/time/index.d.ts +1 -1
- package/esm/components/time/time.component.js +16 -1
- package/esm/components/toast/toast.component.js +2 -1
- package/esm/components/toast/toast.style.d.ts +2 -3
- package/esm/components/toast/toast.style.js +1 -2
- package/esm/components/typography/typography.style.d.ts +1 -1
- package/esm/locales/en-gb.js +2 -1
- package/esm/locales/locale.d.ts +1 -0
- package/lib/__internal__/ai-icon/ai-icon.component.d.ts +4 -0
- package/lib/__internal__/ai-icon/ai-icon.component.js +36 -0
- package/lib/__internal__/ai-icon/index.d.ts +1 -0
- package/lib/__internal__/ai-icon/index.js +13 -0
- package/lib/__internal__/ai-icon/package.json +6 -0
- package/lib/__internal__/utils/helpers/events/events.d.ts +1 -1
- package/lib/components/button/button-types.style.js +11 -1
- package/lib/components/button/button.component.js +1 -1
- package/lib/components/dialog/dialog.component.d.ts +1 -0
- package/lib/components/dialog/dialog.component.js +2 -0
- package/lib/components/dialog/dialog.style.d.ts +1 -0
- package/lib/components/dialog/dialog.style.js +14 -0
- package/lib/components/hr/hr.style.js +1 -1
- package/lib/components/image/image.style.d.ts +1 -1
- package/lib/components/message/message.component.d.ts +5 -1
- package/lib/components/message/message.component.js +38 -24
- package/lib/components/message/message.style.d.ts +4 -1
- package/lib/components/message/message.style.js +38 -13
- package/lib/components/split-button/split-button-toggle.style.d.ts +1 -0
- package/lib/components/split-button/split-button-toggle.style.js +30 -2
- package/lib/components/split-button/split-button.component.d.ts +2 -0
- package/lib/components/split-button/split-button.component.js +4 -0
- package/lib/components/tile/tile.style.d.ts +1 -1
- package/lib/components/time/index.d.ts +1 -1
- package/lib/components/time/time.component.js +15 -0
- package/lib/components/toast/toast.component.js +2 -1
- package/lib/components/toast/toast.style.d.ts +2 -3
- package/lib/components/toast/toast.style.js +0 -7
- package/lib/components/typography/typography.style.d.ts +1 -1
- package/lib/locales/en-gb.js +2 -1
- package/lib/locales/locale.d.ts +1 -0
- package/package.json +15 -15
- package/esm/components/message/__internal__/message-content/message-content.component.d.ts +0 -9
- package/esm/components/message/__internal__/message-content/message-content.component.js +0 -19
- package/esm/components/message/__internal__/message-content/message-content.style.d.ts +0 -3
- package/esm/components/message/__internal__/message-content/message-content.style.js +0 -12
- package/esm/components/message/__internal__/type-icon/type-icon.component.d.ts +0 -8
- package/esm/components/message/__internal__/type-icon/type-icon.component.js +0 -20
- package/esm/components/message/__internal__/type-icon/type-icon.style.d.ts +0 -7
- package/esm/components/message/__internal__/type-icon/type-icon.style.js +0 -38
- package/lib/components/message/__internal__/message-content/message-content.component.d.ts +0 -9
- package/lib/components/message/__internal__/message-content/message-content.component.js +0 -26
- package/lib/components/message/__internal__/message-content/message-content.style.d.ts +0 -3
- package/lib/components/message/__internal__/message-content/message-content.style.js +0 -19
- package/lib/components/message/__internal__/type-icon/type-icon.component.d.ts +0 -8
- package/lib/components/message/__internal__/type-icon/type-icon.component.js +0 -27
- package/lib/components/message/__internal__/type-icon/type-icon.style.d.ts +0 -7
- package/lib/components/message/__internal__/type-icon/type-icon.style.js +0 -46
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _aiIcon.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _aiIcon = _interopRequireDefault(require("./ai-icon.component"));
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -17,7 +17,7 @@ declare const Events: {
|
|
|
17
17
|
/**
|
|
18
18
|
* Determines if event is a keyboard event
|
|
19
19
|
*/
|
|
20
|
-
isKeyboardEvent: (ev: React.SyntheticEvent | Event) => ev is React.KeyboardEvent<Element
|
|
20
|
+
isKeyboardEvent: (ev: React.SyntheticEvent | Event) => ev is KeyboardEvent | React.KeyboardEvent<Element>;
|
|
21
21
|
/**
|
|
22
22
|
* Determines if a number key along the top of the keyboard or a number key on the
|
|
23
23
|
* keypad is pressed
|
|
@@ -83,6 +83,16 @@ var _default = (isDisabled, destructive, isWhite) => ({
|
|
|
83
83
|
${makeColors("var(--colorsActionMajorYang100)")};
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
${isWhite && (!isDisabled || !destructive) ? `
|
|
87
|
+
border-color: var(--colorsActionMajorYang100);
|
|
88
|
+
${makeColors("var(--colorsActionMajorYang100)")};
|
|
89
|
+
&:hover {
|
|
90
|
+
background: var(--colorsActionMajorYang100);
|
|
91
|
+
border-color: var(--colorsActionMajorYang100);
|
|
92
|
+
${makeColors("var(--colorsYin100)")};
|
|
93
|
+
}
|
|
94
|
+
` : ""}
|
|
95
|
+
|
|
86
96
|
${destructive ? `
|
|
87
97
|
border-color: var(--colorsSemanticNegative500);
|
|
88
98
|
${makeColors("var(--colorsSemanticNegative500)")}
|
|
@@ -93,7 +103,7 @@ var _default = (isDisabled, destructive, isWhite) => ({
|
|
|
93
103
|
}
|
|
94
104
|
` : ""}
|
|
95
105
|
|
|
96
|
-
${isDisabled ? `
|
|
106
|
+
${isDisabled && !isWhite ? `
|
|
97
107
|
border-color: var(--colorsActionDisabled500);
|
|
98
108
|
${makeColors("var(--colorsActionMajorYin030)")};
|
|
99
109
|
&:hover {
|
|
@@ -73,13 +73,13 @@ const Button = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
73
73
|
children,
|
|
74
74
|
destructive = false,
|
|
75
75
|
disabled = false,
|
|
76
|
+
isWhite = false,
|
|
76
77
|
fullWidth: fullWidthProp = false,
|
|
77
78
|
href,
|
|
78
79
|
iconPosition: iconPositionProp = "before",
|
|
79
80
|
iconTooltipMessage,
|
|
80
81
|
iconTooltipPosition,
|
|
81
82
|
iconType,
|
|
82
|
-
isWhite = false,
|
|
83
83
|
m = 0,
|
|
84
84
|
noWrap,
|
|
85
85
|
onClick,
|
|
@@ -46,6 +46,7 @@ export interface DialogProps extends ModalProps, TagProps {
|
|
|
46
46
|
height?: string;
|
|
47
47
|
/** Adds Help tooltip to Header */
|
|
48
48
|
help?: string;
|
|
49
|
+
highlightVariant?: string;
|
|
49
50
|
/** A custom close event handler */
|
|
50
51
|
onCancel?: (ev: React.KeyboardEvent<HTMLElement> | KeyboardEvent | React.MouseEvent<HTMLButtonElement>) => void;
|
|
51
52
|
/** Determines if the close icon is shown */
|
|
@@ -40,6 +40,7 @@ const Dialog = exports.Dialog = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
40
40
|
bespokeFocusTrap,
|
|
41
41
|
disableClose,
|
|
42
42
|
help,
|
|
43
|
+
highlightVariant = "default",
|
|
43
44
|
role = "dialog",
|
|
44
45
|
contentPadding = {},
|
|
45
46
|
greyBackground = false,
|
|
@@ -124,6 +125,7 @@ const Dialog = exports.Dialog = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
124
125
|
"aria-modal": isTopModal ? true : undefined,
|
|
125
126
|
ref: containerRef
|
|
126
127
|
}, dialogProps, {
|
|
128
|
+
highlightVariant: highlightVariant,
|
|
127
129
|
role: role,
|
|
128
130
|
tabIndex: -1
|
|
129
131
|
}, contentPadding, {
|
|
@@ -3,6 +3,7 @@ declare const DialogPositioner: import("styled-components").StyledComponent<"div
|
|
|
3
3
|
declare const StyledDialog: import("styled-components").StyledComponent<"div", any, Required<Pick<DialogProps, "size">> & {
|
|
4
4
|
dialogHeight?: string | undefined;
|
|
5
5
|
backgroundColor: string;
|
|
6
|
+
highlightVariant?: string | undefined;
|
|
6
7
|
} & ContentPaddingInterface, never>;
|
|
7
8
|
declare type StyledDialogTitleProps = {
|
|
8
9
|
showCloseIcon?: boolean;
|
|
@@ -60,6 +60,20 @@ const StyledDialog = exports.StyledDialog = _styledComponents.default.div`
|
|
|
60
60
|
outline: none;
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
${({
|
|
64
|
+
highlightVariant
|
|
65
|
+
}) => highlightVariant === "ai" && `
|
|
66
|
+
&::before {
|
|
67
|
+
content: "";
|
|
68
|
+
position: absolute;
|
|
69
|
+
top: -8px;
|
|
70
|
+
height: 100px;
|
|
71
|
+
width: 100%;
|
|
72
|
+
z-index: -1;
|
|
73
|
+
background: linear-gradient(90deg, #00D639 0%, #00D6DE 40%, #9D60FF 90%);
|
|
74
|
+
border-radius: var(--borderRadius200) var(--borderRadius200) 0 0;
|
|
75
|
+
}`}
|
|
76
|
+
|
|
63
77
|
${({
|
|
64
78
|
backgroundColor
|
|
65
79
|
}) => (0, _styledComponents.css)`
|
|
@@ -34,5 +34,5 @@ declare const StyledImage: import("styled-components").StyledComponent<"div", an
|
|
|
34
34
|
bottom: string | undefined;
|
|
35
35
|
left: string | undefined;
|
|
36
36
|
as?: string | undefined;
|
|
37
|
-
} & StyledImageProps, "hidden" | "children" | "left" | "right" | "top" | "bottom" | "
|
|
37
|
+
} & StyledImageProps, "hidden" | "children" | "left" | "right" | "top" | "bottom" | "as" | "src" | "position">;
|
|
38
38
|
export { StyledImage };
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { MarginProps } from "styled-system";
|
|
3
3
|
import { TagProps } from "../../__internal__/utils/helpers/tags/tags";
|
|
4
|
-
export
|
|
4
|
+
export interface TypeIconProps {
|
|
5
|
+
transparent?: boolean;
|
|
6
|
+
variant: MessageVariant;
|
|
7
|
+
}
|
|
8
|
+
export declare type MessageVariant = "error" | "info" | "success" | "warning" | "neutral" | "ai";
|
|
5
9
|
export interface MessageProps extends MarginProps, TagProps {
|
|
6
10
|
/** Set the component's content */
|
|
7
11
|
children?: React.ReactNode;
|
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = exports.Message = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _typography = _interopRequireDefault(require("../typography"));
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var _messageContent = _interopRequireDefault(require("./__internal__/message-content/message-content.component"));
|
|
9
|
+
var _content = _interopRequireDefault(require("../content"));
|
|
10
|
+
var _message = _interopRequireWildcard(require("./message.style"));
|
|
12
11
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
|
|
13
12
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
14
13
|
var _iconButton = _interopRequireDefault(require("../icon-button"));
|
|
14
|
+
var _aiIcon = _interopRequireDefault(require("../../__internal__/ai-icon"));
|
|
15
15
|
var _utils = require("../../style/utils");
|
|
16
16
|
var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -31,38 +31,52 @@ const Message = exports.Message = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
31
31
|
width,
|
|
32
32
|
...props
|
|
33
33
|
}, ref) => {
|
|
34
|
-
const
|
|
35
|
-
const
|
|
34
|
+
const localRef = (0, _react.useRef)(null);
|
|
35
|
+
const messageRef = ref || localRef;
|
|
36
|
+
const locale = (0, _useLocale.default)();
|
|
36
37
|
const marginProps = (0, _utils.filterStyledSystemMarginProps)(props);
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
onClick: onDismiss
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
45
|
-
type: "close"
|
|
46
|
-
}));
|
|
38
|
+
const VARIANT_ICON_MAP = {
|
|
39
|
+
neutral: "info",
|
|
40
|
+
success: "tick_circle",
|
|
41
|
+
error: "error",
|
|
42
|
+
warning: "warning",
|
|
43
|
+
info: "info"
|
|
47
44
|
};
|
|
48
|
-
|
|
45
|
+
if (!open) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_message.default, _extends({}, (0, _tags.default)("Message", props), {
|
|
49
49
|
transparent: transparent,
|
|
50
50
|
variant: variant,
|
|
51
51
|
id: id,
|
|
52
52
|
width: width,
|
|
53
|
-
ref:
|
|
53
|
+
ref: messageRef
|
|
54
54
|
}, marginProps, {
|
|
55
55
|
tabIndex: -1
|
|
56
|
-
}), /*#__PURE__*/_react.default.createElement(
|
|
56
|
+
}), /*#__PURE__*/_react.default.createElement(_message.TypeIconStyle, {
|
|
57
57
|
variant: variant,
|
|
58
58
|
transparent: transparent
|
|
59
|
-
}
|
|
59
|
+
}, variant === "ai" ? /*#__PURE__*/_react.default.createElement(_aiIcon.default, {
|
|
60
|
+
"data-role": "ai-icon"
|
|
61
|
+
}) : /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
62
|
+
"data-role": "category-icon",
|
|
63
|
+
type: VARIANT_ICON_MAP[variant]
|
|
64
|
+
})), /*#__PURE__*/_react.default.createElement(_typography.default, {
|
|
60
65
|
screenReaderOnly: true
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
}, locale.message?.[variant]?.()), /*#__PURE__*/_react.default.createElement(_message.MessageContent, {
|
|
67
|
+
"data-element": "message-content",
|
|
68
|
+
"data-role": "message-content"
|
|
69
|
+
}, !showCloseIcon || !onDismiss ? /*#__PURE__*/_react.default.createElement(_content.default, {
|
|
70
|
+
title: title
|
|
71
|
+
}, children) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_content.default, {
|
|
72
|
+
title: title
|
|
73
|
+
}, children), /*#__PURE__*/_react.default.createElement(_iconButton.default, {
|
|
74
|
+
"data-element": "close",
|
|
75
|
+
"aria-label": closeButtonAriaLabel || locale.message.closeButtonAriaLabel(),
|
|
76
|
+
onClick: onDismiss
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
78
|
+
type: "close"
|
|
79
|
+
})))));
|
|
66
80
|
});
|
|
67
81
|
Message.displayName = "Message";
|
|
68
82
|
var _default = exports.default = Message;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { MarginProps } from "styled-system";
|
|
2
|
-
import { MessageVariant } from "./message.component";
|
|
2
|
+
import { MessageVariant, TypeIconProps } from "./message.component";
|
|
3
3
|
declare type MessageStyleProps = {
|
|
4
4
|
variant?: MessageVariant;
|
|
5
5
|
transparent?: boolean;
|
|
6
6
|
width?: string;
|
|
7
7
|
};
|
|
8
8
|
declare const MessageStyle: import("styled-components").StyledComponent<"div", any, MessageStyleProps & MarginProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>>, never>;
|
|
9
|
+
declare const MessageContent: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
10
|
+
declare const TypeIconStyle: import("styled-components").StyledComponent<"div", any, TypeIconProps, never>;
|
|
9
11
|
export default MessageStyle;
|
|
12
|
+
export { MessageContent, TypeIconStyle };
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.default = void 0;
|
|
6
|
+
exports.default = exports.TypeIconStyle = exports.MessageContent = void 0;
|
|
7
7
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
8
8
|
var _styledSystem = require("styled-system");
|
|
9
9
|
var _base = _interopRequireDefault(require("../../style/themes/base"));
|
|
10
|
-
var _iconButton = _interopRequireDefault(require("../icon-button/icon-button.style"));
|
|
11
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
11
|
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); }
|
|
13
12
|
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; }
|
|
@@ -16,13 +15,12 @@ const messageVariants = {
|
|
|
16
15
|
info: "var(--colorsSemanticInfo500)",
|
|
17
16
|
success: "var(--colorsSemanticPositive500)",
|
|
18
17
|
warning: "var(--colorsSemanticCaution500)",
|
|
19
|
-
neutral: "var(--colorsSemanticNeutral500)"
|
|
18
|
+
neutral: "var(--colorsSemanticNeutral500)",
|
|
19
|
+
ai: "var(--colorsUtilityYin100)"
|
|
20
20
|
};
|
|
21
21
|
const MessageStyle = _styledComponents.default.div`
|
|
22
22
|
position: relative;
|
|
23
23
|
display: flex;
|
|
24
|
-
justify-content: flex-start;
|
|
25
|
-
align-content: center;
|
|
26
24
|
border-radius: var(--borderRadius100);
|
|
27
25
|
overflow: hidden;
|
|
28
26
|
border: 1px solid ${({
|
|
@@ -42,19 +40,46 @@ const MessageStyle = _styledComponents.default.div`
|
|
|
42
40
|
background: transparent;
|
|
43
41
|
`}
|
|
44
42
|
|
|
45
|
-
${_iconButton.default} {
|
|
46
|
-
position: absolute;
|
|
47
|
-
right: 20px;
|
|
48
|
-
top: 50%;
|
|
49
|
-
transform: translateY(-50%);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
43
|
${({
|
|
53
44
|
width
|
|
54
45
|
}) => width && `width: ${width};`}
|
|
55
|
-
|
|
56
46
|
${_styledSystem.margin}
|
|
57
47
|
`;
|
|
48
|
+
const MessageContent = exports.MessageContent = _styledComponents.default.div`
|
|
49
|
+
width: 100%;
|
|
50
|
+
display: flex;
|
|
51
|
+
justify-content: space-between;
|
|
52
|
+
align-items: center;
|
|
53
|
+
padding: var(--spacing200);
|
|
54
|
+
gap: var(--spacing300);
|
|
55
|
+
`;
|
|
56
|
+
const TypeIconStyle = exports.TypeIconStyle = _styledComponents.default.div`
|
|
57
|
+
display: flex;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
align-items: center;
|
|
60
|
+
background-color: ${({
|
|
61
|
+
variant
|
|
62
|
+
}) => messageVariants[variant]};
|
|
63
|
+
min-width: 30px;
|
|
64
|
+
|
|
65
|
+
span {
|
|
66
|
+
&:before {
|
|
67
|
+
color: var(--colorsUtilityYang100);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
${({
|
|
72
|
+
transparent,
|
|
73
|
+
variant
|
|
74
|
+
}) => transparent && (0, _styledComponents.css)`
|
|
75
|
+
background-color: transparent;
|
|
76
|
+
span {
|
|
77
|
+
&:before {
|
|
78
|
+
color: ${messageVariants[variant]};
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
`}
|
|
82
|
+
`;
|
|
58
83
|
MessageStyle.defaultProps = {
|
|
59
84
|
theme: _base.default
|
|
60
85
|
};
|
|
@@ -3,6 +3,7 @@ declare type StyledSplitButtonToggleProps = {
|
|
|
3
3
|
disabled: boolean;
|
|
4
4
|
displayed: boolean;
|
|
5
5
|
size: "small" | "medium" | "large";
|
|
6
|
+
isWhite?: boolean;
|
|
6
7
|
};
|
|
7
8
|
declare const StyledSplitButtonToggle: import("styled-components").StyledComponent<"button", any, import("styled-system").SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> & Omit<import("../button").ButtonProps, "buttonType"> & {
|
|
8
9
|
iconOnly?: boolean | undefined;
|
|
@@ -21,12 +21,13 @@ const StyledSplitButtonToggle = (0, _styledComponents.default)(_button.default)`
|
|
|
21
21
|
buttonType,
|
|
22
22
|
disabled,
|
|
23
23
|
displayed,
|
|
24
|
-
size
|
|
24
|
+
size,
|
|
25
|
+
isWhite
|
|
25
26
|
}) => (0, _styledComponents.css)`
|
|
26
27
|
border-top-left-radius: var(--borderRadius000);
|
|
27
28
|
border-bottom-left-radius: var(--borderRadius000);
|
|
28
29
|
|
|
29
|
-
${!disabled && displayed ? (0, _styledComponents.css)`
|
|
30
|
+
${!disabled && displayed && !isWhite ? (0, _styledComponents.css)`
|
|
30
31
|
background-color: var(--colorsActionMajor500);
|
|
31
32
|
border-color: var(--colorsActionMajor500);
|
|
32
33
|
|
|
@@ -39,6 +40,21 @@ const StyledSplitButtonToggle = (0, _styledComponents.default)(_button.default)`
|
|
|
39
40
|
border-left-color: var(--colorsSemanticFocus500);
|
|
40
41
|
}
|
|
41
42
|
` : ""}
|
|
43
|
+
|
|
44
|
+
${!disabled && displayed && isWhite ? (0, _styledComponents.css)`
|
|
45
|
+
background-color: var(--colorsActionMajorYang100);
|
|
46
|
+
border-color: var(--colorsActionMajorYang100);
|
|
47
|
+
|
|
48
|
+
&,
|
|
49
|
+
${_icon.default} {
|
|
50
|
+
color: var(--colorsYin100);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&:focus {
|
|
54
|
+
border-left-color: var(--colorsSemanticFocus500);
|
|
55
|
+
}
|
|
56
|
+
` : ""}
|
|
57
|
+
|
|
42
58
|
${!disabled && buttonType === "primary" && `
|
|
43
59
|
position: relative;
|
|
44
60
|
&::before {
|
|
@@ -72,6 +88,18 @@ const StyledSplitButtonToggle = (0, _styledComponents.default)(_button.default)`
|
|
|
72
88
|
color: var(--colorsActionMajorYang100);
|
|
73
89
|
}
|
|
74
90
|
}
|
|
91
|
+
|
|
92
|
+
${!disabled && isWhite && `
|
|
93
|
+
&:focus {
|
|
94
|
+
background-color: var(--colorsActionMajorYang100);
|
|
95
|
+
border-color: var(--colorsActionMajorYang100);
|
|
96
|
+
|
|
97
|
+
&,
|
|
98
|
+
${_icon.default} {
|
|
99
|
+
color: var(--colorsYin100);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
`}
|
|
75
103
|
`}
|
|
76
104
|
`;
|
|
77
105
|
StyledSplitButtonToggle.defaultProps = {
|
|
@@ -25,6 +25,8 @@ export interface SplitButtonProps extends React.ButtonHTMLAttributes<HTMLButtonE
|
|
|
25
25
|
text: string;
|
|
26
26
|
/** Sets rendering position of menu */
|
|
27
27
|
position?: "left" | "right";
|
|
28
|
+
/** Renders the white variant of the secondary split button */
|
|
29
|
+
isWhite?: boolean;
|
|
28
30
|
}
|
|
29
31
|
export declare type SplitButtonHandle = {
|
|
30
32
|
/** Programmatically focus the main button */
|
|
@@ -41,6 +41,7 @@ const SplitButton = exports.SplitButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
41
41
|
"data-element": dataElement,
|
|
42
42
|
"data-role": dataRole,
|
|
43
43
|
"aria-label": ariaLabel,
|
|
44
|
+
isWhite = false,
|
|
44
45
|
...rest
|
|
45
46
|
}, ref) => {
|
|
46
47
|
const locale = (0, _useLocale.default)();
|
|
@@ -51,6 +52,7 @@ const SplitButton = exports.SplitButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
51
52
|
const {
|
|
52
53
|
isInFlatTable
|
|
53
54
|
} = (0, _react.useContext)(_flatTable.default);
|
|
55
|
+
const shouldRenderIsWhiteVariant = buttonType === "secondary" && isWhite;
|
|
54
56
|
(0, _react.useImperativeHandle)(ref, () => ({
|
|
55
57
|
focusMainButton() {
|
|
56
58
|
mainButtonRef.current?.focus();
|
|
@@ -85,12 +87,14 @@ const SplitButton = exports.SplitButton = /*#__PURE__*/(0, _react.forwardRef)(({
|
|
|
85
87
|
onClick: handleMainClick,
|
|
86
88
|
size,
|
|
87
89
|
subtext,
|
|
90
|
+
isWhite: shouldRenderIsWhiteVariant,
|
|
88
91
|
...(0, _utils.filterOutStyledSystemSpacingProps)(rest)
|
|
89
92
|
};
|
|
90
93
|
const handleToggleClick = () => {
|
|
91
94
|
showButtons();
|
|
92
95
|
};
|
|
93
96
|
const toggleButtonProps = {
|
|
97
|
+
isWhite: shouldRenderIsWhiteVariant,
|
|
94
98
|
disabled,
|
|
95
99
|
displayed: showAdditionalButtons,
|
|
96
100
|
onTouchStart: showButtons,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SpaceProps } from "styled-system";
|
|
2
2
|
import { TileProps } from "./tile.component";
|
|
3
|
-
declare const StyledTile: import("styled-components").StyledComponent<"div", any, Pick<TileProps, "width" | "height" | "variant" | "
|
|
3
|
+
declare const StyledTile: import("styled-components").StyledComponent<"div", any, Pick<TileProps, "width" | "height" | "variant" | "highlightVariant" | "roundness" | "borderWidth" | "borderVariant"> & {
|
|
4
4
|
isHorizontal?: boolean | undefined;
|
|
5
5
|
} & SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol>, never>;
|
|
6
6
|
export default StyledTile;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Time } from "./time.component";
|
|
2
|
-
export type { TimeValue, TimeProps, TimeHandle, ToggleValue, } from "./time.component";
|
|
2
|
+
export type { TimeValue, TimeProps, TimeHandle, ToggleValue, TimeInputEvent, } from "./time.component";
|
|
@@ -78,6 +78,21 @@ const Time = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
78
78
|
const minsAriaLabel = minutesAriaLabel || locale.time.minutesAriaLabelText();
|
|
79
79
|
const hoursRef = (0, _react.useRef)(null);
|
|
80
80
|
const minsRef = (0, _react.useRef)(null);
|
|
81
|
+
(0, _react.useEffect)(() => {
|
|
82
|
+
const updates = [...inputValues];
|
|
83
|
+
if (inputValues[0] !== hourValue) {
|
|
84
|
+
updates[0] = hourValue;
|
|
85
|
+
}
|
|
86
|
+
if (inputValues[1] !== minuteValue) {
|
|
87
|
+
updates[1] = minuteValue;
|
|
88
|
+
}
|
|
89
|
+
if (inputValues[0] !== hourValue || inputValues[1] !== minuteValue) {
|
|
90
|
+
setInputValues(updates);
|
|
91
|
+
const formattedHours = hourValue.length ? hourValue.padStart(2, "0") : hourValue;
|
|
92
|
+
const formattedMinutes = minuteValue.length ? minuteValue.padStart(2, "0") : minuteValue;
|
|
93
|
+
setFormattedInputValues([formattedHours, formattedMinutes]);
|
|
94
|
+
}
|
|
95
|
+
}, [hourValue, minuteValue, inputValues]);
|
|
81
96
|
const computedValidations = (hrs, mins) => {
|
|
82
97
|
const hoursIsString = typeof hrs === "string";
|
|
83
98
|
const minutesIsString = typeof mins === "string";
|
|
@@ -9,6 +9,7 @@ var _reactTransitionGroup = require("react-transition-group");
|
|
|
9
9
|
var _icon = _interopRequireDefault(require("../icon"));
|
|
10
10
|
var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
|
|
11
11
|
var _toast = require("./toast.style");
|
|
12
|
+
var _message = require("../message/message.style");
|
|
12
13
|
var _iconButton = _interopRequireDefault(require("../icon-button"));
|
|
13
14
|
var _events = _interopRequireDefault(require("../../__internal__/utils/helpers/events"));
|
|
14
15
|
var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
|
|
@@ -141,7 +142,7 @@ const Toast = exports.Toast = /*#__PURE__*/_react.default.forwardRef(({
|
|
|
141
142
|
}, !disableAutoFocus && {
|
|
142
143
|
tabIndex,
|
|
143
144
|
onBlur: () => setTabIndex(undefined)
|
|
144
|
-
}), !isNotice && /*#__PURE__*/_react.default.createElement(
|
|
145
|
+
}), !isNotice && /*#__PURE__*/_react.default.createElement(_message.TypeIconStyle, {
|
|
145
146
|
variant: isNotification ? "info" : variant,
|
|
146
147
|
"data-role": "toast-type-icon"
|
|
147
148
|
}, /*#__PURE__*/_react.default.createElement(_icon.default, {
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import TypeIcon from "../message/__internal__/type-icon/type-icon.style";
|
|
3
2
|
import { MessageVariant } from "../message/message.component";
|
|
4
3
|
declare const StyledPortal: import("styled-components").StyledComponent<({ children, className, id, onReposition, inertOptOut, }: import("../portal/portal").PortalProps) => import("react").JSX.Element, any, {
|
|
5
4
|
align?: "center" | "left" | "right" | undefined;
|
|
6
5
|
alignY?: "center" | "top" | "bottom" | undefined;
|
|
7
6
|
isNotice?: boolean | undefined;
|
|
8
7
|
}, never>;
|
|
9
|
-
declare type ToastVariants = MessageVariant
|
|
8
|
+
declare type ToastVariants = Exclude<MessageVariant, "ai">;
|
|
10
9
|
declare type ToastStyleProps = {
|
|
11
10
|
align?: "left" | "center" | "right";
|
|
12
11
|
alignY?: "top" | "center" | "bottom";
|
|
@@ -24,4 +23,4 @@ declare const ToastWrapper: import("styled-components").StyledComponent<"div", a
|
|
|
24
23
|
align?: "center" | "left" | "right" | undefined;
|
|
25
24
|
isNotice?: boolean | undefined;
|
|
26
25
|
}, never>;
|
|
27
|
-
export { StyledPortal, StyledToast,
|
|
26
|
+
export { StyledPortal, StyledToast, StyledToastContent, ToastWrapper };
|
|
@@ -4,14 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.ToastWrapper = exports.StyledToastContent = exports.StyledToast = exports.StyledPortal = void 0;
|
|
7
|
-
Object.defineProperty(exports, "TypeIcon", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () {
|
|
10
|
-
return _typeIcon.default;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
7
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
14
|
-
var _typeIcon = _interopRequireDefault(require("../message/__internal__/type-icon/type-icon.style"));
|
|
15
8
|
var _iconButton = _interopRequireDefault(require("../icon-button/icon-button.style"));
|
|
16
9
|
var _portal = _interopRequireDefault(require("../portal/portal"));
|
|
17
10
|
var _base = _interopRequireDefault(require("../../style/themes/base"));
|
|
@@ -8,5 +8,5 @@ declare const StyledTypography: import("styled-components").StyledComponent<"spa
|
|
|
8
8
|
textDecoration: string;
|
|
9
9
|
lineHeight: string;
|
|
10
10
|
defaultMargin: string;
|
|
11
|
-
} & TypographyProps, "textDecoration" | "
|
|
11
|
+
} & TypographyProps, "textDecoration" | "as" | "size" | "weight" | "textTransform" | "lineHeight" | "defaultMargin">;
|
|
12
12
|
export default StyledTypography;
|
package/lib/locales/en-gb.js
CHANGED
package/lib/locales/locale.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carbon-react",
|
|
3
|
-
"version": "152.
|
|
3
|
+
"version": "152.4.0",
|
|
4
4
|
"description": "A library of reusable React components for easily building user interfaces.",
|
|
5
5
|
"files": [
|
|
6
6
|
"lib",
|
|
@@ -74,20 +74,20 @@
|
|
|
74
74
|
"@semantic-release/changelog": "^6.0.3",
|
|
75
75
|
"@semantic-release/exec": "^6.0.3",
|
|
76
76
|
"@semantic-release/git": "^10.0.1",
|
|
77
|
-
"@storybook/addon-a11y": "
|
|
78
|
-
"@storybook/addon-actions": "
|
|
79
|
-
"@storybook/addon-controls": "
|
|
80
|
-
"@storybook/addon-docs": "
|
|
81
|
-
"@storybook/addon-toolbars": "
|
|
82
|
-
"@storybook/addon-viewport": "
|
|
77
|
+
"@storybook/addon-a11y": "~8.6.7",
|
|
78
|
+
"@storybook/addon-actions": "~8.6.7",
|
|
79
|
+
"@storybook/addon-controls": "~8.6.7",
|
|
80
|
+
"@storybook/addon-docs": "~8.6.7",
|
|
81
|
+
"@storybook/addon-toolbars": "~8.6.7",
|
|
82
|
+
"@storybook/addon-viewport": "~8.6.7",
|
|
83
83
|
"@storybook/addon-webpack5-compiler-babel": "^3.0.3",
|
|
84
|
-
"@storybook/components": "
|
|
85
|
-
"@storybook/manager-api": "
|
|
86
|
-
"@storybook/preview-api": "
|
|
87
|
-
"@storybook/react": "
|
|
88
|
-
"@storybook/react-webpack5": "
|
|
89
|
-
"@storybook/theming": "
|
|
90
|
-
"@storybook/types": "
|
|
84
|
+
"@storybook/components": "~8.6.7",
|
|
85
|
+
"@storybook/manager-api": "~8.6.7",
|
|
86
|
+
"@storybook/preview-api": "~8.6.7",
|
|
87
|
+
"@storybook/react": "~8.6.7",
|
|
88
|
+
"@storybook/react-webpack5": "~8.6.7",
|
|
89
|
+
"@storybook/theming": "~8.6.7",
|
|
90
|
+
"@storybook/types": "~8.6.7",
|
|
91
91
|
"@testing-library/dom": "^10.4.0",
|
|
92
92
|
"@testing-library/jest-dom": "^6.6.3",
|
|
93
93
|
"@testing-library/react": "^16.1.0",
|
|
@@ -161,7 +161,7 @@
|
|
|
161
161
|
"semantic-release": "^24.2.3",
|
|
162
162
|
"semver": "^7.5.4",
|
|
163
163
|
"sprintf-js": "^1.1.3",
|
|
164
|
-
"storybook": "
|
|
164
|
+
"storybook": "~8.6.7",
|
|
165
165
|
"styled-components": "^4.4.1",
|
|
166
166
|
"typescript": "~4.7.0",
|
|
167
167
|
"url-loader": "^4.1.1",
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export interface MessageContentProps {
|
|
3
|
-
title?: React.ReactNode;
|
|
4
|
-
children?: React.ReactNode;
|
|
5
|
-
showCloseIcon?: boolean;
|
|
6
|
-
reduceLeftPadding?: boolean;
|
|
7
|
-
}
|
|
8
|
-
declare const MessageContent: ({ title, children, showCloseIcon, reduceLeftPadding, }: MessageContentProps) => React.JSX.Element;
|
|
9
|
-
export default MessageContent;
|