carbon-react 110.2.0 → 110.2.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 (75) hide show
  1. package/esm/__internal__/character-count/character-count.component.d.ts +8 -25
  2. package/esm/__internal__/character-count/character-count.component.js +12 -18
  3. package/esm/__internal__/character-count/character-count.style.d.ts +3 -1
  4. package/esm/__internal__/character-count/character-count.style.js +4 -0
  5. package/esm/__internal__/checkable-input/checkable-input-svg-wrapper.style.d.ts +1 -1
  6. package/esm/__internal__/checkable-input/checkable-input.component.d.ts +50 -0
  7. package/esm/__internal__/checkable-input/checkable-input.component.js +360 -98
  8. package/esm/__internal__/checkable-input/checkable-input.style.d.ts +11 -2
  9. package/esm/__internal__/checkable-input/checkable-input.style.js +0 -7
  10. package/esm/__internal__/checkable-input/hidden-checkable-input.component.d.ts +31 -0
  11. package/esm/__internal__/checkable-input/hidden-checkable-input.component.js +301 -45
  12. package/esm/__internal__/checkable-input/hidden-checkable-input.style.d.ts +1 -1
  13. package/esm/__internal__/checkable-input/index.d.ts +2 -5
  14. package/esm/__internal__/input/index.d.ts +1 -1
  15. package/esm/__internal__/input/input-presentation.style.d.ts +1 -1
  16. package/esm/__internal__/input/input.style.d.ts +1 -1
  17. package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +1 -0
  18. package/esm/components/numeral-date/numeral-date-context.d.ts +6 -0
  19. package/esm/components/popover-container/popover-container.component.d.ts +2 -0
  20. package/esm/components/popover-container/popover-container.component.js +9 -4
  21. package/esm/components/select/multi-select/multi-select.component.js +1 -1
  22. package/esm/components/select/select-list/select-list.component.js +20 -11
  23. package/esm/components/textarea/textarea.component.js +6 -27
  24. package/esm/components/textarea/textarea.d.ts +2 -1
  25. package/esm/components/textbox/__internal__/prefix.style.d.ts +2 -0
  26. package/esm/components/textbox/index.d.ts +2 -1
  27. package/esm/components/textbox/index.js +1 -1
  28. package/esm/components/textbox/textbox.component.d.ts +92 -0
  29. package/esm/components/textbox/textbox.component.js +533 -197
  30. package/esm/components/textbox/textbox.style.d.ts +5 -0
  31. package/esm/components/textbox/textbox.style.js +0 -12
  32. package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.d.ts +1 -1
  33. package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.js +7 -6
  34. package/esm/hooks/__internal__/useInputAccessibility/useInputAccessibility.d.ts +6 -5
  35. package/lib/__internal__/character-count/character-count.component.d.ts +8 -25
  36. package/lib/__internal__/character-count/character-count.component.js +13 -23
  37. package/lib/__internal__/character-count/character-count.style.d.ts +3 -1
  38. package/lib/__internal__/character-count/character-count.style.js +7 -0
  39. package/lib/__internal__/checkable-input/checkable-input-svg-wrapper.style.d.ts +1 -1
  40. package/lib/__internal__/checkable-input/checkable-input.component.d.ts +50 -0
  41. package/lib/__internal__/checkable-input/checkable-input.component.js +360 -98
  42. package/lib/__internal__/checkable-input/checkable-input.style.d.ts +11 -2
  43. package/lib/__internal__/checkable-input/checkable-input.style.js +1 -9
  44. package/lib/__internal__/checkable-input/hidden-checkable-input.component.d.ts +31 -0
  45. package/lib/__internal__/checkable-input/hidden-checkable-input.component.js +301 -45
  46. package/lib/__internal__/checkable-input/hidden-checkable-input.style.d.ts +1 -1
  47. package/lib/__internal__/checkable-input/index.d.ts +2 -5
  48. package/lib/__internal__/input/index.d.ts +1 -1
  49. package/lib/__internal__/input/input-presentation.style.d.ts +1 -1
  50. package/lib/__internal__/input/input.style.d.ts +1 -1
  51. package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +1 -0
  52. package/lib/components/numeral-date/numeral-date-context.d.ts +6 -0
  53. package/lib/components/popover-container/popover-container.component.d.ts +2 -0
  54. package/lib/components/popover-container/popover-container.component.js +9 -4
  55. package/lib/components/select/multi-select/multi-select.component.js +1 -1
  56. package/lib/components/select/select-list/select-list.component.js +20 -11
  57. package/lib/components/textarea/textarea.component.js +6 -27
  58. package/lib/components/textarea/textarea.d.ts +2 -1
  59. package/lib/components/textbox/__internal__/prefix.style.d.ts +2 -0
  60. package/lib/components/textbox/index.d.ts +2 -1
  61. package/lib/components/textbox/index.js +2 -10
  62. package/lib/components/textbox/textbox.component.d.ts +92 -0
  63. package/lib/components/textbox/textbox.component.js +534 -201
  64. package/lib/components/textbox/textbox.style.d.ts +5 -0
  65. package/lib/components/textbox/textbox.style.js +1 -16
  66. package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.d.ts +1 -1
  67. package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.js +7 -6
  68. package/lib/hooks/__internal__/useInputAccessibility/useInputAccessibility.d.ts +6 -5
  69. package/package.json +1 -1
  70. package/esm/__internal__/checkable-input/checkable-input.d.ts +0 -55
  71. package/esm/__internal__/checkable-input/hidden-checkable-input.d.ts +0 -42
  72. package/esm/components/textbox/textbox.d.ts +0 -125
  73. package/lib/__internal__/checkable-input/checkable-input.d.ts +0 -55
  74. package/lib/__internal__/checkable-input/hidden-checkable-input.d.ts +0 -42
  75. package/lib/components/textbox/textbox.d.ts +0 -125
