carbon-react 153.0.0-beta.1 → 153.0.1

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 (117) hide show
  1. package/README.md +1 -1
  2. package/esm/__internal__/ai-icon/ai-icon.component.d.ts +4 -0
  3. package/esm/__internal__/ai-icon/ai-icon.component.js +28 -0
  4. package/esm/__internal__/ai-icon/index.d.ts +1 -0
  5. package/esm/__internal__/ai-icon/index.js +1 -0
  6. package/esm/__internal__/dom/globals.js +1 -1
  7. package/esm/__internal__/input/input.component.d.ts +6 -1
  8. package/esm/__internal__/input/input.component.js +3 -2
  9. package/esm/components/accordion/accordion-group/accordion-group.component.js +6 -0
  10. package/esm/components/button/button-types.style.js +11 -1
  11. package/esm/components/button/button.component.js +1 -1
  12. package/esm/components/button-bar/button-bar.style.js +25 -53
  13. package/esm/components/dialog/dialog.component.d.ts +1 -0
  14. package/esm/components/dialog/dialog.component.js +2 -0
  15. package/esm/components/dialog/dialog.style.d.ts +1 -0
  16. package/esm/components/dialog/dialog.style.js +14 -0
  17. package/esm/components/hr/hr.style.js +1 -1
  18. package/esm/components/link/link.component.js +8 -1
  19. package/esm/components/menu/menu-item/menu-item.component.js +13 -7
  20. package/esm/components/message/message.component.d.ts +5 -1
  21. package/esm/components/message/message.component.js +38 -24
  22. package/esm/components/message/message.style.d.ts +4 -1
  23. package/esm/components/message/message.style.js +39 -13
  24. package/esm/components/portrait/portrait.style.js +0 -1
  25. package/esm/components/preview/preview.style.js +1 -1
  26. package/esm/components/select/__internal__/select-textbox/select-textbox.component.js +1 -1
  27. package/esm/components/select/simple-select/simple-select.component.js +1 -1
  28. package/esm/components/split-button/split-button-toggle.style.d.ts +1 -0
  29. package/esm/components/split-button/split-button-toggle.style.js +30 -2
  30. package/esm/components/split-button/split-button.component.d.ts +2 -0
  31. package/esm/components/split-button/split-button.component.js +4 -0
  32. package/esm/components/textarea/textarea.component.js +10 -3
  33. package/esm/components/textbox/textbox.component.js +10 -3
  34. package/esm/components/tile/tile.style.d.ts +1 -1
  35. package/esm/components/time/index.d.ts +1 -1
  36. package/esm/components/time/time.component.js +16 -1
  37. package/esm/components/toast/toast.component.js +2 -1
  38. package/esm/components/toast/toast.style.d.ts +2 -3
  39. package/esm/components/toast/toast.style.js +1 -2
  40. package/esm/components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.d.ts +1 -1
  41. package/esm/components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.js +5 -6
  42. package/esm/components/vertical-menu/vertical-menu.style.d.ts +5 -1
  43. package/esm/components/vertical-menu/vertical-menu.style.js +20 -1
  44. package/esm/hooks/{__internal__/useCharacterCount → useCharacterCount}/useCharacterCount.js +3 -3
  45. package/esm/locales/en-gb.js +2 -1
  46. package/esm/locales/locale.d.ts +1 -0
  47. package/lib/__internal__/ai-icon/ai-icon.component.d.ts +4 -0
  48. package/lib/__internal__/ai-icon/ai-icon.component.js +36 -0
  49. package/lib/__internal__/ai-icon/index.d.ts +1 -0
  50. package/lib/__internal__/ai-icon/index.js +13 -0
  51. package/lib/__internal__/ai-icon/package.json +6 -0
  52. package/lib/__internal__/dom/globals.js +1 -1
  53. package/lib/__internal__/input/input.component.d.ts +6 -1
  54. package/lib/__internal__/input/input.component.js +3 -2
  55. package/lib/components/accordion/accordion-group/accordion-group.component.js +6 -0
  56. package/lib/components/button/button-types.style.js +11 -1
  57. package/lib/components/button/button.component.js +1 -1
  58. package/lib/components/button-bar/button-bar.style.js +25 -53
  59. package/lib/components/dialog/dialog.component.d.ts +1 -0
  60. package/lib/components/dialog/dialog.component.js +2 -0
  61. package/lib/components/dialog/dialog.style.d.ts +1 -0
  62. package/lib/components/dialog/dialog.style.js +14 -0
  63. package/lib/components/hr/hr.style.js +1 -1
  64. package/lib/components/link/link.component.js +8 -1
  65. package/lib/components/menu/menu-item/menu-item.component.js +12 -6
  66. package/lib/components/message/message.component.d.ts +5 -1
  67. package/lib/components/message/message.component.js +38 -24
  68. package/lib/components/message/message.style.d.ts +4 -1
  69. package/lib/components/message/message.style.js +38 -13
  70. package/lib/components/portrait/portrait.style.js +0 -1
  71. package/lib/components/preview/preview.style.js +1 -1
  72. package/lib/components/select/__internal__/select-textbox/select-textbox.component.js +1 -1
  73. package/lib/components/select/simple-select/simple-select.component.js +1 -1
  74. package/lib/components/split-button/split-button-toggle.style.d.ts +1 -0
  75. package/lib/components/split-button/split-button-toggle.style.js +30 -2
  76. package/lib/components/split-button/split-button.component.d.ts +2 -0
  77. package/lib/components/split-button/split-button.component.js +4 -0
  78. package/lib/components/textarea/textarea.component.js +10 -3
  79. package/lib/components/textbox/textbox.component.js +10 -3
  80. package/lib/components/tile/tile.style.d.ts +1 -1
  81. package/lib/components/time/index.d.ts +1 -1
  82. package/lib/components/time/time.component.js +15 -0
  83. package/lib/components/toast/toast.component.js +2 -1
  84. package/lib/components/toast/toast.style.d.ts +2 -3
  85. package/lib/components/toast/toast.style.js +0 -7
  86. package/lib/components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.d.ts +1 -1
  87. package/lib/components/vertical-menu/vertical-menu-full-screen/vertical-menu-full-screen.component.js +5 -6
  88. package/lib/components/vertical-menu/vertical-menu.style.d.ts +5 -1
  89. package/lib/components/vertical-menu/vertical-menu.style.js +20 -1
  90. package/lib/hooks/useCharacterCount/package.json +6 -0
  91. package/lib/hooks/{__internal__/useCharacterCount → useCharacterCount}/useCharacterCount.js +3 -3
  92. package/lib/locales/en-gb.js +2 -1
  93. package/lib/locales/locale.d.ts +1 -0
  94. package/package.json +15 -15
  95. package/esm/components/message/__internal__/message-content/message-content.component.d.ts +0 -9
  96. package/esm/components/message/__internal__/message-content/message-content.component.js +0 -19
  97. package/esm/components/message/__internal__/message-content/message-content.style.d.ts +0 -3
  98. package/esm/components/message/__internal__/message-content/message-content.style.js +0 -12
  99. package/esm/components/message/__internal__/type-icon/type-icon.component.d.ts +0 -8
  100. package/esm/components/message/__internal__/type-icon/type-icon.component.js +0 -20
  101. package/esm/components/message/__internal__/type-icon/type-icon.style.d.ts +0 -7
  102. package/esm/components/message/__internal__/type-icon/type-icon.style.js +0 -38
  103. package/lib/components/message/__internal__/message-content/message-content.component.d.ts +0 -9
  104. package/lib/components/message/__internal__/message-content/message-content.component.js +0 -26
  105. package/lib/components/message/__internal__/message-content/message-content.style.d.ts +0 -3
  106. package/lib/components/message/__internal__/message-content/message-content.style.js +0 -19
  107. package/lib/components/message/__internal__/type-icon/type-icon.component.d.ts +0 -8
  108. package/lib/components/message/__internal__/type-icon/type-icon.component.js +0 -27
  109. package/lib/components/message/__internal__/type-icon/type-icon.style.d.ts +0 -7
  110. package/lib/components/message/__internal__/type-icon/type-icon.style.js +0 -46
  111. package/lib/hooks/__internal__/useCharacterCount/package.json +0 -6
  112. /package/esm/hooks/{__internal__/useCharacterCount → useCharacterCount}/index.d.ts +0 -0
  113. /package/esm/hooks/{__internal__/useCharacterCount → useCharacterCount}/index.js +0 -0
  114. /package/esm/hooks/{__internal__/useCharacterCount → useCharacterCount}/useCharacterCount.d.ts +0 -0
  115. /package/lib/hooks/{__internal__/useCharacterCount → useCharacterCount}/index.d.ts +0 -0
  116. /package/lib/hooks/{__internal__/useCharacterCount → useCharacterCount}/index.js +0 -0
  117. /package/lib/hooks/{__internal__/useCharacterCount → useCharacterCount}/useCharacterCount.d.ts +0 -0
