@aws-amplify/ui-react 6.1.13 → 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.
Files changed (52) hide show
  1. package/dist/{Field-1f747369.js → Field-d47a49dc.js} +12 -23
  2. package/dist/ThemeStyle-b2dce96a.js +91 -0
  3. package/dist/esm/components/Authenticator/ConfirmSignUp/ConfirmSignUp.mjs +2 -2
  4. package/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignInButtons/FederatedSignInButton.mjs +1 -1
  5. package/dist/esm/components/Authenticator/ForceNewPassword/ForceNewPassword.mjs +2 -2
  6. package/dist/esm/components/Authenticator/SignIn/SignIn.mjs +3 -3
  7. package/dist/esm/components/Authenticator/SignUp/SignUp.mjs +2 -2
  8. package/dist/esm/components/Authenticator/VerifyUser/VerifyUser.mjs +2 -2
  9. package/dist/esm/components/Authenticator/shared/ConfirmSignInFooter.mjs +2 -2
  10. package/dist/esm/components/Authenticator/shared/TwoButtonSubmitFooter.mjs +3 -2
  11. package/dist/esm/components/ThemeProvider/ThemeProvider.mjs +3 -5
  12. package/dist/esm/components/ThemeProvider/ThemeStyle.mjs +69 -0
  13. package/dist/esm/helpers/constants.mjs +9 -0
  14. package/dist/esm/primitives/Checkbox/Checkbox.mjs +4 -4
  15. package/dist/esm/primitives/CheckboxField/CheckboxField.mjs +2 -2
  16. package/dist/esm/primitives/HighlightMatch/HighlightMatch.mjs +2 -2
  17. package/dist/esm/primitives/RadioGroupField/RadioGroupField.mjs +13 -5
  18. package/dist/esm/primitives/SelectField/SelectField.mjs +12 -3
  19. package/dist/esm/primitives/SliderField/SliderField.mjs +14 -6
  20. package/dist/esm/primitives/StepperField/StepperField.mjs +12 -3
  21. package/dist/esm/primitives/Tabs/TabsContainer.mjs +4 -1
  22. package/dist/esm/primitives/Tabs/TabsContext.mjs +1 -0
  23. package/dist/esm/primitives/Tabs/TabsItem.mjs +7 -2
  24. package/dist/esm/primitives/Tabs/TabsPanel.mjs +7 -2
  25. package/dist/esm/primitives/Tabs/constants.mjs +4 -0
  26. package/dist/esm/primitives/TextAreaField/TextAreaField.mjs +12 -3
  27. package/dist/esm/primitives/TextField/TextField.mjs +12 -3
  28. package/dist/esm/primitives/utils/createSpaceSeparatedIds.mjs +13 -0
  29. package/dist/esm/primitives/utils/getUniqueComponentId.mjs +3 -0
  30. package/dist/esm/server.mjs +2 -0
  31. package/dist/esm/version.mjs +1 -1
  32. package/dist/index.js +197 -130
  33. package/dist/internal.js +2 -1
  34. package/dist/primitiveWithForwardRef-7e929242.js +36 -0
  35. package/dist/server.js +32 -0
  36. package/dist/types/components/ThemeProvider/ThemeStyle.d.ts +18 -0
  37. package/dist/types/helpers/constants.d.ts +2 -0
  38. package/dist/types/primitives/Tabs/TabsContext.d.ts +1 -0
  39. package/dist/types/primitives/Tabs/constants.d.ts +1 -0
  40. package/dist/types/primitives/shared/responsive/utils.d.ts +1 -1
  41. package/dist/types/primitives/utils/createSpaceSeparatedIds.d.ts +8 -0
  42. package/dist/types/primitives/utils/getUniqueComponentId.d.ts +1 -0
  43. package/dist/types/server.d.ts +2 -0
  44. package/dist/types/version.d.ts +1 -1
  45. package/package.json +10 -5
  46. package/dist/esm/primitives/utils/getTestId.mjs +0 -3
  47. package/dist/types/context/elements/ElementsContext.d.ts +0 -58
  48. package/dist/types/context/elements/defineBaseElement.d.ts +0 -26
  49. package/dist/types/context/elements/index.d.ts +0 -3
  50. package/dist/types/context/elements/types.d.ts +0 -31
  51. package/dist/types/context/elements/withBaseElementProps.d.ts +0 -32
  52. package/dist/types/primitives/utils/getTestId.d.ts +0 -1
