carbon-react 153.5.0 → 153.5.2

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 (27) hide show
  1. package/esm/components/loader/loader-square.style.d.ts +1 -0
  2. package/esm/components/loader/loader-square.style.js +4 -5
  3. package/esm/components/loader/loader.component.js +7 -4
  4. package/esm/components/loader-bar/loader-bar.component.d.ts +1 -1
  5. package/esm/components/loader-bar/loader-bar.component.js +6 -3
  6. package/esm/components/loader-spinner/loader-spinner.component.d.ts +1 -1
  7. package/esm/components/loader-spinner/loader-spinner.component.js +6 -3
  8. package/esm/components/loader-star/loader-star.component.d.ts +1 -1
  9. package/esm/components/loader-star/loader-star.component.js +6 -3
  10. package/esm/components/note/note.style.js +21 -16
  11. package/esm/components/text-editor/text-editor.style.js +18 -0
  12. package/esm/hooks/useMediaQuery/useMediaQuery.d.ts +1 -1
  13. package/esm/hooks/useMediaQuery/useMediaQuery.js +12 -7
  14. package/lib/components/loader/loader-square.style.d.ts +1 -0
  15. package/lib/components/loader/loader-square.style.js +5 -6
  16. package/lib/components/loader/loader.component.js +9 -4
  17. package/lib/components/loader-bar/loader-bar.component.d.ts +1 -1
  18. package/lib/components/loader-bar/loader-bar.component.js +6 -3
  19. package/lib/components/loader-spinner/loader-spinner.component.d.ts +1 -1
  20. package/lib/components/loader-spinner/loader-spinner.component.js +6 -3
  21. package/lib/components/loader-star/loader-star.component.d.ts +1 -1
  22. package/lib/components/loader-star/loader-star.component.js +6 -3
  23. package/lib/components/note/note.style.js +21 -16
  24. package/lib/components/text-editor/text-editor.style.js +18 -0
  25. package/lib/hooks/useMediaQuery/useMediaQuery.d.ts +1 -1
  26. package/lib/hooks/useMediaQuery/useMediaQuery.js +12 -8
  27. package/package.json +1 -1
@@ -8,5 +8,6 @@ export interface StyledLoaderSquareProps {
8
8
  /** The background color of each loader square */
9
9
  backgroundColor?: string;
10
10
  }
11
+ export declare const StyledLoaderPlaceholder: import("styled-components").StyledComponent<"div", any, {}, never>;
11
12
  declare const StyledLoaderSquare: import("styled-components").StyledComponent<"div", any, StyledLoaderSquareProps, never>;
12
13
  export default StyledLoaderSquare;