@@ -0,0 +1,5 @@
1
+ declare const ErrorBorder: import("styled-components").StyledComponent<"span", any, {
2
+ warning: boolean;
3
+ }, never>;
4
+ declare const StyledHintText: import("styled-components").StyledComponent<"p", any, {}, never>;
5
+ export { StyledHintText, ErrorBorder };
@@ -1,5 +1,4 @@
1
1
  import styled, { css } from "styled-components";
2
- import PropTypes from "prop-types";
3
2
  const ErrorBorder = styled.span`
4
3
  ${({
5
4
  warning
@@ -19,15 +18,4 @@ const StyledHintText = styled.p`
19
18
  color: var(--colorsUtilityYin055);
20
19
  font-size: 14px;
21
20
  `;
22
- StyledHintText.defaultProps = {
23
- size: "medium"
24
- };
25
- ErrorBorder.propTypes = {
26
- warning: PropTypes.bool,
27
- size: PropTypes.string
28
- };
29
- ErrorBorder.defaultProps = {
30
- warning: false,
31
- size: "medium"
32
- };
33
21
  export { StyledHintText, ErrorBorder };
@@ -1,3 +1,3 @@
1
1
  /// <reference types="react" />
2
- declare const useCharacterCount: (value: string, characterLimit?: string | undefined, warnOverLimit?: boolean, enforceCharacterLimit?: boolean) => [string | undefined, JSX.Element | null];
2
+ declare const useCharacterCount: (value?: string, characterLimit?: number | undefined, warnOverLimit?: boolean, enforceCharacterLimit?: boolean) => [number | undefined, JSX.Element | null];
3
3
  export default useCharacterCount;
@@ -4,19 +4,20 @@ import useLocale from "../useLocale";
4
4
 
5
5
  const getFormatNumber = (value, locale) => new Intl.NumberFormat(locale).format(value);
6
6
 
7
- const useCharacterCount = (value, characterLimit, warnOverLimit = false, enforceCharacterLimit = true) => {
7
+ const useCharacterCount = (value = "", characterLimit, warnOverLimit = false, enforceCharacterLimit = true) => {
8
+ const isCharacterLimitValid = typeof characterLimit === "number" && !Number.isNaN(characterLimit);
8
9
  const l = useLocale();
9
10
  const isOverLimit = useMemo(() => {
10
- if (value && characterLimit) {
11
- return value.length > parseInt(characterLimit, 10);
11
+ if (value && isCharacterLimitValid) {
12
+ return value.length > characterLimit;
12
13
  }
13
14
 
14
15
  return false;
15
- }, [value, characterLimit]);
16
- return [enforceCharacterLimit && characterLimit ? characterLimit : undefined, characterLimit ? /*#__PURE__*/React.createElement(CharacterCount, {
16
+ }, [value, characterLimit, isCharacterLimitValid]);
17
+ return [enforceCharacterLimit && isCharacterLimitValid ? characterLimit : undefined, isCharacterLimitValid ? /*#__PURE__*/React.createElement(CharacterCount, {
17
18
  isOverLimit: isOverLimit && warnOverLimit,
18
19
  value: getFormatNumber(value.length, l.locale()),
19
- limit: getFormatNumber(+characterLimit, l.locale()),
20
+ limit: getFormatNumber(characterLimit, l.locale()),
20
21
  "data-element": "character-limit"
21
22
  }) : null];
22
23
  };
@@ -1,10 +1,11 @@
1
+ /// <reference types="react" />
1
2
  export default function useInputAccessibility({ id, error, warning, info, label, fieldHelp, }: {
2
3
  id: string;
3
- error?: string;
4
- warning?: string;
5
- info?: string;
6
- label?: string;
7
- fieldHelp?: string;
4
+ error?: string | boolean;
5
+ warning?: string | boolean;
6
+ info?: string | boolean;
7
+ label?: React.ReactNode;
8
+ fieldHelp?: React.ReactNode;
8
9
  }): {
9
10
  labelId?: string;
10
11
  validationIconId?: string;
@@ -1,26 +1,9 @@
1
- declare var _default: React.ForwardRefExoticComponent<{
2
- [x: string]: any;
3
- [x: number]: any;
4
- } & {
5
- theme?: any;
6
- }>;
7
- export default _default;
8
- import React from "react";
9
- export function CharacterCount({ value, limit, theme, ...props }: {
10
- [x: string]: any;
11
- value: any;
12
- limit: any;
13
- theme: any;
14
- }): JSX.Element;
15
- export namespace CharacterCount {
16
- namespace propTypes {
17
- const value: PropTypes.Validator<string>;
18
- const limit: PropTypes.Validator<string>;
19
- const theme: PropTypes.Requireable<object>;
20
- }
21
- namespace defaultProps {
22
- export { baseTheme as theme };
23
- }
1
+ /// <reference types="react" />
2
+ interface CharacterCountProps {
3
+ value: string;
4
+ limit: string;
5
+ isOverLimit: boolean;
6
+ "data-element"?: string;
24
7
  }
25
- import PropTypes from "prop-types";
26
- import baseTheme from "../../style/themes/base";
8
+ declare const CharacterCount: ({ value, limit, isOverLimit, "data-element": dataElement, }: CharacterCountProps) => JSX.Element;
9
+ export default CharacterCount;
@@ -3,42 +3,32 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.CharacterCount = exports.default = void 0;
6
+ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
- var _styledComponents = require("styled-components");
13
-
14
- var _base = _interopRequireDefault(require("../../style/themes/base"));
15
-
16
12
  var _characterCount = _interopRequireDefault(require("./character-count.style"));
17
13
 
18
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
15
 
20
- 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); }
21
-
22
16
  const CharacterCount = ({
23
17
  value,
24
18
  limit,
25
- theme,
26
- ...props
27
- }) => /*#__PURE__*/_react.default.createElement(_characterCount.default, _extends({
28
- theme: theme,
29
- "aria-live": "polite"
30
- }, props), `${value}/${limit}`);
19
+ isOverLimit,
20
+ "data-element": dataElement
21
+ }) => /*#__PURE__*/_react.default.createElement(_characterCount.default, {
22
+ "aria-live": "polite",
23
+ isOverLimit: isOverLimit,
24
+ "data-element": dataElement
25
+ }, `${value}/${limit}`);
31
26
 
32
- exports.CharacterCount = CharacterCount;
33
27
  CharacterCount.propTypes = {
34
- value: _propTypes.default.string.isRequired,
35
- limit: _propTypes.default.string.isRequired,
36
- theme: _propTypes.default.object
28
+ "data-element": _propTypes.default.string,
29
+ "isOverLimit": _propTypes.default.bool.isRequired,
30
+ "limit": _propTypes.default.string.isRequired,
31
+ "value": _propTypes.default.string.isRequired
37
32
  };
38
- CharacterCount.defaultProps = {
39
- theme: _base.default
40
- };
41
-
42
- var _default = (0, _styledComponents.withTheme)(CharacterCount);
43
-
33
+ var _default = CharacterCount;
44
34
  exports.default = _default;
@@ -1,2 +1,4 @@
1
+ declare const StyledCharacterCount: import("styled-components").StyledComponent<"div", any, {
2
+ isOverLimit: boolean;
3
+ }, never>;
1
4
  export default StyledCharacterCount;
2
- declare const StyledCharacterCount: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -7,6 +7,10 @@ exports.default = void 0;
7
7
 
8
8
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
9
9
 
10
+ var _base = _interopRequireDefault(require("../../style/themes/base"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
11
15
 
12
16
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,5 +30,8 @@ const StyledCharacterCount = _styledComponents.default.div`
26
30
  font-weight: 700;