package/dist/internal.js CHANGED
@@ -2,13 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Field = require('./Field-1f747369.js');
5
+ var Field = require('./Field-d47a49dc.js');
6
6
  var React = require('react');
7
7
  var Storage = require('aws-amplify/storage');
8
8
  var ui = require('@aws-amplify/ui');
9
9
  var uiReactCore = require('@aws-amplify/ui-react-core');
10
10
  require('@aws-amplify/core');
11
11
  require('aws-amplify/auth');
12
+ require('./primitiveWithForwardRef-7e929242.js');
12
13
 
13
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
15
 
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopNamespace(e) {
6
+ if (e && e.__esModule) return e;
7
+ var n = Object.create(null);
8
+ if (e) {
9
+ Object.keys(e).forEach(function (k) {
10
+ if (k !== 'default') {
11
+ var d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: function () { return e[k]; }
15
+ });
16
+ }
17
+ });
18
+ }
19
+ n["default"] = e;
20
+ return Object.freeze(n);
21
+ }
22
+
23
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
24
+
25
+ /**
26
+ * Updates the return type for primitives wrapped in `React.forwardRef` to
27
+ * `React.ReactElement`. In React 18 the return type of `React.ExoticComponent`
28
+ * was changed from `React.ReactElement` to `React.ReactNode`, which breaks
29
+ * clients using React 16 and 17.
30
+ *
31
+ * @param primitive UI Primitive to be wrapped with `React.forwardRef`
32
+ * @returns ForwaredRef wrapped UI Primitive
33
+ */
34
+ const primitiveWithForwardRef = (primitive) => React__namespace.forwardRef(primitive);
35
+
36
+ exports.primitiveWithForwardRef = primitiveWithForwardRef;
package/dist/server.js ADDED
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var ThemeStyle = require('./ThemeStyle-b2dce96a.js');
6
+ var ui = require('@aws-amplify/ui');
7
+ require('react');
8
+ require('./primitiveWithForwardRef-7e929242.js');
9
+
10
+
11
+
12
+ exports.ThemeStyle = ThemeStyle.ThemeStyle;
13
+ Object.defineProperty(exports, 'createComponentClasses', {
14
+ enumerable: true,
15
+ get: function () { return ui.createComponentClasses; }
16
+ });
17
+ Object.defineProperty(exports, 'createTheme', {
18
+ enumerable: true,
19
+ get: function () { return ui.createTheme; }
20
+ });
21
+ Object.defineProperty(exports, 'defaultDarkModeOverride', {
22
+ enumerable: true,
23
+ get: function () { return ui.defaultDarkModeOverride; }
24
+ });
25
+ Object.defineProperty(exports, 'defaultTheme', {
26
+ enumerable: true,
27
+ get: function () { return ui.defaultTheme; }
28
+ });
29
+ Object.defineProperty(exports, 'defineComponentTheme', {
30
+ enumerable: true,
31
+ get: function () { return ui.defineComponentTheme; }
32
+ });
@@ -0,0 +1,18 @@
1
+ import { WebTheme } from '@aws-amplify/ui';
2
+ import { BaseComponentProps, ElementType, ForwardRefPrimitive, PrimitiveProps } from '../../primitives/types';
3
+ interface BaseStyleThemeProps extends BaseComponentProps {
4
+ /**
5
+ * Provide a server generated nonce which matches your CSP `style-src` rule.
6
+ * This will be attached to the generated <style> tag.
7
+ * @see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
8
+ */
9
+ nonce?: string;
10
+ theme?: WebTheme;
11
+ }
12
+ export type ThemeStyleProps<Element extends ElementType = 'style'> = PrimitiveProps<BaseStyleThemeProps, Element>;
13
+ /**
14
+ * @experimental
15
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/theme)
16
+ */
17
+ export declare const ThemeStyle: ForwardRefPrimitive<BaseStyleThemeProps, 'style'>;
18
+ export {};
@@ -1 +1,3 @@
1
1
  export declare const AMPLIFY_SYMBOL: Symbol;
