@aws-amplify/ui-react-native 1.0.0 → 1.1.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/.eslintrc.js +7 -1
- package/CHANGELOG.md +12 -0
- package/dist/Authenticator/Authenticator.d.ts +162 -0
- package/dist/Authenticator/Authenticator.js +57 -0
- package/dist/Authenticator/Defaults/ConfirmResetPassword/ConfirmResetPassword.d.ts +3 -0
- package/dist/Authenticator/Defaults/ConfirmResetPassword/ConfirmResetPassword.js +28 -0
- package/dist/Authenticator/Defaults/ConfirmResetPassword/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/ConfirmResetPassword/index.js +1 -0
- package/dist/Authenticator/Defaults/ConfirmSignIn/ConfirmSignIn.d.ts +3 -0
- package/dist/Authenticator/Defaults/ConfirmSignIn/ConfirmSignIn.js +28 -0
- package/dist/Authenticator/Defaults/ConfirmSignIn/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/ConfirmSignIn/index.js +1 -0
- package/dist/Authenticator/Defaults/ConfirmSignUp/ConfirmSignUp.d.ts +3 -0
- package/dist/Authenticator/Defaults/ConfirmSignUp/ConfirmSignUp.js +29 -0
- package/dist/Authenticator/Defaults/ConfirmSignUp/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/ConfirmSignUp/index.js +1 -0
- package/dist/Authenticator/Defaults/ConfirmVerifyUser/ConfirmVerifyUser.d.ts +3 -0
- package/dist/Authenticator/Defaults/ConfirmVerifyUser/ConfirmVerifyUser.js +28 -0
- package/dist/Authenticator/Defaults/ConfirmVerifyUser/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/ConfirmVerifyUser/index.js +1 -0
- package/dist/Authenticator/Defaults/ForceNewPassword/ForceNewPassword.d.ts +3 -0
- package/dist/Authenticator/Defaults/ForceNewPassword/ForceNewPassword.js +30 -0
- package/dist/Authenticator/Defaults/ForceNewPassword/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/ForceNewPassword/index.js +1 -0
- package/dist/Authenticator/Defaults/ResetPassword/ResetPassword.d.ts +3 -0
- package/dist/Authenticator/Defaults/ResetPassword/ResetPassword.js +28 -0
- package/dist/Authenticator/Defaults/ResetPassword/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/ResetPassword/index.js +1 -0
- package/dist/Authenticator/Defaults/SetupTOTP/SetupTOTP.d.ts +3 -0
- package/dist/Authenticator/Defaults/SetupTOTP/SetupTOTP.js +55 -0
- package/dist/Authenticator/Defaults/SetupTOTP/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/SetupTOTP/index.js +1 -0
- package/dist/Authenticator/Defaults/SetupTOTP/styles.d.ts +5 -0
- package/dist/Authenticator/Defaults/SetupTOTP/styles.js +5 -0
- package/dist/Authenticator/Defaults/SignIn/SignIn.d.ts +3 -0
- package/dist/Authenticator/Defaults/SignIn/SignIn.js +45 -0
- package/dist/Authenticator/Defaults/SignIn/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/SignIn/index.js +1 -0
- package/dist/Authenticator/Defaults/SignUp/SignUp.d.ts +3 -0
- package/dist/Authenticator/Defaults/SignUp/SignUp.js +38 -0
- package/dist/Authenticator/Defaults/SignUp/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/SignUp/index.js +1 -0
- package/dist/Authenticator/Defaults/VerifyUser/VerifyUser.d.ts +3 -0
- package/dist/Authenticator/Defaults/VerifyUser/VerifyUser.js +29 -0
- package/dist/Authenticator/Defaults/VerifyUser/index.d.ts +1 -0
- package/dist/Authenticator/Defaults/VerifyUser/index.js +1 -0
- package/dist/Authenticator/Defaults/index.d.ts +11 -0
- package/dist/Authenticator/Defaults/index.js +10 -0
- package/dist/Authenticator/Defaults/types.d.ts +103 -0
- package/dist/Authenticator/Defaults/types.js +1 -0
- package/dist/Authenticator/common/DefaultContainer/DefaultContainer.d.ts +3 -0
- package/dist/Authenticator/common/DefaultContainer/DefaultContainer.js +41 -0
- package/dist/Authenticator/common/DefaultContainer/InnerContainer.d.ts +3 -0
- package/dist/Authenticator/common/DefaultContainer/InnerContainer.js +11 -0
- package/dist/Authenticator/common/DefaultContainer/index.d.ts +3 -0
- package/dist/Authenticator/common/DefaultContainer/index.js +2 -0
- package/dist/Authenticator/common/DefaultContainer/styles.d.ts +5 -0
- package/dist/Authenticator/common/DefaultContainer/styles.js +26 -0
- package/dist/Authenticator/common/DefaultContainer/types.d.ts +16 -0
- package/dist/Authenticator/common/DefaultContainer/types.js +1 -0
- package/dist/Authenticator/common/DefaultContent/DefaultContent.d.ts +4 -0
- package/dist/Authenticator/common/DefaultContent/DefaultContent.js +29 -0
- package/dist/Authenticator/common/DefaultContent/index.d.ts +1 -0
- package/dist/Authenticator/common/DefaultContent/index.js +1 -0
- package/dist/Authenticator/common/DefaultContent/styles.d.ts +3 -0
- package/dist/Authenticator/common/DefaultContent/styles.js +50 -0
- package/dist/Authenticator/common/DefaultContent/types.d.ts +52 -0
- package/dist/Authenticator/common/DefaultContent/types.js +1 -0
- package/dist/Authenticator/common/DefaultFooter/DefaultFooter.d.ts +3 -0
- package/dist/Authenticator/common/DefaultFooter/DefaultFooter.js +5 -0
- package/dist/Authenticator/common/DefaultFooter/index.d.ts +2 -0
- package/dist/Authenticator/common/DefaultFooter/index.js +1 -0
- package/dist/Authenticator/common/DefaultFooter/types.d.ts +3 -0
- package/dist/Authenticator/common/DefaultFooter/types.js +1 -0
- package/dist/Authenticator/common/DefaultFormFields/DefaultRadioFormFields.d.ts +3 -0
- package/dist/Authenticator/common/DefaultFormFields/DefaultRadioFormFields.js +24 -0
- package/dist/Authenticator/common/DefaultFormFields/DefaultTextFormFields.d.ts +3 -0
- package/dist/Authenticator/common/DefaultFormFields/DefaultTextFormFields.js +23 -0
- package/dist/Authenticator/common/DefaultFormFields/FieldErrors.d.ts +2 -0
- package/dist/Authenticator/common/DefaultFormFields/FieldErrors.js +12 -0
- package/dist/Authenticator/common/DefaultFormFields/index.d.ts +3 -0
- package/dist/Authenticator/common/DefaultFormFields/index.js +2 -0
- package/dist/Authenticator/common/DefaultFormFields/types.d.ts +19 -0
- package/dist/Authenticator/common/DefaultFormFields/types.js +1 -0
- package/dist/Authenticator/common/DefaultHeader/DefaultHeader.d.ts +3 -0
- package/dist/Authenticator/common/DefaultHeader/DefaultHeader.js +7 -0
- package/dist/Authenticator/common/DefaultHeader/index.d.ts +2 -0
- package/dist/Authenticator/common/DefaultHeader/index.js +1 -0
- package/dist/Authenticator/common/DefaultHeader/types.d.ts +3 -0
- package/dist/Authenticator/common/DefaultHeader/types.js +1 -0
- package/dist/Authenticator/common/FederatedProviderButton/FederatedProviderButton.d.ts +3 -0
- package/dist/Authenticator/common/FederatedProviderButton/FederatedProviderButton.js +13 -0
- package/dist/Authenticator/common/FederatedProviderButton/index.d.ts +2 -0
- package/dist/Authenticator/common/FederatedProviderButton/index.js +1 -0
- package/dist/Authenticator/common/FederatedProviderButton/styles.d.ts +2 -0
- package/dist/Authenticator/common/FederatedProviderButton/styles.js +18 -0
- package/dist/Authenticator/common/FederatedProviderButton/types.d.ts +10 -0
- package/dist/Authenticator/common/FederatedProviderButton/types.js +1 -0
- package/dist/Authenticator/common/FederatedProviderButtons/FederatedProviderButtons.d.ts +3 -0
- package/dist/Authenticator/common/FederatedProviderButtons/FederatedProviderButtons.js +22 -0
- package/dist/Authenticator/common/FederatedProviderButtons/index.d.ts +1 -0
- package/dist/Authenticator/common/FederatedProviderButtons/index.js +1 -0
- package/dist/Authenticator/common/FederatedProviderButtons/styles.d.ts +2 -0
- package/dist/Authenticator/common/FederatedProviderButtons/styles.js +5 -0
- package/dist/Authenticator/common/FederatedProviderButtons/types.d.ts +9 -0
- package/dist/Authenticator/common/FederatedProviderButtons/types.js +1 -0
- package/dist/Authenticator/common/index.d.ts +7 -0
- package/dist/Authenticator/common/index.js +7 -0
- package/dist/Authenticator/hooks/index.d.ts +2 -0
- package/dist/Authenticator/hooks/index.js +2 -0
- package/dist/Authenticator/hooks/types.d.ts +24 -0
- package/dist/Authenticator/hooks/types.js +1 -0
- package/dist/Authenticator/hooks/useFieldValues/constants.d.ts +1 -0
- package/dist/Authenticator/hooks/useFieldValues/constants.js +8 -0
- package/dist/Authenticator/hooks/useFieldValues/index.d.ts +2 -0
- package/dist/Authenticator/hooks/useFieldValues/index.js +2 -0
- package/dist/Authenticator/hooks/useFieldValues/types.d.ts +24 -0
- package/dist/Authenticator/hooks/useFieldValues/types.js +1 -0
- package/dist/Authenticator/hooks/useFieldValues/useFieldValues.d.ts +3 -0
- package/dist/Authenticator/hooks/useFieldValues/useFieldValues.js +80 -0
- package/dist/Authenticator/hooks/useFieldValues/utils.d.ts +18 -0
- package/dist/Authenticator/hooks/useFieldValues/utils.js +98 -0
- package/dist/Authenticator/index.d.ts +4 -0
- package/dist/Authenticator/index.js +4 -0
- package/dist/Authenticator/types.d.ts +14 -0
- package/dist/Authenticator/types.js +1 -0
- package/dist/Authenticator/withAuthenticator.d.ts +3 -0
- package/dist/Authenticator/withAuthenticator.js +11 -0
- package/dist/InAppMessaging/components/BannerMessage/BannerMessage.d.ts +1 -0
- package/dist/InAppMessaging/components/CarouselMessage/CarouselMessage.d.ts +1 -0
- package/dist/InAppMessaging/components/CarouselMessage/CarouselMessageItem.d.ts +1 -0
- package/dist/InAppMessaging/components/FullScreenMessage/FullScreenMessage.d.ts +1 -0
- package/dist/InAppMessaging/components/InAppMessageDisplay/InAppMessageDisplay.d.ts +1 -0
- package/dist/InAppMessaging/components/MessageLayout/MessageLayout.d.ts +1 -0
- package/dist/InAppMessaging/components/MessageWrapper/MessageWrapper.d.ts +1 -0
- package/dist/InAppMessaging/components/ModalMessage/ModalMessage.d.ts +1 -0
- package/dist/__mocks__/react-native-safe-area-context.d.ts +6 -1
- package/dist/__mocks__/react-native-safe-area-context.js +3 -1
- package/dist/assets/icons/amazonLogo.png +0 -0
- package/dist/assets/icons/amazonLogo@2x.png +0 -0
- package/dist/assets/icons/amazonLogo@3x.png +0 -0
- package/dist/assets/icons/appleLogo.png +0 -0
- package/dist/assets/icons/appleLogo@2x.png +0 -0
- package/dist/assets/icons/appleLogo@3x.png +0 -0
- package/dist/assets/icons/checkboxFilled.png +0 -0
- package/dist/assets/icons/checkboxFilled@2x.png +0 -0
- package/dist/assets/icons/checkboxFilled@3x.png +0 -0
- package/dist/assets/icons/checkboxOutline.png +0 -0
- package/dist/assets/icons/checkboxOutline@2x.png +0 -0
- package/dist/assets/icons/checkboxOutline@3x.png +0 -0
- package/dist/assets/icons/close.png +0 -0
- package/dist/assets/icons/close@2x.png +0 -0
- package/dist/assets/icons/close@3x.png +0 -0
- package/dist/assets/icons/copy.png +0 -0
- package/dist/assets/icons/copy@2x.png +0 -0
- package/dist/assets/icons/copy@3x.png +0 -0
- package/dist/assets/icons/error.png +0 -0
- package/dist/assets/icons/error@2x.png +0 -0
- package/dist/assets/icons/error@3x.png +0 -0
- package/dist/assets/icons/facebookLogo.png +0 -0
- package/dist/assets/icons/facebookLogo@2x.png +0 -0
- package/dist/assets/icons/facebookLogo@3x.png +0 -0
- package/dist/assets/icons/googleLogo.png +0 -0
- package/dist/assets/icons/googleLogo@2x.png +0 -0
- package/dist/assets/icons/googleLogo@3x.png +0 -0
- package/dist/assets/icons/index.d.ts +8 -0
- package/dist/assets/icons/index.js +8 -0
- package/dist/assets/icons/index.ts +8 -0
- package/dist/assets/icons/visibilityOff.png +0 -0
- package/dist/assets/icons/visibilityOff@2x.png +0 -0
- package/dist/assets/icons/visibilityOff@3x.png +0 -0
- package/dist/assets/icons/visibilityOn.png +0 -0
- package/dist/assets/icons/visibilityOn@2x.png +0 -0
- package/dist/assets/icons/visibilityOn@3x.png +0 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/primitives/Button/Button.d.ts +2 -1
- package/dist/primitives/Button/Button.js +24 -6
- package/dist/primitives/Button/styles.d.ts +2 -1
- package/dist/primitives/Button/styles.js +50 -3
- package/dist/primitives/Button/types.d.ts +13 -2
- package/dist/primitives/Carousel/Carousel.d.ts +1 -0
- package/dist/primitives/Carousel/CarouselPageIndicator.d.ts +1 -0
- package/dist/primitives/Checkbox/Checkbox.d.ts +1 -0
- package/dist/primitives/Checkbox/Checkbox.js +9 -8
- package/dist/primitives/Checkbox/index.d.ts +1 -1
- package/dist/primitives/Checkbox/styles.d.ts +4 -2
- package/dist/primitives/Checkbox/styles.js +23 -5
- package/dist/primitives/Checkbox/types.d.ts +7 -4
- package/dist/primitives/Divider/Divider.d.ts +4 -0
- package/dist/primitives/Divider/Divider.js +17 -0
- package/dist/primitives/Divider/index.d.ts +2 -0
- package/dist/primitives/Divider/index.js +1 -0
- package/dist/primitives/Divider/styles.d.ts +3 -0
- package/dist/primitives/Divider/styles.js +24 -0
- package/dist/primitives/Divider/types.d.ts +10 -0
- package/dist/primitives/Divider/types.js +1 -0
- package/dist/primitives/ErrorMessage/ErrorMessage.d.ts +4 -0
- package/dist/primitives/ErrorMessage/ErrorMessage.js +17 -0
- package/dist/primitives/ErrorMessage/index.d.ts +2 -0
- package/dist/primitives/ErrorMessage/index.js +1 -0
- package/dist/primitives/ErrorMessage/styles.d.ts +3 -0
- package/dist/primitives/ErrorMessage/styles.js +24 -0
- package/dist/primitives/ErrorMessage/types.d.ts +10 -0
- package/dist/primitives/ErrorMessage/types.js +1 -0
- package/dist/primitives/Heading/Heading.d.ts +1 -0
- package/dist/primitives/Heading/Heading.js +5 -2
- package/dist/primitives/Heading/styles.d.ts +2 -1
- package/dist/primitives/Heading/styles.js +45 -12
- package/dist/primitives/Heading/types.d.ts +1 -1
- package/dist/primitives/Icon/Icon.d.ts +2 -1
- package/dist/primitives/Icon/Icon.js +12 -5
- package/dist/primitives/Icon/constants.d.ts +2 -0
- package/dist/primitives/Icon/constants.js +7 -0
- package/dist/primitives/Icon/index.d.ts +2 -1
- package/dist/primitives/Icon/index.js +1 -0
- package/dist/primitives/Icon/styles.d.ts +2 -1
- package/dist/primitives/Icon/styles.js +29 -8
- package/dist/primitives/Icon/types.d.ts +4 -2
- package/dist/primitives/IconButton/IconButton.d.ts +2 -1
- package/dist/primitives/IconButton/IconButton.js +18 -5
- package/dist/primitives/IconButton/styles.d.ts +3 -0
- package/dist/primitives/IconButton/styles.js +17 -1
- package/dist/primitives/IconButton/types.d.ts +4 -2
- package/dist/primitives/Label/Label.d.ts +2 -1
- package/dist/primitives/Label/Label.js +7 -3
- package/dist/primitives/Label/index.d.ts +1 -1
- package/dist/primitives/Label/styles.d.ts +2 -1
- package/dist/primitives/Label/styles.js +40 -3
- package/dist/primitives/Label/types.d.ts +14 -1
- package/dist/primitives/PasswordField/PasswordField.d.ts +3 -0
- package/dist/primitives/PasswordField/PasswordField.js +20 -0
- package/dist/primitives/PasswordField/index.d.ts +2 -0
- package/dist/primitives/PasswordField/index.js +1 -0
- package/dist/primitives/PasswordField/styles.d.ts +3 -0
- package/dist/primitives/PasswordField/styles.js +13 -0
- package/dist/primitives/PasswordField/types.d.ts +23 -0
- package/dist/primitives/PasswordField/types.js +1 -0
- package/dist/primitives/PhoneNumberField/PhoneNumberField.d.ts +3 -0
- package/dist/primitives/PhoneNumberField/PhoneNumberField.js +9 -0
- package/dist/primitives/PhoneNumberField/index.d.ts +2 -0
- package/dist/primitives/PhoneNumberField/index.js +1 -0
- package/dist/primitives/PhoneNumberField/styles.d.ts +3 -0
- package/dist/primitives/PhoneNumberField/styles.js +18 -0
- package/dist/primitives/PhoneNumberField/types.d.ts +5 -0
- package/dist/primitives/PhoneNumberField/types.js +1 -0
- package/dist/primitives/Radio/Radio.d.ts +4 -1
- package/dist/primitives/Radio/Radio.js +20 -10
- package/dist/primitives/Radio/getRadioDimensions.d.ts +9 -3
- package/dist/primitives/Radio/getRadioDimensions.js +16 -4
- package/dist/primitives/Radio/styles.d.ts +2 -1
- package/dist/primitives/Radio/styles.js +57 -44
- package/dist/primitives/Radio/types.d.ts +11 -11
- package/dist/primitives/RadioGroup/RadioGroup.d.ts +3 -0
- package/dist/primitives/RadioGroup/RadioGroup.js +51 -0
- package/dist/primitives/RadioGroup/index.d.ts +2 -0
- package/dist/primitives/RadioGroup/index.js +1 -0
- package/dist/primitives/RadioGroup/styles.d.ts +3 -0
- package/dist/primitives/RadioGroup/styles.js +16 -0
- package/dist/primitives/RadioGroup/types.d.ts +14 -0
- package/dist/primitives/RadioGroup/types.js +1 -0
- package/dist/primitives/Tabs/Tab.d.ts +3 -0
- package/dist/primitives/Tabs/Tab.js +23 -0
- package/dist/primitives/Tabs/Tabs.d.ts +3 -0
- package/dist/primitives/Tabs/Tabs.js +25 -0
- package/dist/primitives/Tabs/index.d.ts +3 -0
- package/dist/primitives/Tabs/index.js +2 -0
- package/dist/primitives/Tabs/styles.d.ts +3 -0
- package/dist/primitives/Tabs/styles.js +50 -0
- package/dist/primitives/Tabs/types.d.ts +45 -0
- package/dist/primitives/Tabs/types.js +1 -0
- package/dist/primitives/TextField/TextField.d.ts +5 -0
- package/dist/primitives/TextField/TextField.js +25 -0
- package/dist/primitives/TextField/index.d.ts +2 -0
- package/dist/primitives/TextField/index.js +1 -0
- package/dist/primitives/TextField/styles.d.ts +3 -0
- package/dist/primitives/TextField/styles.js +39 -0
- package/dist/primitives/TextField/types.d.ts +57 -0
- package/dist/primitives/TextField/types.js +1 -0
- package/dist/primitives/index.d.ts +7 -0
- package/dist/primitives/index.js +7 -0
- package/dist/theme/ThemeContext.d.ts +6 -0
- package/dist/theme/ThemeContext.js +5 -0
- package/dist/theme/ThemeProvider.d.ts +9 -0
- package/dist/theme/ThemeProvider.js +7 -0
- package/dist/theme/createTheme.d.ts +8 -0
- package/dist/theme/createTheme.js +105 -0
- package/dist/theme/defaultTheme.d.ts +3 -0
- package/dist/theme/defaultTheme.js +8 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/theme/index.js +5 -0
- package/dist/theme/types.d.ts +63 -0
- package/dist/theme/types.js +1 -0
- package/dist/theme/useTheme.d.ts +2 -0
- package/dist/theme/useTheme.js +6 -0
- package/dist/utils/font.d.ts +1 -0
- package/dist/utils/font.js +4 -0
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.js +3 -7
- package/dist/utils/platform.d.ts +193 -0
- package/dist/utils/platform.js +17 -0
- package/dist/utils/utils.d.ts +1 -0
- package/dist/utils/utils.js +3 -0
- package/jest.config.js +1 -0
- package/jest.setup.js +3 -0
- package/package.json +7 -6
- package/src/Authenticator/Authenticator.tsx +106 -0
- package/src/Authenticator/Defaults/ConfirmResetPassword/ConfirmResetPassword.tsx +68 -0
- package/src/Authenticator/Defaults/ConfirmResetPassword/__tests__/ConfirmResetPassword.spec.tsx +88 -0
- package/src/Authenticator/Defaults/ConfirmResetPassword/__tests__/__snapshots__/ConfirmResetPassword.spec.tsx.snap +1048 -0
- package/src/Authenticator/Defaults/ConfirmResetPassword/index.ts +1 -0
- package/src/Authenticator/Defaults/ConfirmSignIn/ConfirmSignIn.tsx +69 -0
- package/src/Authenticator/Defaults/ConfirmSignIn/__tests__/ConfirmSignIn.spec.tsx +77 -0
- package/src/Authenticator/Defaults/ConfirmSignIn/__tests__/__snapshots__/ConfirmSignIn.spec.tsx.snap +508 -0
- package/src/Authenticator/Defaults/ConfirmSignIn/index.ts +1 -0
- package/src/Authenticator/Defaults/ConfirmSignUp/ConfirmSignUp.tsx +72 -0
- package/src/Authenticator/Defaults/ConfirmSignUp/__tests__/ConfirmSignUp.spec.tsx +63 -0
- package/src/Authenticator/Defaults/ConfirmSignUp/__tests__/__snapshots__/ConfirmSignUp.spec.tsx.snap +528 -0
- package/src/Authenticator/Defaults/ConfirmSignUp/index.ts +1 -0
- package/src/Authenticator/Defaults/ConfirmVerifyUser/ConfirmVerifyUser.tsx +68 -0
- package/src/Authenticator/Defaults/ConfirmVerifyUser/__tests__/ConfirmVerifyUser.spec.tsx +70 -0
- package/src/Authenticator/Defaults/ConfirmVerifyUser/__tests__/__snapshots__/ConfirmVerifyUser.spec.tsx.snap +489 -0
- package/src/Authenticator/Defaults/ConfirmVerifyUser/index.ts +1 -0
- package/src/Authenticator/Defaults/ForceNewPassword/ForceNewPassword.tsx +66 -0
- package/src/Authenticator/Defaults/ForceNewPassword/__tests__/ForceNewPassword.spec.tsx +78 -0
- package/src/Authenticator/Defaults/ForceNewPassword/__tests__/__snapshots__/ForceNewPassword.spec.tsx.snap +860 -0
- package/src/Authenticator/Defaults/ForceNewPassword/index.ts +1 -0
- package/src/Authenticator/Defaults/ResetPassword/ResetPassword.tsx +67 -0
- package/src/Authenticator/Defaults/ResetPassword/__tests__/ResetPassword.spec.tsx +77 -0
- package/src/Authenticator/Defaults/ResetPassword/__tests__/__snapshots__/ResetPassword.spec.tsx.snap +508 -0
- package/src/Authenticator/Defaults/ResetPassword/index.ts +1 -0
- package/src/Authenticator/Defaults/SetupTOTP/SetupTOTP.tsx +106 -0
- package/src/Authenticator/Defaults/SetupTOTP/__tests__/SetupTOTP.spec.tsx +131 -0
- package/src/Authenticator/Defaults/SetupTOTP/__tests__/__snapshots__/SetupTOTP.spec.tsx.snap +508 -0
- package/src/Authenticator/Defaults/SetupTOTP/index.ts +1 -0
- package/src/Authenticator/Defaults/SetupTOTP/styles.ts +10 -0
- package/src/Authenticator/Defaults/SignIn/SignIn.tsx +82 -0
- package/src/Authenticator/Defaults/SignIn/__tests__/SignIn.spec.tsx +66 -0
- package/src/Authenticator/Defaults/SignIn/__tests__/__snapshots__/SignIn.spec.tsx.snap +1252 -0
- package/src/Authenticator/Defaults/SignIn/index.ts +1 -0
- package/src/Authenticator/Defaults/SignUp/SignUp.tsx +79 -0
- package/src/Authenticator/Defaults/SignUp/__tests__/SignUp.spec.tsx +101 -0
- package/src/Authenticator/Defaults/SignUp/__tests__/__snapshots__/SignUp.spec.tsx.snap +3019 -0
- package/src/Authenticator/Defaults/SignUp/index.ts +1 -0
- package/src/Authenticator/Defaults/VerifyUser/VerifyUser.tsx +67 -0
- package/src/Authenticator/Defaults/VerifyUser/__tests__/VerifyUser.spec.tsx +106 -0
- package/src/Authenticator/Defaults/VerifyUser/__tests__/__snapshots__/VerifyUser.spec.tsx.snap +678 -0
- package/src/Authenticator/Defaults/VerifyUser/index.ts +1 -0
- package/src/Authenticator/Defaults/index.ts +11 -0
- package/src/Authenticator/Defaults/types.ts +146 -0
- package/src/Authenticator/__tests__/Authenticator.spec.tsx +134 -0
- package/src/Authenticator/__tests__/__snapshots__/Authenticator.spec.tsx.snap +98 -0
- package/src/Authenticator/__tests__/__snapshots__/withAuthenticator.spec.tsx.snap +68 -0
- package/src/Authenticator/__tests__/withAuthenticator.spec.tsx +73 -0
- package/src/Authenticator/common/DefaultContainer/DefaultContainer.tsx +74 -0
- package/src/Authenticator/common/DefaultContainer/InnerContainer.tsx +20 -0
- package/src/Authenticator/common/DefaultContainer/__tests__/DefaultContainer.spec.tsx +19 -0
- package/src/Authenticator/common/DefaultContainer/__tests__/__snapshots__/DefaultContainer.spec.tsx.snap +86 -0
- package/src/Authenticator/common/DefaultContainer/index.ts +3 -0
- package/src/Authenticator/common/DefaultContainer/styles.ts +40 -0
- package/src/Authenticator/common/DefaultContainer/types.ts +29 -0
- package/src/Authenticator/common/DefaultContent/DefaultContent.tsx +92 -0
- package/src/Authenticator/common/DefaultContent/index.ts +1 -0
- package/src/Authenticator/common/DefaultContent/styles.ts +57 -0
- package/src/Authenticator/common/DefaultContent/types.ts +74 -0
- package/src/Authenticator/common/DefaultFooter/DefaultFooter.tsx +11 -0
- package/src/Authenticator/common/DefaultFooter/__tests__/DefaultFooter.spec.tsx +26 -0
- package/src/Authenticator/common/DefaultFooter/__tests__/__snapshots__/DefaultFooter.spec.tsx.snap +43 -0
- package/src/Authenticator/common/DefaultFooter/index.ts +2 -0
- package/src/Authenticator/common/DefaultFooter/types.ts +3 -0
- package/src/Authenticator/common/DefaultFormFields/DefaultRadioFormFields.tsx +45 -0
- package/src/Authenticator/common/DefaultFormFields/DefaultTextFormFields.tsx +60 -0
- package/src/Authenticator/common/DefaultFormFields/FieldErrors.tsx +24 -0
- package/src/Authenticator/common/DefaultFormFields/__tests__/DefaultFormFields.spec.tsx +15 -0
- package/src/Authenticator/common/DefaultFormFields/__tests__/FieldErrors.spec.tsx +29 -0
- package/src/Authenticator/common/DefaultFormFields/__tests__/__snapshots__/DefaultFormFields.spec.tsx.snap +3 -0
- package/src/Authenticator/common/DefaultFormFields/__tests__/__snapshots__/FieldErrors.spec.tsx.snap +32 -0
- package/src/Authenticator/common/DefaultFormFields/index.ts +3 -0
- package/src/Authenticator/common/DefaultFormFields/types.ts +28 -0
- package/src/Authenticator/common/DefaultHeader/DefaultHeader.tsx +16 -0
- package/src/Authenticator/common/DefaultHeader/__tests__/DefaultHeader.spec.tsx +23 -0
- package/src/Authenticator/common/DefaultHeader/__tests__/__snapshots__/DefaultHeader.spec.tsx.snap +24 -0
- package/src/Authenticator/common/DefaultHeader/index.ts +2 -0
- package/src/Authenticator/common/DefaultHeader/types.ts +3 -0
- package/src/Authenticator/common/FederatedProviderButton/FederatedProviderButton.tsx +31 -0
- package/src/Authenticator/common/FederatedProviderButton/__tests__/FederatedProviderButton.spec.tsx +36 -0
- package/src/Authenticator/common/FederatedProviderButton/__tests__/__snapshots__/FederatedProviderButton.spec.tsx.snap +94 -0
- package/src/Authenticator/common/FederatedProviderButton/index.ts +2 -0
- package/src/Authenticator/common/FederatedProviderButton/styles.ts +21 -0
- package/src/Authenticator/common/FederatedProviderButton/types.ts +18 -0
- package/src/Authenticator/common/FederatedProviderButtons/FederatedProviderButtons.tsx +45 -0
- package/src/Authenticator/common/FederatedProviderButtons/__tests__/FederatedProviderButtons.spec.tsx +55 -0
- package/src/Authenticator/common/FederatedProviderButtons/__tests__/__snapshots__/FederatedProviderButtons.spec.tsx.snap +169 -0
- package/src/Authenticator/common/FederatedProviderButtons/index.ts +1 -0
- package/src/Authenticator/common/FederatedProviderButtons/styles.ts +7 -0
- package/src/Authenticator/common/FederatedProviderButtons/types.ts +16 -0
- package/src/Authenticator/common/index.ts +7 -0
- package/src/Authenticator/hooks/index.ts +2 -0
- package/src/Authenticator/hooks/types.ts +40 -0
- package/src/Authenticator/hooks/useFieldValues/__tests__/useFieldValues.spec.ts +300 -0
- package/src/Authenticator/hooks/useFieldValues/__tests__/utils.spec.ts +208 -0
- package/src/Authenticator/hooks/useFieldValues/constants.ts +8 -0
- package/src/Authenticator/hooks/useFieldValues/index.ts +2 -0
- package/src/Authenticator/hooks/useFieldValues/types.ts +35 -0
- package/src/Authenticator/hooks/useFieldValues/useFieldValues.ts +116 -0
- package/src/Authenticator/hooks/useFieldValues/utils.ts +177 -0
- package/src/Authenticator/index.ts +6 -0
- package/src/Authenticator/types.ts +26 -0
- package/src/Authenticator/withAuthenticator.tsx +18 -0
- package/src/InAppMessaging/components/BannerMessage/__tests__/__snapshots__/BannerMessage.spec.tsx.snap +24 -10
- package/src/InAppMessaging/components/ModalMessage/__tests__/__snapshots__/ModalMessage.spec.tsx.snap +37 -16
- package/src/__mocks__/react-native-safe-area-context.ts +4 -1
- package/src/__tests__/__snapshots__/index.spec.ts.snap +11 -0
- package/src/assets/icons/amazonLogo.png +0 -0
- package/src/assets/icons/amazonLogo@2x.png +0 -0
- package/src/assets/icons/amazonLogo@3x.png +0 -0
- package/src/assets/icons/appleLogo.png +0 -0
- package/src/assets/icons/appleLogo@2x.png +0 -0
- package/src/assets/icons/appleLogo@3x.png +0 -0
- package/src/assets/icons/checkboxFilled.png +0 -0
- package/src/assets/icons/checkboxFilled@2x.png +0 -0
- package/src/assets/icons/checkboxFilled@3x.png +0 -0
- package/src/assets/icons/checkboxOutline.png +0 -0
- package/src/assets/icons/checkboxOutline@2x.png +0 -0
- package/src/assets/icons/checkboxOutline@3x.png +0 -0
- package/src/assets/icons/close.png +0 -0
- package/src/assets/icons/close@2x.png +0 -0
- package/src/assets/icons/close@3x.png +0 -0
- package/src/assets/icons/copy.png +0 -0
- package/src/assets/icons/copy@2x.png +0 -0
- package/src/assets/icons/copy@3x.png +0 -0
- package/src/assets/icons/error.png +0 -0
- package/src/assets/icons/error@2x.png +0 -0
- package/src/assets/icons/error@3x.png +0 -0
- package/src/assets/icons/facebookLogo.png +0 -0
- package/src/assets/icons/facebookLogo@2x.png +0 -0
- package/src/assets/icons/facebookLogo@3x.png +0 -0
- package/src/assets/icons/googleLogo.png +0 -0
- package/src/assets/icons/googleLogo@2x.png +0 -0
- package/src/assets/icons/googleLogo@3x.png +0 -0
- package/src/assets/icons/index.ts +8 -0
- package/src/assets/icons/visibilityOff.png +0 -0
- package/src/assets/icons/visibilityOff@2x.png +0 -0
- package/src/assets/icons/visibilityOff@3x.png +0 -0
- package/src/assets/icons/visibilityOn.png +0 -0
- package/src/assets/icons/visibilityOn@2x.png +0 -0
- package/src/assets/icons/visibilityOn@3x.png +0 -0
- package/src/index.ts +15 -0
- package/src/primitives/Button/Button.tsx +51 -6
- package/src/primitives/Button/__tests__/Button.spec.tsx +75 -7
- package/src/primitives/Button/__tests__/__snapshots__/Button.spec.tsx.snap +103 -3
- package/src/primitives/Button/styles.ts +61 -3
- package/src/primitives/Button/types.ts +14 -2
- package/src/primitives/Checkbox/Checkbox.tsx +9 -8
- package/src/primitives/Checkbox/__tests__/Checkbox.spec.tsx +120 -15
- package/src/primitives/Checkbox/__tests__/__snapshots__/Checkbox.spec.tsx.snap +345 -16
- package/src/primitives/Checkbox/index.ts +1 -1
- package/src/primitives/Checkbox/styles.ts +31 -6
- package/src/primitives/Checkbox/types.ts +13 -4
- package/src/primitives/Divider/Divider.tsx +34 -0
- package/src/primitives/Divider/__tests__/Divider.spec.tsx +50 -0
- package/src/primitives/Divider/__tests__/__snapshots__/Divider.spec.tsx.snap +165 -0
- package/src/primitives/Divider/index.ts +2 -0
- package/src/primitives/Divider/styles.ts +29 -0
- package/src/primitives/Divider/types.ts +21 -0
- package/src/primitives/ErrorMessage/ErrorMessage.tsx +44 -0
- package/src/primitives/ErrorMessage/__tests__/ErrorMessage.spec.tsx +60 -0
- package/src/primitives/ErrorMessage/__tests__/__snapshots__/ErrorMessage.spec.tsx.snap +113 -0
- package/src/primitives/ErrorMessage/index.ts +2 -0
- package/src/primitives/ErrorMessage/styles.ts +32 -0
- package/src/primitives/ErrorMessage/types.ts +18 -0
- package/src/primitives/Heading/Heading.tsx +7 -2
- package/src/primitives/Heading/__tests__/Heading.spec.tsx +51 -14
- package/src/primitives/Heading/__tests__/__snapshots__/Heading.spec.tsx.snap +44 -23
- package/src/primitives/Heading/styles.ts +51 -12
- package/src/primitives/Heading/types.ts +1 -1
- package/src/primitives/Icon/Icon.tsx +16 -4
- package/src/primitives/Icon/__tests__/Icon.spec.tsx +80 -5
- package/src/primitives/Icon/__tests__/__snapshots__/Icon.spec.tsx.snap +81 -6
- package/src/primitives/Icon/constants.ts +9 -0
- package/src/primitives/Icon/index.ts +2 -1
- package/src/primitives/Icon/styles.ts +38 -7
- package/src/primitives/Icon/types.ts +5 -2
- package/src/primitives/IconButton/IconButton.tsx +37 -5
- package/src/primitives/IconButton/__tests__/IconButton.spec.tsx +57 -9
- package/src/primitives/IconButton/__tests__/__snapshots__/IconButton.spec.tsx.snap +125 -4
- package/src/primitives/IconButton/styles.ts +25 -0
- package/src/primitives/IconButton/types.ts +4 -1
- package/src/primitives/Label/Label.tsx +9 -6
- package/src/primitives/Label/__tests__/Label.spec.tsx +61 -8
- package/src/primitives/Label/__tests__/__snapshots__/Label.spec.tsx.snap +61 -9
- package/src/primitives/Label/index.ts +1 -1
- package/src/primitives/Label/styles.ts +45 -3
- package/src/primitives/Label/types.ts +25 -2
- package/src/primitives/PasswordField/PasswordField.tsx +57 -0
- package/src/primitives/PasswordField/__tests__/PasswordField.spec.tsx +110 -0
- package/src/primitives/PasswordField/__tests__/__snapshots__/PasswordField.spec.tsx.snap +629 -0
- package/src/primitives/PasswordField/index.ts +2 -0
- package/src/primitives/PasswordField/styles.ts +20 -0
- package/src/primitives/PasswordField/types.ts +27 -0
- package/src/primitives/PhoneNumberField/PhoneNumberField.tsx +28 -0
- package/src/primitives/PhoneNumberField/__tests__/PhoneNumberField.spec.tsx +53 -0
- package/src/primitives/PhoneNumberField/__tests__/__snapshots__/PhoneNumberField.spec.tsx.snap +185 -0
- package/src/primitives/PhoneNumberField/index.ts +2 -0
- package/src/primitives/PhoneNumberField/styles.ts +23 -0
- package/src/primitives/PhoneNumberField/types.ts +6 -0
- package/src/primitives/Radio/Radio.tsx +35 -14
- package/src/primitives/Radio/__tests__/Radio.spec.tsx +109 -15
- package/src/primitives/Radio/__tests__/__snapshots__/Radio.spec.tsx.snap +149 -44
- package/src/primitives/Radio/getRadioDimensions.ts +20 -7
- package/src/primitives/Radio/styles.ts +63 -45
- package/src/primitives/Radio/types.ts +12 -11
- package/src/primitives/RadioGroup/RadioGroup.tsx +108 -0
- package/src/primitives/RadioGroup/__tests__/RadioGroup.spec.tsx +183 -0
- package/src/primitives/RadioGroup/__tests__/__snapshots__/RadioGroup.spec.tsx.snap +1741 -0
- package/src/primitives/RadioGroup/index.ts +2 -0
- package/src/primitives/RadioGroup/styles.ts +21 -0
- package/src/primitives/RadioGroup/types.ts +27 -0
- package/src/primitives/Tabs/Tab.tsx +49 -0
- package/src/primitives/Tabs/Tabs.tsx +43 -0
- package/src/primitives/Tabs/__tests__/Tab.spec.tsx +68 -0
- package/src/primitives/Tabs/__tests__/Tabs.spec.tsx +81 -0
- package/src/primitives/Tabs/__tests__/__snapshots__/Tab.spec.tsx.snap +298 -0
- package/src/primitives/Tabs/__tests__/__snapshots__/Tabs.spec.tsx.snap +175 -0
- package/src/primitives/Tabs/index.ts +3 -0
- package/src/primitives/Tabs/styles.ts +62 -0
- package/src/primitives/Tabs/types.ts +51 -0
- package/src/primitives/TextField/TextField.tsx +77 -0
- package/src/primitives/TextField/__tests__/TextField.spec.tsx +153 -0
- package/src/primitives/TextField/__tests__/__snapshots__/TextField.spec.tsx.snap +507 -0
- package/src/primitives/TextField/index.ts +2 -0
- package/src/primitives/TextField/styles.ts +47 -0
- package/src/primitives/TextField/types.ts +66 -0
- package/src/primitives/index.ts +7 -0
- package/src/theme/ThemeContext.tsx +12 -0
- package/src/theme/ThemeProvider.tsx +26 -0
- package/src/theme/__tests__/ThemeProvider.spec.tsx +23 -0
- package/src/theme/__tests__/__snapshots__/useTheme.spec.tsx.snap +226 -0
- package/src/theme/__tests__/createTheme.spec.ts +196 -0
- package/src/theme/__tests__/useTheme.spec.tsx +51 -0
- package/src/theme/createTheme.ts +130 -0
- package/src/theme/defaultTheme.ts +11 -0
- package/src/theme/index.ts +5 -0
- package/src/theme/types/style-dictionary.d.ts +21 -0
- package/src/theme/types.ts +98 -0
- package/src/theme/useTheme.ts +9 -0
- package/src/utils/font.ts +6 -0
- package/src/utils/index.ts +3 -10
- package/src/utils/platform.ts +21 -0
- package/src/utils/utils.ts +3 -0
|
@@ -1,14 +1,47 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
2
|
import { getLineHeight } from '../../utils';
|
|
3
|
-
export const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
3
|
+
export const getThemedStyles = (theme) => {
|
|
4
|
+
const { components, tokens: { colors, fontSizes, fontWeights }, } = theme;
|
|
5
|
+
return StyleSheet.create({
|
|
6
|
+
text: {
|
|
7
|
+
color: colors.font.primary,
|
|
8
|
+
...components?.heading?.text,
|
|
9
|
+
},
|
|
10
|
+
1: {
|
|
11
|
+
fontSize: fontSizes.xxxl,
|
|
12
|
+
fontWeight: fontWeights.hairline,
|
|
13
|
+
lineHeight: getLineHeight(fontSizes.xxxl),
|
|
14
|
+
...components?.heading?.[1],
|
|
15
|
+
},
|
|
16
|
+
2: {
|
|
17
|
+
fontSize: fontSizes.xxl,
|
|
18
|
+
fontWeight: fontWeights.thin,
|
|
19
|
+
lineHeight: getLineHeight(fontSizes.xxl),
|
|
20
|
+
...components?.heading?.[2],
|
|
21
|
+
},
|
|
22
|
+
3: {
|
|
23
|
+
fontSize: fontSizes.xl,
|
|
24
|
+
fontWeight: fontWeights.light,
|
|
25
|
+
lineHeight: getLineHeight(fontSizes.xl),
|
|
26
|
+
...components?.heading?.[3],
|
|
27
|
+
},
|
|
28
|
+
4: {
|
|
29
|
+
fontSize: fontSizes.large,
|
|
30
|
+
fontWeight: fontWeights.medium,
|
|
31
|
+
lineHeight: getLineHeight(fontSizes.large),
|
|
32
|
+
...components?.heading?.[4],
|
|
33
|
+
},
|
|
34
|
+
5: {
|
|
35
|
+
fontSize: fontSizes.medium,
|
|
36
|
+
fontWeight: fontWeights.bold,
|
|
37
|
+
lineHeight: getLineHeight(fontSizes.medium),
|
|
38
|
+
...components?.heading?.[5],
|
|
39
|
+
},
|
|
40
|
+
6: {
|
|
41
|
+
fontSize: fontSizes.small,
|
|
42
|
+
fontWeight: fontWeights.black,
|
|
43
|
+
lineHeight: getLineHeight(fontSizes.small),
|
|
44
|
+
...components?.heading?.[6],
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { IconProps } from './types';
|
|
2
|
-
export default function Icon({ animated, color, size, style, ...rest }: IconProps): JSX.Element;
|
|
3
|
+
export default function Icon({ accessibilityRole, animated, color, size, style, ...rest }: IconProps): JSX.Element;
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { Animated, Image } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { useTheme } from '../../theme';
|
|
4
|
+
import { getThemedStyles } from './styles';
|
|
5
|
+
export default function Icon({ accessibilityRole = 'image', animated, color, size, style, ...rest }) {
|
|
6
|
+
const theme = useTheme();
|
|
7
|
+
const themedStyle = useMemo(() => getThemedStyles(theme, color, size), [theme, color, size]);
|
|
8
|
+
const imageProps = {
|
|
9
|
+
...rest,
|
|
10
|
+
accessibilityRole,
|
|
11
|
+
style: [themedStyle.icon, style],
|
|
12
|
+
};
|
|
6
13
|
if (animated) {
|
|
7
|
-
return <Animated.Image {...
|
|
14
|
+
return <Animated.Image {...imageProps}/>;
|
|
8
15
|
}
|
|
9
|
-
return <Image {...
|
|
16
|
+
return <Image {...imageProps}/>;
|
|
10
17
|
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import { StrictTheme } from '../../theme';
|
|
1
2
|
import { IconProps, IconStyles } from './types';
|
|
2
|
-
export declare const
|
|
3
|
+
export declare const getThemedStyles: (theme: StrictTheme, color?: IconProps['color'], size?: IconProps['size']) => Required<IconStyles>;
|
|
@@ -1,9 +1,30 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
|
|
2
|
+
import { ConsoleLogger as Logger } from '@aws-amplify/core';
|
|
3
|
+
import { iconSizes } from './constants';
|
|
4
|
+
const logger = new Logger('Icon-logger');
|
|
5
|
+
const getIconSize = (size) => {
|
|
6
|
+
if (!size) {
|
|
7
|
+
return iconSizes.medium;
|
|
8
|
+
}
|
|
9
|
+
if (typeof size === 'number') {
|
|
10
|
+
return size;
|
|
11
|
+
}
|
|
12
|
+
if (!iconSizes[size]) {
|
|
13
|
+
logger.warn(`"${size}" is not a valid icon size. Available values are: ${Object.keys(iconSizes)}`);
|
|
14
|
+
return iconSizes.medium;
|
|
15
|
+
}
|
|
16
|
+
return iconSizes[size];
|
|
17
|
+
};
|
|
18
|
+
export const getThemedStyles = (theme, color, size) => {
|
|
19
|
+
const { components } = theme;
|
|
20
|
+
const iconSize = getIconSize(size);
|
|
21
|
+
return StyleSheet.create({
|
|
22
|
+
icon: {
|
|
23
|
+
height: iconSize,
|
|
24
|
+
resizeMode: 'contain',
|
|
25
|
+
tintColor: color,
|
|
26
|
+
width: iconSize,
|
|
27
|
+
...components?.icon,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { ColorValue, ImageProps, ImageStyle } from 'react-native';
|
|
2
|
+
export declare type Size = 'xs' | 'small' | 'medium' | 'large' | 'xl';
|
|
3
|
+
export declare type IconSizes = Record<Size, number>;
|
|
2
4
|
export interface IconStyles {
|
|
3
|
-
icon
|
|
5
|
+
icon?: ImageStyle;
|
|
4
6
|
}
|
|
5
7
|
export interface IconProps extends ImageProps {
|
|
6
8
|
/**
|
|
@@ -14,5 +16,5 @@ export interface IconProps extends ImageProps {
|
|
|
14
16
|
/**
|
|
15
17
|
* Icon size
|
|
16
18
|
*/
|
|
17
|
-
size?: number;
|
|
19
|
+
size?: Size | number;
|
|
18
20
|
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { IconButtonProps } from './types';
|
|
2
|
-
export default function IconButton({ color, iconStyle, source,
|
|
3
|
+
export default function IconButton({ accessibilityRole, color, disabled, iconStyle, size, source, style, ...rest }: IconButtonProps): JSX.Element;
|
|
@@ -1,8 +1,21 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Pressable } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { Pressable, } from 'react-native';
|
|
3
|
+
import { useTheme } from '../../theme';
|
|
4
|
+
import { getThemedStyles } from './styles';
|
|
5
|
+
import { Icon, iconSizes } from '../Icon';
|
|
6
|
+
export default function IconButton({ accessibilityRole = 'button', color, disabled, iconStyle, size = iconSizes.medium, source, style, ...rest }) {
|
|
7
|
+
const theme = useTheme();
|
|
8
|
+
const themedStyle = getThemedStyles(theme);
|
|
9
|
+
const pressableStyle = useCallback(({ pressed }) => {
|
|
10
|
+
const pressedStateStyle = typeof style === 'function' ? style({ pressed }) : style;
|
|
11
|
+
return [
|
|
12
|
+
themedStyle.container,
|
|
13
|
+
disabled ? themedStyle.disabled : null,
|
|
14
|
+
pressed ? themedStyle.pressed : null,
|
|
15
|
+
pressedStateStyle,
|
|
16
|
+
];
|
|
17
|
+
}, [disabled, style, themedStyle]);
|
|
18
|
+
return (<Pressable {...rest} accessibilityRole={accessibilityRole} disabled={disabled} style={pressableStyle}>
|
|
6
19
|
<Icon color={color} size={size} source={source} style={iconStyle}/>
|
|
7
20
|
</Pressable>);
|
|
8
21
|
}
|
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const getThemedStyles = (theme) => {
|
|
3
|
+
const { components, tokens: { opacities }, } = theme;
|
|
4
|
+
return StyleSheet.create({
|
|
5
|
+
container: {
|
|
6
|
+
...components?.iconButton?.container,
|
|
7
|
+
},
|
|
8
|
+
disabled: {
|
|
9
|
+
opacity: opacities[60],
|
|
10
|
+
...components?.iconButton?.disabled,
|
|
11
|
+
},
|
|
12
|
+
pressed: {
|
|
13
|
+
opacity: opacities[60],
|
|
14
|
+
...components?.iconButton?.pressed,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { ColorValue, ImageSourcePropType, ImageStyle, PressableProps, StyleProp } from 'react-native';
|
|
1
|
+
import { ColorValue, ImageSourcePropType, ImageStyle, PressableProps, StyleProp, ViewStyle } from 'react-native';
|
|
2
2
|
export interface IconButtonStyles {
|
|
3
|
-
|
|
3
|
+
container?: ViewStyle;
|
|
4
|
+
disabled?: ViewStyle;
|
|
5
|
+
pressed?: ViewStyle;
|
|
4
6
|
}
|
|
5
7
|
export interface IconButtonProps extends PressableProps {
|
|
6
8
|
/**
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { LabelProps } from './types';
|
|
2
|
-
export default function Label({ accessibilityRole, children, style, ...rest }: LabelProps): JSX.Element;
|
|
3
|
+
export default function Label({ accessibilityRole, children, style, variant, ...rest }: LabelProps): JSX.Element;
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Text } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
import { useTheme } from '../../theme';
|
|
4
|
+
import { getThemedStyles } from './styles';
|
|
5
|
+
export default function Label({ accessibilityRole = 'text', children, style, variant = 'primary', ...rest }) {
|
|
6
|
+
const theme = useTheme();
|
|
7
|
+
const themedStyle = getThemedStyles(theme);
|
|
8
|
+
const textStyle = [themedStyle.text, themedStyle[variant], style];
|
|
9
|
+
return (<Text {...rest} accessibilityRole={accessibilityRole} style={textStyle}>
|
|
6
10
|
{children}
|
|
7
11
|
</Text>);
|
|
8
12
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as Label } from './Label';
|
|
2
|
-
export { LabelProps } from './types';
|
|
2
|
+
export { LabelProps, LabelStyles } from './types';
|
|
@@ -1,4 +1,41 @@
|
|
|
1
1
|
import { StyleSheet } from 'react-native';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
2
|
+
import { getLineHeight } from '../../utils';
|
|
3
|
+
export const getThemedStyles = (theme) => {
|
|
4
|
+
const { components, tokens: { colors, fontSizes, fontWeights }, } = theme;
|
|
5
|
+
return StyleSheet.create({
|
|
6
|
+
text: {
|
|
7
|
+
fontSize: fontSizes.small,
|
|
8
|
+
fontWeight: fontWeights.normal,
|
|
9
|
+
lineHeight: getLineHeight(fontSizes.small),
|
|
10
|
+
...components?.label?.text,
|
|
11
|
+
},
|
|
12
|
+
primary: {
|
|
13
|
+
color: colors.font.primary,
|
|
14
|
+
...components?.label?.primary,
|
|
15
|
+
},
|
|
16
|
+
secondary: {
|
|
17
|
+
color: colors.font.secondary,
|
|
18
|
+
...components?.label?.secondary,
|
|
19
|
+
},
|
|
20
|
+
tertiary: {
|
|
21
|
+
color: colors.font.tertiary,
|
|
22
|
+
...components?.label?.tertiary,
|
|
23
|
+
},
|
|
24
|
+
error: {
|
|
25
|
+
color: colors.font.error,
|
|
26
|
+
...components?.label?.error,
|
|
27
|
+
},
|
|
28
|
+
warning: {
|
|
29
|
+
color: colors.font.warning,
|
|
30
|
+
...components?.label?.warning,
|
|
31
|
+
},
|
|
32
|
+
success: {
|
|
33
|
+
color: colors.font.success,
|
|
34
|
+
...components?.label?.success,
|
|
35
|
+
},
|
|
36
|
+
info: {
|
|
37
|
+
color: colors.font.info,
|
|
38
|
+
...components?.label?.info,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
};
|
|
@@ -1,7 +1,20 @@
|
|
|
1
1
|
import { TextProps, TextStyle } from 'react-native';
|
|
2
2
|
export interface LabelProps extends TextProps {
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* The variant property will affect the color of the Label.
|
|
6
|
+
*/
|
|
7
|
+
variant?: LabelVariant;
|
|
3
8
|
}
|
|
4
9
|
export declare type LabelPosition = 'start' | 'end' | 'top' | 'bottom';
|
|
10
|
+
export declare type LabelVariant = 'primary' | 'secondary' | 'tertiary' | 'error' | 'warning' | 'info' | 'success';
|
|
5
11
|
export interface LabelStyles {
|
|
6
|
-
|
|
12
|
+
text?: TextStyle;
|
|
13
|
+
primary?: TextStyle;
|
|
14
|
+
secondary?: TextStyle;
|
|
15
|
+
tertiary?: TextStyle;
|
|
16
|
+
error?: TextStyle;
|
|
17
|
+
warning?: TextStyle;
|
|
18
|
+
success?: TextStyle;
|
|
19
|
+
info?: TextStyle;
|
|
7
20
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { icons } from '../../assets';
|
|
3
|
+
import { useTheme } from '../../theme';
|
|
4
|
+
import { IconButton } from '../IconButton';
|
|
5
|
+
import { TextField } from '../TextField';
|
|
6
|
+
import { getThemedStyles } from './styles';
|
|
7
|
+
import { authenticatorTextUtil } from '@aws-amplify/ui';
|
|
8
|
+
const { getHidePasswordText, getShowPasswordText } = authenticatorTextUtil;
|
|
9
|
+
export default function PasswordField({ disabled, iconAccessibilityLabel, iconStyle, secureTextEntry = true, showPasswordButton = true, style, ...rest }) {
|
|
10
|
+
const theme = useTheme();
|
|
11
|
+
const themedStyle = getThemedStyles(theme);
|
|
12
|
+
const [obscureText, setObscureText] = useState(secureTextEntry);
|
|
13
|
+
const handleOnPress = React.useCallback(() => {
|
|
14
|
+
setObscureText(!obscureText);
|
|
15
|
+
}, [obscureText]);
|
|
16
|
+
const toggleVisibilityAccessibilityLabel = iconAccessibilityLabel ?? obscureText
|
|
17
|
+
? getShowPasswordText()
|
|
18
|
+
: getHidePasswordText();
|
|
19
|
+
return (<TextField {...rest} disabled={disabled} secureTextEntry={obscureText} style={[themedStyle.container, style]} endAccessory={showPasswordButton ? (<IconButton accessibilityLabel={toggleVisibilityAccessibilityLabel} disabled={disabled} iconStyle={[themedStyle.icon, iconStyle]} size={16} source={obscureText ? icons.visibilityOff : icons.visibilityOn} onPress={handleOnPress}/>) : null}/>);
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as PasswordField } from './PasswordField';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const getThemedStyles = ({ components, tokens: { colors }, }) => {
|
|
3
|
+
return StyleSheet.create({
|
|
4
|
+
container: {
|
|
5
|
+
...components?.passwordField?.container,
|
|
6
|
+
},
|
|
7
|
+
icon: {
|
|
8
|
+
// match to `TextField` placeholder color
|
|
9
|
+
tintColor: colors.font.tertiary,
|
|
10
|
+
...components?.passwordField?.icon,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ImageStyle } from 'react-native';
|
|
2
|
+
import { IconButtonProps } from '../IconButton';
|
|
3
|
+
import { TextFieldProps, TextFieldStyles } from '../TextField';
|
|
4
|
+
export interface PasswordFieldProps extends TextFieldProps {
|
|
5
|
+
/**
|
|
6
|
+
* @description
|
|
7
|
+
* For password fields, will toggle visibility of the "show password" button
|
|
8
|
+
*/
|
|
9
|
+
showPasswordButton?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* @description
|
|
12
|
+
* Styling for the icon
|
|
13
|
+
*/
|
|
14
|
+
iconStyle?: IconButtonProps['iconStyle'];
|
|
15
|
+
/**
|
|
16
|
+
* @description
|
|
17
|
+
* Accessibility label for the icon
|
|
18
|
+
*/
|
|
19
|
+
iconAccessibilityLabel?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface PasswordFieldStyles extends Partial<TextFieldStyles> {
|
|
22
|
+
icon?: ImageStyle;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useTheme } from '../../theme';
|
|
3
|
+
import { getThemedStyles } from './styles';
|
|
4
|
+
import { TextField } from '../TextField';
|
|
5
|
+
export default function PhoneNumberField({ disabled, fieldStyle, labelStyle, style, ...rest }) {
|
|
6
|
+
const theme = useTheme();
|
|
7
|
+
const themedStyle = getThemedStyles(theme);
|
|
8
|
+
return (<TextField {...rest} disabled={disabled} fieldStyle={[themedStyle.field, fieldStyle]} keyboardType="phone-pad" labelStyle={[themedStyle.label, labelStyle]} style={[themedStyle.container, style]}/>);
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as PhoneNumberField } from './PhoneNumberField';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
export const getThemedStyles = (theme) => {
|
|
3
|
+
const { components } = theme;
|
|
4
|
+
return StyleSheet.create({
|
|
5
|
+
container: {
|
|
6
|
+
...components?.phoneNumberField?.container,
|
|
7
|
+
},
|
|
8
|
+
fieldContainer: {
|
|
9
|
+
...components?.phoneNumberField?.fieldContainer,
|
|
10
|
+
},
|
|
11
|
+
field: {
|
|
12
|
+
...components?.phoneNumberField?.field,
|
|
13
|
+
},
|
|
14
|
+
label: {
|
|
15
|
+
...components?.phoneNumberField?.label,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { RadioProps } from './types';
|
|
2
|
-
export
|
|
3
|
+
export declare const CONTAINER_TEST_ID = "amplify__radio-button__container";
|
|
4
|
+
export declare const DOT_TEST_ID = "amplify__radio-button__dot";
|
|
5
|
+
export default function Radio<T>({ accessibilityRole, disabled, label, labelPosition, labelStyle, onChange, onPress, radioContainerStyle, radioDotStyle, selected, size, style, value, ...rest }: RadioProps<T>): JSX.Element;
|
|
@@ -1,28 +1,38 @@
|
|
|
1
1
|
import React, { useCallback, useMemo } from 'react';
|
|
2
2
|
import { Pressable, View, } from 'react-native';
|
|
3
|
+
import { useTheme } from '../../theme';
|
|
3
4
|
import { Label } from '../Label';
|
|
4
5
|
import { getFlexDirectionFromLabelPosition } from '../Label/utils';
|
|
5
|
-
import {
|
|
6
|
+
import { getThemedStyles } from './styles';
|
|
6
7
|
import { getRadioDimensions } from './getRadioDimensions';
|
|
7
|
-
export
|
|
8
|
-
|
|
8
|
+
export const CONTAINER_TEST_ID = 'amplify__radio-button__container';
|
|
9
|
+
export const DOT_TEST_ID = 'amplify__radio-button__dot';
|
|
10
|
+
export default function Radio({ accessibilityRole = 'radio', disabled, label, labelPosition = 'end', labelStyle, onChange, onPress, radioContainerStyle, radioDotStyle, selected, size = 'medium', style, value, ...rest }) {
|
|
11
|
+
const theme = useTheme();
|
|
12
|
+
const themedStyle = getThemedStyles(theme);
|
|
13
|
+
const handleOnChange = useCallback((event) => {
|
|
9
14
|
if (!disabled) {
|
|
10
15
|
onChange?.(value);
|
|
16
|
+
onPress?.(event);
|
|
11
17
|
}
|
|
12
|
-
}, [onChange,
|
|
18
|
+
}, [disabled, onChange, onPress, value]);
|
|
13
19
|
const containerStyle = useCallback(({ pressed }) => {
|
|
14
20
|
const containerStyle = {
|
|
15
|
-
...
|
|
21
|
+
...themedStyle.container,
|
|
16
22
|
flexDirection: getFlexDirectionFromLabelPosition(labelPosition),
|
|
17
|
-
...(disabled &&
|
|
23
|
+
...(disabled && themedStyle.disabled),
|
|
18
24
|
};
|
|
19
25
|
const pressedStateStyle = typeof style === 'function' ? style({ pressed }) : style;
|
|
20
26
|
return [containerStyle, pressedStateStyle];
|
|
21
|
-
}, [disabled, labelPosition, style]);
|
|
22
|
-
const {
|
|
27
|
+
}, [disabled, labelPosition, style, themedStyle]);
|
|
28
|
+
const { radioContainerDimensions, radioDotDimensions } = useMemo(() => getRadioDimensions(size, themedStyle), [size, themedStyle]);
|
|
23
29
|
return (<Pressable {...rest} accessibilityRole={accessibilityRole} onPress={handleOnChange} style={containerStyle}>
|
|
24
|
-
<View style={[
|
|
25
|
-
|
|
30
|
+
<View style={[
|
|
31
|
+
themedStyle.radioContainer,
|
|
32
|
+
radioContainerDimensions,
|
|
33
|
+
radioContainerStyle,
|
|
34
|
+
]} testID={CONTAINER_TEST_ID}>
|
|
35
|
+
{selected ? (<View style={[themedStyle.radioDot, radioDotDimensions, radioDotStyle]} testID={DOT_TEST_ID}/>) : null}
|
|
26
36
|
</View>
|
|
27
37
|
{label ? <Label style={labelStyle}>{label}</Label> : null}
|
|
28
38
|
</Pressable>);
|
|
@@ -12,7 +12,13 @@ import { RadioDimensions, RadioStyles, Size } from './types';
|
|
|
12
12
|
* then we return the respective dimensions as defined in the `styles` object
|
|
13
13
|
* (e.g., 'small' => { radioContainerSmall, radioDotSmall } )
|
|
14
14
|
*/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
/**
|
|
16
|
+
* We landed on this value for the ratio of the Radio dot to the Radio container
|
|
17
|
+
* because it looks aesthetically proportional. Incidentally, this value is also
|
|
18
|
+
* an approximation of the golden ratio conjugate.
|
|
19
|
+
*/
|
|
20
|
+
export declare const RADIO_DOT_PROPORTION = 0.6;
|
|
21
|
+
export declare const getRadioDimensions: (size: Size, styles: Required<RadioStyles>) => {
|
|
22
|
+
radioContainerDimensions: RadioDimensions;
|
|
23
|
+
radioDotDimensions: RadioDimensions;
|
|
18
24
|
};
|
|
@@ -12,16 +12,28 @@ import { capitalize } from '../../utils';
|
|
|
12
12
|
* then we return the respective dimensions as defined in the `styles` object
|
|
13
13
|
* (e.g., 'small' => { radioContainerSmall, radioDotSmall } )
|
|
14
14
|
*/
|
|
15
|
+
/**
|
|
16
|
+
* We landed on this value for the ratio of the Radio dot to the Radio container
|
|
17
|
+
* because it looks aesthetically proportional. Incidentally, this value is also
|
|
18
|
+
* an approximation of the golden ratio conjugate.
|
|
19
|
+
*/
|
|
20
|
+
export const RADIO_DOT_PROPORTION = 0.6;
|
|
15
21
|
export const getRadioDimensions = (size, styles) => {
|
|
16
22
|
if (typeof size === 'number') {
|
|
17
23
|
return {
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
radioContainerDimensions: {
|
|
25
|
+
height: size,
|
|
26
|
+
width: size,
|
|
27
|
+
},
|
|
28
|
+
radioDotDimensions: {
|
|
29
|
+
height: size * RADIO_DOT_PROPORTION,
|
|
30
|
+
width: size * RADIO_DOT_PROPORTION,
|
|
31
|
+
},
|
|
20
32
|
};
|
|
21
33
|
}
|
|
22
34
|
const sizeKey = capitalize(size);
|
|
23
35
|
return {
|
|
24
|
-
|
|
25
|
-
|
|
36
|
+
radioContainerDimensions: styles[`radioContainer${sizeKey}`],
|
|
37
|
+
radioDotDimensions: styles[`radioDot${sizeKey}`],
|
|
26
38
|
};
|
|
27
39
|
};
|