27
31
  `}
28
32
  `;
33
+ StyledCharacterCount.defaultProps = {
34
+ theme: _base.default
35
+ };
29
36
  var _default = StyledCharacterCount;
30
37
  exports.default = _default;
@@ -1,2 +1,2 @@
1
- export default StyledCheckableInputSvgWrapper;
2
1
  declare const StyledCheckableInputSvgWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export default StyledCheckableInputSvgWrapper;
@@ -0,0 +1,50 @@
1
+ import React from "react";
2
+ import { CommonHiddenCheckableInputProps } from "./hidden-checkable-input.component";
3
+ import { ValidationProps } from "../validations";
4
+ export interface CommonCheckableInputProps extends ValidationProps, CommonHiddenCheckableInputProps {
5
+ /** If true, the component will be disabled */
6
+ disabled?: boolean;
7
+ /** Help content to be displayed under an input */
8
+ fieldHelp?: React.ReactNode;
9
+ /**
10
+ * If true, the FieldHelp will be displayed inline
11
+ * To be used with labelInline prop set to true
12
+ */
13
+ fieldHelpInline?: boolean;
14
+ /** Unique Identifier for the input. Will use a randomly generated GUID if none is provided */
15
+ id?: string;
16
+ /** Sets percentage-based input width */
17
+ inputWidth?: number;
18
+ /** Label content */
19
+ label?: React.ReactNode;
20
+ /** The content for the help tooltip, to appear next to the Label */
21
+ labelHelp?: React.ReactNode;
22
+ /** Spacing between label and a field for inline label, given number will be multiplied by base spacing unit (8) */
23
+ labelSpacing?: 1 | 2;
24
+ /** Label width */
25
+ labelWidth?: number;
26
+ /** Flag to configure component as mandatory */
27
+ required?: boolean;
28
+ /** If true the label switches position with the input */
29
+ reverse?: boolean;
30
+ /** Size of the component */
31
+ size?: "small" | "large";
32
+ /** The id of the element that labels the input */
33
+ ariaLabelledBy?: string;
34
+ /** When true, displays validation icon on label */
35
+ validationOnLabel?: boolean;
36
+ }
37
+ export interface CheckableInputProps extends CommonCheckableInputProps {
38
+ /** Used to set the visible aspect of the input (i.e. the checkbox sprite, input slider etc) */
39
+ children?: React.ReactNode;
40
+ /** HTML type attribute of the input */
41
+ type: string;
42
+ /** Value passed to the input */
43
+ value?: string;
44
+ /** Text alignment of the label */
45
+ labelAlign?: "left" | "right";
46
+ /** When true label is inline */
47
+ labelInline?: boolean;
48
+ }
49
+ declare const CheckableInput: ({ ariaLabelledBy: externalAriaLabelledBy, autoFocus, checked, children, disabled, error, fieldHelp, fieldHelpInline, info, id: inputId, inputRef, type, value, inputWidth, label, labelAlign, labelHelp, labelInline, labelSpacing, labelWidth, name, onBlur, onChange, onFocus, required, reverse, validationOnLabel, warning, ...props }: CheckableInputProps) => JSX.Element;
50
+ export default CheckableInput;