carbon-react 142.5.1 → 142.7.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 (23) hide show
  1. package/esm/components/breadcrumbs/__internal__/breadcrumbs.context.d.ts +6 -0
  2. package/esm/components/breadcrumbs/__internal__/breadcrumbs.context.js +5 -0
  3. package/esm/components/breadcrumbs/breadcrumbs.component.d.ts +2 -0
  4. package/esm/components/breadcrumbs/breadcrumbs.component.js +9 -2
  5. package/esm/components/breadcrumbs/crumb/crumb.component.js +20 -9
  6. package/esm/components/breadcrumbs/crumb/crumb.style.d.ts +6 -8
  7. package/esm/components/breadcrumbs/crumb/crumb.style.js +19 -12
  8. package/esm/components/menu/__internal__/menu.context.d.ts +1 -1
  9. package/esm/components/menu/__internal__/menu.context.js +0 -1
  10. package/esm/components/vertical-divider/vertical-divider.component.d.ts +6 -1
  11. package/esm/components/vertical-divider/vertical-divider.component.js +3 -1
  12. package/lib/components/breadcrumbs/__internal__/breadcrumbs.context.d.ts +6 -0
  13. package/lib/components/breadcrumbs/__internal__/breadcrumbs.context.js +12 -0
  14. package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +2 -0
  15. package/lib/components/breadcrumbs/breadcrumbs.component.js +9 -2
  16. package/lib/components/breadcrumbs/crumb/crumb.component.js +22 -9
  17. package/lib/components/breadcrumbs/crumb/crumb.style.d.ts +6 -8
  18. package/lib/components/breadcrumbs/crumb/crumb.style.js +19 -12
  19. package/lib/components/menu/__internal__/menu.context.d.ts +1 -1
  20. package/lib/components/menu/__internal__/menu.context.js +0 -1
  21. package/lib/components/vertical-divider/vertical-divider.component.d.ts +6 -1
  22. package/lib/components/vertical-divider/vertical-divider.component.js +3 -1
  23. package/package.json +1 -1
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare type BreadcrumbsContextType = {
3
+ isDarkBackground: boolean;
4
+ };
5
+ declare const BreadcrumbsContext: React.Context<BreadcrumbsContextType>;
6
+ export default BreadcrumbsContext;
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ const BreadcrumbsContext = /*#__PURE__*/React.createContext({
3
+ isDarkBackground: false
4
+ });
5
+ export default BreadcrumbsContext;
@@ -4,6 +4,8 @@ import { TagProps } from "../../__internal__/utils/helpers/tags";
4
4
  export interface BreadcrumbsProps extends TagProps, SpaceProps {
5
5
  /** Child crumbs to display */
6
6
  children: React.ReactNode;
7
+ /** Sets the colour styling when component is rendered on a dark background */
8
+ isDarkBackground?: boolean;
7
9
  }
8
10
  export declare const Breadcrumbs: React.ForwardRefExoticComponent<BreadcrumbsProps & React.RefAttributes<HTMLElement>>;
9
11
  export default Breadcrumbs;
@@ -4,17 +4,23 @@ import PropTypes from "prop-types";
4
4
  import tagComponent from "../../__internal__/utils/helpers/tags";
5
5
  import StyledBreadcrumbs from "./breadcrumbs.style";
6
6
  import useLocale from "../../hooks/__internal__/useLocale";
7
+ import BreadcrumbsContext from "./__internal__/breadcrumbs.context";
7
8
  const Breadcrumbs = /*#__PURE__*/React.forwardRef(({
8
9
  children,
10
+ isDarkBackground = false,
9
11
  ...rest
10
12
  }, ref) => {
11
13
  const l = useLocale();
12
- return /*#__PURE__*/React.createElement(StyledBreadcrumbs, _extends({
14
+ return /*#__PURE__*/React.createElement(BreadcrumbsContext.Provider, {
15
+ value: {
16
+ isDarkBackground
17
+ }
18
+ }, /*#__PURE__*/React.createElement(StyledBreadcrumbs, _extends({
13
19
  ref: ref,
14
20
  role: "navigation"
15
21
  }, tagComponent("breadcrumbs", rest), {
16
22
  "aria-label": l.breadcrumbs.ariaLabel()
17
- }, rest), /*#__PURE__*/React.createElement("ol", null, children));
23
+ }, rest), /*#__PURE__*/React.createElement("ol", null, children)));
18
24
  });
