carbon-react 110.1.0 → 110.1.3

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 (103) hide show
  1. package/esm/__internal__/form-field/form-field.component.d.ts +5 -1
  2. package/esm/__internal__/form-field/form-field.component.js +8 -5
  3. package/esm/__internal__/utils/helpers/tags/tags.d.ts +5 -2
  4. package/esm/__spec_helper__/mock-match-media.d.ts +3 -1
  5. package/esm/components/button-toggle/button-toggle-icon.component.d.ts +15 -0
  6. package/esm/components/button-toggle/button-toggle-icon.component.js +19 -16
  7. package/esm/components/button-toggle/button-toggle-input.component.d.ts +25 -0
  8. package/esm/components/button-toggle/button-toggle-input.component.js +13 -25
  9. package/esm/components/button-toggle/button-toggle.component.d.ts +24 -0
  10. package/esm/components/button-toggle/button-toggle.component.js +23 -59
  11. package/esm/components/button-toggle/button-toggle.style.d.ts +26 -0
  12. package/esm/components/button-toggle/button-toggle.style.js +3 -8
  13. package/esm/components/button-toggle/index.d.ts +2 -2
  14. package/esm/components/content/content.style.js +0 -1
  15. package/esm/components/date/__internal__/utils.js +1 -1
  16. package/esm/components/definition-list/definition-list.style.js +0 -9
  17. package/esm/components/loader/index.d.ts +2 -1
  18. package/esm/components/loader/loader-square.style.d.ts +9 -1
  19. package/esm/components/loader/loader-square.style.js +4 -11
  20. package/esm/components/loader/loader.component.d.ts +9 -0
  21. package/esm/components/loader/loader.component.js +162 -24
  22. package/esm/components/loader/loader.config.d.ts +1 -1
  23. package/esm/components/loader/loader.style.d.ts +2 -0
  24. package/esm/components/loader-bar/index.d.ts +2 -1
  25. package/esm/components/loader-bar/loader-bar.component.d.ts +7 -0
  26. package/esm/components/loader-bar/loader-bar.component.js +156 -7
  27. package/esm/components/loader-bar/loader-bar.config.d.ts +1 -0
  28. package/esm/components/loader-bar/loader-bar.style.d.ts +10 -0
  29. package/esm/components/loader-bar/loader-bar.style.js +14 -25
  30. package/esm/components/pod/pod.component.js +1 -0
  31. package/esm/components/pod/pod.style.js +8 -4
  32. package/esm/components/portrait/index.d.ts +2 -1
  33. package/esm/components/portrait/portrait-gravatar.component.d.ts +16 -0
  34. package/esm/components/portrait/portrait-gravatar.component.js +9 -24
  35. package/esm/components/portrait/portrait-initials.component.d.ts +16 -0
  36. package/esm/components/portrait/portrait-initials.component.js +22 -33
  37. package/esm/components/portrait/portrait.component.d.ts +50 -0
  38. package/esm/components/portrait/portrait.component.js +178 -72
  39. package/esm/components/portrait/portrait.config.d.ts +32 -0
  40. package/esm/components/portrait/portrait.style.d.ts +28 -0
  41. package/esm/components/portrait/portrait.style.js +7 -55
  42. package/esm/components/profile/profile.style.d.ts +2 -2
  43. package/esm/components/show-edit-pod/show-edit-pod.style.js +1 -8
  44. package/esm/style/fonts.css +19 -12
  45. package/lib/__internal__/form-field/form-field.component.d.ts +5 -1
  46. package/lib/__internal__/form-field/form-field.component.js +8 -5
  47. package/lib/__internal__/utils/helpers/tags/tags.d.ts +5 -2
  48. package/lib/__spec_helper__/mock-match-media.d.ts +3 -1
  49. package/lib/components/button-toggle/button-toggle-icon.component.d.ts +15 -0
  50. package/lib/components/button-toggle/button-toggle-icon.component.js +19 -16
  51. package/lib/components/button-toggle/button-toggle-input.component.d.ts +25 -0
  52. package/lib/components/button-toggle/button-toggle-input.component.js +13 -25
  53. package/lib/components/button-toggle/button-toggle.component.d.ts +24 -0
  54. package/lib/components/button-toggle/button-toggle.component.js +24 -60
  55. package/lib/components/button-toggle/button-toggle.style.d.ts +26 -0
  56. package/lib/components/button-toggle/button-toggle.style.js +6 -12
  57. package/lib/components/button-toggle/index.d.ts +2 -2
  58. package/lib/components/content/content.style.js +0 -1
  59. package/lib/components/date/__internal__/utils.js +1 -1
  60. package/lib/components/definition-list/definition-list.style.js +0 -10
  61. package/lib/components/loader/index.d.ts +2 -1
  62. package/lib/components/loader/loader-square.style.d.ts +9 -1
  63. package/lib/components/loader/loader-square.style.js +4 -15
  64. package/lib/components/loader/loader.component.d.ts +9 -0
  65. package/lib/components/loader/loader.component.js +163 -28
  66. package/lib/components/loader/loader.config.d.ts +1 -1
  67. package/lib/components/loader/loader.style.d.ts +2 -0
  68. package/lib/components/loader-bar/index.d.ts +2 -1
  69. package/lib/components/loader-bar/loader-bar.component.d.ts +7 -0
  70. package/lib/components/loader-bar/loader-bar.component.js +156 -10
  71. package/lib/components/loader-bar/loader-bar.config.d.ts +1 -0
  72. package/lib/components/loader-bar/loader-bar.style.d.ts +10 -0
  73. package/lib/components/loader-bar/loader-bar.style.js +13 -27
  74. package/lib/components/pod/pod.component.js +1 -0
  75. package/lib/components/pod/pod.style.js +8 -4
  76. package/lib/components/portrait/index.d.ts +2 -1
  77. package/lib/components/portrait/portrait-gravatar.component.d.ts +16 -0
  78. package/lib/components/portrait/portrait-gravatar.component.js +9 -24
  79. package/lib/components/portrait/portrait-initials.component.d.ts +16 -0
  80. package/lib/components/portrait/portrait-initials.component.js +22 -33
  81. package/lib/components/portrait/portrait.component.d.ts +50 -0
  82. package/lib/components/portrait/portrait.component.js +179 -75
  83. package/lib/components/portrait/portrait.config.d.ts +32 -0
  84. package/lib/components/portrait/portrait.style.d.ts +28 -0
  85. package/lib/components/portrait/portrait.style.js +9 -59
  86. package/lib/components/profile/profile.style.d.ts +2 -2
  87. package/lib/components/show-edit-pod/show-edit-pod.style.js +1 -12
  88. package/lib/style/fonts.css +19 -12
  89. package/package.json +4 -3
  90. package/esm/components/button-toggle/button-toggle-types.d.ts +0 -1
  91. package/esm/components/button-toggle/button-toggle.d.ts +0 -45
  92. package/esm/components/loader/loader.d.ts +0 -16
  93. package/esm/components/loader-bar/loader-bar.d.ts +0 -10
  94. package/esm/components/portrait/portrait-gravatar.d.ts +0 -18
  95. package/esm/components/portrait/portrait-initials.d.ts +0 -18
  96. package/esm/components/portrait/portrait.d.ts +0 -54
  97. package/lib/components/button-toggle/button-toggle-types.d.ts +0 -1
  98. package/lib/components/button-toggle/button-toggle.d.ts +0 -45
  99. package/lib/components/loader/loader.d.ts +0 -16
  100. package/lib/components/loader-bar/loader-bar.d.ts +0 -10
  101. package/lib/components/portrait/portrait-gravatar.d.ts +0 -18
  102. package/lib/components/portrait/portrait-initials.d.ts +0 -18
  103. package/lib/components/portrait/portrait.d.ts +0 -54