2
+ export declare const ERROR_SUFFIX = "error";
3
+ export declare const DESCRIPTION_SUFFIX = "description";
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  export interface TabsContextInterface {
3
3
  activeTab: string;
4
4
  isLazy?: boolean;
5
+ groupId: string;
5
6
  setActiveTab: (tab: string) => void;
6
7
  }
7
8
  export declare const TabsContext: React.Context<TabsContextInterface>;
@@ -0,0 +1 @@
1
+ export declare const WHITESPACE_VALUE = "-";
@@ -1,6 +1,6 @@
1
1
  import { Breakpoint, Breakpoints, ValueBreakpoints } from '../../types/responsive';
2
2
  export declare const getValueAtCurrentBreakpoint: <Value = string | number>({ breakpoint, breakpoints, values, }: {
3
- values: Partial<Record<"small" | "medium" | "large" | "xl" | "xxl" | "base", Value>> | Value[];
3
+ values: Partial<Record<"small" | "large" | "medium" | "xl" | "xxl" | "base", Value>> | Value[];
4
4
  breakpoint: Breakpoint;
5
5
  breakpoints: Breakpoints;
6
6
  }) => string | number | Value | null;
@@ -0,0 +1,8 @@
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
+ export declare const createSpaceSeparatedIds: (ids: (string | undefined)[]) => string | undefined;
@@ -0,0 +1 @@
1
+ export declare const getUniqueComponentId: (id?: string, suffix?: string) => string | undefined;
@@ -0,0 +1,2 @@
1
+ export { ThemeStyle } from './components/ThemeProvider/ThemeStyle';
2
+ export { createTheme, defineComponentTheme, createComponentClasses, defaultTheme, defaultDarkModeOverride, } from '@aws-amplify/ui';
@@ -1 +1 @@
1
- export declare const VERSION = "6.1.13";
1
+ export declare const VERSION = "6.2.0";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-amplify/ui-react",
3
- "version": "6.1.13",
3
+ "version": "6.2.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/esm/index.mjs",
6
6
  "exports": {
@@ -13,6 +13,11 @@
13
13
  "import": "./dist/esm/internal.mjs",
14
14
  "require": "./dist/internal.js"
15
15
  },
16
+ "./server": {
17
+ "types": "./dist/types/server.d.ts",
18
+ "import": "./dist/esm/server.mjs",
19
+ "require": "./dist/server.js"
20
+ },
16
21
  "./styles.css": "./dist/styles.css",
17
22
  "./styles.layer.css": "./dist/styles.layer.css",
18
23
  "./styles/*": "./dist/styles/*",
@@ -49,8 +54,8 @@
49
54
  "typecheck": "tsc --noEmit"
50
55
  },
51
56
  "dependencies": {
52
- "@aws-amplify/ui": "6.0.17",
53
- "@aws-amplify/ui-react-core": "3.0.17",
57
+ "@aws-amplify/ui": "6.1.0",
58
+ "@aws-amplify/ui-react-core": "3.0.18",
54
59
  "@radix-ui/react-direction": "1.0.0",
55
60
  "@radix-ui/react-dropdown-menu": "1.0.0",
56
61
  "@radix-ui/react-slider": "1.0.0",
@@ -83,13 +88,13 @@
83
88
  "name": "Authenticator",
84
89
  "path": "dist/esm/index.mjs",
85
90
  "import": "{ Authenticator }",
86
- "limit": "76 kB"
91
+ "limit": "77 kB"
87
92
  },
