carbon-react 105.1.2 → 106.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 (212) hide show
  1. package/esm/__internal__/tooltip-provider/index.d.ts +19 -24
  2. package/esm/__internal__/tooltip-provider/index.js +1 -11
  3. package/esm/__internal__/utils/helpers/browser/index.d.ts +15 -1
  4. package/esm/__internal__/utils/helpers/browser/index.js +33 -1
  5. package/esm/__internal__/utils/helpers/browser-type-check/index.d.ts +7 -1
  6. package/esm/__internal__/utils/helpers/browser-type-check/index.js +8 -1
  7. package/esm/__internal__/utils/helpers/events/composedPath.d.ts +1 -1
  8. package/esm/__internal__/utils/helpers/events/events.d.ts +132 -31
  9. package/esm/__internal__/utils/helpers/events/events.js +10 -125
  10. package/esm/__internal__/utils/helpers/guid/index.d.ts +5 -0
  11. package/esm/__internal__/utils/helpers/guid/{guid.js → index.js} +0 -2
  12. package/esm/__internal__/utils/helpers/tags/tags-specs/tags-specs.d.ts +4 -2
  13. package/esm/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +2 -1
  14. package/esm/__internal__/utils/helpers/tags/tags.d.ts +10 -6
  15. package/esm/__internal__/utils/helpers/tags/tags.js +2 -6
  16. package/esm/__internal__/utils/helpers/useUniqueId/index.d.ts +2 -0
  17. package/esm/__internal__/utils/helpers/useUniqueId/index.js +7 -0
  18. package/esm/__internal__/utils/logger/index.d.ts +5 -1
  19. package/esm/__internal__/utils/logger/index.js +25 -1
  20. package/esm/components/app-wrapper/app-wrapper.component.d.ts +4 -0
  21. package/esm/components/app-wrapper/app-wrapper.component.js +5 -3
  22. package/esm/components/badge/badge.style.d.ts +4 -2
  23. package/esm/components/button/button-types.style.d.ts +1 -2
  24. package/esm/components/button/button-types.style.js +3 -1
  25. package/esm/components/button/button.component.d.ts +67 -36
  26. package/esm/components/button/button.component.js +3314 -165
  27. package/esm/components/button/button.config.d.ts +4 -3
  28. package/esm/components/button/button.style.d.ts +6 -8
  29. package/esm/components/button/button.style.js +51 -95
  30. package/esm/components/button/index.d.ts +2 -2
  31. package/esm/components/confirm/confirm.component.js +1 -1
  32. package/esm/components/dialog/dialog.component.js +1 -1
  33. package/esm/components/dialog-full-screen/dialog-full-screen.component.js +1 -1
  34. package/esm/components/duelling-picklist/picklist-group/picklist-group.style.d.ts +1 -2
  35. package/esm/components/duelling-picklist/picklist-item/picklist-item.style.d.ts +1 -2
  36. package/esm/components/fieldset/fieldset.component.d.ts +6 -1
  37. package/esm/components/fieldset/fieldset.component.js +14 -15
  38. package/esm/components/heading/heading.component.d.ts +5 -0
  39. package/esm/components/icon/index.d.ts +1 -0
  40. package/esm/components/multi-action-button/multi-action-button.component.d.ts +3 -1
  41. package/esm/components/multi-action-button/multi-action-button.component.js +7 -5
  42. package/esm/components/multi-action-button/multi-action-button.d.ts +4 -2
  43. package/esm/components/multi-step-wizard/multi-step-wizard.d.ts +22 -0
  44. package/esm/components/multi-step-wizard/step/step.d.ts +6 -0
  45. package/esm/components/multi-step-wizard/step/step.style.d.ts +4 -2
  46. package/esm/components/portrait/portrait-initials.component.js +1 -1
  47. package/esm/components/radio-button/radio-button-svg.component.js +29 -16
  48. package/esm/components/scrollable-list/scrollable-list.component.d.ts +8 -0
  49. package/esm/components/select/select-list/select-list.component.js +1 -1
  50. package/esm/components/select/select-textbox/select-textbox.component.js +1 -1
  51. package/esm/components/split-button/split-button-toggle.style.d.ts +2 -6
  52. package/esm/components/split-button/split-button.component.d.ts +3 -1
  53. package/esm/components/split-button/split-button.component.js +7 -4
  54. package/esm/components/split-button/split-button.d.ts +5 -2
  55. package/esm/components/tabs/__internal__/tab-title/tab-title.style.js +3 -5
  56. package/esm/components/textbox/textbox.component.d.ts +1 -2
  57. package/esm/components/textbox/textbox.component.js +7 -6
  58. package/esm/components/tooltip/index.d.ts +2 -1
  59. package/esm/components/tooltip/tooltip-pointer.style.d.ts +10 -1
  60. package/esm/components/tooltip/tooltip-pointer.style.js +5 -12
  61. package/esm/components/tooltip/tooltip.component.d.ts +33 -2
  62. package/esm/components/tooltip/tooltip.component.js +255 -110
  63. package/esm/components/tooltip/tooltip.config.d.ts +2 -1
  64. package/esm/components/tooltip/tooltip.style.d.ts +7 -2
  65. package/esm/components/tooltip/tooltip.style.js +7 -21
  66. package/esm/components/typography/typography.component.d.ts +1 -1
  67. package/esm/locales/en-gb.d.ts +3 -5
  68. package/esm/locales/en-gb.js +5 -4
  69. package/esm/locales/index.d.ts +1 -1
  70. package/esm/locales/index.js +2 -0
  71. package/esm/locales/locale.d.ts +99 -105
  72. package/esm/locales/locale.js +1 -0
  73. package/esm/locales/pl-pl.d.ts +3 -5
  74. package/esm/locales/pl-pl.js +5 -4
  75. package/esm/style/{fonts → assets}/carbon-icons-webfont.woff +0 -0
  76. package/esm/style/fonts.css +30 -0
  77. package/esm/style/global-style.js +1 -1
  78. package/esm/style/themes/base/base-theme.config.d.ts +17 -8
  79. package/esm/style/themes/sage/index.d.ts +17 -8
  80. package/lib/__internal__/tooltip-provider/index.d.ts +19 -24
  81. package/lib/__internal__/tooltip-provider/index.js +2 -13
  82. package/lib/__internal__/utils/helpers/browser/index.d.ts +15 -1
  83. package/lib/__internal__/utils/helpers/browser/index.js +33 -8
  84. package/lib/__internal__/utils/helpers/browser-type-check/index.d.ts +7 -1
  85. package/lib/__internal__/utils/helpers/browser-type-check/index.js +10 -21
  86. package/lib/__internal__/utils/helpers/events/composedPath.d.ts +1 -1
  87. package/lib/__internal__/utils/helpers/events/events.d.ts +132 -31
  88. package/lib/__internal__/utils/helpers/events/events.js +10 -125
  89. package/lib/__internal__/utils/helpers/guid/index.d.ts +5 -0
  90. package/lib/__internal__/utils/helpers/guid/{guid.js → index.js} +0 -2
  91. package/lib/__internal__/utils/helpers/guid/package.json +5 -2
  92. package/lib/__internal__/utils/helpers/tags/tags-specs/tags-specs.d.ts +4 -2
  93. package/lib/__internal__/utils/helpers/tags/tags-specs/tags-specs.js +2 -1
  94. package/lib/__internal__/utils/helpers/tags/tags.d.ts +10 -6
  95. package/lib/__internal__/utils/helpers/tags/tags.js +2 -6
  96. package/lib/__internal__/utils/helpers/useUniqueId/index.d.ts +2 -0
  97. package/lib/__internal__/utils/helpers/useUniqueId/index.js +20 -0
  98. package/lib/__internal__/utils/helpers/useUniqueId/package.json +6 -0
  99. package/lib/__internal__/utils/logger/index.d.ts +5 -1
  100. package/lib/__internal__/utils/logger/index.js +26 -8
  101. package/lib/components/app-wrapper/app-wrapper.component.d.ts +4 -0
  102. package/lib/components/app-wrapper/app-wrapper.component.js +5 -4
  103. package/lib/components/badge/badge.style.d.ts +4 -2
  104. package/lib/components/button/button-types.style.d.ts +1 -2
  105. package/lib/components/button/button-types.style.js +0 -1
  106. package/lib/components/button/button.component.d.ts +67 -36
  107. package/lib/components/button/button.component.js +3381 -172
  108. package/lib/components/button/button.config.d.ts +4 -3
  109. package/lib/components/button/button.style.d.ts +6 -8
  110. package/lib/components/button/button.style.js +52 -101
  111. package/lib/components/button/index.d.ts +2 -2
  112. package/lib/components/confirm/confirm.component.js +1 -1
  113. package/lib/components/dialog/dialog.component.js +1 -1
  114. package/lib/components/dialog-full-screen/dialog-full-screen.component.js +1 -1
  115. package/lib/components/duelling-picklist/picklist-group/picklist-group.style.d.ts +1 -2
  116. package/lib/components/duelling-picklist/picklist-item/picklist-item.style.d.ts +1 -2
  117. package/lib/components/fieldset/fieldset.component.d.ts +6 -1
  118. package/lib/components/fieldset/fieldset.component.js +14 -16
  119. package/lib/components/heading/heading.component.d.ts +5 -0
  120. package/lib/components/icon/index.d.ts +1 -0
  121. package/lib/components/multi-action-button/multi-action-button.component.d.ts +3 -1
  122. package/lib/components/multi-action-button/multi-action-button.component.js +6 -4
  123. package/lib/components/multi-action-button/multi-action-button.d.ts +4 -2
  124. package/lib/components/multi-step-wizard/multi-step-wizard.d.ts +22 -0
  125. package/lib/components/multi-step-wizard/step/step.d.ts +6 -0
  126. package/lib/components/multi-step-wizard/step/step.style.d.ts +4 -2
  127. package/lib/components/portrait/portrait-initials.component.js +1 -1
  128. package/lib/components/radio-button/radio-button-svg.component.js +38 -20
  129. package/lib/components/scrollable-list/scrollable-list.component.d.ts +8 -0
  130. package/lib/components/select/select-list/select-list.component.js +1 -1
  131. package/lib/components/select/select-textbox/select-textbox.component.js +1 -1
  132. package/lib/components/split-button/split-button-toggle.style.d.ts +2 -6
  133. package/lib/components/split-button/split-button.component.d.ts +3 -1
  134. package/lib/components/split-button/split-button.component.js +6 -3
  135. package/lib/components/split-button/split-button.d.ts +5 -2
  136. package/lib/components/tabs/__internal__/tab-title/tab-title.style.js +3 -5
  137. package/lib/components/textbox/textbox.component.d.ts +1 -2
  138. package/lib/components/textbox/textbox.component.js +7 -8
  139. package/lib/components/tooltip/index.d.ts +2 -1
  140. package/lib/components/tooltip/tooltip-pointer.style.d.ts +10 -1
  141. package/lib/components/tooltip/tooltip-pointer.style.js +7 -15
  142. package/lib/components/tooltip/tooltip.component.d.ts +33 -2
  143. package/lib/components/tooltip/tooltip.component.js +221 -130
  144. package/lib/components/tooltip/tooltip.config.d.ts +2 -1
  145. package/lib/components/tooltip/tooltip.style.d.ts +7 -2
  146. package/lib/components/tooltip/tooltip.style.js +7 -22
  147. package/lib/components/typography/typography.component.d.ts +1 -1
  148. package/lib/locales/en-gb.d.ts +3 -5
  149. package/lib/locales/en-gb.js +2 -1
  150. package/lib/locales/index.d.ts +1 -1
  151. package/lib/locales/index.js +23 -0
  152. package/lib/locales/locale.d.ts +99 -105
  153. package/lib/locales/locale.js +5 -0
  154. package/lib/{__internal__/utils/ether → locales}/package.json +1 -1
  155. package/lib/locales/pl-pl.d.ts +3 -5
  156. package/lib/locales/pl-pl.js +2 -1
  157. package/lib/style/{fonts → assets}/carbon-icons-webfont.woff +0 -0
  158. package/lib/style/fonts.css +30 -0
  159. package/lib/style/global-style.js +1 -1
  160. package/lib/style/themes/base/base-theme.config.d.ts +17 -8
  161. package/lib/style/themes/sage/index.d.ts +17 -8
  162. package/package.json +10 -5
  163. package/esm/__internal__/utils/ether/ether.d.ts +0 -19
  164. package/esm/__internal__/utils/ether/ether.js +0 -29
  165. package/esm/__internal__/utils/ether/index.d.ts +0 -1
  166. package/esm/__internal__/utils/ether/index.js +0 -1
  167. package/esm/__internal__/utils/helpers/browser/browser.d.ts +0 -17
  168. package/esm/__internal__/utils/helpers/browser/browser.js +0 -198
  169. package/esm/__internal__/utils/helpers/browser-type-check/browser-type-check.d.ts +0 -7
  170. package/esm/__internal__/utils/helpers/browser-type-check/browser-type-check.js +0 -14
  171. package/esm/__internal__/utils/helpers/guid/__spec__.d.ts +0 -1
  172. package/esm/__internal__/utils/helpers/guid/__spec__.js +0 -10
  173. package/esm/__internal__/utils/helpers/guid/guid.d.ts +0 -2
  174. package/esm/__internal__/utils/helpers/guid/package.json +0 -3
  175. package/esm/__internal__/utils/helpers/immutable/__spec__.d.ts +0 -1
  176. package/esm/__internal__/utils/helpers/immutable/__spec__.js +0 -117
  177. package/esm/__internal__/utils/helpers/immutable/immutable.d.ts +0 -4
  178. package/esm/__internal__/utils/helpers/immutable/immutable.js +0 -36
  179. package/esm/__internal__/utils/helpers/immutable/package.json +0 -4
  180. package/esm/__internal__/utils/helpers/with-unique-id-props/index.d.ts +0 -1
  181. package/esm/__internal__/utils/helpers/with-unique-id-props/index.js +0 -1
  182. package/esm/__internal__/utils/helpers/with-unique-id-props/with-unique-id-props.hoc.d.ts +0 -7
  183. package/esm/__internal__/utils/helpers/with-unique-id-props/with-unique-id-props.hoc.js +0 -82
  184. package/esm/__internal__/utils/logger/logger.d.ts +0 -9
  185. package/esm/__internal__/utils/logger/logger.js +0 -71
  186. package/esm/components/button/button.d.ts +0 -85
  187. package/esm/components/tooltip/tooltip.d.ts +0 -40
  188. package/lib/__internal__/utils/ether/ether.d.ts +0 -19
  189. package/lib/__internal__/utils/ether/ether.js +0 -33
  190. package/lib/__internal__/utils/ether/index.d.ts +0 -1
  191. package/lib/__internal__/utils/ether/index.js +0 -18
  192. package/lib/__internal__/utils/helpers/browser/browser.d.ts +0 -17
  193. package/lib/__internal__/utils/helpers/browser/browser.js +0 -213
  194. package/lib/__internal__/utils/helpers/browser-type-check/browser-type-check.d.ts +0 -7
  195. package/lib/__internal__/utils/helpers/browser-type-check/browser-type-check.js +0 -26
  196. package/lib/__internal__/utils/helpers/guid/__spec__.d.ts +0 -1
  197. package/lib/__internal__/utils/helpers/guid/__spec__.js +0 -15
  198. package/lib/__internal__/utils/helpers/guid/guid.d.ts +0 -2
  199. package/lib/__internal__/utils/helpers/immutable/__spec__.d.ts +0 -1
  200. package/lib/__internal__/utils/helpers/immutable/__spec__.js +0 -135
  201. package/lib/__internal__/utils/helpers/immutable/immutable.d.ts +0 -4
  202. package/lib/__internal__/utils/helpers/immutable/immutable.js +0 -46
  203. package/lib/__internal__/utils/helpers/immutable/package.json +0 -4
  204. package/lib/__internal__/utils/helpers/with-unique-id-props/index.d.ts +0 -1
  205. package/lib/__internal__/utils/helpers/with-unique-id-props/index.js +0 -15
  206. package/lib/__internal__/utils/helpers/with-unique-id-props/package.json +0 -6
  207. package/lib/__internal__/utils/helpers/with-unique-id-props/with-unique-id-props.hoc.d.ts +0 -7
  208. package/lib/__internal__/utils/helpers/with-unique-id-props/with-unique-id-props.hoc.js +0 -96
  209. package/lib/__internal__/utils/logger/logger.d.ts +0 -9
  210. package/lib/__internal__/utils/logger/logger.js +0 -78
  211. package/lib/components/button/button.d.ts +0 -85
  212. package/lib/components/tooltip/tooltip.d.ts +0 -40
