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.
- package/esm/__internal__/character-count/character-count.component.d.ts +8 -25
- package/esm/__internal__/character-count/character-count.component.js +12 -18
- package/esm/__internal__/character-count/character-count.style.d.ts +3 -1
- package/esm/__internal__/character-count/character-count.style.js +4 -0
- package/esm/__internal__/checkable-input/checkable-input-svg-wrapper.style.d.ts +1 -1
- package/esm/__internal__/checkable-input/checkable-input.component.d.ts +50 -0
- package/esm/__internal__/checkable-input/checkable-input.component.js +360 -98
- package/esm/__internal__/checkable-input/checkable-input.style.d.ts +11 -2
- package/esm/__internal__/checkable-input/checkable-input.style.js +0 -7
- package/esm/__internal__/checkable-input/hidden-checkable-input.component.d.ts +31 -0
- package/esm/__internal__/checkable-input/hidden-checkable-input.component.js +301 -45
- package/esm/__internal__/checkable-input/hidden-checkable-input.style.d.ts +1 -1
- package/esm/__internal__/checkable-input/index.d.ts +2 -5
- package/esm/__internal__/input/index.d.ts +1 -1
- package/esm/__internal__/input/input-presentation.style.d.ts +1 -1
- package/esm/__internal__/input/input.style.d.ts +1 -1
- package/esm/components/flat-table/flat-table-row/flat-table-row.style.js +1 -0
- package/esm/components/numeral-date/numeral-date-context.d.ts +6 -0
- package/esm/components/popover-container/popover-container.component.d.ts +2 -0
- package/esm/components/popover-container/popover-container.component.js +9 -4
- package/esm/components/select/multi-select/multi-select.component.js +1 -1
- package/esm/components/select/select-list/select-list.component.js +20 -11
- package/esm/components/textarea/textarea.component.js +6 -27
- package/esm/components/textarea/textarea.d.ts +2 -1
- package/esm/components/textbox/__internal__/prefix.style.d.ts +2 -0
- package/esm/components/textbox/index.d.ts +2 -1
- package/esm/components/textbox/index.js +1 -1
- package/esm/components/textbox/textbox.component.d.ts +92 -0
- package/esm/components/textbox/textbox.component.js +533 -197
- package/esm/components/textbox/textbox.style.d.ts +5 -0
- package/esm/components/textbox/textbox.style.js +0 -12
- package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.d.ts +1 -1
- package/esm/hooks/__internal__/useCharacterCount/useCharacterCount.js +7 -6
- package/esm/hooks/__internal__/useInputAccessibility/useInputAccessibility.d.ts +6 -5
- package/lib/__internal__/character-count/character-count.component.d.ts +8 -25
- package/lib/__internal__/character-count/character-count.component.js +13 -23
- package/lib/__internal__/character-count/character-count.style.d.ts +3 -1
- package/lib/__internal__/character-count/character-count.style.js +7 -0
- package/lib/__internal__/checkable-input/checkable-input-svg-wrapper.style.d.ts +1 -1
- package/lib/__internal__/checkable-input/checkable-input.component.d.ts +50 -0
- package/lib/__internal__/checkable-input/checkable-input.component.js +360 -98
- package/lib/__internal__/checkable-input/checkable-input.style.d.ts +11 -2
- package/lib/__internal__/checkable-input/checkable-input.style.js +1 -9
- package/lib/__internal__/checkable-input/hidden-checkable-input.component.d.ts +31 -0
- package/lib/__internal__/checkable-input/hidden-checkable-input.component.js +301 -45
- package/lib/__internal__/checkable-input/hidden-checkable-input.style.d.ts +1 -1
- package/lib/__internal__/checkable-input/index.d.ts +2 -5
- package/lib/__internal__/input/index.d.ts +1 -1
- package/lib/__internal__/input/input-presentation.style.d.ts +1 -1
- package/lib/__internal__/input/input.style.d.ts +1 -1
- package/lib/components/flat-table/flat-table-row/flat-table-row.style.js +1 -0
- package/lib/components/numeral-date/numeral-date-context.d.ts +6 -0
- package/lib/components/popover-container/popover-container.component.d.ts +2 -0
- package/lib/components/popover-container/popover-container.component.js +9 -4
- package/lib/components/select/multi-select/multi-select.component.js +1 -1
- package/lib/components/select/select-list/select-list.component.js +20 -11
- package/lib/components/textarea/textarea.component.js +6 -27
- package/lib/components/textarea/textarea.d.ts +2 -1
- package/lib/components/textbox/__internal__/prefix.style.d.ts +2 -0
- package/lib/components/textbox/index.d.ts +2 -1
- package/lib/components/textbox/index.js +2 -10
- package/lib/components/textbox/textbox.component.d.ts +92 -0
- package/lib/components/textbox/textbox.component.js +534 -201
- package/lib/components/textbox/textbox.style.d.ts +5 -0
- package/lib/components/textbox/textbox.style.js +1 -16
- package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.d.ts +1 -1
- package/lib/hooks/__internal__/useCharacterCount/useCharacterCount.js +7 -6
- package/lib/hooks/__internal__/useInputAccessibility/useInputAccessibility.d.ts +6 -5
- package/package.json +1 -1
- package/esm/__internal__/checkable-input/checkable-input.d.ts +0 -55
- package/esm/__internal__/checkable-input/hidden-checkable-input.d.ts +0 -42
- package/esm/components/textbox/textbox.d.ts +0 -125
- package/lib/__internal__/checkable-input/checkable-input.d.ts +0 -55
- package/lib/__internal__/checkable-input/hidden-checkable-input.d.ts +0 -42
- package/lib/components/textbox/textbox.d.ts +0 -125
|
@@ -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
|
|
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 &&
|
|
11
|
-
return value.length >
|
|
11
|
+
if (value && isCharacterLimitValid) {
|
|
12
|
+
return value.length > characterLimit;
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
return false;
|
|
15
|
-
}, [value, characterLimit]);
|
|
16
|
-
return [enforceCharacterLimit &&
|
|
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(
|
|
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?:
|
|
7
|
-
fieldHelp?:
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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
|
-
|
|
26
|
-
|
|
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.
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
}) => /*#__PURE__*/_react.default.createElement(_characterCount.default,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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;
|
|
@@ -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;
|