@@ -32,6 +32,10 @@ interface CommonFormFieldProps extends MarginProps, ValidationProps {
32
32
  reverse?: boolean;
33
33
  /** Id of the validation icon */
34
34
  validationIconId?: string;
35
+ /**
36
+ * @private @ignore
37
+ * Flag dedicating if latest validation design should be used */
38
+ validationRedesignOptIn?: boolean;
35
39
  }
36
40
  export interface FormFieldProps extends CommonFormFieldProps, TagProps {
37
41
  /** Breakpoint for adaptive label (inline labels change to top aligned). Enables the adaptive behaviour when set */
@@ -53,7 +57,7 @@ export interface FormFieldProps extends CommonFormFieldProps, TagProps {
53
57
  useValidationIcon?: boolean;
54
58
  }
55
59
  declare const FormField: {
56
- ({ children, disabled, fieldHelp: fieldHelpContent, fieldHelpInline, error, warning, info, tooltipId, fieldHelpId, label, labelId, labelAlign, labelHelp, labelHelpIcon, labelInline, labelSpacing, labelWidth, id, reverse, isOptional, useValidationIcon, adaptiveLabelBreakpoint, isRequired, validationIconId, ...rest }: FormFieldProps): JSX.Element;
60
+ ({ children, "data-component": dataComponent, disabled, fieldHelp: fieldHelpContent, fieldHelpInline, error, warning, info, tooltipId, fieldHelpId, label, labelId, labelAlign, labelHelp, labelHelpIcon, labelInline, labelSpacing, labelWidth, id, reverse, isOptional, useValidationIcon, adaptiveLabelBreakpoint, isRequired, validationIconId, validationRedesignOptIn, ...rest }: FormFieldProps): JSX.Element;
57
61
  displayName: string;
58
62
  };
59
63
  export default FormField;
@@ -13,6 +13,7 @@ import useIsAboveBreakpoint from "../../hooks/__internal__/useIsAboveBreakpoint"
13
13
 
14
14
  const FormField = ({
15
15
  children,
16
+ "data-component": dataComponent,
16
17
  disabled,
17
18
  fieldHelp: fieldHelpContent,
18
19
  fieldHelpInline,
@@ -36,6 +37,7 @@ const FormField = ({
36
37
  adaptiveLabelBreakpoint,
37
38
  isRequired,
38
39
  validationIconId,
40
+ validationRedesignOptIn,
39
41
  ...rest
40
42
  }) => {
41
43
  const invalidValidationProp = useMemo(() => {
@@ -71,15 +73,15 @@ const FormField = ({
71
73
  labelWidth: labelWidth,
72
74
  id: fieldHelpId
73
75
  }, fieldHelpContent) : null;
74
- return /*#__PURE__*/React.createElement(FormFieldStyle, _extends({}, tagComponent(rest["data-component"], rest), marginProps), /*#__PURE__*/React.createElement(FieldLineStyle, {
76
+ return /*#__PURE__*/React.createElement(FormFieldStyle, _extends({}, tagComponent(dataComponent, rest), marginProps), /*#__PURE__*/React.createElement(FieldLineStyle, {
75
77
  inline: inlineLabel
76
78
  }, reverse && children, label && /*#__PURE__*/React.createElement(Label, {
77
79
  labelId: labelId,
78
80
  align: labelAlign,
79
81
  disabled: disabled,
80
- error: !rest.validationRedesignOptIn && error,
81
- warning: !rest.validationRedesignOptIn && warning,
82
- info: !rest.validationRedesignOptIn && info,
82
+ error: !validationRedesignOptIn && error,
83
+ warning: !validationRedesignOptIn && warning,
84
+ info: !validationRedesignOptIn && info,
83
85
  help: labelHelp,
84
86
  tooltipId: tooltipId,
85
87
  htmlFor: id,
@@ -98,7 +100,7 @@ const FormField = ({
98
100
  FormField.propTypes = {
99
101
  "adaptiveLabelBreakpoint": PropTypes.number,
100
102
  "children": PropTypes.node,
101
- "data-component": PropTypes.string.isRequired,
103
+ "data-component": PropTypes.string,
102
104
  "data-element": PropTypes.string,
103
105
  "data-role": PropTypes.string,
104
106
  "disabled": PropTypes.bool,
@@ -276,6 +278,7 @@ FormField.propTypes = {
276
278
  "tooltipId": PropTypes.string,
277
279
  "useValidationIcon": PropTypes.bool,
278
280
  "validationIconId": PropTypes.string,
281
+ "validationRedesignOptIn": PropTypes.bool,
279
282
  "warning": PropTypes.oneOfType([PropTypes.string, PropTypes.bool])
280
283
  };
281
284
  FormField.displayName = "FormField";
@@ -1,13 +1,16 @@
1
1
  interface DataProps {
2
+ /** Identifier used for testing purposes, applied to the root element of the component. */
2
3
  "data-element"?: string;
4
+ /** Identifier used for testing purposes, applied to the root element of the component. */
3
5
  "data-role"?: string;
4
6
  [restKeys: string]: any;
5
7
  }
6
8
  export interface TagProps extends DataProps {
7
- "data-component": string;
9
+ /** Identifier used for testing purposes, applied to the root element of the component. */
10
+ "data-component"?: string;
8
11
  }
9
12
  /**
10
13
  * Builds props object containing top level data tags
11
14
  */
12
- declare function tagComponent(componentName: string, props: DataProps): TagProps;
15
+ declare function tagComponent(componentName: string | undefined, props: DataProps): TagProps;
13
16
  export default tagComponent;
@@ -1,6 +1,8 @@
1
1
  declare function setupMatchMediaMock(): void;
2
2
  declare function mockMatchMedia(
3
3
  matches?: boolean
4
- ): { removeListener: jest.Mock };
4
+ ): {
5
+ removeListener: jest.Mock;
6
+ };
5
7
 
6
8
  export { setupMatchMediaMock, mockMatchMedia };
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { StyledButtonToggleIconProps } from "./button-toggle.style";
3
+ import { IconType } from "../icon";
4
+ export interface ButtonToggleIconProps extends StyledButtonToggleIconProps {
5
+ /**
6
+ * <a href="https://brand.sage.com/d/NdbrveWvNheA/foundations#/icons/icons" target="_blank">List of supported icons</a>
7
+ *
8
+ * buttonIcon to render.
9
+ */
10
+ buttonIcon: IconType;
11
+ /** Sets the icon in the disabled state */
12
+ disabled?: boolean;
13
+ }
14
+ declare const ButtonToggleIcon: ({ buttonIcon, buttonIconSize, disabled, hasContent, }: ButtonToggleIconProps) => JSX.Element;
15
+ export default ButtonToggleIcon;
@@ -1,25 +1,28 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
1
  import React from "react";
4
2
  import PropTypes from "prop-types";
5
3
  import { StyledButtonToggleIcon } from "./button-toggle.style";
6
4
  import Icon from "../icon";
7
5
 
8
- const ButtonToggleIcon = props => /*#__PURE__*/React.createElement(StyledButtonToggleIcon, props, /*#__PURE__*/React.createElement(Icon, _extends({
9
- type: props.buttonIcon,
10
- fontSize: props.buttonIconSize,
11
- bgSize: "extra-small"
12
- }, props)));
6
+ const ButtonToggleIcon = ({
7
+ buttonIcon,
8
+ buttonIconSize,
9
+ disabled,
10
+ hasContent
11
+ }) => /*#__PURE__*/React.createElement(StyledButtonToggleIcon, {
12
+ buttonIconSize: buttonIconSize,
13
+ hasContent: hasContent
14
+ }, /*#__PURE__*/React.createElement(Icon, {
15
+ "aria-hidden": true,
16
+ type: buttonIcon,
17
+ fontSize: buttonIconSize,
18
+ bgSize: "extra-small",
19
+ disabled: disabled
20
+ }));
13
21
 
14
22
  ButtonToggleIcon.propTypes = {
15
- /**
16
- * <a href="https://brand.sage.com/d/NdbrveWvNheA/foundations#/icons/icons" target="_blank">List of supported icons</a>
17
- *
18
- * buttonIcon to render.
19
- */
20
- buttonIcon: PropTypes.string,
21
-
22
- /** Sets the size of the buttonIcon (eg. large) */
23
- buttonIconSize: PropTypes.oneOf(["small", "large"])
23
+ "buttonIcon": PropTypes.oneOf(["add", "admin", "alert", "analysis", "arrow_down", "arrow_left_boxed", "arrow_left_right_small", "arrow_left_small", "arrow_left", "arrow_right_small", "arrow_right", "arrow_up", "arrow", "attach", "bank", "basket_with_squares", "basket", "bin", "block_arrow_right", "blocked_square", "blocked", "bold", "boxed_shapes", "bulk_destroy", "bullet_list_dotted", "bullet_list_numbers", "bullet_list", "business", "calendar_today", "calendar", "call", "camera", "card_view", "caret_down", "caret_large_down", "caret_large_left", "caret_large_right", "caret_large_up", "caret_left", "caret_right", "caret_up", "cart", "chart_bar", "chart_line", "chart_pie", "chat_notes", "chat", "chevron_down_thick", "chevron_down", "chevron_left_thick", "chevron_left", "chevron_right_thick", "chevron_right", "chevron_up_thick", "chevron_up", "circle_with_dots", "circles_connection", "clock", "close", "coins", "collaborate", "computer_clock", "connect", "contacts", "copy", "create", "credit_card_slash", "credit_card", "cross_circle", "cross", "csv", "delete", "delivery", "disconnect", "disputed", "document_right_align", "document_tick", "document_vertical_lines", "download", "draft", "drag_vertical", "drag", "dropdown", "duplicate", "edit", "edited", "ellipsis_horizontal", "ellipsis_vertical", "email_switch", "email", "entry", "envelope_dollar", "envelope_euro", "error_square", "error", "euro", "expand", "factory", "favourite_lined", "favourite", "fax", "feedback", "file_excel", "file_generic", "file_image", "file_pdf", "file_word", "files_leaning", "filter_new", "filter", "fit_height", "fit_width", "flag", "folder", "gift", "go", "graph", "grid", "help", "hide", "home", "image", "in_progress", "in_transit", "individual", "info", "italic", "key", "ledger_arrow_left", "ledger_arrow_right", "ledger", "lightbulb_off", "lightbulb_on", "link", "list_view", "location", "locked", "logout", "lookup", "marker", "message", "minus_large", "minus", "mobile", "money_bag", "none", "old_warning", "pause_circle", "pause", "pdf", "people_switch", "people", "person_info", "person_tick", "person", "phone", "piggy_bank", "play_circle", "play", "plus_large", "plus", "pound", "print", "progress", "progressed", "question_hollow", "question_mark", "question", "refresh_clock", "refresh", "remove", "sage_coin", "save", "scan", "search", "services", "settings_old", "settings", "share", "shop", "sort_down", "sort_up", "spanner", "split_container", "split", "square_dot", "squares_nine", "stacked_boxes", "stacked_squares", "submitted", "sync", "tag", "talk", "three_boxes", "tick_circle", "tick", "true_tick", "undo", "unlocked", "upload", "uploaded", "video", "view", "warning"]).isRequired,
24
+ "buttonIconSize": PropTypes.oneOf(["large", "small"]),
25
+ "disabled": PropTypes.bool,
26
+ "hasContent": PropTypes.bool
24
27
  };
25
28
  export default ButtonToggleIcon;
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ export interface ButtonToggleInputProps {
3
+ /** Prop to specify the aria-label of the component */
4
+ "aria-label"?: string;
5
+ /** Prop to specify the aria-labelledby property of the component */
6
+ "aria-labelledby"?: string;
7
+ /** Set the checked value of the radio button */
8
+ checked?: boolean;
9
+ /** Disable all user interaction. */
10
+ disabled?: boolean;
11
+ /** Unique ID attribute for input */
12
+ guid?: string;
13
+ /** Name used on the hidden radio button. */
14
+ name?: string;
15
+ /** Callback triggered by blur event on the input. */
16
+ onBlur?: (ev: React.FocusEvent<HTMLInputElement>) => void;
17
+ /** Callback triggered by change event on the input. */
18
+ onChange?: (ev: React.ChangeEvent<HTMLInputElement>) => void;
19
+ /** Callback triggered by focus event on the input. */
20
+ onFocus?: (ev: React.FocusEvent<HTMLInputElement>) => void;
21
+ /** Value for the input */
22
+ value?: string;
23
+ }
24
+ declare const ButtonToggleInput: React.ForwardRefExoticComponent<ButtonToggleInputProps & React.RefAttributes<HTMLInputElement>>;
25
+ export default ButtonToggleInput;
@@ -15,7 +15,7 @@ const ButtonToggleInput = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
15
15
  props.onBlur(ev);
16
16
  }
17
17
 
18
- if (onBlur) onBlur(ev);
18
+ if (onBlur) onBlur();
19
19
  };
20
20
 
21
21
  const handleFocus = ev => {
@@ -23,7 +23,7 @@ const ButtonToggleInput = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
23
23
  props.onFocus(ev);
24
24
  }
25
25
 
26
- if (onFocus) onFocus(ev);
26
+ if (onFocus) onFocus();
27
27
  };
28
28
 
29
29
  return /*#__PURE__*/React.createElement(StyledButtonToggleInput, _extends({}, props, {
@@ -35,28 +35,16 @@ const ButtonToggleInput = /*#__PURE__*/React.forwardRef((props, forwardRef) => {
35
35
  }));
36
36
  });
37
37
  ButtonToggleInput.propTypes = {
38
- /** Set the checked value of the radio button */
39
- checked: PropTypes.bool,
40
-
41
- /** Name used on the hidden radio button. */
42
- name: PropTypes.string,
43
-
44
- /** Disable all user interaction. */
45
- disabled: PropTypes.bool,
46
-
47
- /** Unique ID attribute for input */
48
- guid: PropTypes.string,
49
-
50
- /** Value for the input */
51
- value: PropTypes.string,
52
-
53
- /** Callback triggered by change event on the input. */
54
- onChange: PropTypes.func,
55
-
56
- /** Callback triggered by blur event on the input. */
57
- onBlur: PropTypes.func,
58
-
59
- /** Callback triggered by focus event on the input. */
60
- onFocus: PropTypes.func
38
+ "aria-label": PropTypes.string,
39
+ "aria-labelledby": PropTypes.string,
40
+ "checked": PropTypes.bool,
41
+ "disabled": PropTypes.bool,
42
+ "guid": PropTypes.string,
43
+ "name": PropTypes.string,
44
+ "onBlur": PropTypes.func,
45
+ "onChange": PropTypes.func,
46
+ "onFocus": PropTypes.func,
47
+ "value": PropTypes.string
61
48
  };
49
+ ButtonToggleInput.displayName = "ButtonToggleInput";
62
50
  export default ButtonToggleInput;
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import { StyledButtonToggleLabelProps } from "./button-toggle.style";
3
+ import { ButtonToggleInputProps } from "./button-toggle-input.component";
4
+ export interface ButtonToggleProps extends ButtonToggleInputProps, Partial<StyledButtonToggleLabelProps> {
5
+ /** A required prop. This is the button text. */
6
+ children: React.ReactNode;
7
+ /** Identifier used for testing purposes, applied to the root element of the component. */
8
+ "data-component"?: string;
9
+ /** Identifier used for testing purposes, applied to the root element of the component. */
10
+ "data-element"?: string;
11
+ /** Identifier used for testing purposes, applied to the root element of the component. */
12
+ "data-role"?: string;
13
+ /** Set the default value of the Group if component is meant to be used as uncontrolled. */
14
+ defaultChecked?: boolean;
15
+ /** Remove spacing from between buttons. */
16
+ grouped?: boolean;
17
+ /** Callback triggered by click event on the input. */
18
+ onClick?: (ev: React.MouseEvent<HTMLInputElement>) => void;
19
+ }
20
+ export declare const ButtonToggle: {
21
+ (props: ButtonToggleProps): JSX.Element;
22
+ displayName: string;
23
+ };
24
+ export default ButtonToggle;
@@ -11,7 +11,7 @@ const ButtonToggle = props => {
11
11
  "aria-label": ariaLabel,
12
12
  "aria-labelledby": ariaLabelledBy,
13
13
  buttonIcon,
14
- buttonIconSize,
14
+ buttonIconSize = "small",
15
15
  checked,
16
16
  children,
17
17
  "data-component": dataComponent,
@@ -23,7 +23,7 @@ const ButtonToggle = props => {
23
23
  onBlur,
24
24
  onChange,
25
25
  onFocus,
26
- size,
26
+ size = "medium",
27
27
  value
28
28
  } = props;
29
29
  const {
@@ -36,16 +36,17 @@ const ButtonToggle = props => {
36
36
 
37
37
  if (buttonIcon) {
38
38
  icon = /*#__PURE__*/React.createElement(ButtonToggleIcon, {
39
- "aria-hidden": true,
40
39
  buttonIcon: buttonIcon,
41
40
  buttonIconSize: buttonIconSize,
42
- hasNoContent: !children,
43
- disabled: disabled
41
+ disabled: disabled,
42
+ hasContent: !!children
44
43
  });
45
44
  }
46
45
 
47
46
  function handleClick() {
48
- inputRef.current.focus();
47
+ var _inputRef$current;
48
+
49
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
49
50
  }
50
51
 
51
52
  return /*#__PURE__*/React.createElement(StyledButtonToggle, {
@@ -79,64 +80,27 @@ const ButtonToggle = props => {
79
80
  };
80
81
 
81
82
  ButtonToggle.propTypes = {
82
- /** Prop to specify the aria-label of the component */
83
83
  "aria-label": PropTypes.string,
84
-
85
- /** Prop to specify the aria-labelledby property of the component */
86
84
  "aria-labelledby": PropTypes.string,
87
-
88
- /** Set the checked value of the radio button */
89
- checked: PropTypes.bool,
90
-
91
- /** Identifier used for testing purposes, applied to the root element of the component. */
85
+ "buttonIcon": PropTypes.oneOf(["add", "admin", "alert", "analysis", "arrow_down", "arrow_left_boxed", "arrow_left_right_small", "arrow_left_small", "arrow_left", "arrow_right_small", "arrow_right", "arrow_up", "arrow", "attach", "bank", "basket_with_squares", "basket", "bin", "block_arrow_right", "blocked_square", "blocked", "bold", "boxed_shapes", "bulk_destroy", "bullet_list_dotted", "bullet_list_numbers", "bullet_list", "business", "calendar_today", "calendar", "call", "camera", "card_view", "caret_down", "caret_large_down", "caret_large_left", "caret_large_right", "caret_large_up", "caret_left", "caret_right", "caret_up", "cart", "chart_bar", "chart_line", "chart_pie", "chat_notes", "chat", "chevron_down_thick", "chevron_down", "chevron_left_thick", "chevron_left", "chevron_right_thick", "chevron_right", "chevron_up_thick", "chevron_up", "circle_with_dots", "circles_connection", "clock", "close", "coins", "collaborate", "computer_clock", "connect", "contacts", "copy", "create", "credit_card_slash", "credit_card", "cross_circle", "cross", "csv", "delete", "delivery", "disconnect", "disputed", "document_right_align", "document_tick", "document_vertical_lines", "download", "draft", "drag_vertical", "drag", "dropdown", "duplicate", "edit", "edited", "ellipsis_horizontal", "ellipsis_vertical", "email_switch", "email", "entry", "envelope_dollar", "envelope_euro", "error_square", "error", "euro", "expand", "factory", "favourite_lined", "favourite", "fax", "feedback", "file_excel", "file_generic", "file_image", "file_pdf", "file_word", "files_leaning", "filter_new", "filter", "fit_height", "fit_width", "flag", "folder", "gift", "go", "graph", "grid", "help", "hide", "home", "image", "in_progress", "in_transit", "individual", "info", "italic", "key", "ledger_arrow_left", "ledger_arrow_right", "ledger", "lightbulb_off", "lightbulb_on", "link", "list_view", "location", "locked", "logout", "lookup", "marker", "message", "minus_large", "minus", "mobile", "money_bag", "none", "old_warning", "pause_circle", "pause", "pdf", "people_switch", "people", "person_info", "person_tick", "person", "phone", "piggy_bank", "play_circle", "play", "plus_large", "plus", "pound", "print", "progress", "progressed", "question_hollow", "question_mark", "question", "refresh_clock", "refresh", "remove", "sage_coin", "save", "scan", "search", "services", "settings_old", "settings", "share", "shop", "sort_down", "sort_up", "spanner", "split_container", "split", "square_dot", "squares_nine", "stacked_boxes", "stacked_squares", "submitted", "sync", "tag", "talk", "three_boxes", "tick_circle", "tick", "true_tick", "undo", "unlocked", "upload", "uploaded", "video", "view", "warning"]),
86
+ "buttonIconSize": PropTypes.oneOf(["large", "small"]),
87
+ "checked": PropTypes.bool,
88
+ "children": PropTypes.node,
92
89
  "data-component": PropTypes.string,
93
-
94
- /** Identifier used for testing purposes, applied to the root element of the component. */
95
90
  "data-element": PropTypes.string,
96
-
97
- /** Identifier used for testing purposes, applied to the root element of the component. */
98
91
  "data-role": PropTypes.string,
99
-
100
- /** Name used on the hidden radio button. */
101
- name: PropTypes.string,
102
-
103
- /** Callback triggered by change event on the input. */
104
- onChange: PropTypes.func,
105
-
106
- /** Callback triggered by focus event on the input. */
107
- onFocus: PropTypes.func,
108
-
109
- /** Callback triggered by blur event on the input. */
110
- onBlur: PropTypes.func,
111
-
112
- /** ButtonToggle size */
113
- size: PropTypes.oneOf(["small", "medium", "large"]),
114
-
115
- /** buttonIcon to render. */
116
- buttonIcon: PropTypes.string,
117
-
118
- /** Sets the size of the buttonIcon (eg. large) */
119
- buttonIconSize: PropTypes.oneOf(["small", "large"]),
120
-
121
- /** Remove spacing from between buttons. */
122
- grouped: PropTypes.bool,
123
-
124
- /** Disable all user interaction. */
125
- disabled: PropTypes.bool,
126
-
127
- /** A required prop. This is the button text. */
128
- children: PropTypes.node.isRequired,
129
-
130
- /** Set the default value of the Group if component is meant to be used as uncontrolled. */
131
- defaultChecked: PropTypes.bool,
132
- // eslint-disable-line react/no-unused-prop-types
133
-
134
- /** Value for the input */
135
- value: PropTypes.string
136
- };
137
- ButtonToggle.defaultProps = {
138
- size: "medium",
139
- buttonIconSize: "small"
92
+ "defaultChecked": PropTypes.bool,
93
+ "disabled": PropTypes.bool,
94
+ "grouped": PropTypes.bool,
95
+ "guid": PropTypes.string,
96
+ "name": PropTypes.string,
97
+ "onBlur": PropTypes.func,
98
+ "onChange": PropTypes.func,
99
+ "onClick": PropTypes.func,
100
+ "onFocus": PropTypes.func,
101
+ "size": PropTypes.oneOf(["large", "medium", "small"]),
102
+ "value": PropTypes.string
140
103
  };
104
+ export { ButtonToggle };
141
105
  ButtonToggle.displayName = "ButtonToggle";
142
106
  export default ButtonToggle;
@@ -0,0 +1,26 @@
1
+ import { IconType } from "../icon";
2
+ export declare type ButtonToggleIconSizes = "small" | "large";
3
+ declare const StyledButtonToggleContentWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
4
+ export interface StyledButtonToggleLabelProps {
5
+ /** buttonIcon to render. */
6
+ buttonIcon?: IconType;
7
+ /** Sets the size of the buttonIcon (eg. large) */
8
+ buttonIconSize?: ButtonToggleIconSizes;
9
+ /** Disable all user interaction. */
10
+ disabled?: boolean;
11
+ /** ButtonToggle size */
12
+ size: "small" | "medium" | "large";
13
+ }
14
+ declare const StyledButtonToggleLabel: import("styled-components").StyledComponent<"label", any, StyledButtonToggleLabelProps, never>;
15
+ export interface StyledButtonToggleIconProps {
16
+ /** Sets the size of the buttonIcon (eg. large) */
17
+ buttonIconSize?: ButtonToggleIconSizes;
18
+ hasContent?: boolean;
19
+ }
20
+ declare const StyledButtonToggleIcon: import("styled-components").StyledComponent<"div", any, StyledButtonToggleIconProps, never>;
21
+ export interface StyledButtonToggleProps {
22
+ grouped?: boolean;
23
+ }
24
+ declare const StyledButtonToggle: import("styled-components").StyledComponent<"div", any, StyledButtonToggleProps, never>;
25
+ declare const StyledButtonToggleInput: import("styled-components").StyledComponent<"input", any, {}, never>;
26
+ export { StyledButtonToggle, StyledButtonToggleLabel, StyledButtonToggleIcon, StyledButtonToggleInput, StyledButtonToggleContentWrapper, };
@@ -1,4 +1,3 @@
1
- import PropTypes from "prop-types";
2
1
  import styled, { css } from "styled-components";
3
2
  import StyledIcon from "../icon/icon.style";
4
3
  const heightConfig = {
@@ -107,10 +106,9 @@ const iconFontSizes = {
107
106
  };
108
107
  const StyledButtonToggleIcon = styled.div`
109
108
  ${({
110
- hasNoContent
111
- }) => hasNoContent ? "" : css`
112
- margin-right: 8px;
113
- `}
109
+ hasContent
110
+ }) => hasContent && `margin-right: 8px;`}
111
+
114
112
  ${({
115
113
  buttonIconSize
116
114
  }) => buttonIconSize === "large" && css`
@@ -155,7 +153,4 @@ const StyledButtonToggleInput = styled.input`
155
153
  height: 0;
156
154
  opacity: 0;
157
155
  `;
158
- StyledButtonToggleIcon.propTypes = {
159
- buttonIconSize: PropTypes.string
160
- };
161
156
  export { StyledButtonToggle, StyledButtonToggleLabel, StyledButtonToggleIcon, StyledButtonToggleInput, StyledButtonToggleContentWrapper };
@@ -1,2 +1,2 @@
1
- export { default } from "./button-toggle";
2
- export { ButtonToggleProps } from "./button-toggle";
1
+ export { default } from "./button-toggle.component";
2
+ export type { ButtonToggleProps } from "./button-toggle.component";
@@ -33,7 +33,6 @@ const StyledContentTitle = styled.div`
33
33
  return css`
34
34
  display: ${inline ? "inline-block" : "block"};
35
35
  font-weight: bold;
36
- color: var(--colorsUtilityYin090);
37
36
  width: ${titleWidth && `calc(${titleWidth}% - 30px)`};
38
37
  text-align: ${!inline && align};
39
38
 
@@ -1,6 +1,6 @@
1
1
  import { format, formatISO, isMatch, parse, parseISO } from "date-fns/fp";
2
2
  export function parseDate(formatString, valueString) {
3
- if (!valueString || !formatString) return "";
3
+ if (!valueString || !formatString) return null;
4
4
  return parse(new Date(), formatString, valueString);
5
5
  }
6
6
  export function formatToISO(formatString, valueString) {
@@ -1,7 +1,6 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import { space } from "styled-system";
3
3
  import StyledButton from "../button/button.style";
4
- import { StyledLink } from "../link/link.style";
5
4
  import { baseTheme } from "../../style/themes";
6
5
  export const StyledDl = styled.dl`
7
6
  ${space}
@@ -64,13 +63,5 @@ export const StyledDd = styled.dd`
64
63
  padding: 0;
65
64
  border: none;
66
65
  }
67
-
68
- ${StyledLink} {
69
- a,
70
- button {
71
- font-weight: 700px;
72
- text-decoration: none;
73
- }
74
- }
75
66
  ${space}
76
67
  `;
@@ -1 +1,2 @@
1
- export { default } from "./loader";
1
+ export { default } from "./loader.component";
2
+ export type { LoaderProps } from "./loader.component";
@@ -1,2 +1,10 @@
1
+ export interface StyledLoaderSquareProps {
2
+ /** Size of the loader. */
3
+ size?: "small" | "medium" | "large";
4
+ /** Applies white color. */
5
+ isInsideButton?: boolean;
6
+ /** Applies slate color. Available only when isInsideButton is true. */
7
+ isActive?: boolean;
8
+ }
9
+ declare const StyledLoaderSquare: import("styled-components").StyledComponent<"div", any, StyledLoaderSquareProps, never>;
1
10
  export default StyledLoaderSquare;
2
- declare const StyledLoaderSquare: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,6 +1,4 @@
1
1
  import styled, { css, keyframes } from "styled-components";
2
- import PropTypes from "prop-types";
3
- import { LOADER_SIZES } from "./loader.config";
4
2
  const loaderAnimation = keyframes`
5
3
  0%, 80%, 100% {
6
4
  opacity: 0;
@@ -32,10 +30,10 @@ const getDimentions = size => {
32
30
  marginRight = "6px";
33
31
  }
34
32
 
35
- return `
36
- width: ${width};
37
- height: ${width};
38
- margin-right: ${marginRight};
33
+ return css`
34
+ width: ${width};
35
+ height: ${width};
36
+ margin-right: ${marginRight};
39
37
  `;
40
38
  };
41
39
 
@@ -73,9 +71,4 @@ StyledLoaderSquare.defaultProps = {
73
71
  isInsideButton: false,
74
72
  isActive: true
75
73
  };
76
- StyledLoaderSquare.propTypes = {
77
- size: PropTypes.oneOf(LOADER_SIZES),
78
- isInsideButton: PropTypes.bool,
79
- isActive: PropTypes.bool
80
- };
81
74
  export default StyledLoaderSquare;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { MarginProps } from "styled-system";
3
+ import { StyledLoaderSquareProps } from "./loader-square.style";
4
+ export interface LoaderProps extends StyledLoaderSquareProps, MarginProps {
5
+ /** Specify an aria-label for the Loader component */
6
+ "aria-label"?: string;
7
+ }
8
+ export declare const Loader: ({ "aria-label": ariaLabel, isInsideButton, isActive, size, ...rest }: LoaderProps) => JSX.Element;
9
+ export default Loader;