carbon-react 104.48.1 → 104.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/esm/__internal__/character-count/character-count.style.js +1 -6
  2. package/esm/__internal__/checkable-input/checkable-input.style.js +4 -10
  3. package/esm/__internal__/input/input-presentation.style.js +1 -1
  4. package/esm/__internal__/input-icon-toggle/input-icon-toggle.style.d.ts +1 -2
  5. package/esm/__internal__/input-icon-toggle/input-icon-toggle.style.js +3 -8
  6. package/esm/components/button/button.component.js +4 -4
  7. package/esm/components/dismissible-box/dismissible-box.component.js +2 -2
  8. package/esm/components/flat-table/flat-table-cell/flat-table-cell.component.js +1 -1
  9. package/esm/components/flat-table/flat-table-row/flat-table-row.component.js +2 -2
  10. package/esm/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +1 -1
  11. package/esm/components/icon/icon.component.js +4 -4
  12. package/esm/components/icon/icon.style.js +3 -5
  13. package/esm/components/link/link.component.js +2 -5
  14. package/esm/components/pill/pill.component.js +1 -1
  15. package/esm/components/pill/pill.style.js +3 -2
  16. package/esm/components/portrait/portrait.component.js +2 -2
  17. package/esm/components/scrollable-list/scrollable-list-item.component.js +5 -9
  18. package/esm/components/tooltip/tooltip.component.js +2 -2
  19. package/esm/style/utils/color.js +5 -0
  20. package/esm/style/utils/get-color-value.d.ts +2 -0
  21. package/esm/style/utils/get-color-value.js +8 -0
  22. package/lib/__internal__/character-count/character-count.style.js +1 -9
  23. package/lib/__internal__/checkable-input/checkable-input.style.js +4 -11
  24. package/lib/__internal__/input/input-presentation.style.js +1 -1
  25. package/lib/__internal__/input-icon-toggle/input-icon-toggle.style.d.ts +1 -2
  26. package/lib/__internal__/input-icon-toggle/input-icon-toggle.style.js +3 -9
  27. package/lib/components/button/button.component.js +4 -4
  28. package/lib/components/dismissible-box/dismissible-box.component.js +2 -2
  29. package/lib/components/flat-table/flat-table-cell/flat-table-cell.component.js +1 -1
  30. package/lib/components/flat-table/flat-table-row/flat-table-row.component.js +2 -2
  31. package/lib/components/flat-table/flat-table-row-header/flat-table-row-header.component.js +1 -1
  32. package/lib/components/icon/icon.component.js +4 -4
  33. package/lib/components/icon/icon.style.js +4 -5
  34. package/lib/components/link/link.component.js +1 -8
  35. package/lib/components/pill/pill.component.js +1 -1
  36. package/lib/components/pill/pill.style.js +4 -2
  37. package/lib/components/portrait/portrait.component.js +2 -2
  38. package/lib/components/scrollable-list/scrollable-list-item.component.js +5 -10
  39. package/lib/components/tooltip/tooltip.component.js +2 -2
  40. package/lib/style/utils/color.js +8 -0
  41. package/lib/style/utils/get-color-value.d.ts +2 -0
  42. package/lib/style/utils/get-color-value.js +20 -0
  43. package/package.json +1 -1
@@ -1,14 +1,12 @@
1
1
  import styled, { css } from "styled-components";
2
- import baseTheme from "../../style/themes/base";
3
2
  const StyledCharacterCount = styled.div`
4
3
  text-align: right;
5
4
  font-size: 12px;
6
5
  margin-top: 4px;
7
6
  margin-bottom: 4px;
8
7
  color: ${({
9
- theme,
10
8
  isOverLimit
11
- }) => isOverLimit ? theme.colors.error : theme.disabled.disabled};
9
+ }) => isOverLimit ? "var(--colorsSemanticNegative500)" : "var(--colorsUtilityYin055)"};
12
10
 
13
11
  ${({
14
12
  isOverLimit
@@ -16,7 +14,4 @@ const StyledCharacterCount = styled.div`
16
14
  font-weight: 700;
17
15
  `}
18
16
  `;
19
- StyledCharacterCount.defaultProps = {
20
- theme: baseTheme
21
- };
22
17
  export default StyledCharacterCount;
@@ -5,7 +5,6 @@ import { FieldLineStyle } from "../form-field/form-field.style";
5
5
  import HiddenCheckableInputStyle from "./hidden-checkable-input.style";
6
6
  import LabelStyle, { StyledLabelContainer } from "../label/label.style";
7
7
  import StyledHelp from "../../components/help/help.style";
8
- import baseTheme from "../../style/themes/base";
9
8
  import StyledValidationIcon from "../validations/validation-icon.style";
10
9
  const StyledCheckableInput = styled.div`
11
10
  display: inline-block;
@@ -18,8 +17,7 @@ const StyledCheckableInputWrapper = styled.div`
18
17
  inputWidth,
19
18
  labelWidth,
20
19
  labelInline,
21
- reverse,
22
- theme
20
+ reverse
23
21
  }) => css`
24
22
  ${FieldLineStyle} {
25
23
  display: flex;
@@ -33,12 +31,12 @@ const StyledCheckableInputWrapper = styled.div`
33
31
  width: auto;
34
32
 