@@ -8,7 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags"));
9
9
  var _input = require("../../__internal__/input");
10
10
  var _formField = _interopRequireDefault(require("../../__internal__/form-field"));
11
- var _useCharacterCount = _interopRequireDefault(require("../../hooks/__internal__/useCharacterCount"));
11
+ var _useCharacterCount = _interopRequireDefault(require("../../hooks/useCharacterCount"));
12
12
  var _input2 = _interopRequireDefault(require("../../__internal__/input/input.component"));
13
13
  var _inputBehaviour = require("../../__internal__/input-behaviour");
14
14
  var _inputIconToggle = _interopRequireDefault(require("../../__internal__/input-icon-toggle"));
@@ -28,9 +28,12 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
28
28
  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; }
29
29
  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); }
30
30
  let deprecateUncontrolledWarnTriggered = false;
31
+ let deprecatedAriaDescribedByWarnTriggered = false;
31
32
  let warnBorderRadiusArrayTooLarge = false;
32
33
  const Textarea = exports.OriginalTextarea = exports.Textarea = /*#__PURE__*/_react.default.forwardRef(({
33
34
  "aria-labelledby": ariaLabelledBy,
35
+ "aria-describedby": ariaDescribedByProp,
36
+ ariaDescribedBy: ariaDescribedByPropDeprecated,
34
37
  autoFocus,
35
38
  inputHint,
36
39
  fieldHelp,
@@ -112,6 +115,10 @@ const Textarea = exports.OriginalTextarea = exports.Textarea = /*#__PURE__*/_rea
112
115
  deprecateUncontrolledWarnTriggered = true;
113
116
  _logger.default.deprecate("Uncontrolled behaviour in `Textarea` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.");
114
117
  }
118
+ if (!deprecatedAriaDescribedByWarnTriggered && ariaDescribedByPropDeprecated) {
119
+ deprecatedAriaDescribedByWarnTriggered = true;
120
+ _logger.default.deprecate("The `ariaDescribedBy` prop in `Textarea` is deprecated and will soon be removed, please use `aria-describedby` instead.");
121
+ }
115
122
  if (Array.isArray(borderRadius) && borderRadius.length > 4 && !warnBorderRadiusArrayTooLarge) {
116
123
  // eslint-disable-next-line no-console
117
124
  console.warn("The `borderRadius` prop in `Textarea` component only supports up to 4 values.");
@@ -181,7 +188,7 @@ const Textarea = exports.OriginalTextarea = exports.Textarea = /*#__PURE__*/_rea
181
188
  const hasIconInside = !!(inputIcon || validationId && !validationOnLabel);
182
189
  const hintId = (0, _react.useRef)((0, _guid.default)());
183
190
  const inputHintId = inputHint ? hintId.current : undefined;
184
- const combinedAriaDescribedBy = [ariaDescribedBy, inputHintId, visuallyHiddenHintId].filter(Boolean).join(" ");
191
+ const combinedAriaDescribedBy = [ariaDescribedBy, inputHintId, visuallyHiddenHintId, ariaDescribedByProp || ariaDescribedByPropDeprecated].filter(Boolean).join(" ");
185
192
  const input = /*#__PURE__*/_react.default.createElement(_input.InputPresentation, {
186
193
  disabled: disabled,
187
194
  readOnly: readOnly,
@@ -195,7 +202,7 @@ const Textarea = exports.OriginalTextarea = exports.Textarea = /*#__PURE__*/_rea
195
202
  }, /*#__PURE__*/_react.default.createElement(_input2.default, _extends({
196
203
  "aria-invalid": !!error,
197
204
  "aria-labelledby": ariaLabelledBy,
198
- ariaDescribedBy: combinedAriaDescribedBy,
205
+ "aria-describedby": combinedAriaDescribedBy,
199
206
  autoFocus: autoFocus,
200
207
  name: name,
201
208
  value: value,
@@ -17,7 +17,7 @@ var _utils = require("../../style/utils");
17
17
  var _newValidation = _interopRequireDefault(require("../carbon-provider/__internal__/new-validation.context"));
18
18
  var _numeralDate = _interopRequireDefault(require("../numeral-date/__internal__/numeral-date.context"));
19
19
  var _logger = _interopRequireDefault(require("../../__internal__/utils/logger"));
20
- var _useCharacterCount = _interopRequireDefault(require("../../hooks/__internal__/useCharacterCount"));
20
+ var _useCharacterCount = _interopRequireDefault(require("../../hooks/useCharacterCount"));
21
21
  var _useUniqueId = _interopRequireDefault(require("../../hooks/__internal__/useUniqueId"));
22
22
  var _guid = _interopRequireDefault(require("../../__internal__/utils/helpers/guid"));
23
23
  var _useInputAccessibility = _interopRequireDefault(require("../../hooks/__internal__/useInputAccessibility/useInputAccessibility"));
@@ -32,8 +32,11 @@ const SIZE_DEFAULT = exports.SIZE_DEFAULT = "medium";
32
32
  const LABEL_WIDTH_DEFAULT = exports.LABEL_WIDTH_DEFAULT = 30;
33
33
  const LABEL_VALIDATION_DEFAULT = exports.LABEL_VALIDATION_DEFAULT = false;
34
34
  let deprecateUncontrolledWarnTriggered = false;
35
+ let deprecatedAriaDescribedByWarnTriggered = false;
35
36
  const Textbox = exports.Textbox = /*#__PURE__*/_react.default.forwardRef(({
36
37
  "aria-labelledby": ariaLabelledBy,
38
+ "aria-describedby": ariaDescribedByProp,
39
+ ariaDescribedBy: ariaDescribedByDeprecated,
37
40
  align = ALIGN_DEFAULT,
38
41
  autoFocus,
39
42
  children,
@@ -115,6 +118,10 @@ const Textbox = exports.Textbox = /*#__PURE__*/_react.default.forwardRef(({
115
118
  deprecateUncontrolledWarnTriggered = true;
116
119
  _logger.default.deprecate("Uncontrolled behaviour in `Textbox` is deprecated and support will soon be removed. Please make sure all your inputs are controlled.");
117
120
  }
121
+ if (!deprecatedAriaDescribedByWarnTriggered && ariaDescribedByDeprecated) {
122
+ deprecatedAriaDescribedByWarnTriggered = true;
123
+ _logger.default.deprecate("The `ariaDescribedBy` prop in `Textbox` is deprecated and will soon be removed, please use `aria-describedby` instead.");
124
+ }
118
125
  const {
119
126
  labelId,
120
127
  validationId,
@@ -131,7 +138,7 @@ const Textbox = exports.Textbox = /*#__PURE__*/_react.default.forwardRef(({
131
138
  });
132
139
  const hintId = (0, _react.useRef)((0, _guid.default)());
133
140
  const inputHintId = inputHint ? hintId.current : undefined;
134
- const combinedAriaDescribedBy = [ariaDescribedBy, inputHintId, visuallyHiddenHintId].filter(Boolean).join(" ");
141
+ const combinedAriaDescribedBy = [ariaDescribedBy, inputHintId, visuallyHiddenHintId, ariaDescribedByProp || ariaDescribedByDeprecated].filter(Boolean).join(" ");
135
142
  const hasIconInside = !!(inputIcon || validationId && !validationOnLabel);
136
143
  const input = /*#__PURE__*/_react.default.createElement(_input.InputPresentation, {
137
144
  align: align,
@@ -155,7 +162,7 @@ const Textbox = exports.Textbox = /*#__PURE__*/_react.default.forwardRef(({
155
162
  align: align,
156
163
  "aria-invalid": !!error,
157
164
  "aria-labelledby": ariaLabelledBy,
158
- ariaDescribedBy: combinedAriaDescribedBy,
165
+ "aria-describedby": combinedAriaDescribedBy,
159
166
  autoFocus: autoFocus,
160
167
  deferTimeout: deferTimeout,
161
168
  disabled: disabled,
@@ -1,6 +1,6 @@
1
1
  import { SpaceProps } from "styled-system";
2
2
  import { TileProps } from "./tile.component";
3
- declare const StyledTile: import("styled-components").StyledComponent<"div", any, Pick<TileProps, "width" | "height" | "variant" | "roundness" | "borderWidth" | "borderVariant" | "highlightVariant"> & {
3
+ declare const StyledTile: import("styled-components").StyledComponent<"div", any, Pick<TileProps, "width" | "height" | "variant" | "highlightVariant" | "roundness" | "borderWidth" | "borderVariant"> & {
4
4
  isHorizontal?: boolean | undefined;
5
5
  } & SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol>, never>;
6
6
  export default StyledTile;
@@ -1,2 +1,2 @@
1
1
  export { default as Time } from "./time.component";
2
- export type { TimeValue, TimeProps, TimeHandle, ToggleValue, } from "./time.component";
2
+ export type { TimeValue, TimeProps, TimeHandle, ToggleValue, TimeInputEvent, } from "./time.component";
@@ -78,6 +78,21 @@ const Time = /*#__PURE__*/_react.default.forwardRef(({
78
78
  const minsAriaLabel = minutesAriaLabel || locale.time.minutesAriaLabelText();
79
79
  const hoursRef = (0, _react.useRef)(null);
80
80
  const minsRef = (0, _react.useRef)(null);
81
+ (0, _react.useEffect)(() => {
82
+ const updates = [...inputValues];
83
+ if (inputValues[0] !== hourValue) {
84
+ updates[0] = hourValue;
85
+ }
86
+ if (inputValues[1] !== minuteValue) {
87
+ updates[1] = minuteValue;
88
+ }
89
+ if (inputValues[0] !== hourValue || inputValues[1] !== minuteValue) {
90
+ setInputValues(updates);
91
+ const formattedHours = hourValue.length ? hourValue.padStart(2, "0") : hourValue;
92
+ const formattedMinutes = minuteValue.length ? minuteValue.padStart(2, "0") : minuteValue;
93
+ setFormattedInputValues([formattedHours, formattedMinutes]);
94
+ }
95
+ }, [hourValue, minuteValue, inputValues]);
81
96
  const computedValidations = (hrs, mins) => {
82
97
  const hoursIsString = typeof hrs === "string";
83
98
  const minutesIsString = typeof mins === "string";
@@ -9,6 +9,7 @@ var _reactTransitionGroup = require("react-transition-group");
9
9
  var _icon = _interopRequireDefault(require("../icon"));
10
10
  var _tags = _interopRequireDefault(require("../../__internal__/utils/helpers/tags/tags"));
11
11
  var _toast = require("./toast.style");
12
+ var _message = require("../message/message.style");
12
13
  var _iconButton = _interopRequireDefault(require("../icon-button"));
13
14
  var _events = _interopRequireDefault(require("../../__internal__/utils/helpers/events"));
14
15
  var _useLocale = _interopRequireDefault(require("../../hooks/__internal__/useLocale"));
@@ -141,7 +142,7 @@ const Toast = exports.Toast = /*#__PURE__*/_react.default.forwardRef(({
141
142
  }, !disableAutoFocus && {
142
143
  tabIndex,
143
144
  onBlur: () => setTabIndex(undefined)
144
- }), !isNotice && /*#__PURE__*/_react.default.createElement(_toast.TypeIcon, {
145
+ }), !isNotice && /*#__PURE__*/_react.default.createElement(_message.TypeIconStyle, {
145
146
  variant: isNotification ? "info" : variant,
146
147
  "data-role": "toast-type-icon"
147
148
  }, /*#__PURE__*/_react.default.createElement(_icon.default, {
@@ -1,12 +1,11 @@
1
1
  /// <reference types="react" />
2
- import TypeIcon from "../message/__internal__/type-icon/type-icon.style";
3
2
  import { MessageVariant } from "../message/message.component";
4
3
  declare const StyledPortal: import("styled-components").StyledComponent<({ children, className, id, onReposition, inertOptOut, }: import("../portal/portal").PortalProps) => import("react").JSX.Element, any, {
5
4
  align?: "center" | "left" | "right" | undefined;
6
5
  alignY?: "center" | "top" | "bottom" | undefined;
7
6
  isNotice?: boolean | undefined;
8
7
  }, never>;
9
- type ToastVariants = MessageVariant;
8
+ type ToastVariants = Exclude<MessageVariant, "ai">;
10
9
  type ToastStyleProps = {
11
10
  align?: "left" | "center" | "right";
12
11
  alignY?: "top" | "center" | "bottom";
@@ -24,4 +23,4 @@ declare const ToastWrapper: import("styled-components").StyledComponent<"div", a
24
23
  align?: "center" | "left" | "right" | undefined;
25
24
  isNotice?: boolean | undefined;
26
25
  }, never>;
27
- export { StyledPortal, StyledToast, TypeIcon, StyledToastContent, ToastWrapper, };
26
+ export { StyledPortal, StyledToast, StyledToastContent, ToastWrapper };
@@ -4,14 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ToastWrapper = exports.StyledToastContent = exports.StyledToast = exports.StyledPortal = void 0;
7
- Object.defineProperty(exports, "TypeIcon", {
8
- enumerable: true,
9
- get: function () {
10
- return _typeIcon.default;
11
- }
12
- });
13
7
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
- var _typeIcon = _interopRequireDefault(require("../message/__internal__/type-icon/type-icon.style"));
15
8
  var _iconButton = _interopRequireDefault(require("../icon-button/icon-button.style"));
16
9
  var _portal = _interopRequireDefault(require("../portal/portal"));
17
10
  var _base = _interopRequireDefault(require("../../style/themes/base"));
@@ -12,5 +12,5 @@ export interface VerticalMenuFullScreenProps extends TagProps {
12
12
  /** A callback to be called when the close icon is clicked or enter is pressed when focused */
13
13
  onClose: (ev: React.KeyboardEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement> | KeyboardEvent) => void;
14
14
  }
15
- export declare const VerticalMenuFullScreen: ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, isOpen, onClose, ...rest }: VerticalMenuFullScreenProps) => React.JSX.Element | null;
15
+ export declare const VerticalMenuFullScreen: ({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, children, isOpen, onClose, ...rest }: VerticalMenuFullScreenProps) => React.JSX.Element;
16
16
  export default VerticalMenuFullScreen;
@@ -17,6 +17,7 @@ var _verticalMenuFullScreen = _interopRequireDefault(require("./__internal__/ver
17
17
  var _globals = require("../../../__internal__/dom/globals");
18
18
  var _events = _interopRequireDefault(require("../../../__internal__/utils/helpers/events/events"));
19
19
  var _useModalManager = _interopRequireDefault(require("../../../hooks/__internal__/useModalManager"));
20
+ var _useMediaQuery = _interopRequireDefault(require("../../../hooks/useMediaQuery"));
20
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
22
  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); }
22
23
  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; }
@@ -31,6 +32,7 @@ const VerticalMenuFullScreen = ({
31
32
  }) => {
32
33
  const l = (0, _useLocale.default)();
33
34
  const menuWrapperRef = (0, _react.useRef)(null);
35
+ const reduceMotion = !(0, _useMediaQuery.default)("screen and (prefers-reduced-motion: no-preference)");
34
36
  const handleKeyDown = (0, _react.useCallback)(ev => {
35
37
  // istanbul ignore else
36
38
  if (_events.default.isEscKey(ev)) {
@@ -45,14 +47,13 @@ const VerticalMenuFullScreen = ({
45
47
  topModalOverride: true,
46
48
  focusCallToActionElement: safeDocument?.activeElement
47
49
  });
48
-
49
- // TODO remove this as part of FE-5650
50
- if (!isOpen) return null;
51
50
  return /*#__PURE__*/_react.default.createElement(_portal.default, null, /*#__PURE__*/_react.default.createElement(_focusTrap.default, {
52
51
  isOpen: isOpen,
53
52
  wrapperRef: menuWrapperRef
54
53
  }, /*#__PURE__*/_react.default.createElement(_verticalMenu.StyledVerticalMenuFullScreen, _extends({
55
54
  ref: menuWrapperRef,
55
+ isOpen: isOpen,
56
+ prefersReducedMotion: reduceMotion,
56
57
  scrollVariant: "light",
57
58
  as: "nav",
58
59
  "aria-label": ariaLabel,
@@ -71,9 +72,7 @@ const VerticalMenuFullScreen = ({
71
72
  "data-element": "close"
72
73
  }, /*#__PURE__*/_react.default.createElement(_icon.default, {
73
74
  type: "close",
74
- color: "var(--colorsComponentsLeftnavWinterStandardContent)",
75
- bgSize: "small",
76
- fontSize: "medium"
75
+ color: "var(--colorsComponentsLeftnavWinterStandardContent)"
77
76
  }))), /*#__PURE__*/_react.default.createElement(_verticalMenuFullScreen.default.Provider, {
78
77
  value: {
79
78
  isFullScreen: true
@@ -18,6 +18,10 @@ export declare const StyledVerticalMenu: import("styled-components").StyledCompo
18
18
  width?: string | undefined;
19
19
  } | undefined;
20
20
  }, never>;
21
+ interface FullScreenProps {
22
+ isOpen: boolean;
23
+ prefersReducedMotion?: boolean;
24
+ }
21
25
  export declare const StyledVerticalMenuFullScreen: import("styled-components").StyledComponent<"div", any, import("../box").BoxProps & {
22
26
  cssProps?: {
23
27
  color?: string | undefined;
@@ -25,5 +29,5 @@ export declare const StyledVerticalMenuFullScreen: import("styled-components").S
25
29
  height?: string | undefined;
26
30
  width?: string | undefined;
27
31
  } | undefined;
28
- }, never>;
32
+ } & FullScreenProps, never>;
29
33
  export {};
@@ -123,11 +123,30 @@ const StyledVerticalMenuFullScreen = exports.StyledVerticalMenuFullScreen = (0,
123
123
  overflow: auto;
124
124
  background-color: var(--colorsComponentsLeftnavWinterStandardBackground);
125
125
  box-sizing: border-box;
126
- transition: all 0.3s ease;
127
126
  z-index: ${({
128
127
  theme
129
128
  }) => theme.zIndex.fullScreenModal};
130
129
 
130
+ ${({
131
+ prefersReducedMotion
132
+ }) => !prefersReducedMotion && (0, _styledComponents.css)`
133
+ transition: all 0.3s ease;
134
+ `}
135
+
136
+ ${({
137
+ isOpen
138
+ }) => isOpen && (0, _styledComponents.css)`
139
+ visibility: visible;
140
+ transform: translateX(0);
141
+ `}
142
+
143
+ ${({
144
+ isOpen
145
+ }) => !isOpen && (0, _styledComponents.css)`
146
+ transform: translateX(-100%);
147
+ visibility: hidden;
148
+ `}
149
+
131
150
  // TODO remove hardcoded values when DS have had chance to review which token to use
132
151
  &::-webkit-scrollbar-track {
133
152
  background-color: #cccccc;
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "../../../esm/hooks/useCharacterCount/index.js",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _characterCount = _interopRequireDefault(require("../../../__internal__/character-count"));
9
- var _guid = _interopRequireDefault(require("../../../__internal__/utils/helpers/guid"));
10
- var _useDebounce = _interopRequireDefault(require("../useDebounce"));
8
+ var _characterCount = _interopRequireDefault(require("../../__internal__/character-count"));
9
+ var _guid = _interopRequireDefault(require("../../__internal__/utils/helpers/guid"));
10
+ var _useDebounce = _interopRequireDefault(require("../__internal__/useDebounce"));
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
12
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
13
  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; }
@@ -115,7 +115,8 @@ const enGB = {
115
115
  info: () => "Information",
116
116
  success: () => "Success",
117
117
  warning: () => "Warning",
118
- neutral: () => "Information"
118
+ neutral: () => "Information",
119
+ ai: () => "AI Information"
119
120
  },
120
121
  numeralDate: {
121
122
  validation: {
@@ -93,6 +93,7 @@ interface Locale {
93
93
  success: () => string;
94
94
  warning: () => string;
95
95
  neutral: () => string;
96
+ ai?: () => string;
96
97
  };
97
98
  numeralDate: {
98
99
  validation: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "carbon-react",
3
- "version": "153.0.0-beta.1",
3
+ "version": "153.0.1",
4
4
  "description": "A library of reusable React components for easily building user interfaces.",
5
5
  "files": [
6
6
  "lib",
@@ -74,20 +74,20 @@
74
74
  "@semantic-release/changelog": "^6.0.3",
75
75
  "@semantic-release/exec": "^6.0.3",
76
76
  "@semantic-release/git": "^10.0.1",
77
- "@storybook/addon-a11y": "^8.4.7",
78
- "@storybook/addon-actions": "^8.4.7",
79
- "@storybook/addon-controls": "^8.4.7",
80
- "@storybook/addon-docs": "^8.4.7",
81
- "@storybook/addon-toolbars": "^8.4.7",
82
- "@storybook/addon-viewport": "^8.4.7",
77
+ "@storybook/addon-a11y": "~8.6.7",
78
+ "@storybook/addon-actions": "~8.6.7",
79
+ "@storybook/addon-controls": "~8.6.7",
80
+ "@storybook/addon-docs": "~8.6.7",
81
+ "@storybook/addon-toolbars": "~8.6.7",
82
+ "@storybook/addon-viewport": "~8.6.7",
83
83
  "@storybook/addon-webpack5-compiler-babel": "^3.0.3",
84
- "@storybook/components": "^8.4.7",
85
- "@storybook/manager-api": "^8.4.7",
86
- "@storybook/preview-api": "^8.4.7",
87
- "@storybook/react": "^8.4.7",
88
- "@storybook/react-webpack5": "^8.4.7",
89
- "@storybook/theming": "^8.4.7",
90
- "@storybook/types": "^8.4.7",
84
+ "@storybook/components": "~8.6.7",
85
+ "@storybook/manager-api": "~8.6.7",
86
+ "@storybook/preview-api": "~8.6.7",
87
+ "@storybook/react": "~8.6.7",
88
+ "@storybook/react-webpack5": "~8.6.7",
89
+ "@storybook/theming": "~8.6.7",
90
+ "@storybook/types": "~8.6.7",
91
91
  "@testing-library/dom": "^10.4.0",
92
92
  "@testing-library/jest-dom": "^6.6.3",
93
93
  "@testing-library/react": "^16.1.0",
@@ -161,7 +161,7 @@
161
161
  "semantic-release": "^24.2.3",
162
162
  "semver": "^7.5.4",
163
163
  "sprintf-js": "^1.1.3",
164
- "storybook": "^8.4.7",
164
+ "storybook": "~8.6.7",
165
165
  "styled-components": "^5.3.11",
166
166
  "typescript": "~5.3.0",
167
167
  "url-loader": "^4.1.1",
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- export interface MessageContentProps {
3
- title?: React.ReactNode;
4
- children?: React.ReactNode;
5
- showCloseIcon?: boolean;
6
- reduceLeftPadding?: boolean;
7
- }
8
- declare const MessageContent: ({ title, children, showCloseIcon, reduceLeftPadding, }: MessageContentProps) => React.JSX.Element;
9
- export default MessageContent;
@@ -1,19 +0,0 @@
1
- import React from "react";
2
- import Content from "../../../content";
3
- import MessageContentStyle from "./message-content.style";
4
- const MessageContent = ({
5
- title,
6
- children,
7
- showCloseIcon,
8
- reduceLeftPadding
9
- }) => {
10
- return /*#__PURE__*/React.createElement(MessageContentStyle, {
11
- showCloseIcon: showCloseIcon,
12
- reduceLeftPadding: reduceLeftPadding,
13
- "data-element": "message-content",
14
- "data-role": "message-content"
15
- }, /*#__PURE__*/React.createElement(Content, {
16
- title: title
17
- }, children));
18
- };
19
- export default MessageContent;
@@ -1,3 +0,0 @@
1
- import { MessageContentProps } from "./message-content.component";
2
- declare const MessageContentStyle: import("styled-components").StyledComponent<"div", any, Pick<MessageContentProps, "showCloseIcon" | "reduceLeftPadding">, never>;
3
- export default MessageContentStyle;
@@ -1,12 +0,0 @@
1
- import styled from "styled-components";
2
- const MessageContentStyle = styled.div`
3
- padding: 15px ${({
4
- showCloseIcon
5
- }) => showCloseIcon ? "50px" : "20px"} 15px
6
- ${({
7
- reduceLeftPadding
8
- }) => reduceLeftPadding ? "10px" : "20px"};
9
- white-space: pre-wrap;
10
- flex: 1;
11
- `;
12
- export default MessageContentStyle;
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { MessageVariant } from "../../message.component";
3
- export interface TypeIconProps {
4
- transparent?: boolean;
5
- variant: MessageVariant;
6
- }
7
- declare const TypeIcon: ({ variant, transparent }: TypeIconProps) => React.JSX.Element;
8
- export default TypeIcon;
@@ -1,20 +0,0 @@
1
- import React from "react";
2
- import TypeIconStyle from "./type-icon.style";
3
- import Icon from "../../../icon";
4
- const TypeIcon = ({
5
- variant,
6
- transparent
7
- }) => {
8
- function iconToRender() {
9
- if (variant === "neutral") return "info";
10
- if (variant === "success") return "tick_circle";
11
- return variant;
12
- }
13
- return /*#__PURE__*/React.createElement(TypeIconStyle, {
14
- variant: variant,
15
- transparent: transparent
16
- }, /*#__PURE__*/React.createElement(Icon, {
17
- type: iconToRender()
18
- }));
19
- };
20
- export default TypeIcon;
@@ -1,7 +0,0 @@
1
- import { MessageVariant } from "../../message.component";
2
- type TypeIconStyleProps = {
3
- transparent?: boolean;
4
- variant: MessageVariant;
5
- };
6
- declare const TypeIconStyle: import("styled-components").StyledComponent<"div", any, TypeIconStyleProps, never>;
7
- export default TypeIconStyle;
@@ -1,38 +0,0 @@
1
- import styled, { css } from "styled-components";
2
- const messageVariants = {
3
- error: "var(--colorsSemanticNegative500)",
4
- info: "var(--colorsSemanticInfo500)",
5
- success: "var(--colorsSemanticPositive500)",
6
- warning: "var(--colorsSemanticCaution500)",
7
- neutral: "var(--colorsSemanticNeutral500)",
8
- notification: "var(--colorsSemanticInfo500)"
9
- };
10
- const TypeIconStyle = styled.div`
11
- align-items: center;
12
- background-color: ${({
13
- variant
14
- }) => messageVariants[variant]};
15
- display: flex;
16
- justify-content: center;
17
- line-height: 100%;
18
- min-width: 30px;
19
- text-align: center;
20
- span {
21
- &:before {
22
- color: var(--colorsUtilityYang100);
23
- }
24
- }
25
-
26
- ${({
27
- transparent,
28
- variant
29
- }) => transparent && css`
30
- background-color: transparent;
31
- span {
32
- &:before {
33
- color: ${messageVariants[variant]};
34
- }
35
- }
36
- `}
37
- `;
38
- export default TypeIconStyle;
@@ -1,9 +0,0 @@
1
- import React from "react";
2
- export interface MessageContentProps {
3
- title?: React.ReactNode;
4
- children?: React.ReactNode;
5
- showCloseIcon?: boolean;
6
- reduceLeftPadding?: boolean;
7
- }
8
- declare const MessageContent: ({ title, children, showCloseIcon, reduceLeftPadding, }: MessageContentProps) => React.JSX.Element;
9
- export default MessageContent;
@@ -1,26 +0,0 @@
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
- var _content = _interopRequireDefault(require("../../../content"));
9
- var _messageContent = _interopRequireDefault(require("./message-content.style"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const MessageContent = ({
12
- title,
13
- children,
14
- showCloseIcon,
15
- reduceLeftPadding
16
- }) => {
17
- return /*#__PURE__*/_react.default.createElement(_messageContent.default, {
18
- showCloseIcon: showCloseIcon,
19
- reduceLeftPadding: reduceLeftPadding,
20
- "data-element": "message-content",
21
- "data-role": "message-content"
22
- }, /*#__PURE__*/_react.default.createElement(_content.default, {
23
- title: title
24
- }, children));
25
- };
26
- var _default = exports.default = MessageContent;
@@ -1,3 +0,0 @@
1
- import { MessageContentProps } from "./message-content.component";
2
- declare const MessageContentStyle: import("styled-components").StyledComponent<"div", any, Pick<MessageContentProps, "showCloseIcon" | "reduceLeftPadding">, never>;
3
- export default MessageContentStyle;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _styledComponents = _interopRequireDefault(require("styled-components"));
8
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
- const MessageContentStyle = _styledComponents.default.div`
10
- padding: 15px ${({
11
- showCloseIcon
12
- }) => showCloseIcon ? "50px" : "20px"} 15px
13
- ${({
14
- reduceLeftPadding
15
- }) => reduceLeftPadding ? "10px" : "20px"};
16
- white-space: pre-wrap;
17
- flex: 1;
18
- `;
19
- var _default = exports.default = MessageContentStyle;
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { MessageVariant } from "../../message.component";
3
- export interface TypeIconProps {
4
- transparent?: boolean;
5
- variant: MessageVariant;
6
- }
7
- declare const TypeIcon: ({ variant, transparent }: TypeIconProps) => React.JSX.Element;
8
- export default TypeIcon;
@@ -1,27 +0,0 @@
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
- var _typeIcon = _interopRequireDefault(require("./type-icon.style"));
9
- var _icon = _interopRequireDefault(require("../../../icon"));
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const TypeIcon = ({
12
- variant,
13
- transparent
14
- }) => {
15
- function iconToRender() {
16
- if (variant === "neutral") return "info";
17
- if (variant === "success") return "tick_circle";
18
- return variant;
19
- }
20
- return /*#__PURE__*/_react.default.createElement(_typeIcon.default, {
21
- variant: variant,
22
- transparent: transparent
23
- }, /*#__PURE__*/_react.default.createElement(_icon.default, {
24
- type: iconToRender()
25
- }));
26
- };
27
- var _default = exports.default = TypeIcon;
@@ -1,7 +0,0 @@
1
- import { MessageVariant } from "../../message.component";
2
- type TypeIconStyleProps = {
3
- transparent?: boolean;
4
- variant: MessageVariant;
5
- };
6
- declare const TypeIconStyle: import("styled-components").StyledComponent<"div", any, TypeIconStyleProps, never>;
7
- export default TypeIconStyle;