@@ -32,6 +32,10 @@ const getDimensions = size => {
32
32
  margin-right: ${marginRight};
33
33
  `;
34
34
  };
35
+ export const StyledLoaderPlaceholder = styled.div`
36
+ display: inline-block;
37
+ min-width: var(--sizing800);
38
+ `;
35
39
  const StyledLoaderSquare = styled.div`
36
40
  ${({
37
41
  size,
@@ -44,19 +48,15 @@ const StyledLoaderSquare = styled.div`
44
48
  display: inline-block;
45
49
  ${getDimensions(size)}
46
50
  border-radius: var(--borderRadiusCircle);
47
-
48
51
  ${isInsideButton && css`
49
52
  background-color: ${isActive ? "var(--colorsUtilityYang100)" : "var(--colorsSemanticNeutral500)"};
50
53
  `}
51
-
52
54
  &:nth-of-type(1) {
53
55
  animation-delay: 0s;
54
56
  }
55
-
56
57
  &:nth-of-type(2) {
57
58
  animation-delay: 0.2s;
58
59
  }
59
-
60
60
  &:nth-of-type(3) {
61
61
  animation-delay: 0.4s;
62
62
  margin-right: 0px;
@@ -64,7 +64,6 @@ const StyledLoaderSquare = styled.div`
64
64
  `}
65
65
  `;
66
66
  StyledLoaderSquare.defaultProps = {
67
- size: "small",
68
67
  isInsideButton: false,
69
68
  isActive: true,
70
69
  theme: baseTheme
@@ -5,7 +5,7 @@ import useMediaQuery from "../../hooks/useMediaQuery";
5
5
  import useLocale from "../../hooks/__internal__/useLocale";
6
6
  import tagComponent from "../../__internal__/utils/helpers/tags/tags";
7
7
  import StyledLoader from "./loader.style";
8
- import StyledLoaderSquare from "./loader-square.style";
8
+ import StyledLoaderSquare, { StyledLoaderPlaceholder } from "./loader-square.style";
9
9
  import Typography from "../typography";
10
10
  import Logger from "../../__internal__/utils/logger";
11
11
  let deprecateAriaLabelWarnTriggered = false;
@@ -23,7 +23,10 @@ export const Loader = ({
23
23
  Logger.deprecate("The aria-label prop in Loader is deprecated and will soon be removed, please use the `loaderLabel` prop instead to provide an accessible label.");
24
24
  }
25
25
  const l = useLocale();
26
- const reduceMotion = !useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
26
+ const allowMotion = useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
27
+ if (allowMotion === undefined) {
28
+ return /*#__PURE__*/React.createElement(StyledLoaderPlaceholder, null);
29
+ }
27
30
  const loaderSquareProps = {
28
31
  isInsideButton,
29
32
  isActive,
@@ -32,7 +35,7 @@ export const Loader = ({
32
35
  };
33
36
 
34
37
  // FE-6368 has been raised for the below, changed hex values for design tokens (when added)
35
- return /*#__PURE__*/React.createElement(StyledLoader, _extends({}, tagComponent("loader", rest), filterStyledSystemMarginProps(rest)), reduceMotion ? loaderLabel || ariaLabel || l.loader.loading() : /*#__PURE__*/React.createElement(React.Fragment, null, ["#13A038", "#0092DB", "#8F49FE"].map(color => /*#__PURE__*/React.createElement(StyledLoaderSquare, _extends({
38
+ return /*#__PURE__*/React.createElement(StyledLoader, _extends({}, tagComponent("loader", rest), filterStyledSystemMarginProps(rest)), allowMotion ? /*#__PURE__*/React.createElement(React.Fragment, null, ["#13A038", "#0092DB", "#8F49FE"].map(color => /*#__PURE__*/React.createElement(StyledLoaderSquare, _extends({
36
39
  "data-role": "loader-square",
37
40
  key: color,
38
41
  backgroundColor: variant === "gradient" ? /* istanbul ignore next */color : "var(--colorsActionMajor500)"
@@ -40,6 +43,6 @@ export const Loader = ({
40
43
  "data-role": "hidden-label",
41
44
  variant: "span",
42
45
  screenReaderOnly: true
43
- }, loaderLabel || ariaLabel || l.loader.loading())));
46
+ }, loaderLabel || ariaLabel || l.loader.loading())) : loaderLabel || ariaLabel || l.loader.loading());
44
47
  };
45
48
  export default Loader;
@@ -5,7 +5,7 @@ import { StyledLoaderBarProps } from "./loader-bar.style";
5
5
  export interface LoaderBarProps extends StyledLoaderBarProps, MarginProps, TagProps {
6
6
  }
7
7
  export declare const LoaderBar: {
8
- ({ size, ...rest }: LoaderBarProps): React.JSX.Element;
8
+ ({ size, ...rest }: LoaderBarProps): React.JSX.Element | null;
9
9
  DisplayName: string;
10
10
  };
11
11
  export default LoaderBar;
@@ -10,17 +10,20 @@ export const LoaderBar = ({
10
10
  ...rest
11
11
  }) => {
12
12
  const l = useLocale();
13
- const reduceMotion = !useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
13
+ const allowMotion = useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
14
+ if (allowMotion === undefined) {
15
+ return null;
16
+ }
14
17
  return /*#__PURE__*/React.createElement(StyledLoader, _extends({
15
18
  "aria-label": l.loader.loading(),
16
19
  role: "progressbar"
17
- }, tagComponent("loader-bar", rest), filterStyledSystemMarginProps(rest)), reduceMotion ? l.loader.loading() : /*#__PURE__*/React.createElement(StyledLoaderBar, {
20
+ }, tagComponent("loader-bar", rest), filterStyledSystemMarginProps(rest)), allowMotion ? /*#__PURE__*/React.createElement(StyledLoaderBar, {
18
21
  "data-role": "outer-bar",
19
22
  size: size
20
23
  }, /*#__PURE__*/React.createElement(InnerBar, {
21
24
  "data-role": "inner-bar",
22
25
  size: size
23
- })));
26
+ })) : l.loader.loading());
24
27
  };
25
28
  LoaderBar.DisplayName = "Loader Bar";
26
29
  export default LoaderBar;
@@ -37,5 +37,5 @@ export interface LoaderSpinnerProps extends MarginProps, TagProps {
37
37
  */
38
38
  animationTime?: number;
39
39
  }
40
- export declare const LoaderSpinner: ({ spinnerLabel, size, showSpinnerLabel, variant, isTracked, hasMotion, animationTime, ...rest }: LoaderSpinnerProps) => React.JSX.Element;
40
+ export declare const LoaderSpinner: ({ spinnerLabel, size, showSpinnerLabel, variant, isTracked, hasMotion, animationTime, ...rest }: LoaderSpinnerProps) => React.JSX.Element | null;
41
41
  export default LoaderSpinner;
@@ -17,7 +17,10 @@ export const LoaderSpinner = ({
17
17
  ...rest
18
18
  }) => {
19
19
  const locale = useLocale();
20
- const reduceMotion = !useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
20
+ const allowMotion = useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
21
+ if (allowMotion === undefined) {
22
+ return null;
23
+ }
21
24
  const isLabelDark = variant !== "inverse" && variant !== "gradient-white";
22
25
  const renderSpinnerLabel = /*#__PURE__*/React.createElement(StyledLabel, {
23
26
  "data-role": "visible-label",
@@ -38,7 +41,7 @@ export const LoaderSpinner = ({
38
41
  return /*#__PURE__*/React.createElement(StyledSpinnerWrapper, _extends({
39
42
  size: size,
40
43
  role: "status"
41
- }, tagComponent("loader-spinner", rest), filterStyledSystemMarginProps(rest)), reduceMotion ? renderSpinnerLabel : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledSpinnerCircleSvg, {
44
+ }, tagComponent("loader-spinner", rest), filterStyledSystemMarginProps(rest)), allowMotion ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledSpinnerCircleSvg, {
42
45
  role: "presentation",
43
46
  size: size,
44
47
  variant: variant,
@@ -55,6 +58,6 @@ export const LoaderSpinner = ({
55
58
  "data-role": "hidden-label",
56
59
  variant: "span",
57
60
  screenReaderOnly: true
58
- }, spinnerLabel || locale.loaderSpinner.loading())));
61
+ }, spinnerLabel || locale.loaderSpinner.loading())) : renderSpinnerLabel);
59
62
  };
60
63
  export default LoaderSpinner;
@@ -8,7 +8,7 @@ export interface LoaderStarProps extends TagProps {
8
8
  loaderStarLabel?: string;
9
9
  }
10
10
  declare const LoaderStar: {
11
- ({ loaderStarLabel, ...rest }: LoaderStarProps): JSX.Element;
11
+ ({ loaderStarLabel, ...rest }: LoaderStarProps): JSX.Element | null;
12
12
  displayName: string;
13
13
  };
14
14
  export default LoaderStar;
@@ -11,7 +11,10 @@ const LoaderStar = ({
11
11
  ...rest
12
12
  }) => {
13
13
  const locale = useLocale();
14
- const reduceMotion = !useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
14
+ const allowMotion = useMediaQuery("screen and (prefers-reduced-motion: no-preference)");
15
+ if (allowMotion === undefined) {
16
+ return null;
17
+ }
15
18
  const label = /*#__PURE__*/React.createElement(StyledLabel, {
16
19
  "data-role": "visible-label",
17
20
  variant: "span",
@@ -19,7 +22,7 @@ const LoaderStar = ({
19
22
  }, loaderStarLabel || locale.loaderStar.loading());
20
23
  return /*#__PURE__*/React.createElement(StyledLoaderStarWrapper, _extends({
21
24
  role: "status"
22
- }, tagComponent("loader-star", rest)), reduceMotion ? label : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledStars, null, /*#__PURE__*/React.createElement(Star, {
25
+ }, tagComponent("loader-star", rest)), allowMotion ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledStars, null, /*#__PURE__*/React.createElement(Star, {
23
26
  starContainerClassName: "star-1",
24
27
  gradientId: "gradient1"
25
28
  }), /*#__PURE__*/React.createElement(Star, {
@@ -32,7 +35,7 @@ const LoaderStar = ({
32
35
  "data-role": "hidden-label",
33
36
  variant: "span",
34
37
  screenReaderOnly: true
35
- }, loaderStarLabel || locale.loaderStar.loading())));
38
+ }, loaderStarLabel || locale.loaderStar.loading())) : label);
36
39
  };
37
40
  LoaderStar.displayName = "LoaderStar";
38
41
  export default LoaderStar;
@@ -9,26 +9,31 @@ const StyledNoteContent = styled.div`
9
9
 
10
10
  ${({
11
11
  hasPreview
12
- }) => css`
13
- div.DraftEditor-root {
14
- min-height: inherit;
15
- }
12
+ }) => hasPreview && css`
13
+ margin-top: var(--spacing200);
14
+ `}
16
15
 
17
- div.DraftEditor-editorContainer,
18
- div.public-DraftEditor-content {
19
- min-height: inherit;
20
- background-color: var(--colorsUtilityYang100);
21
- line-height: 21px;
22
- }
16
+ &:last-of-type:not(:first-of-type) {
17
+ border-top: solid 1px var(--colorsUtilityMajor050);
18
+ }
23
19
 
24
- &:last-of-type:not(:first-of-type) {
25
- border-top: solid 1px var(--colorsUtilityMajor050);
20
+ a:not([data-component="link-preview"]) {
21
+ color: var(--colorsActionMajor500);
22
+
23
+ &:hover {
24
+ cursor: pointer;
25
+ color: var(--colorsActionMajor600);
26
26
  }
27
27
 
28
- ${hasPreview && `
29
- margin-top: var(--spacing200);
30
- `}
31
- `}
28
+ &:focus {
29
+ outline: none;
30
+ text-decoration: none;
31
+ color: var(--colorsActionMajorYin090);
32
+ background-color: var(--colorsSemanticFocus250);
33
+ border-radius: var(--borderRadius025);
34
+ box-shadow: 0 var(--spacing050) 0 0 var(--colorsUtilityYin090);
35
+ }
36
+ }
32
37
  `;
33
38
  const StyledNoteMain = styled.div`
34
39
  display: flex;
@@ -38,6 +38,24 @@ export const StyledWrapper = styled.div`
38
38
  }
39
39
  `}
40
40
  `};
41
+
42
+ a:not([data-component="link-preview"]) {
43
+ color: var(--colorsActionMajor500);
44
+ cursor: pointer;
45
+
46
+ &:hover {
47
+ color: var(--colorsActionMajor600);
48
+ }
49
+
50
+ &:focus {
51
+ outline: none;
52
+ text-decoration: none;
53
+ color: var(--colorsActionMajorYin090);
54
+ background-color: var(--colorsSemanticFocus250);
55
+ border-radius: var(--borderRadius025);
56
+ box-shadow: 0 var(--spacing050) 0 0 var(--colorsUtilityYin090);
57
+ }
58
+ }
41
59
  `;
42
60
  export const StyledEditorToolbarWrapper = styled.div`
43
61
  ${({
@@ -1 +1 @@
1
- export default function useMediaQuery(queryInput: string): boolean;
1
+ export default function useMediaQuery(queryInput: string): boolean | undefined;
@@ -1,12 +1,17 @@
1
- import React from "react";
1
+ import { useLayoutEffect, useState } from "react";
2
+ import { getWindow } from "../../__internal__/dom/globals";
2
3
  export default function useMediaQuery(queryInput) {
3
4
  const query = queryInput.replace(/^@media( ?)/m, "");
4
- const [match, setMatch] = React.useState(() => false);
5
- React.useEffect(() => {
6
- const queryList = window.matchMedia(query);
7
- const updateMatch = () => {
8
- setMatch(queryList.matches);
9
- };
5
+ const [match, setMatch] = useState(undefined);
6
+ useLayoutEffect(() => {
7
+ const browserWindow = getWindow();
8
+
9
+ /* istanbul ignore if */
10
+ if (!browserWindow) {
11
+ return undefined;
12
+ }
13
+ const queryList = browserWindow.matchMedia(query);
14
+ const updateMatch = () => setMatch(queryList.matches);
10
15
  updateMatch();
11
16
  queryList.addEventListener("change", updateMatch);
12
17
  return () => {
@@ -8,5 +8,6 @@ export interface StyledLoaderSquareProps {
8
8
  /** The background color of each loader square */
9
9
  backgroundColor?: string;
10
10
  }
11
+ export declare const StyledLoaderPlaceholder: import("styled-components").StyledComponent<"div", any, {}, never>;
11
12
  declare const StyledLoaderSquare: import("styled-components").StyledComponent<"div", any, StyledLoaderSquareProps, never>;
12
13
  export default StyledLoaderSquare;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.default = exports.StyledLoaderPlaceholder = void 0;
7
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
8
  var _base = _interopRequireDefault(require("../../style/themes/base"));
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -41,6 +41,10 @@ const getDimensions = size => {
41
41
  margin-right: ${marginRight};
42
42
  `;
43
43
  };
44
+ const StyledLoaderPlaceholder = exports.StyledLoaderPlaceholder = _styledComponents.default.div`
45
+ display: inline-block;
46
+ min-width: var(--sizing800);
47
+ `;
44
48
  const StyledLoaderSquare = _styledComponents.default.div`
45
49
  ${({
46
50
  size,
@@ -53,19 +57,15 @@ const StyledLoaderSquare = _styledComponents.default.div`
53
57
  display: inline-block;
54
58
  ${getDimensions(size)}
55
59
  border-radius: var(--borderRadiusCircle);
56
-
57
60
  ${isInsideButton && (0, _styledComponents.css)`
58
61
  background-color: ${isActive ? "var(--colorsUtilityYang100)" : "var(--colorsSemanticNeutral500)"};
59
62
  `}
60
-
61
63
  &:nth-of-type(1) {
62
64
  animation-delay: 0s;
63
65
  }
64
-
65
66
  &:nth-of-type(2) {
66
67
  animation-delay: 0.2s;
67
68
  }
68
-
69
69
  &:nth-of-type(3) {
70
70
  animation-delay: 0.4s;
71
71
  margin-right: 0px;
@@ -73,7 +73,6 @@ const StyledLoaderSquare = _styledComponents.default.div`
73
73
  `}
74
74
  `;
75
75
  StyledLoaderSquare.defaultProps = {
76
- size: "small",
77
76
  isInsideButton: false,
78
77
  isActive: true,
79
78
  theme: _base.default
@@ -10,9 +10,11 @@ var _useMediaQuery = _interopRequireDefault(require("../../hooks/useMediaQuery")
10
10
  var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
11
11
  var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
12
12
  var _loader = _interopRequireDefault(require("./loader.style"));
13
- var _loaderSquare = _interopRequireDefault(require("./loader-square.style"));
13
+ var _loaderSquare = _interopRequireWildcard(require("./loader-square.style"));
14
14
  var _typography = _interopRequireDefault(require("../typography"));
15
15
  var _logger = _interopRequireDefault(require("../../__internal__/utils/logger"));
16
+ 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); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
19
  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); }
18
20
  let deprecateAriaLabelWarnTriggered = false;
@@ -30,7 +32,10 @@ const Loader = ({
30
32
  _logger.default.deprecate("The aria-label prop in Loader is deprecated and will soon be removed, please use the `loaderLabel` prop instead to provide an accessible label.");
31
33
  }
32
34
  const l = (0, _useLocale.default)();
33
- const reduceMotion = !(0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
35
+ const allowMotion = (0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
36
+ if (allowMotion === undefined) {
37
+ return /*#__PURE__*/_react.default.createElement(_loaderSquare.StyledLoaderPlaceholder, null);
38
+ }
34
39
  const loaderSquareProps = {
35
40
  isInsideButton,
36
41
  isActive,
@@ -39,7 +44,7 @@ const Loader = ({
39
44
  };
40
45
 
41
46
  // FE-6368 has been raised for the below, changed hex values for design tokens (when added)
42
- return /*#__PURE__*/_react.default.createElement(_loader.default, _extends({}, (0, _tags.default)("loader", rest), (0, _utils.filterStyledSystemMarginProps)(rest)), reduceMotion ? loaderLabel || ariaLabel || l.loader.loading() : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ["#13A038", "#0092DB", "#8F49FE"].map(color => /*#__PURE__*/_react.default.createElement(_loaderSquare.default, _extends({
47
+ return /*#__PURE__*/_react.default.createElement(_loader.default, _extends({}, (0, _tags.default)("loader", rest), (0, _utils.filterStyledSystemMarginProps)(rest)), allowMotion ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, ["#13A038", "#0092DB", "#8F49FE"].map(color => /*#__PURE__*/_react.default.createElement(_loaderSquare.default, _extends({
43
48
  "data-role": "loader-square",
44
49
  key: color,
45
50
  backgroundColor: variant === "gradient" ? /* istanbul ignore next */color : "var(--colorsActionMajor500)"
@@ -47,7 +52,7 @@ const Loader = ({
47
52
  "data-role": "hidden-label",
48
53
  variant: "span",
49
54
  screenReaderOnly: true
50
- }, loaderLabel || ariaLabel || l.loader.loading())));
55
+ }, loaderLabel || ariaLabel || l.loader.loading())) : loaderLabel || ariaLabel || l.loader.loading());
51
56
  };
52
57
  exports.Loader = Loader;
53
58
  var _default = exports.default = Loader;
@@ -5,7 +5,7 @@ import { StyledLoaderBarProps } from "./loader-bar.style";
5
5
  export interface LoaderBarProps extends StyledLoaderBarProps, MarginProps, TagProps {
6
6
  }
7
7
  export declare const LoaderBar: {
8
- ({ size, ...rest }: LoaderBarProps): React.JSX.Element;
8
+ ({ size, ...rest }: LoaderBarProps): React.JSX.Element | null;
9
9
  DisplayName: string;
10
10
  };
11
11
  export default LoaderBar;
@@ -19,17 +19,20 @@ const LoaderBar = ({
19
19
  ...rest
20
20
  }) => {
21
21
  const l = (0, _useLocale.default)();
22
- const reduceMotion = !(0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
22
+ const allowMotion = (0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
23
+ if (allowMotion === undefined) {
24
+ return null;
25
+ }
23
26
  return /*#__PURE__*/_react.default.createElement(_loaderBar.StyledLoader, _extends({
24
27
  "aria-label": l.loader.loading(),
25
28
  role: "progressbar"
26
- }, (0, _tags.default)("loader-bar", rest), (0, _utils.filterStyledSystemMarginProps)(rest)), reduceMotion ? l.loader.loading() : /*#__PURE__*/_react.default.createElement(_loaderBar.default, {
29
+ }, (0, _tags.default)("loader-bar", rest), (0, _utils.filterStyledSystemMarginProps)(rest)), allowMotion ? /*#__PURE__*/_react.default.createElement(_loaderBar.default, {
27
30
  "data-role": "outer-bar",
28
31
  size: size
29
32
  }, /*#__PURE__*/_react.default.createElement(_loaderBar.InnerBar, {
30
33
  "data-role": "inner-bar",
31
34
  size: size
32
- })));
35
+ })) : l.loader.loading());
33
36
  };
34
37
  exports.LoaderBar = LoaderBar;
35
38
  LoaderBar.DisplayName = "Loader Bar";
@@ -37,5 +37,5 @@ export interface LoaderSpinnerProps extends MarginProps, TagProps {
37
37
  */
38
38
  animationTime?: number;
39
39
  }
40
- export declare const LoaderSpinner: ({ spinnerLabel, size, showSpinnerLabel, variant, isTracked, hasMotion, animationTime, ...rest }: LoaderSpinnerProps) => React.JSX.Element;
40
+ export declare const LoaderSpinner: ({ spinnerLabel, size, showSpinnerLabel, variant, isTracked, hasMotion, animationTime, ...rest }: LoaderSpinnerProps) => React.JSX.Element | null;
41
41
  export default LoaderSpinner;
@@ -24,7 +24,10 @@ const LoaderSpinner = ({
24
24
  ...rest
25
25
  }) => {
26
26
  const locale = (0, _useLocale.default)();
27
- const reduceMotion = !(0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
27
+ const allowMotion = (0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
28
+ if (allowMotion === undefined) {
29
+ return null;
30
+ }
28
31
  const isLabelDark = variant !== "inverse" && variant !== "gradient-white";
29
32
  const renderSpinnerLabel = /*#__PURE__*/_react.default.createElement(_loaderSpinner.StyledLabel, {
30
33
  "data-role": "visible-label",
@@ -45,7 +48,7 @@ const LoaderSpinner = ({
45
48
  return /*#__PURE__*/_react.default.createElement(_loaderSpinner.StyledSpinnerWrapper, _extends({
46
49
  size: size,
47
50
  role: "status"
48
- }, (0, _tags.default)("loader-spinner", rest), (0, _utils.filterStyledSystemMarginProps)(rest)), reduceMotion ? renderSpinnerLabel : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_loaderSpinner.StyledSpinnerCircleSvg, {
51
+ }, (0, _tags.default)("loader-spinner", rest), (0, _utils.filterStyledSystemMarginProps)(rest)), allowMotion ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_loaderSpinner.StyledSpinnerCircleSvg, {
49
52
  role: "presentation",
50
53
  size: size,
51
54
  variant: variant,
@@ -62,7 +65,7 @@ const LoaderSpinner = ({
62
65
  "data-role": "hidden-label",
63
66
  variant: "span",
64
67
  screenReaderOnly: true
65
- }, spinnerLabel || locale.loaderSpinner.loading())));
68
+ }, spinnerLabel || locale.loaderSpinner.loading())) : renderSpinnerLabel);
66
69
  };
67
70
  exports.LoaderSpinner = LoaderSpinner;
68
71
  var _default = exports.default = LoaderSpinner;
@@ -8,7 +8,7 @@ export interface LoaderStarProps extends TagProps {
8
8
  loaderStarLabel?: string;
9
9
  }
10
10
  declare const LoaderStar: {
11
- ({ loaderStarLabel, ...rest }: LoaderStarProps): JSX.Element;
11
+ ({ loaderStarLabel, ...rest }: LoaderStarProps): JSX.Element | null;
12
12
  displayName: string;
13
13
  };
14
14
  export default LoaderStar;
@@ -18,7 +18,10 @@ const LoaderStar = ({
18
18
  ...rest
19
19
  }) => {
20
20
  const locale = (0, _useLocale.default)();
21
- const reduceMotion = !(0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
21
+ const allowMotion = (0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
22
+ if (allowMotion === undefined) {
23
+ return null;
24
+ }
22
25
  const label = /*#__PURE__*/_react.default.createElement(_loaderStar.StyledLabel, {
23
26
  "data-role": "visible-label",
24
27
  variant: "span",
@@ -26,7 +29,7 @@ const LoaderStar = ({
26
29
  }, loaderStarLabel || locale.loaderStar.loading());
27
30
  return /*#__PURE__*/_react.default.createElement(_loaderStar.StyledLoaderStarWrapper, _extends({
28
31
  role: "status"
29
- }, (0, _tags.default)("loader-star", rest)), reduceMotion ? label : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_loaderStar.StyledStars, null, /*#__PURE__*/_react.default.createElement(_star.default, {
32
+ }, (0, _tags.default)("loader-star", rest)), allowMotion ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_loaderStar.StyledStars, null, /*#__PURE__*/_react.default.createElement(_star.default, {
30
33
  starContainerClassName: "star-1",
31
34
  gradientId: "gradient1"
32
35
  }), /*#__PURE__*/_react.default.createElement(_star.default, {
@@ -39,7 +42,7 @@ const LoaderStar = ({
39
42
  "data-role": "hidden-label",
40
43
  variant: "span",
41
44
  screenReaderOnly: true
42
- }, loaderStarLabel || locale.loaderStar.loading())));
45
+ }, loaderStarLabel || locale.loaderStar.loading())) : label);
43
46
  };
44
47
  LoaderStar.displayName = "LoaderStar";
45
48
  var _default = exports.default = LoaderStar;
@@ -18,26 +18,31 @@ const StyledNoteContent = exports.StyledNoteContent = _styledComponents.default.
18
18
 
19
19
  ${({
20
20
  hasPreview
21
- }) => (0, _styledComponents.css)`
22
- div.DraftEditor-root {
23
- min-height: inherit;
24
- }
21
+ }) => hasPreview && (0, _styledComponents.css)`
22
+ margin-top: var(--spacing200);
23
+ `}
25
24
 
26
- div.DraftEditor-editorContainer,
27
- div.public-DraftEditor-content {
28
- min-height: inherit;
29
- background-color: var(--colorsUtilityYang100);
30
- line-height: 21px;
31
- }
25
+ &:last-of-type:not(:first-of-type) {
26
+ border-top: solid 1px var(--colorsUtilityMajor050);
27
+ }
32
28
 
33
- &:last-of-type:not(:first-of-type) {
34
- border-top: solid 1px var(--colorsUtilityMajor050);
29
+ a:not([data-component="link-preview"]) {
30
+ color: var(--colorsActionMajor500);
31
+
32
+ &:hover {
33
+ cursor: pointer;
34
+ color: var(--colorsActionMajor600);
35
35
  }
36
36
 
37
- ${hasPreview && `
38
- margin-top: var(--spacing200);
39
- `}
40
- `}
37
+ &:focus {
38
+ outline: none;
39
+ text-decoration: none;
40
+ color: var(--colorsActionMajorYin090);
41
+ background-color: var(--colorsSemanticFocus250);
42
+ border-radius: var(--borderRadius025);
43
+ box-shadow: 0 var(--spacing050) 0 0 var(--colorsUtilityYin090);
44
+ }
45
+ }
41
46
  `;
42
47
  const StyledNoteMain = exports.StyledNoteMain = _styledComponents.default.div`
43
48
  display: flex;
@@ -47,6 +47,24 @@ const StyledWrapper = exports.StyledWrapper = _styledComponents.default.div`
47
47
  }
48
48
  `}
49
49
  `};
50
+
51
+ a:not([data-component="link-preview"]) {
52
+ color: var(--colorsActionMajor500);
53
+ cursor: pointer;
54
+
55
+ &:hover {
56
+ color: var(--colorsActionMajor600);
57
+ }
58
+
59
+ &:focus {
60
+ outline: none;
61
+ text-decoration: none;
62
+ color: var(--colorsActionMajorYin090);
63
+ background-color: var(--colorsSemanticFocus250);
64
+ border-radius: var(--borderRadius025);
65
+ box-shadow: 0 var(--spacing050) 0 0 var(--colorsUtilityYin090);
66
+ }
67
+ }
50
68
  `;
51
69
  const StyledEditorToolbarWrapper = exports.StyledEditorToolbarWrapper = _styledComponents.default.div`
52
70
  ${({
@@ -1 +1 @@
1
- export default function useMediaQuery(queryInput: string): boolean;
1
+ export default function useMediaQuery(queryInput: string): boolean | undefined;
@@ -4,16 +4,20 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = useMediaQuery;
7
- var _react = _interopRequireDefault(require("react"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ var _react = require("react");
8
+ var _globals = require("../../__internal__/dom/globals");
9
9
  function useMediaQuery(queryInput) {
10
10
  const query = queryInput.replace(/^@media( ?)/m, "");
11
- const [match, setMatch] = _react.default.useState(() => false);
12
- _react.default.useEffect(() => {
13
- const queryList = window.matchMedia(query);
14
- const updateMatch = () => {
15
- setMatch(queryList.matches);
16
- };
11
+ const [match, setMatch] = (0, _react.useState)(undefined);
12
+ (0, _react.useLayoutEffect)(() => {
13
+ const browserWindow = (0, _globals.getWindow)();
14
+
15
+ /* istanbul ignore if */
16
+ if (!browserWindow) {
17
+ return undefined;
18
+ }
19
+ const queryList = browserWindow.matchMedia(query);
20
+ const updateMatch = () => setMatch(queryList.matches);
17
21
  updateMatch();
18
22
  queryList.addEventListener("change", updateMatch);
19
23
  return () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "153.5.0",
3
+ "version": "153.5.2",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",