35
33
  & ${StyledHelp}, & ${StyledValidationIcon} {
36
- color: ${theme.help.color};
34
+ color: var(--colorsUtilityYin065);
37
35
  vertical-align: middle;
38
36
 
39
37
  &:hover,
40
38
  &:focus {
41
- color: ${theme.text.color};
39
+ color: var(--colorsUtilityYin090);
42
40
  }
43
41
  }
44
42
  }
@@ -103,10 +101,6 @@ StyledCheckableInputWrapper.propTypes = {
103
101
  disabled: PropTypes.bool,
104
102
  fieldHelpInline: PropTypes.bool,
105
103
  inputWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
106
- labelWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
107
- theme: PropTypes.object
108
- };
109
- StyledCheckableInputWrapper.defaultProps = {
110
- theme: baseTheme
104
+ labelWidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
111
105
  };
112
106
  export { StyledCheckableInput, StyledCheckableInputWrapper };
@@ -10,7 +10,7 @@ export const StyledInputPresentationContainer = styled.div`
10
10
  `;
11
11
  const InputPresentationStyle = styled.div`
12
12
  align-items: stretch;
13
- background: #fff;
13
+ background: var(--colorsUtilityYang100);
14
14
  border: 1px solid var(--colorsUtilityMajor300);
15
15
  box-sizing: border-box;
16
16
  cursor: text;
@@ -1,5 +1,4 @@
1
1
  export default InputIconToggleStyle;
2
2
  declare const InputIconToggleStyle: import("styled-components").StyledComponent<"span", any, {
3
3
  onKeyDown: (e: import("react").KeyboardEvent<HTMLSpanElement>) => any;
4
- theme: import("../../style/themes/base").ThemeObject;
5
- }, "theme" | "onKeyDown">;
4
+ }, "onKeyDown">;
@@ -1,6 +1,5 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import PropTypes from "prop-types";
3
- import BaseTheme from "../../style/themes/base";
4
3
  import sizes from "../input/input-sizes.style";
5
4
  const InputIconToggleStyle = styled.span.attrs(({
6
5
  onClick
@@ -11,8 +10,7 @@ const InputIconToggleStyle = styled.span.attrs(({
11
10
  e.preventDefault();
12
11
  return onClick(e);
13
12
  }
14
- },
15
- theme: BaseTheme
13
+ }
16
14
  }))`
17
15
  align-items: center;
18
16
  cursor: pointer;
@@ -28,15 +26,12 @@ const InputIconToggleStyle = styled.span.attrs(({
28
26
  `}
29
27
 
30
28
  &:focus {
31
- outline: solid 3px ${({
32
- theme
33
- }) => theme.colors.focus};
29
+ outline: solid 3px var(--colorsSemanticFocus500);
34
30
  }
35
31
  `;
36
32
  InputIconToggleStyle.safeProps = ["size", "error", "warning", "info"];
37
33
  InputIconToggleStyle.defaultProps = {
38
- size: "medium",
39
- theme: BaseTheme
34
+ size: "medium"
40
35
  };
41
36
  InputIconToggleStyle.propTypes = {
42
37
  size: PropTypes.oneOf(["small", "medium", "large"]),
@@ -24,10 +24,10 @@ function renderChildren({
24
24
 
25
25
  }) {
26
26
  const iconColorMap = {
27
- primary: "var(--colorsActionMajorYang100)",
28
- secondary: "var(--colorsActionMajor500)",
29
- tertiary: "var(--colorsActionMajor500)",
30
- darkBackground: "var(--colorsActionMajor500)"
27
+ primary: "--colorsActionMajorYang100",
28
+ secondary: "--colorsActionMajor500",
29
+ tertiary: "--colorsActionMajor500",
30
+ darkBackground: "--colorsActionMajor500"
31
31
  };
32
32
  const iconProps = {
33
33
  "aria-hidden": true,
@@ -11,7 +11,7 @@ const variantStyles = {
11
11
  backgroundColor: "#FFFFFF"
12
12
  },
13
13
  dark: {
14
- backgroundColor: "var(--colorsUtilityMajor050)"
14
+ backgroundColor: "--colorsUtilityMajor050"
15
15
  }
16
16
  };
17
17
 
@@ -34,7 +34,7 @@ const DismissibleBox = ({
34
34
  ml: 3
35
35
  }, /*#__PURE__*/React.createElement(Icon, {
36
36
  type: "close",
37
- color: "var(--colorsActionMinor500)"
37
+ color: "--colorsActionMinor500"
38
38
  }))));
39
39
 
40
40
  DismissibleBox.propTypes = { ...propTypes.space,
@@ -121,7 +121,7 @@ FlatTableCell.propTypes = {
121
121
  /** Sets a custom vertical right border */
122
122
  verticalBorder: PropTypes.oneOf(["small", "medium", "large"]),
123
123
 
124
- /** Sets a custom vertical right border */
124
+ /** Sets a vertical right border color, provide design token, any color from palette or any valid css color value. */
125
125
  verticalBorderColor: PropTypes.string
126
126
  };
127
127
  export default FlatTableCell;
@@ -154,7 +154,7 @@ const FlatTableRow = /*#__PURE__*/React.forwardRef(({
154
154
  }))));
155
155
  });