88
93
  {
89
94
  "name": "AccountSettings",
90
95
  "path": "dist/esm/index.mjs",
91
96
  "import": "{ AccountSettings }",
92
- "limit": "29 kB"
97
+ "limit": "30 kB"
93
98
  }
94
99
  ]
95
100
  }
@@ -1,3 +0,0 @@
1
- const getTestId = (testId, component) => testId && component ? `${testId}-${component}` : undefined;
2
-
3
- export { getTestId };
@@ -1,58 +0,0 @@
1
- import React from 'react';
2
- import { ElementDisplayName } from './types';
3
- export interface Elements extends Partial<Record<ElementDisplayName, React.ComponentType>> {
4
- }
5
- /**
6
- * `ElementsProvider` and its coresponding `useElement` hook provide
7
- * access to the values of the nearest ancestral `ElementsContext`
8
- * value.
9
- *
10
- * In most use cases, there is no need to directly invoke `useElement`;
11
- * `ElementsContext` lookup is handled directly by `BaseElement`
12
- * components returned by `defineBaseElement`.
13
- *
14
- * @example
15
- *
16
- * Add `ElementsContext` aware `BaseElement` components to a
17
- * Connected Component
18
- *
19
- * ```tsx
20
- * // `BaseElement`, renders custom or default element defintion
21
- * const ViewElement = defineBaseElement({
22
- * displayName: "View",
23
- * type: "div",
24
- * });
25
- *
26
- * // `BaseElement` components to be provided through `ElementsContext`
27
- * interface ConnectedComponentElements {
28
- * View: typeof ViewElement;
29
- * }
30
- *
31
- * function createConnectedComponent<T extends ConnectedComponentElements>(
32
- * elements?: T
33
- * ) {
34
- * const Provider = ({ children }: { children?: React.ReactNode }) => (
35
- * <ElementsProvider elements={elements}>
36
- * <Children />
37
- * </ElementsProvider>
38
- * );
39
- *
40
- * function ConnectedComponent() {
41
- * return (
42
- * <Provider>
43
- * <ConnectedComponentContent />
44
- * </Provider>
45
- * );
46
- * }
47
- *
48
- * ConnectedComponent.Provider = Provider;
49
- *
50
- * return ConnectedComponent;
51
- * }
52
- * ```
53
- */
54
- export declare function ElementsProvider<T extends Elements>({ elements, ...props }: {
55
- children?: React.ReactNode;
56
- elements?: T;
57
- }): React.JSX.Element;
58
- export declare const useElement: <T extends keyof Elements>(name: T) => Elements[T] | undefined;
@@ -1,26 +0,0 @@
1
- import { BaseElement, BaseElementProps, ElementDisplayName, ElementRefType, ReactElementProps, ReactElementType } from './types';
2
- export interface DefineBaseElementInput<T> {
3
- /**
4
- * `BaseElement` display name in React dev tools and stack traces
5
- */
6
- displayName: ElementDisplayName;
7
- /**
8
- * base HTML `element` type
9
- */
10
- type: T;
11
- }
12
- /**
13
- * Defines a `ElementsContext` aware `BaseElement` UI component of the
14
- * provided `type` with an assigned `displayName`.
15
- *
16
- * If `BaseElement` is used as a child of an `ElementsProvider`, returns the
17
- * `BaseElement` value of the provided `displayName` of `ElementsContext`.
18
- *
19
- * When used outside of a parent `ElementsProvider` or no `BaseElement`
20
- * of `displayName` is found in the `ElementsContext`, returns a stateless,
21
- * unstyled HTML element of the provided `type`.
22
- *
23
- * @param {DefineBaseElementInput} input `BaseElement` parameters
24
- * @returns {BaseElement} `ElementsContext` aware UI component
25
- */
26
- export default function defineBaseElement<T extends ReactElementType, K extends keyof U = never, V = string, U extends ReactElementProps<T> = ReactElementProps<T>, P extends BaseElementProps<K, V, U> = BaseElementProps<K, V, U>>(input: DefineBaseElementInput<T>): BaseElement<P, ElementRefType<P>>;
@@ -1,3 +0,0 @@
1
- export { default as defineBaseElement } from './defineBaseElement';
2
- export { default as withBaseElementProps } from './withBaseElementProps';
3
- export { ElementsProvider } from './ElementsContext';
@@ -1,31 +0,0 @@
1
- import React from 'react';
2
- /**
3
- * Base type definition of `BaseElement` components available through
4
- * `ElementsContext`. The definitions define a contract between a
5
- * Connected Component and the `elements` that can be provided as
6
- * overrides.
7
- *
8
- * `BaseElement` interfaces surface a minimal set of HTML semantic `props`
9
- * required to achieve the base functionality of consumers. `props`
10
- * are always optional at the interface level, allowing for additional `props`
11
- * to be added to existing `BaseElement` interfaces as needed.
12
- */
13
- export type BaseElement<T = {}, K = {}> = React.ForwardRefExoticComponent<React.PropsWithoutRef<T> & React.RefAttributes<K>>;
14
- /**
15
- * allowed values of `displayName` of `BaseElement` and `ElemebtsContext` keys
16
- */
17
- export type ElementDisplayName = 'Button' | 'View' | 'Icon' | 'Input' | 'Span';
18
- export type ElementRefType<T> = T extends {
19
- ref?: React.LegacyRef<infer K> | React.Ref<infer K> | React.ForwardedRef<infer K>;
20
- } ? K : never;
21
- export type ReactElementType = keyof React.JSX.IntrinsicElements;
22
- export type ReactElementProps<T extends ReactElementType> = React.JSX.IntrinsicElements[T];
23
- /**
24
- * key of `props` always available on `BaseElement` definitions
25
- */
26
- type ElementPropKey<T> = T | 'children' | 'className' | 'style';
27
- export type BaseElementProps<T extends keyof K, V = string, K extends Record<ElementPropKey<keyof K>, any> = Record<string, any>> = React.AriaAttributes & React.RefAttributes<ElementRefType<K>> & Pick<K, ElementPropKey<T>> & {
28
- testId?: string;
29
- variant?: V;
30
- };
31
- export {};
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import { BaseElement, ElementRefType } from './types';
3
- /**
4
- * Extend target `BaseElement` with `defaultProps`. `defaultProps`
5
- * are overidden by `props` provided to returned `BaseElement`.
6
- *
7
- * @example
8
- *
9
- * Extend `InputElement` with default `className` and `type`
10
- * ```tsx
11
- *
12
- * // define extended `props` on `BaseElement` interface
13
- * type InputElementPropKey = 'onChange' | 'type';
14
- *
15
- * // create `InputElement` base with `type` generic and extended `props` key
16
- * export const InputElement = defineBaseElement<"input", InputElementPropKey>({
17
- * type: "input",
18
- * displayName: "Input",
19
- * });
20
- *
21
- * // extend base `InputElement` with default input `type` of `checkbox`
22
- * const CheckboxElement = withBaseElementProps(Input, {
23
- * className: 'submit-toggle__checkbox',
24
- * type: 'checkbox',
25
- * });
26
- * ```
27
- *
28
- * @param Target `BaseElement` to extend
29
- * @param defaultProps `defaultProps` to apply to `Target`, accepts object or callback
30
- * @returns extended `BaseElement` with `defaultProps`
31
- */
32
- export default function withBaseElementProps<T, K extends T | (() => T)>(Target: React.ForwardRefExoticComponent<T>, defaultProps: K): BaseElement<T, ElementRefType<T>>;
@@ -1 +0,0 @@
1
- export declare const getTestId: (testId?: string, component?: string) => string | undefined;