19
25
  if (process.env.NODE_ENV !== "production") {
20
26
  Breadcrumbs.propTypes = {
@@ -22,6 +28,7 @@ if (process.env.NODE_ENV !== "production") {
22
28
  "data-component": PropTypes.string,
23
29
  "data-element": PropTypes.string,
24
30
  "data-role": PropTypes.string,
31
+ "isDarkBackground": PropTypes.bool,
25
32
  "m": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.oneOf([null]), PropTypes.number, PropTypes.shape({
26
33
  "__@toStringTag": PropTypes.string.isRequired,
27
34
  "description": PropTypes.string,
@@ -1,22 +1,33 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
- import React from "react";
2
+ import React, { useContext } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import tagComponent from "../../../__internal__/utils/helpers/tags";
5
5
  import { StyledCrumb, Divider } from "./crumb.style";
6
+ import BreadcrumbsContext from "../__internal__/breadcrumbs.context";
6
7
  const Crumb = /*#__PURE__*/React.forwardRef(({
7
8
  href,
8
9
  isCurrent,
9
10
  children,
10
11
  onClick,
11
12
  ...rest
12
- }, ref) => /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(StyledCrumb, _extends({
13
- ref: ref,
14
- isCurrent: isCurrent,
15
- "aria-current": isCurrent ? "page" : undefined
16
- }, tagComponent("crumb", rest), rest, !isCurrent && {
17
- href,
18
- onClick
19
- }), children), !isCurrent && /*#__PURE__*/React.createElement(Divider, null)));
13
+ }, ref) => {
14
+ const {
15
+ isDarkBackground
16
+ } = useContext(BreadcrumbsContext);
17
+ return /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement(StyledCrumb, _extends({
18
+ ref: ref,
19
+ isCurrent: isCurrent,
20
+ "aria-current": isCurrent ? "page" : undefined,
21
+ isDarkBackground: isDarkBackground
22
+ }, tagComponent("crumb", rest), rest, !isCurrent && {
23
+ href,
24
+ onClick
25
+ }), children), !isCurrent && /*#__PURE__*/React.createElement(Divider, {
26
+ "data-role": "crumb-divider",
27
+ "aria-hidden": "true",
28
+ isDarkBackground: isDarkBackground
29
+ }));
30
+ });
20
31
  if (process.env.NODE_ENV !== "production") {
21
32
  Crumb.propTypes = {
22
33
  "aria-activedescendant": PropTypes.string,
@@ -2,17 +2,15 @@
2
2
  import { LinkProps } from "../../link";
3
3
  interface StyleCrumbProps extends LinkProps {
4
4
  isCurrent?: boolean;
5
+ isDarkBackground: boolean;
5
6
  }
6
7
  export declare const StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>, any, StyleCrumbProps, never>;
7
- export declare const Divider: import("styled-components").StyledComponent<"span", any, {
8
- children: "/";
9
- "aria-hidden": "true";
10
- }, "aria-hidden" | "children">;
8
+ interface DividerProps {
9
+ isDarkBackground: boolean;
10
+ }
11
+ export declare const Divider: import("styled-components").StyledComponent<"span", any, DividerProps, never>;
11
12
  declare const _default: {
12
13
  StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>, any, StyleCrumbProps, never>;
13
- Divider: import("styled-components").StyledComponent<"span", any, {
14
- children: "/";
15
- "aria-hidden": "true";
16
- }, "aria-hidden" | "children">;
14
+ Divider: import("styled-components").StyledComponent<"span", any, DividerProps, never>;
17
15
  };
18
16
  export default _default;
@@ -1,31 +1,38 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import Link from "../../link";
3
+ const getCurrentCrumbColor = isDarkBackground => {
4
+ return isDarkBackground ? "var(--colorsUtilityYang100)" : "var(--colorsUtilityYin090)";
5
+ };
3
6
  export const StyledCrumb = styled(Link)`
4
7
  font: var(--typographyLinkTextM);
5
8
  ${({
6
- isCurrent
9
+ isCurrent,
10
+ isDarkBackground
7
11
  }) => isCurrent && css`
8
12
  a {
9
- color: var(--colorsUtilityYin090);
13
+ color: ${getCurrentCrumbColor(isDarkBackground)};
10
14
  text-decoration: none;
11
15
  font: var(--typographyBreadcrumbCurrentPageM);
12
- cursor: text;
13
16
  :hover {
14
- color: var(--colorsUtilityYin090);
17
+ color: ${getCurrentCrumbColor(isDarkBackground)};
15
18
  text-decoration: none;
16
19
  cursor: text;
17
20
  }
18
21
  }
19
22
  `}
20
23
  `;
21
- export const Divider = styled.span.attrs({
22
- children: "/",
23
- "aria-hidden": "true"
24
- })`
25
- margin: 0px var(--spacing050) 0px var(--spacing100);
26
- line-height: 16px;
27
- font: var(--typographyBreadcrumbSeparatorM);
28
- color: var(--colorsUtilityYin055);
24
+ export const Divider = styled.span`
25
+ ::after {
26
+ content: "/";
27
+ margin: 0px var(--spacing050) 0px var(--spacing100);
28
+ line-height: 16px;
29
+ font: var(--typographyBreadcrumbSeparatorM);
30
+ ${({
31
+ isDarkBackground
32
+ }) => css`
33
+ color: ${isDarkBackground ? "var(--colorsUtilityYang100)" : "var(--colorsUtilityYin055)"};
34
+ `}
35
+ }
29
36
  `;
30
37
  export default {
31
38
  StyledCrumb,
@@ -3,7 +3,7 @@ export declare type MenuType = "light" | "dark" | "white" | "black";
3
3
  export interface MenuContextProps {
4
4
  menuType: MenuType;
5
5
  openSubmenuId: string | null;
6
- inMenu: boolean;
6
+ inMenu?: boolean;
7
7
  inFullscreenView?: boolean;
8
8
  setOpenSubmenuId: (id: string | null) => void;
9
9
  registerItem?: (id: string) => void;
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
2
  export default /*#__PURE__*/React.createContext({
3
3
  menuType: "light",
4
- inMenu: false,
5
4
  openSubmenuId: null,
6
5
  setOpenSubmenuId: /* istanbul ignore next */() => {}
7
6
  });
@@ -12,9 +12,14 @@ export interface VerticalDividerProps extends SpaceProps {
12
12
  displayInline?: boolean;
13
13
  /** Custom tint of the divider, the supported rage is 1-100 */
14
14
  tint?: TintRange;
15
+ /**
16
+ * Set the divider to be hidden from screen readers.
17
+ * Please note that this cannot be overridden when inside a Menu.
18
+ * */
19
+ "aria-hidden"?: boolean;
15
20
  }
16
21
  export declare const VerticalDivider: {
17
- ({ h, height, displayInline, tint, ...props }: VerticalDividerProps): JSX.Element;
22
+ ({ h, height, displayInline, tint, "aria-hidden": ariaHidden, ...props }: VerticalDividerProps): JSX.Element;
18
23
  displayName: string;
19
24
  };
20
25
  export default VerticalDivider;
@@ -8,6 +8,7 @@ const VerticalDivider = ({
8
8
  height,
9
9
  displayInline = false,
10
10
  tint = 80,
11
+ "aria-hidden": ariaHidden,
11
12
  ...props
12
13
  }) => {
13
14
  const {
@@ -21,7 +22,7 @@ const VerticalDivider = ({
21
22
  displayInline: displayInline
22
23
  }, props, {
23
24
  as: inMenu ? "li" : "div",
24
- "aria-hidden": !!inMenu
25
+ "aria-hidden": inMenu ?? ariaHidden
25
26
  }), /*#__PURE__*/React.createElement(StyledDivider, {
26
27
  "data-role": "divider",
27
28
  tint: tint
@@ -29,6 +30,7 @@ const VerticalDivider = ({
29
30
  };
30
31
  if (process.env.NODE_ENV !== "production") {
31
32
  VerticalDivider.propTypes = {
33
+ "aria-hidden": PropTypes.bool,
32
34
  "displayInline": PropTypes.bool,
33
35
  "h": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
34
36
  "height": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export declare type BreadcrumbsContextType = {
3
+ isDarkBackground: boolean;
4
+ };
5
+ declare const BreadcrumbsContext: React.Context<BreadcrumbsContextType>;
6
+ export default BreadcrumbsContext;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const BreadcrumbsContext = /*#__PURE__*/_react.default.createContext({
10
+ isDarkBackground: false
11
+ });
12
+ var _default = exports.default = BreadcrumbsContext;
@@ -4,6 +4,8 @@ import { TagProps } from "../../__internal__/utils/helpers/tags";
4
4
  export interface BreadcrumbsProps extends TagProps, SpaceProps {
5
5
  /** Child crumbs to display */
6
6
  children: React.ReactNode;
7
+ /** Sets the colour styling when component is rendered on a dark background */
8
+ isDarkBackground?: boolean;
7
9
  }
8
10
  export declare const Breadcrumbs: React.ForwardRefExoticComponent<BreadcrumbsProps & React.RefAttributes<HTMLElement>>;
9
11
  export default Breadcrumbs;
@@ -9,19 +9,25 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags"));
10
10
  var _breadcrumbs = _interopRequireDefault(require("./breadcrumbs.style"));
11
11
  var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
12
+ var _breadcrumbs2 = _interopRequireDefault(require("./__internal__/breadcrumbs.context"));
12
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
14
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
15
  const Breadcrumbs = exports.Breadcrumbs = /*#__PURE__*/_react.default.forwardRef(({
15
16
  children,
17
+ isDarkBackground = false,
16
18
  ...rest
17
19
  }, ref) => {
18
20
  const l = (0, _useLocale.default)();
19
- return /*#__PURE__*/_react.default.createElement(_breadcrumbs.default, _extends({
21
+ return /*#__PURE__*/_react.default.createElement(_breadcrumbs2.default.Provider, {
22
+ value: {
23
+ isDarkBackground
24
+ }
25
+ }, /*#__PURE__*/_react.default.createElement(_breadcrumbs.default, _extends({
20
26
  ref: ref,
21
27
  role: "navigation"
22
28
  }, (0, _tags.default)("breadcrumbs", rest), {
23
29
  "aria-label": l.breadcrumbs.ariaLabel()
24
- }, rest), /*#__PURE__*/_react.default.createElement("ol", null, children));
30
+ }, rest), /*#__PURE__*/_react.default.createElement("ol", null, children)));
25
31
  });
26
32
  if (process.env.NODE_ENV !== "production") {
27
33
  Breadcrumbs.propTypes = {
@@ -29,6 +35,7 @@ if (process.env.NODE_ENV !== "production") {
29
35
  "data-component": _propTypes.default.string,
30
36
  "data-element": _propTypes.default.string,
31
37
  "data-role": _propTypes.default.string,
38
+ "isDarkBackground": _propTypes.default.bool,
32
39
  "m": _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.oneOf([null]), _propTypes.default.number, _propTypes.default.shape({
33
40
  "__@toStringTag": _propTypes.default.string.isRequired,
34
41
  "description": _propTypes.default.string,
@@ -4,11 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _tags = _interopRequireDefault(require("../../../__internal__/utils/helpers/tags"));
10
10
  var _crumb = require("./crumb.style");
11
+ var _breadcrumbs = _interopRequireDefault(require("../__internal__/breadcrumbs.context"));
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
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; }
12
15
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
16
  const Crumb = /*#__PURE__*/_react.default.forwardRef(({
14
17
  href,
@@ -16,14 +19,24 @@ const Crumb = /*#__PURE__*/_react.default.forwardRef(({
16
19
  children,
17
20
  onClick,
18
21
  ...rest
19
- }, ref) => /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_crumb.StyledCrumb, _extends({
20
- ref: ref,
21
- isCurrent: isCurrent,
22
- "aria-current": isCurrent ? "page" : undefined
23
- }, (0, _tags.default)("crumb", rest), rest, !isCurrent && {
24
- href,
25
- onClick
26
- }), children), !isCurrent && /*#__PURE__*/_react.default.createElement(_crumb.Divider, null)));
22
+ }, ref) => {
23
+ const {
24
+ isDarkBackground
25
+ } = (0, _react.useContext)(_breadcrumbs.default);
26
+ return /*#__PURE__*/_react.default.createElement("li", null, /*#__PURE__*/_react.default.createElement(_crumb.StyledCrumb, _extends({
27
+ ref: ref,
28
+ isCurrent: isCurrent,
29
+ "aria-current": isCurrent ? "page" : undefined,
30
+ isDarkBackground: isDarkBackground
31
+ }, (0, _tags.default)("crumb", rest), rest, !isCurrent && {
32
+ href,
33
+ onClick
34
+ }), children), !isCurrent && /*#__PURE__*/_react.default.createElement(_crumb.Divider, {
35
+ "data-role": "crumb-divider",
36
+ "aria-hidden": "true",
37
+ isDarkBackground: isDarkBackground
38
+ }));
39
+ });
27
40
  if (process.env.NODE_ENV !== "production") {
28
41
  Crumb.propTypes = {
29
42
  "aria-activedescendant": _propTypes.default.string,
@@ -2,17 +2,15 @@
2
2
  import { LinkProps } from "../../link";
3
3
  interface StyleCrumbProps extends LinkProps {
4
4
  isCurrent?: boolean;
5
+ isDarkBackground: boolean;
5
6
  }
6
7
  export declare const StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>, any, StyleCrumbProps, never>;
7
- export declare const Divider: import("styled-components").StyledComponent<"span", any, {
8
- children: "/";
9
- "aria-hidden": "true";
10
- }, "aria-hidden" | "children">;
8
+ interface DividerProps {
9
+ isDarkBackground: boolean;
10
+ }
11
+ export declare const Divider: import("styled-components").StyledComponent<"span", any, DividerProps, never>;
11
12
  declare const _default: {
12
13
  StyledCrumb: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<LinkProps & import("react").RefAttributes<HTMLButtonElement | HTMLLinkElement>>, any, StyleCrumbProps, never>;
13
- Divider: import("styled-components").StyledComponent<"span", any, {
14
- children: "/";
15
- "aria-hidden": "true";
16
- }, "aria-hidden" | "children">;
14
+ Divider: import("styled-components").StyledComponent<"span", any, DividerProps, never>;
17
15
  };
18
16
  export default _default;
@@ -9,32 +9,39 @@ var _link = _interopRequireDefault(require("../../link"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  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); }
11
11
  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; }
12
+ const getCurrentCrumbColor = isDarkBackground => {
13
+ return isDarkBackground ? "var(--colorsUtilityYang100)" : "var(--colorsUtilityYin090)";
14
+ };
12
15
  const StyledCrumb = exports.StyledCrumb = (0, _styledComponents.default)(_link.default)`
13
16
  font: var(--typographyLinkTextM);
14
17
  ${({
15
- isCurrent
18
+ isCurrent,
19
+ isDarkBackground
16
20
  }) => isCurrent && (0, _styledComponents.css)`
17
21
  a {
18
- color: var(--colorsUtilityYin090);
22
+ color: ${getCurrentCrumbColor(isDarkBackground)};
19
23
  text-decoration: none;
20
24
  font: var(--typographyBreadcrumbCurrentPageM);
21
- cursor: text;
22
25
  :hover {
23
- color: var(--colorsUtilityYin090);
26
+ color: ${getCurrentCrumbColor(isDarkBackground)};
24
27
  text-decoration: none;
25
28
  cursor: text;
26
29
  }
27
30
  }
28
31
  `}
29
32
  `;
30
- const Divider = exports.Divider = _styledComponents.default.span.attrs({
31
- children: "/",
32
- "aria-hidden": "true"
33
- })`
34
- margin: 0px var(--spacing050) 0px var(--spacing100);
35
- line-height: 16px;
36
- font: var(--typographyBreadcrumbSeparatorM);
37
- color: var(--colorsUtilityYin055);
33
+ const Divider = exports.Divider = _styledComponents.default.span`
34
+ ::after {
35
+ content: "/";
36
+ margin: 0px var(--spacing050) 0px var(--spacing100);
37
+ line-height: 16px;
38
+ font: var(--typographyBreadcrumbSeparatorM);
39
+ ${({
40
+ isDarkBackground
41
+ }) => (0, _styledComponents.css)`
42
+ color: ${isDarkBackground ? "var(--colorsUtilityYang100)" : "var(--colorsUtilityYin055)"};
43
+ `}
44
+ }
38
45
  `;
39
46
  var _default = exports.default = {
40
47
  StyledCrumb,
@@ -3,7 +3,7 @@ export declare type MenuType = "light" | "dark" | "white" | "black";
3
3
  export interface MenuContextProps {
4
4
  menuType: MenuType;
5
5
  openSubmenuId: string | null;
6
- inMenu: boolean;
6
+ inMenu?: boolean;
7
7
  inFullscreenView?: boolean;
8
8
  setOpenSubmenuId: (id: string | null) => void;
9
9
  registerItem?: (id: string) => void;
@@ -8,7 +8,6 @@ var _react = _interopRequireDefault(require("react"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  var _default = exports.default = /*#__PURE__*/_react.default.createContext({
10
10
  menuType: "light",
11
- inMenu: false,
12
11
  openSubmenuId: null,
13
12
  setOpenSubmenuId: /* istanbul ignore next */() => {}
14
13
  });
@@ -12,9 +12,14 @@ export interface VerticalDividerProps extends SpaceProps {
12
12
  displayInline?: boolean;
13
13
  /** Custom tint of the divider, the supported rage is 1-100 */
14
14
  tint?: TintRange;
15
+ /**
16
+ * Set the divider to be hidden from screen readers.
17
+ * Please note that this cannot be overridden when inside a Menu.
18
+ * */
19
+ "aria-hidden"?: boolean;
15
20
  }
16
21
  export declare const VerticalDivider: {
17
- ({ h, height, displayInline, tint, ...props }: VerticalDividerProps): JSX.Element;
22
+ ({ h, height, displayInline, tint, "aria-hidden": ariaHidden, ...props }: VerticalDividerProps): JSX.Element;
18
23
  displayName: string;
19
24
  };
20
25
  export default VerticalDivider;
@@ -17,6 +17,7 @@ const VerticalDivider = ({
17
17
  height,
18
18
  displayInline = false,
19
19
  tint = 80,
20
+ "aria-hidden": ariaHidden,
20
21
  ...props
21
22
  }) => {
22
23
  const {
@@ -30,7 +31,7 @@ const VerticalDivider = ({
30
31
  displayInline: displayInline
31
32
  }, props, {
32
33
  as: inMenu ? "li" : "div",
33
- "aria-hidden": !!inMenu
34
+ "aria-hidden": inMenu ?? ariaHidden
34
35
  }), /*#__PURE__*/_react.default.createElement(_verticalDivider.StyledDivider, {
35
36
  "data-role": "divider",
36
37
  tint: tint
@@ -39,6 +40,7 @@ const VerticalDivider = ({
39
40
  exports.VerticalDivider = VerticalDivider;
40
41
  if (process.env.NODE_ENV !== "production") {
41
42
  VerticalDivider.propTypes = {
43
+ "aria-hidden": _propTypes.default.bool,
42
44
  "displayInline": _propTypes.default.bool,
43
45
  "h": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
44
46
  "height": _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "142.5.1",
3
+ "version": "142.7.0",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",