@@ -1,9 +1,13 @@
1
- export default tagComponent;
1
+ interface DataProps {
2
+ "data-element"?: string;
3
+ "data-role"?: string;
4
+ [restKeys: string]: any;
5
+ }
6
+ export interface TagProps extends DataProps {
7
+ "data-component": string;
8
+ }
2
9
  /**
3
10
  * Builds props object containing top level data tags
4
- *
5
- * @param {String} name of component
6
- * @param {Object} component props
7
- * @return {Object} dataTagProps
8
11
  */
9
- declare function tagComponent(component: Object, props: any): Object;
12
+ declare function tagComponent(componentName: string, props: DataProps): TagProps;
13
+ export default tagComponent;
@@ -1,13 +1,9 @@
1
1
  /**
2
2
  * Builds props object containing top level data tags
3
- *
4
- * @param {String} name of component
5
- * @param {Object} component props
6
- * @return {Object} dataTagProps
7
3
  */
8
- function tagComponent(component, props) {
4
+ function tagComponent(componentName, props) {
9
5
  const tagProps = {
10
- "data-component": component
6
+ "data-component": componentName
11
7
  };
12
8
 
13
9
  if (props["data-element"]) {
@@ -0,0 +1,2 @@
1
+ declare const _default: (id?: string | undefined, name?: string | undefined) => string[];
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { useRef } from "react";
2
+ import createGuid from "../guid";
3
+ export default ((id, name) => {
4
+ const createdId = useRef(createGuid());
5
+ const createdName = useRef(createGuid());
6
+ return [id || createdId.current, name || createdName.current];
7
+ });
@@ -1 +1,5 @@
1
- export { default } from "./logger";
1
+ declare const Logger: {
2
+ setEnabledState: (newState: boolean) => void;
3
+ deprecate: (message: string) => void;
4
+ };
5
+ export default Logger;
@@ -1 +1,25 @@
1
- export { default } from "./logger";
1
+ /* eslint-disable no-console */
2
+ // Globally enable the logger
3
+ let enabled = process.env.NODE_ENV !== "production";
4
+ /*
5
+ * Logger
6
+ *
7
+ * Logger function will only output when enabled. By default this
8
+ * enabled state is set when your NODE_ENV !== 'production'
9
+ *
10
+ * Methods
11
+ * deprecate - console.warn which prepends the message with [Deprecation]
12
+ *
13
+ */
14
+
15
+ const Logger = {
16
+ setEnabledState: newState => {
17
+ enabled = newState;
18
+ },
19
+ deprecate: message => {
20
+ if (enabled) {
21
+ console.warn(`[Deprecation] ${message}`);
22
+ }
23
+ }
24
+ };
25
+ export default Logger;
@@ -11,6 +11,10 @@ declare class AppWrapper extends React.Component<any, any, any> {
11
11
  * @return {String}
12
12
  */
13
13
  classes(): string;
14
+ /**
15
+ * @method render
16
+ */
17
+ render(): JSX.Element;
14
18
  }
15
19
  declare namespace AppWrapper {
16
20
  namespace propTypes {
@@ -24,7 +24,6 @@ import React from "react";
24
24
  import PropTypes from "prop-types";
25
25
  import classNames from "classnames";
26
26
  import tagComponent from "../../__internal__/utils/helpers/tags/tags";
27
- import { validProps } from "../../__internal__/utils/ether";
28
27
  import StyledAppWrapper from "./app-wrapper.style";
29
28
  import Logger from "../../__internal__/utils/logger";
30
29
  let deprecatedWarnTriggered = false;
@@ -73,9 +72,12 @@ let AppWrapper = /*#__PURE__*/function (_React$Component) {
73
72
  }, {
74
73
  key: "render",
75
74
  value: function render() {
76
- return /*#__PURE__*/React.createElement(StyledAppWrapper, _extends({}, validProps(this), {
75
+ const {
76
+ children
77
+ } = this.props;
78
+ return /*#__PURE__*/React.createElement(StyledAppWrapper, _extends({}, this.props, {
77
79
  className: this.classes()
78
- }, tagComponent("app-wrapper", this.props)), this.props.children);
80
+ }, tagComponent("app-wrapper", this.props)), children);
79
81
  }
80
82
  }]);
81
83
 
@@ -1,6 +1,8 @@
1
1
  export const StyledBadgeWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export const StyledButton: import("styled-components").StyledComponent<typeof Button, any, {}, never>;
2
+ export const StyledButton: import("styled-components").StyledComponent<{
3
+ ({ 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;
4
+ displayName: string;
5
+ }, any, {}, never>;
3
6
  export const StyledCrossIcon: import("styled-components").StyledComponent<typeof Icon, any, {}, never>;
4
7
  export const StyledCounter: import("styled-components").StyledComponent<"div", any, {}, never>;
5
- import Button from "../button";
6
8
  import Icon from "../icon";
@@ -1,5 +1,4 @@
1
- export function makeColors(color: any): string;
2
- declare function _default(isDisabled: any, destructive: any): {
1
+ declare const _default: (isDisabled?: boolean | undefined, destructive?: boolean | undefined) => {
3
2
  primary: string;
4
3
  secondary: string;
5
4
  tertiary: string;
@@ -1,5 +1,6 @@
1
1
  import StyledIcon from "../icon/icon.style";
2
- export function makeColors(color) {
2
+
3
+ function makeColors(color) {
3
4
  return `
4
5
  color: ${color};
5
6
  ${StyledIcon} {
@@ -7,6 +8,7 @@ export function makeColors(color) {
7
8
  }
8
9
  `;
9
10
  }
11
+
10
12
  export default ((isDisabled, destructive) => ({
11
13
  primary: `
12
14
  background: var(--colorsActionMajor500);
@@ -1,37 +1,68 @@
1
- export default Button;
2
- export const ButtonWithForwardRef: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
- declare function Button({ size, subtext, as, children, forwardRef, "aria-label": ariaLabel, disabled, buttonType: buttonTypeProp, iconType, iconPosition, href, m, px, noWrap, target, rel, iconTooltipMessage, iconTooltipPosition, ...rest }: {
4
- [x: string]: any;
5
- size: any;
6
- subtext: any;
7
- as: any;
8
- children: any;
9
- forwardRef: any;
10
- "aria-label": any;
11
- disabled: any;
12
- buttonType: any;
13
- iconType: any;
14
- iconPosition: any;
15
- href: any;
16
- m?: number | undefined;
17
- px: any;
18
- noWrap: any;
19
- target: any;
20
- rel: any;
21
- iconTooltipMessage: any;
22
- iconTooltipPosition: any;
23
- }): JSX.Element;
24
- declare namespace Button {
25
- const propTypes: any;
26
- namespace defaultProps {
27
- const buttonType: string;
28
- const size: string;
29
- const fullWidth: boolean;
30
- const disabled: boolean;
31
- const destructive: boolean;
32
- const iconPosition: string;
33
- const subtext: string;
34
- }
35
- const displayName: string;
36
- }
37
1
  import React from "react";
2
+ import { SpaceProps } from "styled-system";
3
+ import { IconType, TooltipPositions } from "../icon";
4
+ export declare type ButtonTypes = "primary" | "secondary" | "tertiary" | "dashed" | "darkBackground";
5
+ export declare type SizeOptions = "small" | "medium" | "large";
6
+ export declare type ButtonIconPosition = "before" | "after";
7
+ export interface ButtonProps extends SpaceProps {
8
+ /** Prop to specify the aria-label text.
9
+ * Only to be used in Button when only an icon is rendered.
10
+ * This is required to comply with WCAG 4.1.2 - Buttons must have discernible text
11
+ */
12
+ "aria-label"?: string;
13
+ /** [Legacy] Button types for legacy theme: "primary" | "secondary" */
14
+ as?: ButtonTypes;
15
+ /** Color variants for new business themes: "primary" | "secondary" | "tertiary" | "darkBackground" */
16
+ buttonType?: ButtonTypes;
17
+ /** The text the button displays */
18
+ children?: React.ReactNode;
19
+ /** Name attribute */
20
+ name?: string;
21
+ /** Apply disabled state to the button */
22
+ disabled?: boolean;
23
+ /** Apply destructive style to the button */
24
+ destructive?: boolean;
25
+ /** Ref to be forwarded */
26
+ forwardRef?: React.RefCallback<HTMLButtonElement> | React.MutableRefObject<HTMLButtonElement | null> | null;
27
+ /** Apply fullWidth style to the button */
28
+ fullWidth?: boolean;
29
+ /** Used to transform button into anchor */
30
+ href?: string;
31
+ /** Defines an Icon position related to the children: "before" | "after" */
32
+ iconPosition?: ButtonIconPosition;
33
+ /** Provides a tooltip message when the icon is hovered. */
34
+ iconTooltipMessage?: string;
35
+ /** Provides positioning when the tooltip is displayed. */
36
+ iconTooltipPosition?: TooltipPositions;
37
+ /** Defines an Icon type within the button */
38
+ iconType?: IconType;
39
+ /** If provided, the text inside a button will not wrap */
40
+ noWrap?: boolean;
41
+ /** Specify a callback triggered on blur */
42
+ onBlur?: (ev: React.FocusEvent<HTMLButtonElement>) => void;
43
+ /** Specify a callback triggered on change */
44
+ onChange?: (ev: React.ChangeEvent<HTMLButtonElement>) => void;
45
+ /** Specify a callback triggered on focus */
46
+ onFocus?: (ev: React.FocusEvent<HTMLButtonElement>) => void;
47
+ /** Specify a callback triggered on keyDown */
48
+ onKeyDown?: (ev: React.KeyboardEvent<HTMLButtonElement>) => void;
49
+ /** onClick handler */
50
+ onClick?: (event: React.MouseEvent<HTMLAnchorElement | HTMLButtonElement>) => void;
51
+ /** Assigns a size to the button: "small" | "medium" | "large" */
52
+ size?: SizeOptions;
53
+ /** Second text child, renders under main text, only when size is "large" */
54
+ subtext?: string;
55
+ /** HTML button type property */
56
+ type?: string;
57
+ /** HTML target attribute */
58
+ target?: string;
59
+ /** HTML rel attribute */
60
+ rel?: string;
61
+ }
62
+ 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;
64
+ displayName: string;
65
+ };
66
+ declare const ButtonWithForwardRef: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
67
+ export { ButtonWithForwardRef };
68
+ export default Button;