Skip to content

Commit daf03b0

Browse files
committed
resolved merge conflicts
2 parents 19c33b5 + 44dcfb5 commit daf03b0

File tree

112 files changed

+2033
-351
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

112 files changed

+2033
-351
lines changed

.github/workflows/reusable-build-system-test-react-native.yml

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
framework-version: [
2020
# uncomment to enable
2121
{ formatted: latest, value: latest },
22+
{ formatted: 077, value: 0.77 },
2223
{ formatted: 076, value: 0.76 },
2324
{ formatted: 075, value: 0.75 },
2425
{ formatted: 074, value: 0.74 },
@@ -37,6 +38,9 @@ jobs:
3738
exclude:
3839
- build-tool: expo
3940
platform: ios
41+
- build-tool: expo
42+
platform: android
43+
framework-version: { formatted: '077', value: '0.77' }
4044
- build-tool: expo
4145
platform: android
4246
framework-version: { formatted: '076', value: '0.76' }
@@ -58,30 +62,7 @@ jobs:
5862
include:
5963
# Expo makes you specify a version of the SDK that supports a specific version of React Native
6064
# https://stackoverflow.com/questions/63463373/create-an-expo-project-with-a-specific-version
61-
- framework: react-native
62-
framework-version: { formatted: 070, value: '0.70' }
63-
build-tool: expo
64-
build-tool-version: 47
65-
platform: android
66-
pkg-manager: npm
67-
node-version: 20
68-
logfile: test.log
69-
- framework: react-native
70-
framework-version: { formatted: 071, value: '0.71' }
71-
build-tool: expo
72-
build-tool-version: 48
73-
platform: android
74-
pkg-manager: npm
75-
node-version: 20
76-
logfile: test.log
77-
- framework: react-native
78-
framework-version: { formatted: 072, value: '0.72' }
79-
build-tool: expo
80-
build-tool-version: 49
81-
platform: android
82-
pkg-manager: npm
83-
node-version: 20
84-
logfile: test.log
65+
# Only include officially supported Expo SDK versions: https://docs.expo.dev/versions/latest/
8566
- framework: react-native
8667
framework-version: { formatted: 073, value: '0.73' }
8768
build-tool: expo
@@ -114,6 +95,14 @@ jobs:
11495
pkg-manager: npm
11596
node-version: 20
11697
logfile: test.log
98+
- framework: react-native
99+
framework-version: { formatted: 077, value: '0.77' }
100+
build-tool: expo
101+
build-tool-version: 52
102+
platform: android
103+
pkg-manager: npm
104+
node-version: 20
105+
logfile: test.log
117106

118107
env:
119108
MEGA_APP_NAME: rn${{ matrix.framework-version.formatted }}${{ matrix.build-tool }}${{ matrix.build-tool-version }}${{ matrix.platform }}ui${{ inputs.dist-tag }}

build-system-tests/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,34 @@ There are two Github workflows:
99
- Build System Test
1010
- Build System Test React Native (runs less frequently because the tests take longer)
1111

12+
We currently test for the following versions:
13+
14+
#### Build System Test
15+
16+
| Framework | Version | Build Tool | Version |
17+
| --------------- | ------- | ----------- | ------- |
18+
| React (Next.js) | Latest | Next CLI | Latest |
19+
| React | Latest | Vite | Latest |
20+
| React (Next.js) | 18 | Next CLI | 13 |
21+
| React | 18 | Vite | 3 |
22+
| Angular | Latest | Angular CLI | Latest |
23+
| Angular | 14 | Angular CLI | 14 |
24+
| Vue (Nuxt) | Latest | Nuxt CLI | Latest |
25+
| Vue | Latest | Vite | Latest |
26+
| Vue | Latest | Vue CLI | Latest |
27+
| Vue | 3 | Vite | 3 |
28+
29+
#### Build System Test — React Native
30+
31+
| React Native Version | Build Tool/Framework | Version |
32+
| -------------------- | -------------------- | ------- |
33+
| Latest | CLI | Latest |
34+
| Latest | Expo | Latest |
35+
| 0.71 - 0.77 | CLI | Latest |
36+
| 0.76 - 0.77 | Expo | 52 |
37+
| 0.74 - 0.75 | Expo | 51 |
38+
| 0.73 | Expo | 50 |
39+
1240
### Local
1341

1442
In this _build-system-tests_ folder, run

build-system-tests/scripts/mega-app-install.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,9 @@ else
108108
# react-native-safe-area-context v5.0.0+ does not support RN 0.74 and lower
109109
DEPENDENCIES="$TAGGED_UI_FRAMEWORK @aws-amplify/react-native aws-amplify @react-native-community/netinfo @react-native-async-storage/async-storage react-native-get-random-values react-native-url-polyfill"
110110

111-
# react-native-safe-area-context v5 is required for >= 0.78
112-
if [[ "$FRAMEWORK_VERSION" == "latest" || $FRAMEWORK_VERSION > "0.77" ]]; then
113-
DEPENDENCIES="$DEPENDENCIES react-native-safe-area-context@^5.2.0 --force"
111+
# react-native-safe-area-context v5 is required for >= 0.74
112+
if [[ "$FRAMEWORK_VERSION" == "latest" || $FRAMEWORK_VERSION > "0.74" ]]; then
113+
DEPENDENCIES="$DEPENDENCIES react-native-safe-area-context"
114114
else
115115
DEPENDENCIES="$DEPENDENCIES react-native-safe-area-context@^4.2.5"
116116
fi;

docs/__tests__/__snapshots__/cssvars-table.test.ts.snap

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,9 +639,13 @@ exports[`CSS Variables Table 1`] = `
639639
"value": "var(--amplify-space-xxs)"
640640
},
641641
{
642-
"variable": "--amplify-components-ai-conversation-attachment-list-padding-block-start",
642+
"variable": "--amplify-components-ai-conversation-attachment-list-padding",
643643
"value": "var(--amplify-space-xs)"
644644
},
645+
{
646+
"variable": "--amplify-components-ai-conversation-attachment-list-padding-block-start",
647+
"value": "0"
648+
},
645649
{
646650
"variable": "--amplify-components-ai-conversation-attachment-name-color",
647651
"value": "var(--amplify-colors-font-primary)"

docs/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
"typecheck": "tsc --noEmit"
2525
},
2626
"dependencies": {
27-
"@aws-amplify/ui-react": "6.9.3",
28-
"@aws-amplify/ui-react-storage": "3.8.2",
27+
"@aws-amplify/ui-react": "6.9.5",
28+
"@aws-amplify/ui-react-storage": "3.9.1",
2929
"@docsearch/react": "3",
3030
"@mdx-js/loader": "^2.1.0",
3131
"@mdx-js/mdx": "^2.1.0",
@@ -35,7 +35,7 @@
3535
"gray-matter": "^4.0.3",
3636
"lodash": "^4.17.21",
3737
"mdx-prism": "^0.3.3",
38-
"next": "^14.2.21",
38+
"next": "^14.2.25",
3939
"next-plugin-preval": "^1.2.1",
4040
"prism-react-renderer": "1.2.1",
4141
"raw-loader": "^4.0.2",

docs/src/components/ComponentsMetadata.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,12 @@ export const ComponentsMetadata: ComponentClassNameItems = {
100100
components: ['AIConversation'],
101101
description: 'Top level element that wraps the AIConversation primitive',
102102
},
103+
AIConversationScrollView: {
104+
className: ComponentClassName.AIConversationScrollView,
105+
components: ['AIConversation'],
106+
description:
107+
'Scrollview element that wraps the Message list within AIConversation',
108+
},
103109
AIConversationAttachment: {
104110
className: ComponentClassName.AIConversationAttachment,
105111
components: ['AIConversation'],
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { Accordion } from '@aws-amplify/ui-react';
2+
import { TerminalCommand } from './InstallScripts';
3+
4+
export function ReactNativeSafeAreaContextInstallation() {
5+
return (
6+
<Accordion.Container>
7+
<Accordion.Item value="Accordion-item">
8+
<Accordion.Trigger>
9+
<span>
10+
Important note for integration with React Native projects using
11+
version <code>0.74</code> or below
12+
</span>
13+
<Accordion.Icon />
14+
</Accordion.Trigger>
15+
<Accordion.Content>
16+
<div>
17+
Different major versions of peer dependency
18+
<code>react-native-safe-area-context</code> are designed to be
19+
compatible with specific React Native versions.
20+
</div>
21+
<br />
22+
<div>
23+
For React Native version <code>0.74</code> or below, you must
24+
install version
25+
<code>4.x</code> of <code>react-native-safe-area-context</code>.
26+
</div>
27+
<br />
28+
<TerminalCommand command="npm install react-native-safe-area-context@^4.2.5" />
29+
</Accordion.Content>
30+
</Accordion.Item>
31+
</Accordion.Container>
32+
);
33+
}

docs/src/data/frameworks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export const AMPLIFY_5_UI_VERSIONS: Record<string, number> = {
5454

5555
// React Native requires direct installation of dependencies with native modules
5656
export const REACT_NATIVE_DEPENDENCIES =
57-
'@aws-amplify/react-native react-native-safe-area-context@^4.2.5 @react-native-community/netinfo @react-native-async-storage/async-storage react-native-get-random-values';
57+
'@aws-amplify/react-native react-native-safe-area-context @react-native-community/netinfo @react-native-async-storage/async-storage react-native-get-random-values';
5858

5959
export const FRAMEWORK_INSTALL_SCRIPTS = {
6060
react: 'npm i @aws-amplify/ui-react aws-amplify',

docs/src/pages/[platform]/connected-components/authenticator/customization/customization.headers-and-footers.react-native.mdx

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { Tabs } from '@aws-amplify/ui-react';
2+
13
## Authenticator Container, Header & Footer Slots
24

35
The Authenticator has several "slots" that you can customize to add messaging & functionality to meet your app's needs.
@@ -30,3 +32,68 @@ The `Authenticator` subcomponents can be overridden allowing for advanced use ca
3032
```jsx expoSnack file=../../../../../../../examples/react-native/src/features/Authenticator/Component/Example.tsx
3133

3234
```
35+
36+
### Override components with third-party component library
37+
The following example shows how to override each component in the Authenticator to produce a distinct look and feel using a third-party component library.
38+
39+
<Tabs.Container defaultValue="example">
40+
<Tabs.List style={{ overflowX: 'scroll', paddingBottom: 8 }}>
41+
<Tabs.Item value="example">Example.tsx</Tabs.Item>
42+
<Tabs.Item value="confirm-reset-password">
43+
ConfirmResetPassword.tsx
44+
</Tabs.Item>
45+
<Tabs.Item value="confirm-sign-in">ConfirmSignIn.tsx</Tabs.Item>
46+
<Tabs.Item value="confirm-verify-user">ConfirmVerifyUser.tsx</Tabs.Item>
47+
<Tabs.Item value="force-new-password">ForceNewPassword.tsx</Tabs.Item>
48+
<Tabs.Item value="forgot-password">ForgotPassword.tsx</Tabs.Item>
49+
<Tabs.Item value="setup-totp">SetupTotp.tsx</Tabs.Item>
50+
<Tabs.Item value="sign-in">SignIn.tsx</Tabs.Item>
51+
<Tabs.Item value="sign-up">SignUp.tsx</Tabs.Item>
52+
<Tabs.Item value="verify-user">VerifyUser.tsx</Tabs.Item>
53+
<Tabs.Item value="components">components.tsx</Tabs.Item>
54+
</Tabs.List>
55+
<Tabs.Panel value="example">
56+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/Example.tsx
57+
```
58+
</Tabs.Panel>
59+
<Tabs.Panel value="confirm-reset-password">
60+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/ConfirmResetPassword.tsx
61+
```
62+
</Tabs.Panel>
63+
<Tabs.Panel value="confirm-sign-in">
64+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/ConfirmSignIn.tsx
65+
```
66+
</Tabs.Panel>
67+
<Tabs.Panel value="confirm-verify-user">
68+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/ConfirmVerifyUser.tsx
69+
```
70+
</Tabs.Panel>
71+
<Tabs.Panel value="force-new-password">
72+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/ForceNewPassword.tsx
73+
```
74+
</Tabs.Panel>
75+
<Tabs.Panel value="forgot-password">
76+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/ForgotPassword.tsx
77+
```
78+
</Tabs.Panel>
79+
<Tabs.Panel value="setup-totp">
80+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/SetupTotp.tsx
81+
```
82+
</Tabs.Panel>
83+
<Tabs.Panel value="sign-in">
84+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/SignIn.tsx
85+
```
86+
</Tabs.Panel>
87+
<Tabs.Panel value="sign-up">
88+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/SignUp.tsx
89+
```
90+
</Tabs.Panel>
91+
<Tabs.Panel value="verify-user">
92+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/VerifyUser.tsx
93+
```
94+
</Tabs.Panel>
95+
<Tabs.Panel value="components">
96+
```jsx file=../../../../../../../examples/react-native/src/features/Authenticator/OverrideComponents/components.tsx
97+
```
98+
</Tabs.Panel>
99+
</Tabs.Container>

docs/src/pages/[platform]/connected-components/authenticator/quick-start.mdx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Accordion, Alert, Link, Text, Tabs } from '@aws-amplify/ui-react';
22
import { Example, ExampleCode } from '@/components/Example';
3-
import { InstallScripts } from '@/components/InstallScripts';
4-
import { TerminalCommand } from '@/components/InstallScripts';
3+
import { InstallScripts, TerminalCommand } from '@/components/InstallScripts';
4+
import { ReactNativeSafeAreaContextInstallation } from '@/components/ReactNativeSafeAreaContextInstallation';
55
import { InlineFilter } from '@/components/InlineFilter';
66
import QuickStartPullWeb from './quick-start-pull.web.mdx';
77
import QuickStartInstallWeb from './quick-start-install.web.mdx';
@@ -114,6 +114,8 @@ import AmplifyCLI from './amplify-cli.mdx';
114114
<InlineFilter filters={['react-native']}>
115115
<InstallScripts />
116116

117+
<ReactNativeSafeAreaContextInstallation />
118+
117119
If your project will support Federated Sign In using the React Native `Authenticator` the `@aws-amplify/rtn-web-browser` package is also required:
118120

119121
<TerminalCommand command="npm install @aws-amplify/rtn-web-browser" />

0 commit comments

Comments
 (0)