156
156
  FlatTableRow.propTypes = {
157
- /** Overrides default cell color */
157
+ /** Overrides default cell color, provide design token, any color from palette or any valid css color value. */
158
158
  bgColor: PropTypes.string,
159
159
 
160
160
  /** Array of FlatTableHeader or FlatTableCell. FlatTableRowHeader could also be passed. */
@@ -181,7 +181,7 @@ FlatTableRow.propTypes = {
181
181
  /** Sets an expandable row to be expanded on start */
182
182
  expanded: PropTypes.bool,
183
183
 
184
- /** Sets the color of the bottom border in the row */
184
+ /** Sets the color of the bottom border in the row, provide design token, any color from palette or any valid css color value. */
185
185
  horizontalBorderColor: PropTypes.string,
186
186
 
187
187
  /** Sets the weight of the bottom border in the row */
@@ -82,7 +82,7 @@ FlatTableRowHeader.propTypes = {
82
82
  /** Sets a custom vertical right border */
83
83
  verticalBorder: PropTypes.oneOf(["small", "medium", "large"]),
84
84
 
85
- /** Sets a custom vertical right border */
85
+ /** Sets a vertical right border color, provide design token, any color from palette or any valid css color value. */
86
86
  verticalBorderColor: PropTypes.string
87
87
  };
88
88
  export default FlatTableRowHeader;
@@ -140,10 +140,10 @@ Icon.propTypes = { ...marginPropTypes,
140
140
  /** Icon font size */
141
141
  fontSize: PropTypes.oneOf(["small", "medium", "large", "extra-large"]),
142
142
 
143
- /** Icon colour, provide any color from palette or any valid css color value. */
143
+ /** Icon colour, provide design token, any color from palette or any valid css color value. */
144
144
  color: PropTypes.string,
145
145
 
146
- /** Background colour, provide any color from palette or any valid css color value. */
146
+ /** Background colour, provide design token, any color from palette, or any valid css color value. */
147
147
  bg: PropTypes.string,
148
148
 
149
149
  /** Sets the icon in the disabled state */
@@ -164,10 +164,10 @@ Icon.propTypes = { ...marginPropTypes,
164
164
  /** Control whether the tooltip is visible */
165
165
  tooltipVisible: PropTypes.bool,
166
166
 
167
- /** Override background color of the Tooltip, provide any color from palette or any valid css color value. */
167
+ /** Override background color of the Tooltip, provide design token, any color from palette or any valid css color value. */
168
168
  tooltipBgColor: PropTypes.string,
169
169
 
170
- /** Override font color of the Tooltip, provide any color from palette or any valid css color value. */
170
+ /** Override font color of the Tooltip, provide design token, any color from palette or any valid css color value. */
171
171
  tooltipFontColor: PropTypes.string,
172
172
 
173
173
  /** Id passed to the tooltip container, used for accessibility purposes. */
@@ -7,6 +7,7 @@ import baseTheme from "../../style/themes/base";
7
7
  import iconSizeConfig, { ICON_SHAPES } from "./icon-config";
8
8
  import browserTypeCheck, { isSafari } from "../../__internal__/utils/helpers/browser-type-check";
9
9
  import styledColor from "../../style/utils/color";
10
+ import getColorValue from "../../style/utils/get-color-value";
10
11
 
11
12
  function adjustIconBgSize(fontSize, bgSize) {
12
13
  var _replacements$fontSiz;
@@ -56,9 +57,6 @@ const StyledIcon = styled.span`
56
57
  if (disabled) {
57
58
  finalColor = "var(--colorsYin030)";
58
59
  finalHoverColor = "var(--colorsYin030)";
59
- } else if (typeof color === "string" && color.startsWith("var")) {
60
- finalColor = color;
61
- finalHoverColor = shade(0.2, theme.compatibility[color.replace("var(--", "").replace(")", "")]);
62
60
  } else if (color) {
63
61
  const {
64
62
  color: renderedColor
@@ -67,7 +65,7 @@ const StyledIcon = styled.span`
67
65
  theme
68
66
  });
69
67
  finalColor = renderedColor;
70
- finalHoverColor = shade(0.2, renderedColor);
68
+ finalHoverColor = shade(0.2, getColorValue(renderedColor));
71
69
  } else {
72
70
  finalColor = "var(--colorsYin090)";
73
71
  finalHoverColor = "var(--colorsYin090)";
@@ -81,7 +79,7 @@ const StyledIcon = styled.span`
81
79
  theme
82
80
  });
83
81
  bgColor = backgroundColor;
84
- bgHoverColor = shade(0.2, backgroundColor);
82
+ bgHoverColor = shade(0.2, getColorValue(backgroundColor));
85
83
  } else {
86
84
  bgColor = "transparent";
87
85
  bgHoverColor = "transparent";
@@ -1,13 +1,11 @@
1
1
  function _extends() { _extends = Object.assign || 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
 
3
- import React, { useContext, useMemo } from "react";
4
- import { ThemeContext } from "styled-components";
3
+ import React, { useMemo } from "react";
5
4
  import PropTypes from "prop-types";
6
5
  import Icon from "../icon";
7
6
  import Event from "../../__internal__/utils/helpers/events";
8
7
  import { StyledLink, StyledContent } from "./link.style";
9
8
  import tagComponent from "../../__internal__/utils/helpers/tags/tags";
10
- import { baseTheme } from "../../style/themes";
11
9
  import useLocale from "../../hooks/__internal__/useLocale";
12
10
  const Link = /*#__PURE__*/React.forwardRef(({
13
11
  children,
@@ -29,7 +27,6 @@ const Link = /*#__PURE__*/React.forwardRef(({
29
27
  ...rest
30
28
  }, ref) => {
31
29
  const l = useLocale();
32
- const theme = useContext(ThemeContext) || baseTheme;
33
30
  const tabIndex = tabbable && !disabled ? "0" : "-1";
34
31
 
35
32
  const handleOnKeyDown = ev => {
@@ -53,7 +50,7 @@ const Link = /*#__PURE__*/React.forwardRef(({
53
50
  return hasProperAlignment ? /*#__PURE__*/React.createElement(Icon, {
54
51
  type: icon,
55
52
  bgSize: "extra-small",
56
- color: theme.colors.primary,
53
+ color: "--colorsActionMajor500",
57
54
  disabled: disabled,
58
55
  ariaLabel: ariaLabel,
59
56
  tooltipMessage: tooltipMessage,
@@ -45,7 +45,7 @@ Pill.propTypes = {
45
45
  /** Change the color of a status pill. */
46
46
  colorVariant: PropTypes.oneOf(["neutral", "negative", "positive", "warning"]),
47
47
 
48
- /** Override color variant, provide any color from palette or any valid css color value. */
48
+ /** Override color variant, provide design token, any color from palette or any valid css color value. */
49
49
  borderColor: PropTypes.string,
50
50
 
51
51
  /** The content to display inside of the pill. */
@@ -6,6 +6,7 @@ import styleConfig from "./pill.style.config";
6
6
  import { baseTheme } from "../../style/themes";
7
7
  import StyledIcon from "../icon/icon.style";
8
8
  import { toColor } from "../../style/utils/color.js";
9
+ import getColorValue from "../../style/utils/get-color-value";
9
10
 
10
11
  function addStyleToPillIcon(fontSize) {
11
12
  return `
@@ -37,8 +38,8 @@ const PillStyle = styled.span`
37
38
  try {
38
39
  if (borderColor) {
39
40
  pillColor = toColor(theme, borderColor);
40
- buttonFocusColor = shade(0.2, pillColor);
41
- contentColor = meetsContrastGuidelines(pillColor, theme.compatibility.colorsUtilityYin090).AAA ? "var(--colorsUtilityYin090)" : "var(--colorsUtilityYang100)";
41
+ buttonFocusColor = shade(0.2, getColorValue(pillColor));
42
+ contentColor = meetsContrastGuidelines(getColorValue(pillColor), theme.compatibility.colorsUtilityYin090).AAA ? "var(--colorsUtilityYin090)" : "var(--colorsUtilityYang100)";
42
43
  } else {
43
44
  const {
44
45
  varietyColor,
@@ -152,10 +152,10 @@ Portrait.propTypes = { ...marginPropTypes,
152
152
  /** Defines the size of the tooltip content */
153
153
  tooltipSize: PropTypes.oneOf(["medium", "large"]),
154
154
 
155
- /** Override background color of the Tooltip, provide any color from palette or any valid css color value. */
155
+ /** Override background color of the Tooltip, provide design token, any color from palette or any valid css color value. */
156
156
  tooltipBgColor: PropTypes.string,
157
157
 
158
- /** Override font color of the Tooltip, provide any color from palette or any valid css color value. */
158
+ /** Override font color of the Tooltip, provide design token, any color from palette or any valid css color value. */
159
159
  tooltipFontColor: PropTypes.string
160
160
  };
161
161
  Portrait.defaultProps = {
@@ -1,6 +1,5 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import propTypes from "prop-types";
3
- import baseTheme from "../../style/themes/base";
4
3
  const ScrollableListItem = styled.li`
5
4
  ${({
6
5
  isSelectable
@@ -8,10 +7,9 @@ const ScrollableListItem = styled.li`
8
7
  cursor: pointer;
9
8
  `}
10
9
  ${({
11
- isSelected,
12
- theme
10
+ isSelected
13
11
  }) => isSelected && css`
14
- background-color: ${theme.select.selected};
12
+ background-color: var(--colorsUtilityMajor025);
15
13
  `}
16
14
  box-sizing: content-box;
17
15
  padding: 5px 6px;
@@ -19,12 +17,10 @@ const ScrollableListItem = styled.li`
19
17
  `;
20
18
  ScrollableListItem.propTypes = {
21
19
  id: propTypes.any,
22
- isSelected: propTypes.bool,
23
- theme: propTypes.object
20
+ isSelected: propTypes.bool
24
21
  };
25
22
  ScrollableListItem.defaultProps = {
26
- isSelectable: true,
27
- // defaulted to true so it integrates with ScrollableList by default,
28
- theme: baseTheme
23
+ isSelectable: true // defaulted to true so it integrates with ScrollableList by default,
24
+
29
25
  };
30
26
  export default ScrollableListItem;
@@ -102,10 +102,10 @@ Tooltip.propTypes = {
102
102
  // Reference element, tooltip will be positioned in relation to this element
103
103
  target: PropTypes.instanceOf(Element),
104
104
 
105
- /** Override background color of the Tooltip, provide any color from palette or any valid css color value. */
105
+ /** Override background color of the Tooltip, provide design token, any color from palette or any valid css color value. */
106
106
  bgColor: PropTypes.string,
107
107
 
108
- /** Override font color of the Tooltip, provide any color from palette or any valid css color value. */
108
+ /** Override font color of the Tooltip, provide design token, any color from palette or any valid css color value. */
109
109
  fontColor: PropTypes.string,
110
110
 
111
111
  /** @ignore @private */
@@ -1,5 +1,6 @@
1
1
  // eslint-disable-next-line no-restricted-imports
2
2
  import { color as styledColor } from "styled-system";
3
+ import tokens from "@sage/design-tokens/js/base/common";
3
4
  /*
4
5
  * styled-system/color allows users to use a color from the theme, from the `colors` object.
5
6
  *
@@ -21,6 +22,10 @@ import { color as styledColor } from "styled-system";
21
22
  */
22
23
 
23
24
  export const toColor = (theme, color) => {
25
+ if (color.startsWith("--") && color.slice(2) in tokens) {
26
+ return `var(${color})`;
27
+ }
28
+
24
29
  const {
25
30
  palette
26
31
  } = theme;
@@ -0,0 +1,2 @@
1
+ declare const _default: (color: string) => string;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import tokens from "@sage/design-tokens/js/base/common";
2
+ export default (color => {
3
+ if (color.startsWith("var")) {
4
+ return tokens[color.replace("var(--", "").replace(")", "")];
5
+ }
6
+
7
+ return color;
8
+ });
@@ -7,10 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
 
10
- var _base = _interopRequireDefault(require("../../style/themes/base"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
15
11
 
16
12
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -21,9 +17,8 @@ const StyledCharacterCount = _styledComponents.default.div`
21
17
  margin-top: 4px;
22
18
  margin-bottom: 4px;
23
19
  color: ${({
24
- theme,
25
20
  isOverLimit
26
- }) => isOverLimit ? theme.colors.error : theme.disabled.disabled};
21
+ }) => isOverLimit ? "var(--colorsSemanticNegative500)" : "var(--colorsUtilityYin055)"};
27
22
 
28
23
  ${({
29
24
  isOverLimit
@@ -31,8 +26,5 @@ const StyledCharacterCount = _styledComponents.default.div`
31
26
  font-weight: 700;
32
27
  `}
33
28
  `;
34
- StyledCharacterCount.defaultProps = {
35
- theme: _base.default
36
- };
37
29
  var _default = StyledCharacterCount;
38
30
  exports.default = _default;
@@ -19,8 +19,6 @@ var _label = _interopRequireWildcard(require("../label/label.style"));
19
19
 
20
20
  var _help = _interopRequireDefault(require("../../components/help/help.style"));
21
21
 
22
- var _base = _interopRequireDefault(require("../../style/themes/base"));
23
-
24
22
  var _validationIcon = _interopRequireDefault(require("../validations/validation-icon.style"));
25
23
 
26
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -41,8 +39,7 @@ const StyledCheckableInputWrapper = _styledComponents.default.div`
41
39
  inputWidth,
42
40
  labelWidth,
43
41
  labelInline,
44
- reverse,
45
- theme
42
+ reverse
46
43
  }) => (0, _styledComponents.css)`
47
44
  ${_formField.FieldLineStyle} {
48
45
  display: flex;
@@ -56,12 +53,12 @@ const StyledCheckableInputWrapper = _styledComponents.default.div`
56
53
  width: auto;
57
54
 
58
55
  & ${_help.default}, & ${_validationIcon.default} {
59
- color: ${theme.help.color};
56
+ color: var(--colorsUtilityYin065);
60
57
  vertical-align: middle;
61
58
 
62
59
  &:hover,
63
60
  &:focus {
64
- color: ${theme.text.color};
61
+ color: var(--colorsUtilityYin090);
65
62
  }
66
63
  }
67
64
  }
@@ -127,9 +124,5 @@ StyledCheckableInputWrapper.propTypes = {
127
124
  disabled: _propTypes.default.bool,
128
125
  fieldHelpInline: _propTypes.default.bool,
129
126
  inputWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
130
- labelWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
131
- theme: _propTypes.default.object
132
- };
133
- StyledCheckableInputWrapper.defaultProps = {
134
- theme: _base.default
127
+ labelWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string])
135
128
  };
@@ -27,7 +27,7 @@ const StyledInputPresentationContainer = _styledComponents.default.div`
27
27
  exports.StyledInputPresentationContainer = StyledInputPresentationContainer;
28
28
  const InputPresentationStyle = _styledComponents.default.div`
29
29
  align-items: stretch;
30
- background: #fff;
30
+ background: var(--colorsUtilityYang100);
31
31
  border: 1px solid var(--colorsUtilityMajor300);
32
32
  box-sizing: border-box;
33
33
  cursor: text;
@@ -1,5 +1,4 @@
1
1
  export default InputIconToggleStyle;
2
2
  declare const InputIconToggleStyle: import("styled-components").StyledComponent<"span", any, {
3
3
  onKeyDown: (e: import("react").KeyboardEvent<HTMLSpanElement>) => any;
4
- theme: import("../../style/themes/base").ThemeObject;
5
- }, "theme" | "onKeyDown">;
4
+ }, "onKeyDown">;
@@ -9,8 +9,6 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _base = _interopRequireDefault(require("../../style/themes/base"));
13
-
14
12
  var _inputSizes = _interopRequireDefault(require("../input/input-sizes.style"));
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -28,8 +26,7 @@ const InputIconToggleStyle = _styledComponents.default.span.attrs(({
28
26
  e.preventDefault();
29
27
  return onClick(e);
30
28
  }
31
- },
32
- theme: _base.default
29
+ }
33
30
  }))`
34
31
  align-items: center;
35
32
  cursor: pointer;
@@ -45,15 +42,12 @@ const InputIconToggleStyle = _styledComponents.default.span.attrs(({
45
42
  `}
46
43
 
47
44
  &:focus {
48
- outline: solid 3px ${({
49
- theme
50
- }) => theme.colors.focus};
45
+ outline: solid 3px var(--colorsSemanticFocus500);
51
46
  }
52
47
  `;
53
48
  InputIconToggleStyle.safeProps = ["size", "error", "warning", "info"];
54
49
  InputIconToggleStyle.defaultProps = {
55
- size: "medium",
56
- theme: _base.default
50
+ size: "medium"
57
51
  };
58
52
  InputIconToggleStyle.propTypes = {
59
53
  size: _propTypes.default.oneOf(["small", "medium", "large"]),
@@ -43,10 +43,10 @@ function renderChildren({
43
43
 
44
44
  }) {
45
45
  const iconColorMap = {
46
- primary: "var(--colorsActionMajorYang100)",
47
- secondary: "var(--colorsActionMajor500)",
48
- tertiary: "var(--colorsActionMajor500)",
49
- darkBackground: "var(--colorsActionMajor500)"
46
+ primary: "--colorsActionMajorYang100",
47
+ secondary: "--colorsActionMajor500",
48
+ tertiary: "--colorsActionMajor500",
49
+ darkBackground: "--colorsActionMajor500"
50
50
  };
51
51
  const iconProps = {
52
52
  "aria-hidden": true,
@@ -26,7 +26,7 @@ const variantStyles = {
26
26
  backgroundColor: "#FFFFFF"
27
27
  },
28
28
  dark: {
29
- backgroundColor: "var(--colorsUtilityMajor050)"
29
+ backgroundColor: "--colorsUtilityMajor050"
30
30
  }
31
31
  };
32
32
 
@@ -49,7 +49,7 @@ const DismissibleBox = ({
49
49
  ml: 3
50
50
  }, /*#__PURE__*/_react.default.createElement(_icon.default, {
51
51
  type: "close",
52
- color: "var(--colorsActionMinor500)"
52
+ color: "--colorsActionMinor500"
53
53
  }))));
54
54
 
55
55
  DismissibleBox.propTypes = { ..._propTypes2.default.space,
@@ -140,7 +140,7 @@ FlatTableCell.propTypes = {
140
140
  /** Sets a custom vertical right border */
141
141
  verticalBorder: _propTypes.default.oneOf(["small", "medium", "large"]),
142
142
 
143
- /** Sets a custom vertical right border */
143
+ /** Sets a vertical right border color, provide design token, any color from palette or any valid css color value. */
144
144
  verticalBorderColor: _propTypes.default.string
145
145
  };
146
146
  var _default = FlatTableCell;
@@ -179,7 +179,7 @@ const FlatTableRow = /*#__PURE__*/_react.default.forwardRef(({
179
179
  });
180
180
 
181
181
  FlatTableRow.propTypes = {
182
- /** Overrides default cell color */
182
+ /** Overrides default cell color, provide design token, any color from palette or any valid css color value. */
183
183
  bgColor: _propTypes.default.string,
184
184
 
185
185
  /** Array of FlatTableHeader or FlatTableCell. FlatTableRowHeader could also be passed. */
@@ -206,7 +206,7 @@ FlatTableRow.propTypes = {
206
206
  /** Sets an expandable row to be expanded on start */
207
207
  expanded: _propTypes.default.bool,
208
208
 
209
- /** Sets the color of the bottom border in the row */
209
+ /** Sets the color of the bottom border in the row, provide design token, any color from palette or any valid css color value. */
210
210
  horizontalBorderColor: _propTypes.default.string,
211
211
 
212
212
  /** Sets the weight of the bottom border in the row */
@@ -97,7 +97,7 @@ FlatTableRowHeader.propTypes = {
97
97
  /** Sets a custom vertical right border */
98
98
  verticalBorder: _propTypes.default.oneOf(["small", "medium", "large"]),
99
99
 
100
- /** Sets a custom vertical right border */
100
+ /** Sets a vertical right border color, provide design token, any color from palette or any valid css color value. */
101
101
  verticalBorderColor: _propTypes.default.string
102
102
  };
103
103
  var _default = FlatTableRowHeader;
@@ -165,10 +165,10 @@ Icon.propTypes = { ...marginPropTypes,
165
165
  /** Icon font size */
166
166
  fontSize: _propTypes.default.oneOf(["small", "medium", "large", "extra-large"]),
167
167
 
168
- /** Icon colour, provide any color from palette or any valid css color value. */
168
+ /** Icon colour, provide design token, any color from palette or any valid css color value. */
169
169
  color: _propTypes.default.string,
170
170
 
171
- /** Background colour, provide any color from palette or any valid css color value. */
171
+ /** Background colour, provide design token, any color from palette, or any valid css color value. */
172
172
  bg: _propTypes.default.string,
173
173
 
174
174
  /** Sets the icon in the disabled state */
@@ -189,10 +189,10 @@ Icon.propTypes = { ...marginPropTypes,
189
189
  /** Control whether the tooltip is visible */
190
190
  tooltipVisible: _propTypes.default.bool,
191
191
 
192
- /** Override background color of the Tooltip, provide any color from palette or any valid css color value. */
192
+ /** Override background color of the Tooltip, provide design token, any color from palette or any valid css color value. */
193
193
  tooltipBgColor: _propTypes.default.string,
194
194
 
195
- /** Override font color of the Tooltip, provide any color from palette or any valid css color value. */
195
+ /** Override font color of the Tooltip, provide design token, any color from palette or any valid css color value. */
196
196
  tooltipFontColor: _propTypes.default.string,
197
197
 
198
198
  /** Id passed to the tooltip container, used for accessibility purposes. */
@@ -23,6 +23,8 @@ var _browserTypeCheck = _interopRequireWildcard(require("../../__internal__/util
23
23
 
24
24
  var _color = _interopRequireDefault(require("../../style/utils/color"));
25
25
 
26
+ var _getColorValue = _interopRequireDefault(require("../../style/utils/get-color-value"));
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
30
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -77,9 +79,6 @@ const StyledIcon = _styledComponents.default.span`
77
79
  if (disabled) {
78
80
  finalColor = "var(--colorsYin030)";
79
81
  finalHoverColor = "var(--colorsYin030)";
80
- } else if (typeof color === "string" && color.startsWith("var")) {
81
- finalColor = color;
82
- finalHoverColor = (0, _polished.shade)(0.2, theme.compatibility[color.replace("var(--", "").replace(")", "")]);
83
82
  } else if (color) {
84
83
  const {
85
84
  color: renderedColor
@@ -88,7 +87,7 @@ const StyledIcon = _styledComponents.default.span`
88
87
  theme
89
88
  });
90
89
  finalColor = renderedColor;
91
- finalHoverColor = (0, _polished.shade)(0.2, renderedColor);
90
+ finalHoverColor = (0, _polished.shade)(0.2, (0, _getColorValue.default)(renderedColor));
92
91
  } else {
93
92
  finalColor = "var(--colorsYin090)";
94
93
  finalHoverColor = "var(--colorsYin090)";
@@ -102,7 +101,7 @@ const StyledIcon = _styledComponents.default.span`
102
101
  theme
103
102
  });
104
103
  bgColor = backgroundColor;
105
- bgHoverColor = (0, _polished.shade)(0.2, backgroundColor);
104
+ bgHoverColor = (0, _polished.shade)(0.2, (0, _getColorValue.default)(backgroundColor));
106
105
  } else {
107
106
  bgColor = "transparent";
108
107
  bgHoverColor = "transparent";
@@ -7,8 +7,6 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
- var _styledComponents = require("styled-components");
11
-
12
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
11
 
14
12
  var _icon = _interopRequireDefault(require("../icon"));
@@ -19,8 +17,6 @@ var _link = require("./link.style");
19
17
 
20
18
  var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
21
19
 
22
- var _themes = require("../../style/themes");
23
-
24
20
  var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
25
21
 
26
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -51,9 +47,6 @@ const Link = /*#__PURE__*/_react.default.forwardRef(({
51
47
  ...rest
52
48
  }, ref) => {
53
49
  const l = (0, _useLocale.default)();
54
-
55
- const theme = (0, _react.useContext)(_styledComponents.ThemeContext) || _themes.baseTheme;
56
-
57
50
  const tabIndex = tabbable && !disabled ? "0" : "-1";
58
51
 
59
52
  const handleOnKeyDown = ev => {
@@ -77,7 +70,7 @@ const Link = /*#__PURE__*/_react.default.forwardRef(({
77
70
  return hasProperAlignment ? /*#__PURE__*/_react.default.createElement(_icon.default, {
78
71
  type: icon,
79
72
  bgSize: "extra-small",
80
- color: theme.colors.primary,
73
+ color: "--colorsActionMajor500",
81
74
  disabled: disabled,
82
75
  ariaLabel: ariaLabel,
83
76
  tooltipMessage: tooltipMessage,
@@ -62,7 +62,7 @@ Pill.propTypes = {
62
62
  /** Change the color of a status pill. */
63
63
  colorVariant: _propTypes.default.oneOf(["neutral", "negative", "positive", "warning"]),
64
64
 
65
- /** Override color variant, provide any color from palette or any valid css color value. */
65
+ /** Override color variant, provide design token, any color from palette or any valid css color value. */
66
66
  borderColor: _propTypes.default.string,
67
67
 
68
68
  /** The content to display inside of the pill. */
@@ -21,6 +21,8 @@ var _icon = _interopRequireDefault(require("../icon/icon.style"));
21
21
 
22
22
  var _color = require("../../style/utils/color.js");
23
23
 
24
+ var _getColorValue = _interopRequireDefault(require("../../style/utils/get-color-value"));
25
+
24
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
27
 
26
28
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -57,8 +59,8 @@ const PillStyle = _styledComponents.default.span`
57
59
  try {
58
60
  if (borderColor) {
59
61
  pillColor = (0, _color.toColor)(theme, borderColor);
60
- buttonFocusColor = (0, _polished.shade)(0.2, pillColor);
61
- contentColor = (0, _polished.meetsContrastGuidelines)(pillColor, theme.compatibility.colorsUtilityYin090).AAA ? "var(--colorsUtilityYin090)" : "var(--colorsUtilityYang100)";
62
+ buttonFocusColor = (0, _polished.shade)(0.2, (0, _getColorValue.default)(pillColor));
63
+ contentColor = (0, _polished.meetsContrastGuidelines)((0, _getColorValue.default)(pillColor), theme.compatibility.colorsUtilityYin090).AAA ? "var(--colorsUtilityYin090)" : "var(--colorsUtilityYang100)";
62
64
  } else {
63
65
  const {
64
66
  varietyColor,
@@ -174,10 +174,10 @@ Portrait.propTypes = { ...marginPropTypes,
174
174
  /** Defines the size of the tooltip content */
175
175
  tooltipSize: _propTypes.default.oneOf(["medium", "large"]),
176
176
 
177
- /** Override background color of the Tooltip, provide any color from palette or any valid css color value. */
177
+ /** Override background color of the Tooltip, provide design token, any color from palette or any valid css color value. */
178
178
  tooltipBgColor: _propTypes.default.string,
179
179
 
180
- /** Override font color of the Tooltip, provide any color from palette or any valid css color value. */
180
+ /** Override font color of the Tooltip, provide design token, any color from palette or any valid css color value. */
181
181
  tooltipFontColor: _propTypes.default.string
182
182
  };
183
183
  Portrait.defaultProps = {
@@ -9,8 +9,6 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _base = _interopRequireDefault(require("../../style/themes/base"));
13
-
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
13
 
16
14
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
@@ -24,10 +22,9 @@ const ScrollableListItem = _styledComponents.default.li`
24
22
  cursor: pointer;
25
23
  `}
26
24
  ${({
27
- isSelected,
28
- theme
25
+ isSelected
29
26
  }) => isSelected && (0, _styledComponents.css)`
30
- background-color: ${theme.select.selected};
27
+ background-color: var(--colorsUtilityMajor025);
31
28
  `}
32
29
  box-sizing: content-box;
33
30
  padding: 5px 6px;
@@ -35,13 +32,11 @@ const ScrollableListItem = _styledComponents.default.li`
35
32
  `;
36
33
  ScrollableListItem.propTypes = {
37
34
  id: _propTypes.default.any,
38
- isSelected: _propTypes.default.bool,
39
- theme: _propTypes.default.object
35
+ isSelected: _propTypes.default.bool
40
36
  };
41
37
  ScrollableListItem.defaultProps = {
42
- isSelectable: true,
43
- // defaulted to true so it integrates with ScrollableList by default,
44
- theme: _base.default
38
+ isSelectable: true // defaulted to true so it integrates with ScrollableList by default,
39
+
45
40
  };
46
41
  var _default = ScrollableListItem;
47
42
  exports.default = _default;
@@ -124,10 +124,10 @@ Tooltip.propTypes = {
124
124
  // Reference element, tooltip will be positioned in relation to this element
125
125
  target: _propTypes.default.instanceOf(Element),
126
126
 
127
- /** Override background color of the Tooltip, provide any color from palette or any valid css color value. */
127
+ /** Override background color of the Tooltip, provide design token, any color from palette or any valid css color value. */
128
128
  bgColor: _propTypes.default.string,
129
129
 
130
- /** Override font color of the Tooltip, provide any color from palette or any valid css color value. */
130
+ /** Override font color of the Tooltip, provide design token, any color from palette or any valid css color value. */
131
131
  fontColor: _propTypes.default.string,
132
132
 
133
133
  /** @ignore @private */
@@ -7,6 +7,10 @@ exports.default = exports.toColor = void 0;
7
7
 
8
8
  var _styledSystem = require("styled-system");
9
9
 
10
+ var _common = _interopRequireDefault(require("@sage/design-tokens/js/base/common"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  // eslint-disable-next-line no-restricted-imports
11
15
 
12
16
  /*
@@ -29,6 +33,10 @@ var _styledSystem = require("styled-system");
29
33
  * This allows us to keep our themes as plain objects.
30
34
  */
31
35
  const toColor = (theme, color) => {
36
+ if (color.startsWith("--") && color.slice(2) in _common.default) {
37
+ return `var(${color})`;
38
+ }
39
+
32
40
  const {
33
41
  palette
34
42
  } = theme;
@@ -0,0 +1,2 @@
1
+ declare const _default: (color: string) => string;
2
+ export default _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _common = _interopRequireDefault(require("@sage/design-tokens/js/base/common"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = color => {
13
+ if (color.startsWith("var")) {
14
+ return _common.default[color.replace("var(--", "").replace(")", "")];
15
+ }
16
+
17
+ return color;
18
+ };
19
+
20
+ exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "104.48.1",
3
+ "version": "104.51.0",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "engineStrict": true,
6
6
  "engines": {