carbon-react 106.7.0 → 107.1.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 (205) hide show
  1. package/esm/__internal__/click-away-wrapper/click-away-wrapper.component.d.ts +12 -0
  2. package/esm/__internal__/click-away-wrapper/click-away-wrapper.component.js +43 -0
  3. package/esm/__internal__/click-away-wrapper/index.d.ts +2 -0
  4. package/esm/__internal__/click-away-wrapper/index.js +1 -0
  5. package/esm/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.d.ts +0 -0
  6. package/esm/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.js +0 -0
  7. package/esm/components/badge/badge.style.d.ts +1 -1
  8. package/esm/components/button/button.component.d.ts +1 -3
  9. package/esm/components/button/button.component.js +1 -12
  10. package/esm/components/button/button.style.d.ts +1 -1
  11. package/esm/components/button-toggle-group/button-toggle-group.component.js +1 -1
  12. package/esm/components/confirm/confirm.component.d.ts +1 -5
  13. package/esm/components/confirm/confirm.component.js +2 -14
  14. package/esm/components/confirm/confirm.d.ts +0 -2
  15. package/esm/components/date/date.component.js +19 -20
  16. package/esm/components/date/date.d.ts +10 -1
  17. package/esm/components/date/index.d.ts +1 -0
  18. package/esm/components/date-range/date-range.d.ts +3 -3
  19. package/esm/components/date-range/index.d.ts +1 -0
  20. package/esm/components/dialog-full-screen/content.style.js +4 -10
  21. package/esm/components/heading/heading.component.d.ts +27 -52
  22. package/esm/components/heading/heading.component.js +86 -170
  23. package/esm/components/heading/heading.d.ts +5 -3
  24. package/esm/components/i18n-provider/i18n-provider.component.d.ts +0 -9
  25. package/esm/components/i18n-provider/i18n-provider.component.js +0 -9
  26. package/esm/components/menu/__internal__/submenu/submenu.component.js +11 -17
  27. package/esm/components/menu/index.d.ts +0 -1
  28. package/esm/components/menu/index.js +0 -1
  29. package/esm/components/menu/menu-item/menu-item.component.js +0 -6
  30. package/esm/components/multi-action-button/multi-action-button.component.d.ts +1 -1
  31. package/esm/components/multi-action-button/multi-action-button.component.js +1 -11
  32. package/esm/components/navigation-bar/navigation-bar.component.d.ts +1 -6
  33. package/esm/components/navigation-bar/navigation-bar.component.js +1 -15
  34. package/esm/components/navigation-bar/navigation-bar.style.d.ts +0 -4
  35. package/esm/components/navigation-bar/navigation-bar.style.js +0 -8
  36. package/esm/components/popover-container/popover-container.component.js +16 -3
  37. package/esm/components/radio-button/radio-button-group.component.js +1 -1
  38. package/esm/components/select/select-list/select-list.component.js +2 -2
  39. package/esm/components/simple-color-picker/simple-color-picker.component.js +1 -1
  40. package/esm/components/split-button/split-button-toggle.style.d.ts +1 -1
  41. package/esm/components/split-button/split-button.component.d.ts +1 -4
  42. package/esm/components/split-button/split-button.component.js +3 -16
  43. package/esm/components/split-button/split-button.d.ts +0 -2
  44. package/esm/components/tile/tile.component.d.ts +1 -2
  45. package/esm/components/tile/tile.component.js +1 -13
  46. package/esm/components/tile/tile.d.ts +0 -2
  47. package/esm/components/tile-select/tile-select-group.component.js +1 -1
  48. package/esm/components/toast/toast.component.d.ts +1 -4
  49. package/esm/components/toast/toast.component.js +1 -13
  50. package/esm/components/toast/toast.d.ts +0 -2
  51. package/esm/locales/en-gb.js +0 -9
  52. package/esm/locales/locale.d.ts +0 -9
  53. package/esm/locales/pl-pl.js +0 -9
  54. package/lib/__internal__/click-away-wrapper/click-away-wrapper.component.d.ts +12 -0
  55. package/lib/__internal__/click-away-wrapper/click-away-wrapper.component.js +59 -0
  56. package/lib/__internal__/click-away-wrapper/index.d.ts +2 -0
  57. package/lib/{components/menu/submenu-block → __internal__/click-away-wrapper}/index.js +2 -2
  58. package/lib/{components/scrollable-list → __internal__/click-away-wrapper}/package.json +1 -1
  59. package/lib/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.d.ts +0 -0
  60. package/lib/{components/radio-button → __internal__/radio-button-mapper}/radio-button-mapper.component.js +0 -0
  61. package/lib/components/badge/badge.style.d.ts +1 -1
  62. package/lib/components/button/button.component.d.ts +1 -3
  63. package/lib/components/button/button.component.js +1 -14
  64. package/lib/components/button/button.style.d.ts +1 -1
  65. package/lib/components/button-toggle-group/button-toggle-group.component.js +1 -1
  66. package/lib/components/confirm/confirm.component.d.ts +1 -5
  67. package/lib/components/confirm/confirm.component.js +2 -17
  68. package/lib/components/confirm/confirm.d.ts +0 -2
  69. package/lib/components/date/date.component.js +20 -20
  70. package/lib/components/date/date.d.ts +10 -1
  71. package/lib/components/date/index.d.ts +1 -0
  72. package/lib/components/date-range/date-range.d.ts +3 -3
  73. package/lib/components/date-range/index.d.ts +1 -0
  74. package/lib/components/dialog-full-screen/content.style.js +4 -10
  75. package/lib/components/heading/heading.component.d.ts +27 -52
  76. package/lib/components/heading/heading.component.js +86 -170
  77. package/lib/components/heading/heading.d.ts +5 -3
  78. package/lib/components/i18n-provider/i18n-provider.component.d.ts +0 -9
  79. package/lib/components/i18n-provider/i18n-provider.component.js +0 -9
  80. package/lib/components/menu/__internal__/submenu/submenu.component.js +12 -17
  81. package/lib/components/menu/index.d.ts +0 -1
  82. package/lib/components/menu/index.js +0 -8
  83. package/lib/components/menu/menu-item/menu-item.component.js +0 -7
  84. package/lib/components/multi-action-button/multi-action-button.component.d.ts +1 -1
  85. package/lib/components/multi-action-button/multi-action-button.component.js +1 -14
  86. package/lib/components/navigation-bar/navigation-bar.component.d.ts +1 -6
  87. package/lib/components/navigation-bar/navigation-bar.component.js +1 -18
  88. package/lib/components/navigation-bar/navigation-bar.style.d.ts +0 -4
  89. package/lib/components/navigation-bar/navigation-bar.style.js +0 -8
  90. package/lib/components/popover-container/popover-container.component.js +17 -3
  91. package/lib/components/radio-button/radio-button-group.component.js +1 -1
  92. package/lib/components/select/select-list/select-list.component.js +2 -2
  93. package/lib/components/simple-color-picker/simple-color-picker.component.js +1 -1
  94. package/lib/components/split-button/split-button-toggle.style.d.ts +1 -1
  95. package/lib/components/split-button/split-button.component.d.ts +1 -4
  96. package/lib/components/split-button/split-button.component.js +3 -18
  97. package/lib/components/split-button/split-button.d.ts +0 -2
  98. package/lib/components/tile/tile.component.d.ts +1 -2
  99. package/lib/components/tile/tile.component.js +1 -16
  100. package/lib/components/tile/tile.d.ts +0 -2
  101. package/lib/components/tile-select/tile-select-group.component.js +1 -1
  102. package/lib/components/toast/toast.component.d.ts +1 -4
  103. package/lib/components/toast/toast.component.js +1 -16
  104. package/lib/components/toast/toast.d.ts +0 -2
  105. package/lib/locales/en-gb.js +0 -9
  106. package/lib/locales/locale.d.ts +0 -9
  107. package/lib/locales/pl-pl.js +0 -9
  108. package/package.json +1 -1
  109. package/esm/components/app-wrapper/app-wrapper.component.d.ts +0 -25
  110. package/esm/components/app-wrapper/app-wrapper.component.js +0 -104
  111. package/esm/components/app-wrapper/app-wrapper.d.ts +0 -12
  112. package/esm/components/app-wrapper/app-wrapper.style.d.ts +0 -2
  113. package/esm/components/app-wrapper/app-wrapper.style.js +0 -17
  114. package/esm/components/app-wrapper/index.d.ts +0 -1
  115. package/esm/components/app-wrapper/index.js +0 -1
  116. package/esm/components/menu/submenu-block/index.d.ts +0 -2
  117. package/esm/components/menu/submenu-block/index.js +0 -1
  118. package/esm/components/menu/submenu-block/submenu-block.component.d.ts +0 -12
  119. package/esm/components/menu/submenu-block/submenu-block.component.js +0 -34
  120. package/esm/components/menu/submenu-block/submenu-block.d.ts +0 -12
  121. package/esm/components/menu/submenu-block/submenu-block.style.d.ts +0 -2
  122. package/esm/components/menu/submenu-block/submenu-block.style.js +0 -16
  123. package/esm/components/mount-in-app/__spec__.d.ts +0 -1
  124. package/esm/components/mount-in-app/__spec__.js +0 -47
  125. package/esm/components/mount-in-app/index.d.ts +0 -1
  126. package/esm/components/mount-in-app/mount-in-app.d.ts +0 -12
  127. package/esm/components/mount-in-app/mount-in-app.js +0 -90
  128. package/esm/components/mount-in-app/package.json +0 -3
  129. package/esm/components/multi-step-wizard/__spec__.d.ts +0 -1
  130. package/esm/components/multi-step-wizard/__spec__.js +0 -191
  131. package/esm/components/multi-step-wizard/multi-step-wizard.d.ts +0 -109
  132. package/esm/components/multi-step-wizard/multi-step-wizard.js +0 -383
  133. package/esm/components/multi-step-wizard/multi-step-wizard.style.d.ts +0 -2
  134. package/esm/components/multi-step-wizard/multi-step-wizard.style.js +0 -10
  135. package/esm/components/multi-step-wizard/package.json +0 -4
  136. package/esm/components/multi-step-wizard/step/__spec__.d.ts +0 -1
  137. package/esm/components/multi-step-wizard/step/__spec__.js +0 -399
  138. package/esm/components/multi-step-wizard/step/package.json +0 -4
  139. package/esm/components/multi-step-wizard/step/step.d.ts +0 -166
  140. package/esm/components/multi-step-wizard/step/step.js +0 -407
  141. package/esm/components/multi-step-wizard/step/step.style.d.ts +0 -13
  142. package/esm/components/multi-step-wizard/step/step.style.js +0 -138
  143. package/esm/components/scrollable-list/as-scrollable-list-item.wrapper.d.ts +0 -2
  144. package/esm/components/scrollable-list/as-scrollable-list-item.wrapper.js +0 -10
  145. package/esm/components/scrollable-list/index.d.ts +0 -4
  146. package/esm/components/scrollable-list/index.js +0 -4
  147. package/esm/components/scrollable-list/scrollable-list-item.component.d.ts +0 -2
  148. package/esm/components/scrollable-list/scrollable-list-item.component.js +0 -26
  149. package/esm/components/scrollable-list/scrollable-list.component.d.ts +0 -52
  150. package/esm/components/scrollable-list/scrollable-list.component.js +0 -306
  151. package/esm/components/scrollable-list/scrollable-list.context.d.ts +0 -3
  152. package/esm/components/scrollable-list/scrollable-list.context.js +0 -2
  153. package/esm/components/scrollable-list/scrollable-list.style.d.ts +0 -2
  154. package/esm/components/scrollable-list/scrollable-list.style.js +0 -30
  155. package/esm/components/scrollable-list/test-utils.d.ts +0 -2
  156. package/esm/components/scrollable-list/test-utils.js +0 -25
  157. package/lib/components/app-wrapper/app-wrapper.component.d.ts +0 -25
  158. package/lib/components/app-wrapper/app-wrapper.component.js +0 -120
  159. package/lib/components/app-wrapper/app-wrapper.d.ts +0 -12
  160. package/lib/components/app-wrapper/app-wrapper.style.d.ts +0 -2
  161. package/lib/components/app-wrapper/app-wrapper.style.js +0 -28
  162. package/lib/components/app-wrapper/index.d.ts +0 -1
  163. package/lib/components/app-wrapper/index.js +0 -15
  164. package/lib/components/app-wrapper/package.json +0 -6
  165. package/lib/components/menu/submenu-block/index.d.ts +0 -2
  166. package/lib/components/menu/submenu-block/package.json +0 -6
  167. package/lib/components/menu/submenu-block/submenu-block.component.d.ts +0 -12
  168. package/lib/components/menu/submenu-block/submenu-block.component.js +0 -53
  169. package/lib/components/menu/submenu-block/submenu-block.d.ts +0 -12
  170. package/lib/components/menu/submenu-block/submenu-block.style.d.ts +0 -2
  171. package/lib/components/menu/submenu-block/submenu-block.style.js +0 -33
  172. package/lib/components/mount-in-app/__spec__.d.ts +0 -1
  173. package/lib/components/mount-in-app/__spec__.js +0 -55
  174. package/lib/components/mount-in-app/index.d.ts +0 -1
  175. package/lib/components/mount-in-app/mount-in-app.d.ts +0 -12
  176. package/lib/components/mount-in-app/mount-in-app.js +0 -105
  177. package/lib/components/mount-in-app/package.json +0 -3
  178. package/lib/components/multi-step-wizard/__spec__.d.ts +0 -1
  179. package/lib/components/multi-step-wizard/__spec__.js +0 -202
  180. package/lib/components/multi-step-wizard/multi-step-wizard.d.ts +0 -109
  181. package/lib/components/multi-step-wizard/multi-step-wizard.js +0 -397
  182. package/lib/components/multi-step-wizard/multi-step-wizard.style.d.ts +0 -2
  183. package/lib/components/multi-step-wizard/multi-step-wizard.style.js +0 -21
  184. package/lib/components/multi-step-wizard/package.json +0 -4
  185. package/lib/components/multi-step-wizard/step/__spec__.d.ts +0 -1
  186. package/lib/components/multi-step-wizard/step/__spec__.js +0 -409
  187. package/lib/components/multi-step-wizard/step/package.json +0 -4
  188. package/lib/components/multi-step-wizard/step/step.d.ts +0 -166
  189. package/lib/components/multi-step-wizard/step/step.js +0 -421
  190. package/lib/components/multi-step-wizard/step/step.style.d.ts +0 -13
  191. package/lib/components/multi-step-wizard/step/step.style.js +0 -162
  192. package/lib/components/scrollable-list/as-scrollable-list-item.wrapper.d.ts +0 -2
  193. package/lib/components/scrollable-list/as-scrollable-list-item.wrapper.js +0 -21
  194. package/lib/components/scrollable-list/index.d.ts +0 -4
  195. package/lib/components/scrollable-list/index.js +0 -31
  196. package/lib/components/scrollable-list/scrollable-list-item.component.d.ts +0 -2
  197. package/lib/components/scrollable-list/scrollable-list-item.component.js +0 -42
  198. package/lib/components/scrollable-list/scrollable-list.component.d.ts +0 -52
  199. package/lib/components/scrollable-list/scrollable-list.component.js +0 -328
  200. package/lib/components/scrollable-list/scrollable-list.context.d.ts +0 -3
  201. package/lib/components/scrollable-list/scrollable-list.context.js +0 -14
  202. package/lib/components/scrollable-list/scrollable-list.style.d.ts +0 -2
  203. package/lib/components/scrollable-list/scrollable-list.style.js +0 -41
  204. package/lib/components/scrollable-list/test-utils.d.ts +0 -2
  205. package/lib/components/scrollable-list/test-utils.js +0 -37
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ export interface ClickAwayWrapperProps {
3
+ children: React.ReactNode;
4
+ handleClickAway: (ev: CustomEvent) => void;
5
+ eventTypeId?: "mousedown" | "click";
6
+ targets: React.RefObject<HTMLElement>[];
7
+ }
8
+ declare const ClickAwayWrapper: {
9
+ ({ children, handleClickAway, eventTypeId, targets, }: ClickAwayWrapperProps): JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export default ClickAwayWrapper;
@@ -0,0 +1,43 @@
1
+ import React, { useEffect } from "react";
2
+ import PropTypes from "prop-types";
3
+ import Events from "../utils/helpers/events";
4
+
5
+ const ClickAwayWrapper = ({
6
+ children,
7
+ handleClickAway,
8
+ eventTypeId = "click",
9
+ targets
10
+ }) => {
11
+ useEffect(() => {
12
+ const fnClickAway = ev => {
13
+ const clickedElements = targets.filter(ref => (ref === null || ref === void 0 ? void 0 : ref.current) && Events.composedPath(ev).includes(ref.current));
14
+
15
+ if (!clickedElements || !clickedElements.length) {
16
+ handleClickAway(ev);
17
+ }
18
+ };
19
+
20
+ document.addEventListener(eventTypeId, fnClickAway);
21
+ return function cleanup() {
22
+ document.removeEventListener(eventTypeId, fnClickAway);
23
+ };
24
+ }, [handleClickAway, targets, eventTypeId]);
25
+ return /*#__PURE__*/React.createElement(React.Fragment, null, children);
26
+ };
27
+
28
+ ClickAwayWrapper.propTypes = {
29
+ "children": PropTypes.node,
30
+ "eventTypeId": PropTypes.oneOf(["click", "mousedown"]),
31
+ "handleClickAway": PropTypes.func.isRequired,
32
+ "targets": PropTypes.arrayOf(PropTypes.shape({
33
+ "current": PropTypes.oneOfType([PropTypes.oneOf([null]), function (props, propName) {
34
+ if (props[propName] == null) {
35
+ return new Error("Prop '" + propName + "' is required but wasn't specified");
36
+ } else if (typeof props[propName] !== 'object' || props[propName].nodeType !== 1) {
37
+ return new Error("Expected prop '" + propName + "' to be of type Element");
38
+ }
39
+ }]).isRequired
40
+ })).isRequired
41
+ };
42
+ ClickAwayWrapper.displayName = "ClickAwayWrapper";
43
+ export default ClickAwayWrapper;
@@ -0,0 +1,2 @@
1
+ export { default } from "./click-away-wrapper.component";
2
+ export type { ClickAwayWrapperProps } from "./click-away-wrapper.component";
@@ -0,0 +1 @@
1
+ export { default } from "./click-away-wrapper.component";
@@ -3,7 +3,7 @@ import Icon from "../icon";
3
3
  declare const StyledBadgeWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
4
  declare const StyledCounter: import("styled-components").StyledComponent<"div", any, {}, never>;
5
5
  declare const StyledButton: import("styled-components").StyledComponent<{
6
- ({ size, subtext, as, children, forwardRef, "aria-label": ariaLabel, disabled, destructive, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, fullWidth, ...rest }: import("../button").ButtonProps): JSX.Element;
6
+ ({ size, subtext, children, forwardRef, "aria-label": ariaLabel, disabled, destructive, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, fullWidth, ...rest }: import("../button").ButtonProps): JSX.Element;
7
7
  displayName: string;
8
8
  }, any, {}, never>;
9
9
  declare const StyledCrossIcon: import("styled-components").StyledComponent<typeof Icon, any, {}, never>;
@@ -10,8 +10,6 @@ export interface ButtonProps extends SpaceProps {
10
10
  * This is required to comply with WCAG 4.1.2 - Buttons must have discernible text
11
11
  */
12
12
  "aria-label"?: string;
13
- /** [Legacy] Button types for legacy theme: "primary" | "secondary" */
14
- as?: ButtonTypes;
15
13
  /** Color variants for new business themes: "primary" | "secondary" | "tertiary" | "darkBackground" */
16
14
  buttonType?: ButtonTypes;
17
15
  /** The text the button displays */
@@ -60,7 +58,7 @@ export interface ButtonProps extends SpaceProps {
60
58
  rel?: string;
61
59
  }
62
60
  declare const Button: {
63
- ({ size, subtext, as, children, forwardRef, "aria-label": ariaLabel, disabled, destructive, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, fullWidth, ...rest }: ButtonProps): JSX.Element;
61
+ ({ size, subtext, children, forwardRef, "aria-label": ariaLabel, disabled, destructive, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, fullWidth, ...rest }: ButtonProps): JSX.Element;
64
62
  displayName: string;
65
63
  };
66
64
  declare const ButtonWithForwardRef: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
@@ -7,7 +7,6 @@ import Icon from "../icon";
7
7
  import StyledButton, { StyledButtonSubtext } from "./button.style";
8
8
  import tagComponent from "../../__internal__/utils/helpers/tags/tags";
9
9
  import { TooltipProvider } from "../../__internal__/tooltip-provider";
10
- import Logger from "../../__internal__/utils/logger";
11
10
 
12
11
  function renderChildren({
13
12
  /* eslint-disable react/prop-types */
@@ -74,12 +73,10 @@ renderChildren.propTypes = {
74
73
  }
75
74
  }
76
75
  };
77
- let deprecatedWarnTriggered = false;
78
76
 
79
77
  const Button = ({
80
78
  size = "medium",
81
79
  subtext = "",
82
- as,
83
80
  children,
84
81
  forwardRef,
85
82
  "aria-label": ariaLabel,
@@ -99,12 +96,6 @@ const Button = ({
99
96
  fullWidth = false,
100
97
  ...rest
101
98
  }) => {
102
- if (!deprecatedWarnTriggered && as) {
103
- deprecatedWarnTriggered = true;
104
- Logger.deprecate( // eslint-disable-next-line max-len
105
- "The `as` prop is deprecated and will soon be removed from the `Button` component interface. You should use the `buttonType` prop to achieve the same styling. The following codemod is available to help with updating your code https://github.com/Sage/carbon-codemod/tree/master/transforms/rename-prop");
106
- }
107
-
108
99
  invariant(!!(children || iconType), "Either prop `iconType` must be defined or this node must have children.");
109
100
 
110
101
  if (subtext) {
@@ -112,7 +103,7 @@ const Button = ({
112
103
  }
113
104
 
114
105
  const [internalRef, setInternalRef] = useState();
115
- const buttonType = as || buttonTypeProp;
106
+ const buttonType = buttonTypeProp;
116
107
  let paddingX;
117
108
 
118
109
  const handleLinkKeyDown = event => {
@@ -182,7 +173,6 @@ const Button = ({
182
173
 
183
174
  Button.propTypes = {
184
175
  "aria-label": PropTypes.string,
185
- "as": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
186
176
  "buttonType": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
187
177
  "children": PropTypes.node,
188
178
  "destructive": PropTypes.bool,
@@ -522,7 +512,6 @@ const ButtonWithForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__
522
512
  }, props)));
523
513
  ButtonWithForwardRef.propTypes = {
524
514
  "aria-label": PropTypes.string,
525
- "as": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
526
515
  "buttonType": PropTypes.oneOf(["darkBackground", "dashed", "primary", "secondary", "tertiary"]),
527
516
  "children": PropTypes.node,
528
517
  "destructive": PropTypes.bool,
@@ -1,6 +1,6 @@
1
1
  import { SpaceProps } from "styled-system";
2
2
  import { ButtonProps } from "./button.component";
3
- declare const StyledButton: import("styled-components").StyledComponent<"button", any, SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> & Omit<ButtonProps, "as"> & {
3
+ declare const StyledButton: import("styled-components").StyledComponent<"button", any, SpaceProps<Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>, string | number | symbol> & ButtonProps & {
4
4
  iconOnly?: boolean | undefined;
5
5
  }, never>;
6
6
  export declare const StyledButtonSubtext: import("styled-components").StyledComponent<"span", any, {}, never>;
@@ -6,7 +6,7 @@ import styledSystemPropTypes from "@styled-system/prop-types";
6
6
  import FormField from "../../__internal__/form-field";
7
7
  import ButtonToggleGroupStyle from "./button-toggle-group.style";
8
8
  import ButtonToggle from "../button-toggle";
9
- import RadioButtonMapper from "../radio-button/radio-button-mapper.component";
9
+ import RadioButtonMapper from "../../__internal__/radio-button-mapper/radio-button-mapper.component";
10
10
  import ValidationIcon from "../../__internal__/validations/validation-icon.component";
11
11
  import { InputGroupBehaviour } from "../../__internal__/input-behaviour";
12
12
  import { filterStyledSystemMarginProps } from "../../style/utils";
@@ -1,12 +1,11 @@
1
1
  export default Confirm;
2
- declare function Confirm({ "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, open, children, destructive, cancelButtonDestructive, confirmButtonDestructive, cancelButtonType, confirmButtonType, cancelButtonIconType, cancelButtonIconPosition, confirmButtonIconType, confirmButtonIconPosition, cancelLabel, onCancel, disableCancel, onConfirm, isLoadingConfirm, disableConfirm, confirmLabel, iconType, subtitle, title, ...rest }: {
2
+ declare function Confirm({ "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-label": ariaLabel, open, children, cancelButtonDestructive, confirmButtonDestructive, cancelButtonType, confirmButtonType, cancelButtonIconType, cancelButtonIconPosition, confirmButtonIconType, confirmButtonIconPosition, cancelLabel, onCancel, disableCancel, onConfirm, isLoadingConfirm, disableConfirm, confirmLabel, iconType, subtitle, title, ...rest }: {
3
3
  [x: string]: any;
4
4
  "aria-labelledby": any;
5
5
  "aria-describedby": any;
6
6
  "aria-label": any;
7
7
  open: any;
8
8
  children: any;
9
- destructive: any;
10
9
  cancelButtonDestructive: any;
11
10
  confirmButtonDestructive: any;
12
11
  cancelButtonType: any;
@@ -30,7 +29,6 @@ declare namespace Confirm {
30
29
  namespace defaultProps {
31
30
  const size: string;
32
31
  const showCloseIcon: boolean;
33
- const destructive: boolean;
34
32
  const cancelButtonDestructive: boolean;
35
33
  const confirmButtonDestructive: boolean;
36
34
  const iconType: null;
@@ -81,8 +79,6 @@ declare namespace Confirm {
81
79
  confirmLabel: PropTypes.Requireable<string>;
82
80
  /** Customise the cancel button label */
83
81
  cancelLabel: PropTypes.Requireable<string>;
84
- /** Apply destructive style to the buttons */
85
- destructive: PropTypes.Requireable<boolean>;
86
82
  /** Apply destructive style to the cancel button */
87
83
  cancelButtonDestructive: PropTypes.Requireable<boolean>;
88
84
  /** Apply destructive style to the confirm button */
@@ -3,7 +3,6 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
3
3
  import React, { useRef } from "react";
4
4
  import PropTypes from "prop-types";
5
5
  import createGuid from "../../__internal__/utils/helpers/guid";
6
- import Logger from "../../__internal__/utils/logger";
7
6
  import Heading from "../heading";
8
7
  import Dialog from "../dialog";
9
8
  import { StyledConfirmButtons, StyledConfirmHeading } from "./confirm.style";
@@ -11,7 +10,6 @@ import Button from "../button/button.component";
11
10
  import Icon from "../icon";
12
11
  import Loader from "../loader";
13
12
  import useLocale from "../../hooks/__internal__/useLocale";
14
- let deprecatedWarnTriggered = false;
15
13
 
16
14
  const Confirm = ({
17
15
  "aria-labelledby": ariaLabelledBy,
@@ -19,7 +17,6 @@ const Confirm = ({
19
17
  "aria-label": ariaLabel,
20
18
  open,
21
19
  children,
22
- destructive,
23
20
  cancelButtonDestructive,
24
21
  confirmButtonDestructive,
25
22
  cancelButtonType,
@@ -40,11 +37,6 @@ const Confirm = ({
40
37
  title,
41
38
  ...rest
42
39
  }) => {
43
- if (!deprecatedWarnTriggered && destructive) {
44
- deprecatedWarnTriggered = true;
45
- Logger.deprecate("`destructive` prop is deprecated and will soon be removed. Please use `cancelButtonDestructive` and `confirmButtonDestructive` props.");
46
- }
47
-
48
40
  const l = useLocale();
49
41
  const {
50
42
  current: titleId
@@ -72,7 +64,7 @@ const Confirm = ({
72
64
  onClick: onCancel,
73
65
  "data-element": "cancel",
74
66
  buttonType: cancelButtonType,
75
- destructive: destructive || cancelButtonDestructive,
67
+ destructive: cancelButtonDestructive,
76
68
  disabled: disableCancel,
77
69
  iconType: cancelButtonIconType,
78
70
  iconPosition: cancelButtonIconPosition
@@ -83,7 +75,7 @@ const Confirm = ({
83
75
  onClick: onConfirm,
84
76
  "data-element": "confirm",
85
77
  buttonType: confirmButtonType,
86
- destructive: destructive || confirmButtonDestructive,
78
+ destructive: confirmButtonDestructive,
87
79
  disabled: isLoadingConfirm || disableConfirm,
88
80
  ml: 2,
89
81
  iconType: confirmButtonIconType,
@@ -127,7 +119,6 @@ const Confirm = ({
127
119
  Confirm.defaultProps = {
128
120
  size: "extra-small",
129
121
  showCloseIcon: false,
130
- destructive: false,
131
122
  cancelButtonDestructive: false,
132
123
  confirmButtonDestructive: false,
133
124
  iconType: null,
@@ -195,9 +186,6 @@ Confirm.propTypes = {
195
186
  /** Customise the cancel button label */
196
187
  cancelLabel: PropTypes.string,
197
188
 
198
- /** Apply destructive style to the buttons */
199
- destructive: PropTypes.bool,
200
-
201
189
  /** Apply destructive style to the cancel button */
202
190
  cancelButtonDestructive: PropTypes.bool,
203
191
 
@@ -21,8 +21,6 @@ export interface ConfirmProps extends DialogProps {
21
21
  cancelLabel?: string;
22
22
  /** Customise the confirm button label */
23
23
  confirmLabel?: string;
24
- /** Apply destructive style to the buttons */
25
- destructive?: boolean;
26
24
  /** Apply destructive style to the cancel button */
27
25
  cancelButtonDestructive?: boolean;
28
26
  /** Apply destructive style to the confirm button */
@@ -12,6 +12,7 @@ import StyledDateInput from "./date.style";
12
12
  import Textbox from "../textbox";
13
13
  import DatePicker from "./__internal__/date-picker";
14
14
  import DateRangeContext from "../date-range/date-range.context";
15
+ import ClickAwayWrapper from "../../__internal__/click-away-wrapper";
15
16
  const marginPropTypes = filterStyledSystemMarginProps(styledSystemPropTypes.space);
16
17
 
17
18
  const DateInput = ({
@@ -234,23 +235,6 @@ const DateInput = ({
234
235
  }
235
236
  };
236
237
 
237
- useEffect(() => {
238
- const fnClosePicker = ev => {
239
- if (open && !Events.composedPath(ev).includes(parentRef.current) && !Events.composedPath(ev).includes(pickerRef.current)) {
240
- alreadyFocused.current = true;
241
- inputRef.current.focus();
242
- isBlurBlocked.current = false;
243
- inputRef.current.blur();
244
- setOpen(false);
245
- alreadyFocused.current = false;
246
- }
247
- };
248
-
249
- document.addEventListener("mousedown", fnClosePicker);
250
- return function cleanup() {
251
- document.removeEventListener("mousedown", fnClosePicker);
252
- };
253
- }, [open]);
254
238
  useEffect(() => {
255
239
  const [matchedFormat, matchedValue] = findMatchedFormatAndValue(value, formats);
256
240
 
@@ -282,7 +266,22 @@ const DateInput = ({
282
266
  return value;
283
267
  };
284
268
 
285
- return /*#__PURE__*/React.createElement(StyledDateInput, _extends({
269
+ const handleClickAway = () => {
270
+ if (open) {
271
+ alreadyFocused.current = true;
272
+ inputRef.current.focus();
273
+ isBlurBlocked.current = false;
274
+ inputRef.current.blur();
275
+ setOpen(false);
276
+ alreadyFocused.current = false;
277
+ }
278
+ };
279
+
280
+ return /*#__PURE__*/React.createElement(ClickAwayWrapper, {
281
+ handleClickAway: handleClickAway,
282
+ eventTypeId: "mousedown",
283
+ targets: [parentRef, pickerRef]
284
+ }, /*#__PURE__*/React.createElement(StyledDateInput, _extends({
286
285
  ref: wrapperRef,
287
286
  role: "presentation",
288
287
  size: size,
@@ -322,13 +321,13 @@ const DateInput = ({
322
321
  ref: pickerRef,
323
322
  pickerMouseDown: handlePickerMouseDown,
324
323
  open: open
325
- }));
324
+ })));
326
325
  };
327
326
 
328
327
  DateInput.propTypes = { ...Textbox.propTypes,
329
328
  ...marginPropTypes,
330
329
 
331
- /** Pass any props that match the [DayPickerProps](https://react-day-picker.js.org/api/DayPicker)
330
+ /** Pass any props that match the [DayPickerProps](https://react-day-picker-v7.netlify.app/docs/getting-started/)
332
331
  * interface to override default behaviors
333
332
  * */
334
333
  pickerProps: PropTypes.object,
@@ -2,6 +2,15 @@ import * as React from "react";
2
2
  import { DayPickerProps } from "react-day-picker";
3
3
  import { TextboxProps } from "../textbox/textbox";
4
4
 
5
+ export interface DateChangeEvent {
6
+ target: {
7
+ value: {
8
+ formattedValue: string;
9
+ rawValue: string;
10
+ };
11
+ };
12
+ }
13
+
5
14
  export interface DateInputProps
6
15
  extends Omit<
7
16
  TextboxProps,
@@ -31,7 +40,7 @@ export interface DateInputProps
31
40
  /** Maximum possible date YYYY-MM-DD */
32
41
  maxDate?: string;
33
42
  /** Specify a callback triggered on change */
34
- onChange: (ev: React.ChangeEvent<HTMLInputElement>) => void;
43
+ onChange: (ev: DateChangeEvent) => void;
35
44
  /** The current date string */
36
45
  value: string;
37
46
  /** Pass any props that match the DayPickerProps interface to override default behaviors */
@@ -1 +1,2 @@
1
1
  export { default } from "./date";
2
+ export type { DateChangeEvent } from "./date";
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import { MarginProps } from "styled-system";
3
3
  import { DateInputProps } from "../date/date";
4
4
 
5
- interface DateRangeChangeEvent {
5
+ export interface DateRangeChangeEvent {
6
6
  target: {
7
7
  value: [
8
8
  {
@@ -19,7 +19,7 @@ interface DateRangeChangeEvent {
19
19
 
20
20
  export interface DateRangeProps extends MarginProps {
21
21
  /** Props for the child end Date component */
22
- endDateProps?: DateInputProps;
22
+ endDateProps?: Partial<DateInputProps>;
23
23
  /** Optional label for endDate field */
24
24
  endLabel?: string;
25
25
  /**
@@ -51,7 +51,7 @@ export interface DateRangeProps extends MarginProps {
51
51
  /** Specify a callback triggered on blur */
52
52
  onBlur?: (ev: DateRangeChangeEvent) => void;
53
53
  /** Props for the child start Date component */
54
- startDateProps?: DateInputProps;
54
+ startDateProps?: Partial<DateInputProps>;
55
55
  /** Optional label for startDate field */
56
56
  startLabel?: string;
57
57
  /**
@@ -1,2 +1,3 @@
1
1
  export { default } from "./date-range";
2
2
  export { default as DateRangeContext } from "./date-range-context";
3
+ export type { DateRangeChangeEvent } from "./date-range";
@@ -80,15 +80,9 @@ const StyledContent = styled.div`
80
80
 
81
81
  ${({
82
82
  hasHeader
83
- }) => !hasHeader && `
84
- padding-top: 0;
85
- margin-top: -25px;
86
-
87
- .carbon-app-wrapper {
88
- max-width: 100%;
89
- padding: 0;
90
- height: 70px;
91
- }
92
- `}
83
+ }) => !hasHeader && css`
84
+ padding-top: 0;
85
+ margin-top: -25px;
86
+ `}
93
87
  `;
94
88
  export default StyledContent;
@@ -1,64 +1,44 @@
1
1
  export default Heading;
2
- declare class Heading extends React.Component<any, any, any> {
3
- constructor(props: any);
4
- constructor(props: any, context: any);
5
- get help(): JSX.Element | null;
6
- get back(): JSX.Element | null;
7
- get subheader(): JSX.Element | null;
8
- get separator(): JSX.Element | null;
9
- get divider(): JSX.Element | null;
10
- get pills(): JSX.Element | null;
11
- render(): JSX.Element | null;
12
- }
2
+ declare function Heading({ children, backLink, divider, help, helpAriaLabel, helpLink, pills, separator, subheader, subtitleId, title, titleId, ...rest }: {
3
+ [x: string]: any;
4
+ children: any;
5
+ backLink: any;
6
+ divider?: boolean | undefined;
7
+ help: any;
8
+ helpAriaLabel: any;
9
+ helpLink: any;
10
+ pills: any;
11
+ separator?: boolean | undefined;
12
+ subheader: any;
13
+ subtitleId: any;
14
+ title: any;
15
+ titleId: any;
16
+ }): JSX.Element | null;
13
17
  declare namespace Heading {
14
18
  const propTypes: {
15
- /**
16
- * Children elements
17
- */
19
+ /** Child elements */
18
20
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
- /**
20
- * Defines the title for the heading.
21
- */
21
+ /** Defines the title for the heading. */
22
22
  title: PropTypes.Requireable<PropTypes.ReactNodeLike>;
23
- /**
24
- * Defines the title id for the heading.
25
- */
23
+ /** Defines the title id for the heading. */
26
24
  titleId: PropTypes.Requireable<string>;
27
- /**
28
- * Defines the subheader for the heading.
29
- */
25
+ /** Defines the subheader for the heading. */
30
26
  subheader: PropTypes.Requireable<PropTypes.ReactNodeLike>;
31
- /**
32
- * Defines the subtitle id for the heading.
33
- */
27
+ /** Defines the subtitle id for the heading. */
34
28
  subtitleId: PropTypes.Requireable<string>;
35
- /**
36
- * Defines the help text for the heading.
37
- */
29
+ /** Defines the help text for the heading. */
38
30
  help: PropTypes.Requireable<string>;
39
- /**
40
- * Defines the help link for the heading.
41
- */
31
+ /** Defines the help link for the heading. */
42
32
  helpLink: PropTypes.Requireable<string>;
43
- /**
44
- * Defines the a href for the back link.
45
- */
33
+ /** Defines the a href for the back link. */
46
34
  backLink: PropTypes.Requireable<string | ((...args: any[]) => any)>;
47
- /**
48
- * Adds a divider below the heading and the content.
49
- */
35
+ /** Adds a divider below the heading and the content. */
50
36
  divider: PropTypes.Requireable<boolean>;
51
- /**
52
- * Adds a separator between the title and the subheader.
53
- */
37
+ /** Adds a separator between the title and the subheader. */
54
38
  separator: PropTypes.Requireable<boolean>;
55
- /**
56
- * Pills that will be added after the title.
57
- */
39
+ /** Pills that will be added after the title. */
58
40
  pills: PropTypes.Requireable<PropTypes.ReactNodeLike>;
59
- /**
60
- * Aria label for rendered help component
61
- */
41
+ /** Aria label for rendered help component */
62
42
  helpAriaLabel: PropTypes.Requireable<string>;
63
43
  marginBottom?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
64
44
  margin?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
@@ -75,10 +55,5 @@ declare namespace Heading {
75
55
  marginY?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
76
56
  my?: import("styled-system").ResponsiveValue<string | number | symbol, Required<import("styled-system").Theme<import("styled-system").TLengthStyledSystem>>> | undefined;
77
57
  };
78
- namespace defaultProps {
79
- const divider: boolean;
80
- const separator: boolean;
81
- }
82
58
  }
83
- import React from "react";
84
59
  import PropTypes from "prop-types";