@aws-amplify/ui-react 6.1.14 → 6.2.0
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/dist/{Field-1f747369.js → Field-d47a49dc.js} +12 -23
- package/dist/ThemeStyle-b2dce96a.js +91 -0
- package/dist/esm/components/ThemeProvider/ThemeProvider.mjs +3 -5
- package/dist/esm/components/ThemeProvider/ThemeStyle.mjs +69 -0
- package/dist/esm/helpers/constants.mjs +9 -0
- package/dist/esm/primitives/Checkbox/Checkbox.mjs +4 -4
- package/dist/esm/primitives/CheckboxField/CheckboxField.mjs +2 -2
- package/dist/esm/primitives/HighlightMatch/HighlightMatch.mjs +2 -2
- package/dist/esm/primitives/RadioGroupField/RadioGroupField.mjs +13 -5
- package/dist/esm/primitives/SelectField/SelectField.mjs +12 -3
- package/dist/esm/primitives/SliderField/SliderField.mjs +14 -6
- package/dist/esm/primitives/StepperField/StepperField.mjs +12 -3
- package/dist/esm/primitives/Tabs/TabsContainer.mjs +4 -1
- package/dist/esm/primitives/Tabs/TabsContext.mjs +1 -0
- package/dist/esm/primitives/Tabs/TabsItem.mjs +7 -2
- package/dist/esm/primitives/Tabs/TabsPanel.mjs +7 -2
- package/dist/esm/primitives/Tabs/constants.mjs +4 -0
- package/dist/esm/primitives/TextAreaField/TextAreaField.mjs +12 -3
- package/dist/esm/primitives/TextField/TextField.mjs +12 -3
- package/dist/esm/primitives/utils/createSpaceSeparatedIds.mjs +13 -0
- package/dist/esm/primitives/utils/getUniqueComponentId.mjs +3 -0
- package/dist/esm/server.mjs +2 -0
- package/dist/esm/version.mjs +1 -1
- package/dist/index.js +180 -114
- package/dist/internal.js +2 -1
- package/dist/primitiveWithForwardRef-7e929242.js +36 -0
- package/dist/server.js +32 -0
- package/dist/types/components/ThemeProvider/ThemeStyle.d.ts +18 -0
- package/dist/types/helpers/constants.d.ts +2 -0
- package/dist/types/primitives/Tabs/TabsContext.d.ts +1 -0
- package/dist/types/primitives/Tabs/constants.d.ts +1 -0
- package/dist/types/primitives/shared/responsive/utils.d.ts +1 -1
- package/dist/types/primitives/utils/createSpaceSeparatedIds.d.ts +8 -0
- package/dist/types/primitives/utils/getUniqueComponentId.d.ts +1 -0
- package/dist/types/server.d.ts +2 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +10 -5
- package/dist/esm/primitives/utils/getTestId.mjs +0 -3
- package/dist/types/primitives/utils/getTestId.d.ts +0 -1
|
@@ -10,6 +10,9 @@ import { splitPrimitiveProps } from '../utils/splitPrimitiveProps.mjs';
|
|
|
10
10
|
import { TextArea } from '../TextArea/TextArea.mjs';
|
|
11
11
|
import { useStableId } from '../utils/useStableId.mjs';
|
|
12
12
|
import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
|
|
13
|
+
import { createSpaceSeparatedIds } from '../utils/createSpaceSeparatedIds.mjs';
|
|
14
|
+
import { DESCRIPTION_SUFFIX, ERROR_SUFFIX } from '../../helpers/constants.mjs';
|
|
15
|
+
import { getUniqueComponentId } from '../utils/getUniqueComponentId.mjs';
|
|
13
16
|
|
|
14
17
|
const DEFAULT_ROW_COUNT = 3;
|
|
15
18
|
const TextAreaFieldPrimitive = (props, ref) => {
|
|
@@ -18,14 +21,20 @@ const TextAreaFieldPrimitive = (props, ref) => {
|
|
|
18
21
|
// it should go on the textarea element and not the wrapper div.
|
|
19
22
|
resize, ..._rest } = props;
|
|
20
23
|
const fieldId = useStableId(id);
|
|
21
|
-
const
|
|
22
|
-
const
|
|
24
|
+
const stableId = useStableId();
|
|
25
|
+
const descriptionId = descriptiveText
|
|
26
|
+
? getUniqueComponentId(stableId, DESCRIPTION_SUFFIX)
|
|
27
|
+
: undefined;
|
|
28
|
+
const errorId = hasError
|
|
29
|
+
? getUniqueComponentId(stableId, ERROR_SUFFIX)
|
|
30
|
+
: undefined;
|
|
31
|
+
const ariaDescribedBy = createSpaceSeparatedIds([errorId, descriptionId]);
|
|
23
32
|
const { styleProps, rest } = splitPrimitiveProps(_rest);
|
|
24
33
|
return (React.createElement(Flex, { className: classNames(ComponentClassName.Field, classNameModifier(ComponentClassName.Field, size), ComponentClassName.TextAreaField, className), testId: testId, ...styleProps },
|
|
25
34
|
React.createElement(Label, { htmlFor: fieldId, visuallyHidden: labelHidden }, label),
|
|
26
35
|
React.createElement(FieldDescription, { id: descriptionId, labelHidden: labelHidden, descriptiveText: descriptiveText }),
|
|
27
36
|
React.createElement(TextArea, { "aria-describedby": ariaDescribedBy, hasError: hasError, id: fieldId, ref: ref, rows: rows ?? DEFAULT_ROW_COUNT, size: size, resize: resize, ...rest, ...inputStyles }),
|
|
28
|
-
React.createElement(FieldErrorMessage, { hasError: hasError, errorMessage: errorMessage })));
|
|
37
|
+
React.createElement(FieldErrorMessage, { id: errorId, hasError: hasError, errorMessage: errorMessage })));
|
|
29
38
|
};
|
|
30
39
|
/**
|
|
31
40
|
* [📖 Docs](https://ui.docs.amplify.aws/react/components/textareafield)
|
|
@@ -11,19 +11,28 @@ import { Label } from '../Label/Label.mjs';
|
|
|
11
11
|
import { splitPrimitiveProps } from '../utils/splitPrimitiveProps.mjs';
|
|
12
12
|
import { useStableId } from '../utils/useStableId.mjs';
|
|
13
13
|
import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
|
|
14
|
+
import { createSpaceSeparatedIds } from '../utils/createSpaceSeparatedIds.mjs';
|
|
15
|
+
import { DESCRIPTION_SUFFIX, ERROR_SUFFIX } from '../../helpers/constants.mjs';
|
|
16
|
+
import { getUniqueComponentId } from '../utils/getUniqueComponentId.mjs';
|
|
14
17
|
|
|
15
18
|
const TextFieldPrimitive = (props, ref) => {
|
|
16
19
|
const { className, descriptiveText, errorMessage, hasError = false, id, innerEndComponent, innerStartComponent, label, labelHidden = false, outerEndComponent, outerStartComponent, size, testId, variation, inputStyles, ..._rest } = props;
|
|
17
20
|
const fieldId = useStableId(id);
|
|
18
|
-
const
|
|
19
|
-
const
|
|
21
|
+
const stableId = useStableId();
|
|
22
|
+
const descriptionId = descriptiveText
|
|
23
|
+
? getUniqueComponentId(stableId, DESCRIPTION_SUFFIX)
|
|
24
|
+
: undefined;
|
|
25
|
+
const errorId = hasError
|
|
26
|
+
? getUniqueComponentId(stableId, ERROR_SUFFIX)
|
|
27
|
+
: undefined;
|
|
28
|
+
const ariaDescribedBy = createSpaceSeparatedIds([errorId, descriptionId]);
|
|
20
29
|
const { styleProps, rest } = splitPrimitiveProps(_rest);
|
|
21
30
|
return (React.createElement(Flex, { className: classNames(ComponentClassName.Field, classNameModifier(ComponentClassName.Field, size), ComponentClassName.TextField, className), testId: testId, ...styleProps },
|
|
22
31
|
React.createElement(Label, { htmlFor: fieldId, visuallyHidden: labelHidden }, label),
|
|
23
32
|
React.createElement(FieldDescription, { id: descriptionId, labelHidden: labelHidden, descriptiveText: descriptiveText }),
|
|
24
33
|
React.createElement(FieldGroup, { outerStartComponent: outerStartComponent, outerEndComponent: outerEndComponent, innerStartComponent: innerStartComponent, innerEndComponent: innerEndComponent, variation: variation },
|
|
25
34
|
React.createElement(Input, { "aria-describedby": ariaDescribedBy, hasError: hasError, id: fieldId, ref: ref, size: size, variation: variation, ...inputStyles, ...rest })),
|
|
26
|
-
React.createElement(FieldErrorMessage, { hasError: hasError, errorMessage: errorMessage })));
|
|
35
|
+
React.createElement(FieldErrorMessage, { id: errorId, hasError: hasError, errorMessage: errorMessage })));
|
|
27
36
|
};
|
|
28
37
|
/**
|
|
29
38
|
* [📖 Docs](https://ui.docs.amplify.aws/react/components/textfield)
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Joins an array of strings and undefined values into a single string with spaces as separators.
|
|
3
|
+
* If all elements are undefined, returns undefined.
|
|
4
|
+
*
|
|
5
|
+
* @param {(string | undefined)[]} ids - An array of strings or undefined values.
|
|
6
|
+
* @returns {string | undefined} A single string with space-separated IDs, or undefined if all elements are undefined.
|
|
7
|
+
*/
|
|
8
|
+
const createSpaceSeparatedIds = (ids) => {
|
|
9
|
+
const joinedIds = ids.filter((id) => id !== undefined).join(' ');
|
|
10
|
+
return joinedIds.length > 0 ? joinedIds : undefined;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { createSpaceSeparatedIds };
|
package/dist/esm/version.mjs
CHANGED