@aws-amplify/ui-react-native 1.2.21 → 1.2.23

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 (359) hide show
  1. package/dist/Authenticator/common/DefaultContent/styles.js +1 -2
  2. package/dist/primitives/Heading/styles.js +5 -5
  3. package/dist/primitives/Label/styles.js +2 -2
  4. package/dist/primitives/TextField/styles.js +3 -3
  5. package/dist/version.d.ts +1 -1
  6. package/dist/version.js +1 -1
  7. package/lib/Authenticator/Authenticator.js +72 -0
  8. package/lib/Authenticator/Defaults/ConfirmResetPassword/ConfirmResetPassword.js +43 -0
  9. package/lib/Authenticator/Defaults/ConfirmResetPassword/index.js +8 -0
  10. package/lib/Authenticator/Defaults/ConfirmSignIn/ConfirmSignIn.js +42 -0
  11. package/lib/Authenticator/Defaults/ConfirmSignIn/index.js +8 -0
  12. package/lib/Authenticator/Defaults/ConfirmSignUp/ConfirmSignUp.js +43 -0
  13. package/lib/Authenticator/Defaults/ConfirmSignUp/index.js +8 -0
  14. package/lib/Authenticator/Defaults/ConfirmVerifyUser/ConfirmVerifyUser.js +42 -0
  15. package/lib/Authenticator/Defaults/ConfirmVerifyUser/index.js +8 -0
  16. package/lib/Authenticator/Defaults/ForceNewPassword/ForceNewPassword.js +45 -0
  17. package/lib/Authenticator/Defaults/ForceNewPassword/index.js +8 -0
  18. package/lib/Authenticator/Defaults/ResetPassword/ResetPassword.js +42 -0
  19. package/lib/Authenticator/Defaults/ResetPassword/index.js +8 -0
  20. package/lib/Authenticator/Defaults/SetupTOTP/SetupTOTP.js +52 -0
  21. package/lib/Authenticator/Defaults/SetupTOTP/index.js +8 -0
  22. package/lib/Authenticator/Defaults/SetupTOTP/styles.js +8 -0
  23. package/lib/Authenticator/Defaults/SignIn/SignIn.js +50 -0
  24. package/lib/Authenticator/Defaults/SignIn/index.js +8 -0
  25. package/lib/Authenticator/Defaults/SignUp/SignUp.js +48 -0
  26. package/lib/Authenticator/Defaults/SignUp/index.js +8 -0
  27. package/lib/Authenticator/Defaults/VerifyUser/VerifyUser.js +33 -0
  28. package/lib/Authenticator/Defaults/VerifyUser/index.js +8 -0
  29. package/lib/Authenticator/Defaults/index.js +23 -0
  30. package/lib/Authenticator/Defaults/types.js +2 -0
  31. package/lib/Authenticator/common/DefaultContainer/DefaultContainer.js +37 -0
  32. package/lib/Authenticator/common/DefaultContainer/InnerContainer.js +15 -0
  33. package/lib/Authenticator/common/DefaultContainer/index.js +10 -0
  34. package/lib/Authenticator/common/DefaultContainer/styles.js +31 -0
  35. package/lib/Authenticator/common/DefaultContainer/types.js +2 -0
  36. package/lib/Authenticator/common/DefaultContent/DefaultContent.js +33 -0
  37. package/lib/Authenticator/common/DefaultContent/index.js +8 -0
  38. package/lib/Authenticator/common/DefaultContent/styles.js +54 -0
  39. package/lib/Authenticator/common/DefaultContent/types.js +2 -0
  40. package/lib/Authenticator/common/DefaultFooter/DefaultFooter.js +9 -0
  41. package/lib/Authenticator/common/DefaultFooter/index.js +8 -0
  42. package/lib/Authenticator/common/DefaultFooter/types.js +2 -0
  43. package/lib/Authenticator/common/DefaultFormFields/DefaultRadioFormFields.js +28 -0
  44. package/lib/Authenticator/common/DefaultFormFields/DefaultTextFormFields.js +21 -0
  45. package/lib/Authenticator/common/DefaultFormFields/Field.js +37 -0
  46. package/lib/Authenticator/common/DefaultFormFields/FieldErrors.js +17 -0
  47. package/lib/Authenticator/common/DefaultFormFields/index.js +10 -0
  48. package/lib/Authenticator/common/DefaultFormFields/types.js +2 -0
  49. package/lib/Authenticator/common/DefaultHeader/DefaultHeader.js +11 -0
  50. package/lib/Authenticator/common/DefaultHeader/index.js +8 -0
  51. package/lib/Authenticator/common/DefaultHeader/types.js +2 -0
  52. package/lib/Authenticator/common/FederatedProviderButton/FederatedProviderButton.js +18 -0
  53. package/lib/Authenticator/common/FederatedProviderButton/index.js +8 -0
  54. package/lib/Authenticator/common/FederatedProviderButton/styles.js +21 -0
  55. package/lib/Authenticator/common/FederatedProviderButton/types.js +2 -0
  56. package/lib/Authenticator/common/FederatedProviderButtons/FederatedProviderButtons.js +26 -0
  57. package/lib/Authenticator/common/FederatedProviderButtons/index.js +8 -0
  58. package/lib/Authenticator/common/FederatedProviderButtons/styles.js +8 -0
  59. package/lib/Authenticator/common/FederatedProviderButtons/types.js +2 -0
  60. package/lib/Authenticator/common/index.js +10 -0
  61. package/lib/Authenticator/hooks/index.js +5 -0
  62. package/lib/Authenticator/hooks/types.js +2 -0
  63. package/lib/Authenticator/hooks/useFieldValues/constants.js +11 -0
  64. package/lib/Authenticator/hooks/useFieldValues/index.js +10 -0
  65. package/lib/Authenticator/hooks/useFieldValues/types.js +2 -0
  66. package/lib/Authenticator/hooks/useFieldValues/useFieldValues.js +101 -0
  67. package/lib/Authenticator/hooks/useFieldValues/utils.js +139 -0
  68. package/lib/Authenticator/index.js +13 -0
  69. package/lib/Authenticator/types.js +2 -0
  70. package/lib/Authenticator/withAuthenticator.js +15 -0
  71. package/lib/InAppMessaging/components/BannerMessage/BannerMessage.js +20 -0
  72. package/lib/InAppMessaging/components/BannerMessage/index.js +8 -0
  73. package/lib/InAppMessaging/components/BannerMessage/styles.js +81 -0
  74. package/lib/InAppMessaging/components/BannerMessage/types.js +2 -0
  75. package/lib/InAppMessaging/components/CarouselMessage/CarouselMessage.js +25 -0
  76. package/lib/InAppMessaging/components/CarouselMessage/CarouselMessageItem.js +22 -0
  77. package/lib/InAppMessaging/components/CarouselMessage/index.js +8 -0
  78. package/lib/InAppMessaging/components/CarouselMessage/styles.js +103 -0
  79. package/lib/InAppMessaging/components/CarouselMessage/types.js +2 -0
  80. package/lib/InAppMessaging/components/FullScreenMessage/FullScreenMessage.js +22 -0
  81. package/lib/InAppMessaging/components/FullScreenMessage/index.js +8 -0
  82. package/lib/InAppMessaging/components/FullScreenMessage/styles.js +91 -0
  83. package/lib/InAppMessaging/components/FullScreenMessage/types.js +2 -0
  84. package/lib/InAppMessaging/components/InAppMessageDisplay/InAppMessageDisplay.js +32 -0
  85. package/lib/InAppMessaging/components/InAppMessageDisplay/handleMessageLinkAction.js +26 -0
  86. package/lib/InAppMessaging/components/InAppMessageDisplay/index.js +8 -0
  87. package/lib/InAppMessaging/components/InAppMessageDisplay/types.js +2 -0
  88. package/lib/InAppMessaging/components/MessageLayout/MessageLayout.js +38 -0
  89. package/lib/InAppMessaging/components/MessageLayout/index.js +8 -0
  90. package/lib/InAppMessaging/components/MessageLayout/types.js +2 -0
  91. package/lib/InAppMessaging/components/MessageWrapper/MessageWrapper.js +24 -0
  92. package/lib/InAppMessaging/components/MessageWrapper/index.js +8 -0
  93. package/lib/InAppMessaging/components/MessageWrapper/styles.js +8 -0
  94. package/lib/InAppMessaging/components/MessageWrapper/types.js +2 -0
  95. package/lib/InAppMessaging/components/ModalMessage/ModalMessage.js +22 -0
  96. package/lib/InAppMessaging/components/ModalMessage/index.js +8 -0
  97. package/lib/InAppMessaging/components/ModalMessage/styles.js +104 -0
  98. package/lib/InAppMessaging/components/ModalMessage/types.js +2 -0
  99. package/lib/InAppMessaging/components/index.js +7 -0
  100. package/lib/InAppMessaging/components/withInAppMessaging/index.js +8 -0
  101. package/lib/InAppMessaging/components/withInAppMessaging/withInAppMessaging.js +15 -0
  102. package/lib/InAppMessaging/constants.js +48 -0
  103. package/lib/InAppMessaging/hooks/index.js +7 -0
  104. package/lib/InAppMessaging/hooks/useMessageImage/constants.js +21 -0
  105. package/lib/InAppMessaging/hooks/useMessageImage/index.js +8 -0
  106. package/lib/InAppMessaging/hooks/useMessageImage/types.js +9 -0
  107. package/lib/InAppMessaging/hooks/useMessageImage/useMessageImage.js +53 -0
  108. package/lib/InAppMessaging/hooks/useMessageImage/utils.js +61 -0
  109. package/lib/InAppMessaging/hooks/useMessageProps/index.js +8 -0
  110. package/lib/InAppMessaging/hooks/useMessageProps/types.js +2 -0
  111. package/lib/InAppMessaging/hooks/useMessageProps/useMessageProps.js +52 -0
  112. package/lib/InAppMessaging/hooks/useMessageProps/utils.js +201 -0
  113. package/lib/InAppMessaging/index.js +9 -0
  114. package/lib/assets/icons/amazonLogo.png +0 -0
  115. package/lib/assets/icons/amazonLogo@2x.png +0 -0
  116. package/lib/assets/icons/amazonLogo@3x.png +0 -0
  117. package/lib/assets/icons/appleLogo.png +0 -0
  118. package/lib/assets/icons/appleLogo@2x.png +0 -0
  119. package/lib/assets/icons/appleLogo@3x.png +0 -0
  120. package/lib/assets/icons/checkboxFilled.png +0 -0
  121. package/lib/assets/icons/checkboxFilled@2x.png +0 -0
  122. package/lib/assets/icons/checkboxFilled@3x.png +0 -0
  123. package/lib/assets/icons/checkboxOutline.png +0 -0
  124. package/lib/assets/icons/checkboxOutline@2x.png +0 -0
  125. package/lib/assets/icons/checkboxOutline@3x.png +0 -0
  126. package/lib/assets/icons/close.png +0 -0
  127. package/lib/assets/icons/close@2x.png +0 -0
  128. package/lib/assets/icons/close@3x.png +0 -0
  129. package/lib/assets/icons/copy.png +0 -0
  130. package/lib/assets/icons/copy@2x.png +0 -0
  131. package/lib/assets/icons/copy@3x.png +0 -0
  132. package/lib/assets/icons/error.png +0 -0
  133. package/lib/assets/icons/error@2x.png +0 -0
  134. package/lib/assets/icons/error@3x.png +0 -0
  135. package/lib/assets/icons/facebookLogo.png +0 -0
  136. package/lib/assets/icons/facebookLogo@2x.png +0 -0
  137. package/lib/assets/icons/facebookLogo@3x.png +0 -0
  138. package/lib/assets/icons/googleLogo.png +0 -0
  139. package/lib/assets/icons/googleLogo@2x.png +0 -0
  140. package/lib/assets/icons/googleLogo@3x.png +0 -0
  141. package/lib/assets/icons/index.js +16 -0
  142. package/lib/assets/icons/index.ts +17 -0
  143. package/lib/assets/icons/visibilityOff.png +0 -0
  144. package/lib/assets/icons/visibilityOff@2x.png +0 -0
  145. package/lib/assets/icons/visibilityOff@3x.png +0 -0
  146. package/lib/assets/icons/visibilityOn.png +0 -0
  147. package/lib/assets/icons/visibilityOn@2x.png +0 -0
  148. package/lib/assets/icons/visibilityOn@3x.png +0 -0
  149. package/lib/assets/index.js +8 -0
  150. package/lib/hooks/index.js +9 -0
  151. package/lib/hooks/useDeprecationWarning/index.js +8 -0
  152. package/lib/hooks/useDeprecationWarning/useDeprecationWarning.js +13 -0
  153. package/lib/hooks/useDeviceOrientation/index.js +8 -0
  154. package/lib/hooks/useDeviceOrientation/useDeviceOrientation.js +37 -0
  155. package/lib/hooks/usePressableContainerStyles/index.js +5 -0
  156. package/lib/hooks/usePressableContainerStyles/usePressableContainerStyles.js +19 -0
  157. package/lib/index.js +14 -0
  158. package/lib/primitives/Button/Button.js +31 -0
  159. package/lib/primitives/Button/index.js +8 -0
  160. package/lib/primitives/Button/styles.js +55 -0
  161. package/lib/primitives/Button/types.js +2 -0
  162. package/lib/primitives/Carousel/Carousel.js +63 -0
  163. package/lib/primitives/Carousel/CarouselPageIndicator.js +14 -0
  164. package/lib/primitives/Carousel/constants.js +21 -0
  165. package/lib/primitives/Carousel/index.js +10 -0
  166. package/lib/primitives/Carousel/styles.js +14 -0
  167. package/lib/primitives/Carousel/types.js +2 -0
  168. package/lib/primitives/Checkbox/Checkbox.js +28 -0
  169. package/lib/primitives/Checkbox/index.js +8 -0
  170. package/lib/primitives/Checkbox/styles.js +28 -0
  171. package/lib/primitives/Checkbox/types.js +2 -0
  172. package/lib/primitives/Divider/Divider.js +22 -0
  173. package/lib/primitives/Divider/index.js +8 -0
  174. package/lib/primitives/Divider/styles.js +28 -0
  175. package/lib/primitives/Divider/types.js +2 -0
  176. package/lib/primitives/ErrorMessage/ErrorMessage.js +22 -0
  177. package/lib/primitives/ErrorMessage/index.js +8 -0
  178. package/lib/primitives/ErrorMessage/styles.js +30 -0
  179. package/lib/primitives/ErrorMessage/types.js +2 -0
  180. package/lib/primitives/Heading/Heading.js +15 -0
  181. package/lib/primitives/Heading/index.js +8 -0
  182. package/lib/primitives/Heading/styles.js +51 -0
  183. package/lib/primitives/Heading/types.js +2 -0
  184. package/lib/primitives/Icon/Icon.js +21 -0
  185. package/lib/primitives/Icon/constants.js +10 -0
  186. package/lib/primitives/Icon/index.js +10 -0
  187. package/lib/primitives/Icon/styles.js +34 -0
  188. package/lib/primitives/Icon/types.js +2 -0
  189. package/lib/primitives/IconButton/IconButton.js +26 -0
  190. package/lib/primitives/IconButton/index.js +8 -0
  191. package/lib/primitives/IconButton/styles.js +21 -0
  192. package/lib/primitives/IconButton/types.js +2 -0
  193. package/lib/primitives/Label/Label.js +16 -0
  194. package/lib/primitives/Label/index.js +8 -0
  195. package/lib/primitives/Label/styles.js +45 -0
  196. package/lib/primitives/Label/types.js +2 -0
  197. package/lib/primitives/Label/utils.js +25 -0
  198. package/lib/primitives/PasswordField/PasswordField.js +24 -0
  199. package/lib/primitives/PasswordField/index.js +8 -0
  200. package/lib/primitives/PasswordField/styles.js +17 -0
  201. package/lib/primitives/PasswordField/types.js +2 -0
  202. package/lib/primitives/PhoneNumberField/PhoneNumberField.js +13 -0
  203. package/lib/primitives/PhoneNumberField/index.js +8 -0
  204. package/lib/primitives/PhoneNumberField/styles.js +22 -0
  205. package/lib/primitives/PhoneNumberField/types.js +2 -0
  206. package/lib/primitives/Radio/Radio.js +46 -0
  207. package/lib/primitives/Radio/getRadioDimensions.js +43 -0
  208. package/lib/primitives/Radio/index.js +8 -0
  209. package/lib/primitives/Radio/styles.js +68 -0
  210. package/lib/primitives/Radio/types.js +2 -0
  211. package/lib/primitives/RadioGroup/RadioGroup.js +55 -0
  212. package/lib/primitives/RadioGroup/index.js +8 -0
  213. package/lib/primitives/RadioGroup/styles.js +20 -0
  214. package/lib/primitives/RadioGroup/types.js +2 -0
  215. package/lib/primitives/Tabs/Tab.js +27 -0
  216. package/lib/primitives/Tabs/Tabs.js +29 -0
  217. package/lib/primitives/Tabs/index.js +10 -0
  218. package/lib/primitives/Tabs/styles.js +58 -0
  219. package/lib/primitives/Tabs/types.js +2 -0
  220. package/lib/primitives/TextField/TextField.js +31 -0
  221. package/lib/primitives/TextField/index.js +8 -0
  222. package/lib/primitives/TextField/styles.js +46 -0
  223. package/lib/primitives/TextField/types.js +2 -0
  224. package/lib/primitives/index.js +18 -0
  225. package/lib/theme/ThemeContext.js +9 -0
  226. package/lib/theme/ThemeProvider.js +12 -0
  227. package/lib/theme/createTheme.js +113 -0
  228. package/lib/theme/defaultTheme.js +11 -0
  229. package/lib/theme/index.js +12 -0
  230. package/lib/theme/types.js +2 -0
  231. package/lib/theme/useTheme.js +11 -0
  232. package/lib/utils/font.js +8 -0
  233. package/lib/utils/index.js +10 -0
  234. package/lib/utils/platform.js +21 -0
  235. package/lib/version.js +4 -0
  236. package/package.json +19 -10
  237. package/src/Authenticator/common/DefaultContent/styles.ts +1 -2
  238. package/src/primitives/Heading/styles.ts +5 -5
  239. package/src/primitives/Label/styles.ts +2 -2
  240. package/src/primitives/TextField/styles.ts +3 -3
  241. package/src/version.ts +1 -1
  242. package/.eslintrc.js +0 -12
  243. package/.lintstagedrc.js +0 -6
  244. package/.turbo/turbo-build.log +0 -3
  245. package/CHANGELOG.md +0 -321
  246. package/babel.config.js +0 -3
  247. package/dist/assets/index.ts +0 -1
  248. package/jest.config.js +0 -22
  249. package/jest.setup.js +0 -3
  250. package/src/Authenticator/Defaults/ConfirmResetPassword/__tests__/ConfirmResetPassword.spec.tsx +0 -89
  251. package/src/Authenticator/Defaults/ConfirmResetPassword/__tests__/__snapshots__/ConfirmResetPassword.spec.tsx.snap +0 -1086
  252. package/src/Authenticator/Defaults/ConfirmSignIn/__tests__/ConfirmSignIn.spec.tsx +0 -78
  253. package/src/Authenticator/Defaults/ConfirmSignIn/__tests__/__snapshots__/ConfirmSignIn.spec.tsx.snap +0 -512
  254. package/src/Authenticator/Defaults/ConfirmSignUp/__tests__/ConfirmSignUp.spec.tsx +0 -64
  255. package/src/Authenticator/Defaults/ConfirmSignUp/__tests__/__snapshots__/ConfirmSignUp.spec.tsx.snap +0 -531
  256. package/src/Authenticator/Defaults/ConfirmVerifyUser/__tests__/ConfirmVerifyUser.spec.tsx +0 -71
  257. package/src/Authenticator/Defaults/ConfirmVerifyUser/__tests__/__snapshots__/ConfirmVerifyUser.spec.tsx.snap +0 -495
  258. package/src/Authenticator/Defaults/ForceNewPassword/__tests__/ForceNewPassword.spec.tsx +0 -79
  259. package/src/Authenticator/Defaults/ForceNewPassword/__tests__/__snapshots__/ForceNewPassword.spec.tsx.snap +0 -893
  260. package/src/Authenticator/Defaults/ResetPassword/__tests__/ResetPassword.spec.tsx +0 -78
  261. package/src/Authenticator/Defaults/ResetPassword/__tests__/__snapshots__/ResetPassword.spec.tsx.snap +0 -512
  262. package/src/Authenticator/Defaults/SetupTOTP/__tests__/SetupTOTP.spec.tsx +0 -85
  263. package/src/Authenticator/Defaults/SetupTOTP/__tests__/__snapshots__/SetupTOTP.spec.tsx.snap +0 -602
  264. package/src/Authenticator/Defaults/SignIn/__tests__/SignIn.spec.tsx +0 -67
  265. package/src/Authenticator/Defaults/SignIn/__tests__/__snapshots__/SignIn.spec.tsx.snap +0 -1278
  266. package/src/Authenticator/Defaults/SignUp/__tests__/SignUp.spec.tsx +0 -102
  267. package/src/Authenticator/Defaults/SignUp/__tests__/__snapshots__/SignUp.spec.tsx.snap +0 -3107
  268. package/src/Authenticator/Defaults/VerifyUser/__tests__/VerifyUser.spec.tsx +0 -107
  269. package/src/Authenticator/Defaults/VerifyUser/__tests__/__snapshots__/VerifyUser.spec.tsx.snap +0 -694
  270. package/src/Authenticator/__tests__/Authenticator.spec.tsx +0 -131
  271. package/src/Authenticator/__tests__/__snapshots__/Authenticator.spec.tsx.snap +0 -90
  272. package/src/Authenticator/__tests__/__snapshots__/withAuthenticator.spec.tsx.snap +0 -68
  273. package/src/Authenticator/__tests__/withAuthenticator.spec.tsx +0 -73
  274. package/src/Authenticator/common/DefaultContainer/__tests__/DefaultContainer.spec.tsx +0 -19
  275. package/src/Authenticator/common/DefaultContainer/__tests__/__snapshots__/DefaultContainer.spec.tsx.snap +0 -83
  276. package/src/Authenticator/common/DefaultFooter/__tests__/DefaultFooter.spec.tsx +0 -26
  277. package/src/Authenticator/common/DefaultFooter/__tests__/__snapshots__/DefaultFooter.spec.tsx.snap +0 -40
  278. package/src/Authenticator/common/DefaultFormFields/__tests__/DefaultFormFields.spec.tsx +0 -15
  279. package/src/Authenticator/common/DefaultFormFields/__tests__/FieldErrors.spec.tsx +0 -29
  280. package/src/Authenticator/common/DefaultFormFields/__tests__/__snapshots__/DefaultFormFields.spec.tsx.snap +0 -3
  281. package/src/Authenticator/common/DefaultFormFields/__tests__/__snapshots__/FieldErrors.spec.tsx.snap +0 -32
  282. package/src/Authenticator/common/DefaultHeader/__tests__/DefaultHeader.spec.tsx +0 -23
  283. package/src/Authenticator/common/DefaultHeader/__tests__/__snapshots__/DefaultHeader.spec.tsx.snap +0 -24
  284. package/src/Authenticator/common/FederatedProviderButton/__tests__/FederatedProviderButton.spec.tsx +0 -67
  285. package/src/Authenticator/common/FederatedProviderButton/__tests__/__snapshots__/FederatedProviderButton.spec.tsx.snap +0 -185
  286. package/src/Authenticator/common/FederatedProviderButtons/__tests__/FederatedProviderButtons.spec.tsx +0 -55
  287. package/src/Authenticator/common/FederatedProviderButtons/__tests__/__snapshots__/FederatedProviderButtons.spec.tsx.snap +0 -167
  288. package/src/Authenticator/hooks/useFieldValues/__tests__/useFieldValues.spec.ts +0 -399
  289. package/src/Authenticator/hooks/useFieldValues/__tests__/utils.spec.ts +0 -282
  290. package/src/InAppMessaging/components/BannerMessage/__tests__/BannerMessage.spec.tsx +0 -151
  291. package/src/InAppMessaging/components/BannerMessage/__tests__/__snapshots__/BannerMessage.spec.tsx.snap +0 -618
  292. package/src/InAppMessaging/components/CarouselMessage/__tests__/CarouselMessage.spec.tsx +0 -92
  293. package/src/InAppMessaging/components/CarouselMessage/__tests__/CarouselMessageItem.spec.tsx +0 -50
  294. package/src/InAppMessaging/components/CarouselMessage/__tests__/__snapshots__/CarouselMessage.spec.tsx.snap +0 -124
  295. package/src/InAppMessaging/components/CarouselMessage/__tests__/__snapshots__/CarouselMessageItem.spec.tsx.snap +0 -248
  296. package/src/InAppMessaging/components/FullScreenMessage/__tests__/FullScreenMessage.spec.tsx +0 -53
  297. package/src/InAppMessaging/components/FullScreenMessage/__tests__/__snapshots__/FullScreenMessage.spec.tsx.snap +0 -238
  298. package/src/InAppMessaging/components/InAppMessageDisplay/__tests__/InAppMessageDisplay.spec.tsx +0 -34
  299. package/src/InAppMessaging/components/InAppMessageDisplay/__tests__/__snapshots__/InAppMessageDisplay.spec.tsx.snap +0 -9
  300. package/src/InAppMessaging/components/InAppMessageDisplay/__tests__/handleMessageLinkAction.spec.ts +0 -51
  301. package/src/InAppMessaging/components/MessageWrapper/__tests__/MessageWrapper.spec.tsx +0 -19
  302. package/src/InAppMessaging/components/MessageWrapper/__tests__/__snapshots__/MessageWrapper.spec.tsx.snap +0 -35
  303. package/src/InAppMessaging/components/ModalMessage/__tests__/ModalMessage.spec.tsx +0 -169
  304. package/src/InAppMessaging/components/ModalMessage/__tests__/__snapshots__/ModalMessage.spec.tsx.snap +0 -727
  305. package/src/InAppMessaging/components/withInAppMessaging/__tests__/__snapshots__/withInAppMessaging.spec.tsx.snap +0 -3
  306. package/src/InAppMessaging/components/withInAppMessaging/__tests__/withInAppMessaging.spec.tsx +0 -15
  307. package/src/InAppMessaging/hooks/useMessageImage/__tests__/useMessageImage.spec.ts +0 -141
  308. package/src/InAppMessaging/hooks/useMessageImage/__tests__/utils.spec.ts +0 -107
  309. package/src/InAppMessaging/hooks/useMessageProps/__tests__/__snapshots__/utils.spec.ts.snap +0 -223
  310. package/src/InAppMessaging/hooks/useMessageProps/__tests__/useMessageProps.spec.ts +0 -162
  311. package/src/InAppMessaging/hooks/useMessageProps/__tests__/utils.spec.ts +0 -355
  312. package/src/__mocks__/@react-native-async-storage/async-storage.ts +0 -2
  313. package/src/__mocks__/@react-native-community/netinfo.ts +0 -3
  314. package/src/__mocks__/react-native-safe-area-context.ts +0 -9
  315. package/src/__tests__/__snapshots__/index.spec.ts.snap +0 -26
  316. package/src/__tests__/index.spec.ts +0 -8
  317. package/src/hooks/useDeprecationWarning/__tests__/useDeprecationWarning.spec.ts +0 -42
  318. package/src/hooks/useDeviceOrientation/__tests__/useDeviceOrientation.spec.ts +0 -89
  319. package/src/hooks/usePressableContainerStyles/__tests__/usePressableContainerStyles.spec.ts +0 -68
  320. package/src/primitives/Button/__tests__/Button.spec.tsx +0 -92
  321. package/src/primitives/Button/__tests__/__snapshots__/Button.spec.tsx.snap +0 -143
  322. package/src/primitives/Carousel/__tests__/Carousel.spec.tsx +0 -174
  323. package/src/primitives/Carousel/__tests__/CarouselPageIndicator.spec.tsx +0 -73
  324. package/src/primitives/Carousel/__tests__/__snapshots__/Carousel.spec.tsx.snap +0 -310
  325. package/src/primitives/Carousel/__tests__/__snapshots__/CarouselPageIndicator.spec.tsx.snap +0 -191
  326. package/src/primitives/Checkbox/__tests__/Checkbox.spec.tsx +0 -150
  327. package/src/primitives/Checkbox/__tests__/__snapshots__/Checkbox.spec.tsx.snap +0 -527
  328. package/src/primitives/Divider/__tests__/Divider.spec.tsx +0 -50
  329. package/src/primitives/Divider/__tests__/__snapshots__/Divider.spec.tsx.snap +0 -165
  330. package/src/primitives/ErrorMessage/__tests__/ErrorMessage.spec.tsx +0 -60
  331. package/src/primitives/ErrorMessage/__tests__/__snapshots__/ErrorMessage.spec.tsx.snap +0 -123
  332. package/src/primitives/Heading/__tests__/Heading.spec.tsx +0 -73
  333. package/src/primitives/Heading/__tests__/__snapshots__/Heading.spec.tsx.snap +0 -171
  334. package/src/primitives/Icon/__tests__/Icon.spec.tsx +0 -100
  335. package/src/primitives/Icon/__tests__/__snapshots__/Icon.spec.tsx.snap +0 -139
  336. package/src/primitives/IconButton/__tests__/IconButton.spec.tsx +0 -71
  337. package/src/primitives/IconButton/__tests__/__snapshots__/IconButton.spec.tsx.snap +0 -192
  338. package/src/primitives/Label/__tests__/Label.spec.tsx +0 -75
  339. package/src/primitives/Label/__tests__/__snapshots__/Label.spec.tsx.snap +0 -91
  340. package/src/primitives/PasswordField/__tests__/PasswordField.spec.tsx +0 -110
  341. package/src/primitives/PasswordField/__tests__/__snapshots__/PasswordField.spec.tsx.snap +0 -620
  342. package/src/primitives/PhoneNumberField/__tests__/PhoneNumberField.spec.tsx +0 -53
  343. package/src/primitives/PhoneNumberField/__tests__/__snapshots__/PhoneNumberField.spec.tsx.snap +0 -182
  344. package/src/primitives/Radio/__tests__/Radio.spec.tsx +0 -166
  345. package/src/primitives/Radio/__tests__/__snapshots__/Radio.spec.tsx.snap +0 -678
  346. package/src/primitives/RadioGroup/__tests__/RadioGroup.spec.tsx +0 -183
  347. package/src/primitives/RadioGroup/__tests__/__snapshots__/RadioGroup.spec.tsx.snap +0 -1789
  348. package/src/primitives/Tabs/__tests__/Tab.spec.tsx +0 -75
  349. package/src/primitives/Tabs/__tests__/Tabs.spec.tsx +0 -81
  350. package/src/primitives/Tabs/__tests__/__snapshots__/Tab.spec.tsx.snap +0 -278
  351. package/src/primitives/Tabs/__tests__/__snapshots__/Tabs.spec.tsx.snap +0 -163
  352. package/src/primitives/TextField/__tests__/TextField.spec.tsx +0 -202
  353. package/src/primitives/TextField/__tests__/__snapshots__/TextField.spec.tsx.snap +0 -501
  354. package/src/theme/__tests__/ThemeProvider.spec.tsx +0 -23
  355. package/src/theme/__tests__/__snapshots__/useTheme.spec.tsx.snap +0 -226
  356. package/src/theme/__tests__/createTheme.spec.ts +0 -244
  357. package/src/theme/__tests__/useTheme.spec.tsx +0 -51
  358. package/tsconfig.dist.json +0 -4
  359. package/tsconfig.json +0 -9
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./useFieldValues"), exports);
5
+ tslib_1.__exportStar(require("./types"), exports);
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KEY_ALLOW_LIST = void 0;
4
+ // machine keys used with default fields that should be used with UI
5
+ exports.KEY_ALLOW_LIST = [
6
+ 'label',
7
+ 'placeholder',
8
+ 'required',
9
+ 'isRequired',
10
+ 'type',
11
+ ];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getRouteTypedFields = exports.useFieldValues = void 0;
7
+ var useFieldValues_1 = require("./useFieldValues");
8
+ Object.defineProperty(exports, "useFieldValues", { enumerable: true, get: function () { return __importDefault(useFieldValues_1).default; } });
9
+ var utils_1 = require("./utils");
10
+ Object.defineProperty(exports, "getRouteTypedFields", { enumerable: true, get: function () { return utils_1.getRouteTypedFields; } });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const react_1 = require("react");
4
+ const aws_amplify_1 = require("aws-amplify");
5
+ const utils_1 = require("./utils");
6
+ const logger = new aws_amplify_1.Logger('Authenticator');
7
+ function useFieldValues({ componentName, fields = [], handleBlur, handleChange, handleSubmit, validationErrors, }) {
8
+ const [values, setValues] = (0, react_1.useState)({});
9
+ const [touched, setTouched] = (0, react_1.useState)({});
10
+ const [fieldValidationErrors, setFieldValidationErrors] = (0, react_1.useState)({});
11
+ const isRadioFieldComponent = componentName === 'VerifyUser';
12
+ const sanitizedFields = (0, react_1.useMemo)(() => {
13
+ if (!Array.isArray(fields)) {
14
+ logger.warn(`Invalid fields type of ${typeof fields} passed to ${componentName}. fields must be of type array.`);
15
+ return [];
16
+ }
17
+ if (isRadioFieldComponent) {
18
+ return (0, utils_1.getSanitizedRadioFields)(fields, componentName);
19
+ }
20
+ return (0, utils_1.getSanitizedTextFields)(fields, componentName);
21
+ }, [componentName, fields, isRadioFieldComponent]);
22
+ const fieldsWithHandlers = sanitizedFields.map((field) => {
23
+ if ((0, utils_1.isRadioFieldOptions)(field)) {
24
+ const onChange = (value) => {
25
+ // call `onChange` passed as radio `field` option
26
+ field.onChange?.(value);
27
+ // set `name` as value of 'unverifiedAttr'
28
+ setValues({ unverifiedAttr: value });
29
+ };
30
+ return { ...field, onChange };
31
+ }
32
+ const { name, label, labelHidden, ...rest } = field;
33
+ const onBlur = (event) => {
34
+ setTouched({ ...touched, [name]: true });
35
+ // call `onBlur` passed as text `field` option
36
+ field.onBlur?.(event);
37
+ // call machine blur handler
38
+ handleBlur({ name, value: values[name] });
39
+ setFieldValidationErrors({
40
+ ...fieldValidationErrors,
41
+ [name]: (0, utils_1.runFieldValidation)(field, values[name], validationErrors),
42
+ });
43
+ };
44
+ const onChangeText = (value) => {
45
+ // call `onChangeText` passed as text `field` option
46
+ field.onChangeText?.(value);
47
+ // call machine change handler
48
+ handleChange({ name, value });
49
+ if (touched[name]) {
50
+ setFieldValidationErrors({
51
+ ...fieldValidationErrors,
52
+ [name]: (0, utils_1.runFieldValidation)(field, value, validationErrors),
53
+ });
54
+ }
55
+ setValues({ ...values, [name]: value });
56
+ };
57
+ return {
58
+ ...rest,
59
+ label: labelHidden ? undefined : label,
60
+ onBlur,
61
+ onChangeText,
62
+ name,
63
+ value: values[name],
64
+ };
65
+ });
66
+ const disableFormSubmit = isRadioFieldComponent
67
+ ? !values.unverifiedAttr
68
+ : fieldsWithHandlers.some(({ required, value }) => {
69
+ if (!required) {
70
+ return false;
71
+ }
72
+ if (value) {
73
+ return false;
74
+ }
75
+ return true;
76
+ });
77
+ const handleFormSubmit = () => {
78
+ const submitValue = isRadioFieldComponent
79
+ ? values
80
+ : fieldsWithHandlers.reduce((acc, { name, value = '', type }) => {
81
+ /*
82
+ For phone numbers pass the first 3 charactes from value as dialCode until we support a dialCode picker
83
+ */
84
+ return type === 'phone'
85
+ ? {
86
+ ...acc,
87
+ country_code: value?.substring(0, 3),
88
+ [name]: value?.substring(3, value.length),
89
+ }
90
+ : { ...acc, [name]: value };
91
+ }, {});
92
+ handleSubmit?.(submitValue);
93
+ };
94
+ return {
95
+ fields: fieldsWithHandlers,
96
+ disableFormSubmit,
97
+ fieldValidationErrors: { ...fieldValidationErrors, ...validationErrors },
98
+ handleFormSubmit,
99
+ };
100
+ }
101
+ exports.default = useFieldValues;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runFieldValidation = exports.getRouteTypedFields = exports.getTypedFields = exports.getTypedField = exports.getSanitizedTextFields = exports.getSanitizedRadioFields = exports.isRadioFieldOptions = void 0;
4
+ const aws_amplify_1 = require("aws-amplify");
5
+ const ui_1 = require("@aws-amplify/ui");
6
+ const ui_react_core_1 = require("@aws-amplify/ui-react-core");
7
+ const constants_1 = require("./constants");
8
+ const logger = new aws_amplify_1.Logger('Authenticator');
9
+ const { getInvalidEmailText, getRequiredFieldText } = ui_1.authenticatorTextUtil;
10
+ const isRadioFieldOptions = (field) => field?.type === 'radio';
11
+ exports.isRadioFieldOptions = isRadioFieldOptions;
12
+ const getSanitizedRadioFields = (fields, componentName) => {
13
+ const values = {};
14
+ return fields.filter((field) => {
15
+ if (!(0, exports.isRadioFieldOptions)(field)) {
16
+ logger.warn(`${componentName} component does not support text fields. field with type ${field.type} has been ignored.`);
17
+ return false;
18
+ }
19
+ const { name, value } = field;
20
+ if (!value) {
21
+ logger.warn('Each radio field must have a value. field has been ignored.');
22
+ return false;
23
+ }
24
+ if (values[value]) {
25
+ logger.warn(`Each radio field value must be unique. field with duplicate value of ${value} has been ignored.`);
26
+ return false;
27
+ }
28
+ if (!(0, ui_1.isUnverifiedContactMethodType)(name)) {
29
+ logger.warn(`field with name '${name}' has been ignored. Supported values are: ${Object.values(ui_1.UnverifiedContactMethodType)}.`);
30
+ return false;
31
+ }
32
+ // add `value` key to `values`
33
+ values[value] = true;
34
+ return true;
35
+ });
36
+ };
37
+ exports.getSanitizedRadioFields = getSanitizedRadioFields;
38
+ const getSanitizedTextFields = (fields, componentName) => {
39
+ const names = {};
40
+ return fields.filter((field) => {
41
+ if ((0, exports.isRadioFieldOptions)(field)) {
42
+ logger.warn(`${componentName} component does not support radio fields. field has been ignored.`);
43
+ return false;
44
+ }
45
+ const { name } = field;
46
+ if (!name) {
47
+ logger.warn('Each field must have a name. field has been ignored.');
48
+ return false;
49
+ }
50
+ if (names[name]) {
51
+ logger.warn(`Each field name must be unique. field with duplicate name of ${name} has been ignored.`);
52
+ return false;
53
+ }
54
+ names[name] = true;
55
+ return true;
56
+ });
57
+ };
58
+ exports.getSanitizedTextFields = getSanitizedTextFields;
59
+ // typed fields utils
60
+ const isKeyAllowed = (key) => constants_1.KEY_ALLOW_LIST.some((allowedKey) => allowedKey === key);
61
+ const isValidMachineFieldType = (type) => type === 'password' || type === 'tel' || type == 'email';
62
+ const getFieldType = (type) => {
63
+ if (isValidMachineFieldType(type)) {
64
+ return type === 'tel' ? 'phone' : type;
65
+ }
66
+ return 'default';
67
+ };
68
+ /**
69
+ * Translate machine fields to typed fields
70
+ *
71
+ * @param {AuthenticatorLegacyField} field machine field option object
72
+ * @returns {TypedField} UI field props object
73
+ */
74
+ const getTypedField = ({ type: machineFieldType, name, ...field }) => {
75
+ const type = getFieldType(machineFieldType);
76
+ const testID = `authenticator__text-field__input-${name}`;
77
+ return Object.entries(field).reduce((acc, [key, value]) => {
78
+ // early return if key is not allowed
79
+ if (!isKeyAllowed(key)) {
80
+ return acc;
81
+ }
82
+ // map to `required` prop
83
+ if (key === 'isRequired' || key === 'required') {
84
+ // `TypedField` props expects `required` key
85
+ return { ...acc, required: value, testID };
86
+ }
87
+ return { ...acc, [key]: value, testID };
88
+ },
89
+ // initialize `acc` with field `name` and `type`
90
+ { name, type });
91
+ };
92
+ exports.getTypedField = getTypedField;
93
+ /**
94
+ * @param {AuthenticatorLegacyField[]} fields machine field options array
95
+ * @returns {TypedField[]} UI field props array
96
+ */
97
+ const getTypedFields = (fields) => fields?.map(exports.getTypedField);
98
+ exports.getTypedFields = getTypedFields;
99
+ function getRouteTypedFields({ fields, route, }) {
100
+ const isComponentRoute = (0, ui_react_core_1.isAuthenticatorComponentRouteKey)(route);
101
+ if (!isComponentRoute) {
102
+ return [];
103
+ }
104
+ // `VerifyUser` does not require additional updates to the shape of `fields`
105
+ const isVerifyUserRoute = route === 'verifyUser';
106
+ const radioFields = fields;
107
+ return isVerifyUserRoute ? radioFields : (0, exports.getTypedFields)(fields);
108
+ }
109
+ exports.getRouteTypedFields = getRouteTypedFields;
110
+ /**
111
+ *
112
+ * @param {TextFieldOptionsType} field text field type
113
+ * @param {string | undefined} value text field value
114
+ * @param {string[]} stateValidations validation errors array from state machine
115
+ * @returns {string[]} field errors array
116
+ */
117
+ const runFieldValidation = (field, value, stateValidations) => {
118
+ const fieldErrors = [];
119
+ if (field.required && !value) {
120
+ fieldErrors.push(getRequiredFieldText());
121
+ }
122
+ if (field.type === 'email') {
123
+ if (!(0, ui_1.isValidEmail)(value)) {
124
+ fieldErrors.push(getInvalidEmailText());
125
+ }
126
+ }
127
+ // add state machine validation errors, if any
128
+ const stateFieldValidation = stateValidations?.[field.name];
129
+ if (stateFieldValidation) {
130
+ if ((0, ui_1.isString)(stateFieldValidation)) {
131
+ fieldErrors.push(stateFieldValidation);
132
+ }
133
+ else {
134
+ return fieldErrors.concat(stateFieldValidation);
135
+ }
136
+ }
137
+ return fieldErrors;
138
+ };
139
+ exports.runFieldValidation = runFieldValidation;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.useAuthenticator = exports.withAuthenticator = exports.Authenticator = void 0;
7
+ var Authenticator_1 = require("./Authenticator");
8
+ Object.defineProperty(exports, "Authenticator", { enumerable: true, get: function () { return __importDefault(Authenticator_1).default; } });
9
+ var withAuthenticator_1 = require("./withAuthenticator");
10
+ Object.defineProperty(exports, "withAuthenticator", { enumerable: true, get: function () { return __importDefault(withAuthenticator_1).default; } });
11
+ // re-export shared `Authenticator` exports
12
+ var ui_react_core_1 = require("@aws-amplify/ui-react-core");
13
+ Object.defineProperty(exports, "useAuthenticator", { enumerable: true, get: function () { return ui_react_core_1.useAuthenticator; } });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const Authenticator_1 = tslib_1.__importDefault(require("./Authenticator"));
6
+ function withAuthenticator(Component, options = {}) {
7
+ return function WrappedWithAuthenticator(props) {
8
+ return (<Authenticator_1.default.Provider>
9
+ <Authenticator_1.default {...options}>
10
+ <Component {...props}/>
11
+ </Authenticator_1.default>
12
+ </Authenticator_1.default.Provider>);
13
+ };
14
+ }
15
+ exports.default = withAuthenticator;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const hooks_1 = require("../../hooks");
6
+ const MessageWrapper_1 = require("../MessageWrapper");
7
+ const MessageLayout_1 = require("../MessageLayout");
8
+ const styles_1 = require("./styles");
9
+ function BannerMessage({ position = 'top', ...props }) {
10
+ const messageProps = (0, hooks_1.useMessageProps)(props, (imageDimensions) => (0, styles_1.getStyles)(imageDimensions, { position: { ...styles_1.positionStyle[position] } }));
11
+ const { shouldRenderMessage, styles } = messageProps;
12
+ if (!shouldRenderMessage) {
13
+ return null;
14
+ }
15
+ const { wrapper, ...messageStyles } = styles;
16
+ return (<MessageWrapper_1.MessageWrapper style={wrapper}>
17
+ <MessageLayout_1.MessageLayout {...props} {...messageProps} orientation="landscape" styles={messageStyles} testID={`inappmessaging-${position}banner-dialog`}/>
18
+ </MessageWrapper_1.MessageWrapper>);
19
+ }
20
+ exports.default = BannerMessage;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.BannerMessage = void 0;
7
+ var BannerMessage_1 = require("./BannerMessage");
8
+ Object.defineProperty(exports, "BannerMessage", { enumerable: true, get: function () { return __importDefault(BannerMessage_1).default; } });
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getStyles = exports.positionStyle = void 0;
4
+ const constants_1 = require("../../constants");
5
+ exports.positionStyle = {
6
+ bottom: {
7
+ justifyContent: 'flex-end',
8
+ },
9
+ middle: {
10
+ justifyContent: 'center',
11
+ },
12
+ top: {
13
+ justifyContent: 'flex-start',
14
+ },
15
+ };
16
+ const getStyles = (imageDimensions, additionalStyle) => ({
17
+ body: {
18
+ fontSize: constants_1.FONT_SIZE_BASE,
19
+ fontWeight: constants_1.FONT_WEIGHT_BASE,
20
+ lineHeight: constants_1.LINE_HEIGHT_BASE,
21
+ },
22
+ buttonContainer: {
23
+ backgroundColor: constants_1.COLOR_LIGHT_GREY,
24
+ borderRadius: constants_1.BORDER_RADIUS_BASE,
25
+ flex: 1,
26
+ margin: constants_1.SPACING_MEDIUM,
27
+ padding: constants_1.SPACING_LARGE,
28
+ },
29
+ buttonsContainer: {
30
+ flexDirection: 'row',
31
+ justifyContent: 'center',
32
+ padding: constants_1.SPACING_SMALL,
33
+ },
34
+ buttonText: {
35
+ fontSize: constants_1.FONT_SIZE_BASE,
36
+ fontWeight: constants_1.FONT_WEIGHT_BASE,
37
+ lineHeight: constants_1.LINE_HEIGHT_BASE,
38
+ textAlign: 'center',
39
+ },
40
+ container: {
41
+ backgroundColor: constants_1.COLOR_WHITE,
42
+ elevation: constants_1.MESSAGE_ELEVATION,
43
+ margin: constants_1.SPACING_EXTRA_LARGE,
44
+ shadowColor: constants_1.COLOR_BLACK,
45
+ shadowOffset: {
46
+ width: constants_1.MESSAGE_SHADOW_WIDTH,
47
+ height: constants_1.MESSAGE_SHADOW_HEIGHT,
48
+ },
49
+ shadowOpacity: constants_1.MESSAGE_SHADOW_OPACITY,
50
+ shadowRadius: constants_1.MESSAGE_SHADOW_RADIUS,
51
+ },
52
+ contentContainer: {
53
+ flexDirection: 'row',
54
+ padding: constants_1.SPACING_LARGE,
55
+ },
56
+ header: {
57
+ fontSize: constants_1.FONT_SIZE_LARGE,
58
+ fontWeight: constants_1.FONT_WEIGHT_BOLD,
59
+ lineHeight: constants_1.LINE_HEIGHT_LARGE,
60
+ },
61
+ iconButton: {
62
+ alignSelf: 'flex-start',
63
+ marginLeft: 'auto',
64
+ },
65
+ image: {
66
+ ...imageDimensions,
67
+ },
68
+ imageContainer: {
69
+ justifyContent: 'center',
70
+ },
71
+ textContainer: {
72
+ flex: 1,
73
+ paddingHorizontal: constants_1.SPACING_MEDIUM,
74
+ },
75
+ wrapper: {
76
+ ...additionalStyle?.position,
77
+ backgroundColor: 'transparent',
78
+ flex: 1,
79
+ },
80
+ });
81
+ exports.getStyles = getStyles;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importStar(require("react"));
5
+ const primitives_1 = require("../../../primitives");
6
+ const constants_1 = require("../../constants");
7
+ const MessageWrapper_1 = require("../MessageWrapper");
8
+ const CarouselMessageItem_1 = tslib_1.__importDefault(require("./CarouselMessageItem"));
9
+ const styles_1 = require("./styles");
10
+ function CarouselMessage(props) {
11
+ const { data, ...rest } = props;
12
+ const { style } = rest;
13
+ const indicatorStyle = (0, react_1.useMemo)(() => ({
14
+ active: [styles_1.defaultStyle.pageIndicatorActive, style?.pageIndicatorActive],
15
+ inactive: [
16
+ styles_1.defaultStyle.pageIndicatorInactive,
17
+ style?.pageIndicatorInactive,
18
+ ],
19
+ }), [style]);
20
+ const renderItem = ({ item }) => (<CarouselMessageItem_1.default {...item} {...rest}/>);
21
+ return (<MessageWrapper_1.MessageWrapper disableSafeAreaView>
22
+ <primitives_1.Carousel data={data ?? []} renderItem={renderItem} indicatorActiveStyle={indicatorStyle.active} indicatorInactiveStyle={indicatorStyle.inactive} testID={constants_1.IN_APP_MESSAGING_TEST_ID.CAROUSEL}/>
23
+ </MessageWrapper_1.MessageWrapper>);
24
+ }
25
+ exports.default = CarouselMessage;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const react_native_safe_area_context_1 = require("react-native-safe-area-context");
6
+ const hooks_1 = require("../../../hooks");
7
+ const hooks_2 = require("../../hooks");
8
+ const MessageLayout_1 = require("../MessageLayout");
9
+ const styles_1 = require("./styles");
10
+ function CarouselMessageItem(props) {
11
+ const { deviceOrientation, isPortraitMode } = (0, hooks_1.useDeviceOrientation)();
12
+ const messageProps = (0, hooks_2.useMessageProps)(props, isPortraitMode ? styles_1.getPortraitStyles : styles_1.getLandscapeStyles);
13
+ const { shouldRenderMessage, styles } = messageProps;
14
+ if (!shouldRenderMessage) {
15
+ return null;
16
+ }
17
+ const { wrapper, ...messageStyles } = styles;
18
+ return (<react_native_safe_area_context_1.SafeAreaView style={wrapper}>
19
+ <MessageLayout_1.MessageLayout {...props} {...messageProps} orientation={deviceOrientation} styles={messageStyles}/>
20
+ </react_native_safe_area_context_1.SafeAreaView>);
21
+ }
22
+ exports.default = CarouselMessageItem;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CarouselMessage = void 0;
7
+ var CarouselMessage_1 = require("./CarouselMessage");
8
+ Object.defineProperty(exports, "CarouselMessage", { enumerable: true, get: function () { return __importDefault(CarouselMessage_1).default; } });
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLandscapeStyles = exports.getPortraitStyles = exports.defaultStyle = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const constants_1 = require("../../constants");
6
+ exports.defaultStyle = react_native_1.StyleSheet.create({
7
+ pageIndicatorActive: {
8
+ backgroundColor: constants_1.COLOR_GREY,
9
+ borderRadius: constants_1.SPACING_LARGE / 2,
10
+ height: constants_1.SPACING_LARGE,
11
+ margin: constants_1.SPACING_SMALL,
12
+ width: constants_1.SPACING_LARGE,
13
+ },
14
+ pageIndicatorInactive: {
15
+ backgroundColor: constants_1.COLOR_LIGHT_GREY_2,
16
+ borderRadius: constants_1.SPACING_LARGE / 2,
17
+ height: constants_1.SPACING_LARGE,
18
+ margin: constants_1.SPACING_SMALL,
19
+ width: constants_1.SPACING_LARGE,
20
+ },
21
+ });
22
+ const commonStyles = {
23
+ body: {
24
+ fontSize: constants_1.FONT_SIZE_BASE,
25
+ fontWeight: constants_1.FONT_WEIGHT_BASE,
26
+ lineHeight: constants_1.LINE_HEIGHT_BASE,
27
+ },
28
+ buttonContainer: {
29
+ backgroundColor: constants_1.COLOR_LIGHT_GREY,
30
+ borderRadius: constants_1.BORDER_RADIUS_BASE,
31
+ flex: 1,
32
+ margin: constants_1.SPACING_MEDIUM,
33
+ padding: constants_1.SPACING_LARGE,
34
+ },
35
+ buttonsContainer: {
36
+ flexDirection: 'row',
37
+ justifyContent: 'center',
38
+ },
39
+ buttonText: {
40
+ fontSize: constants_1.FONT_SIZE_BASE,
41
+ fontWeight: constants_1.FONT_WEIGHT_BASE,
42
+ lineHeight: constants_1.LINE_HEIGHT_BASE,
43
+ textAlign: 'center',
44
+ },
45
+ container: {
46
+ flex: 1,
47
+ padding: constants_1.SPACING_EXTRA_LARGE,
48
+ },
49
+ contentContainer: {
50
+ flex: 1,
51
+ },
52
+ header: {
53
+ fontSize: constants_1.FONT_SIZE_LARGE,
54
+ fontWeight: constants_1.FONT_WEIGHT_BOLD,
55
+ lineHeight: constants_1.LINE_HEIGHT_LARGE,
56
+ },
57
+ iconButton: {
58
+ alignSelf: 'flex-start',
59
+ marginBottom: constants_1.SPACING_MEDIUM,
60
+ marginLeft: 'auto',
61
+ marginRight: constants_1.SPACING_MEDIUM,
62
+ },
63
+ imageContainer: {
64
+ alignItems: 'center',
65
+ margin: constants_1.SPACING_LARGE,
66
+ },
67
+ textContainer: {
68
+ paddingHorizontal: constants_1.SPACING_MEDIUM,
69
+ },
70
+ wrapper: {
71
+ backgroundColor: constants_1.COLOR_WHITE,
72
+ flex: 1,
73
+ },
74
+ };
75
+ const getPortraitStyles = (imageDimensions) => react_native_1.StyleSheet.create({
76
+ ...commonStyles,
77
+ image: { ...imageDimensions },
78
+ textContainer: {
79
+ ...commonStyles.textContainer,
80
+ marginVertical: constants_1.SPACING_LARGE,
81
+ },
82
+ });
83
+ exports.getPortraitStyles = getPortraitStyles;
84
+ const getLandscapeStyles = (imageDimensions) => react_native_1.StyleSheet.create({
85
+ ...commonStyles,
86
+ contentContainer: {
87
+ ...commonStyles.contentContainer,
88
+ alignContent: 'center',
89
+ justifyContent: 'center',
90
+ flexDirection: 'row',
91
+ },
92
+ image: { ...imageDimensions },
93
+ imageContainer: {
94
+ ...commonStyles.imageContainer,
95
+ justifyContent: 'center',
96
+ },
97
+ textContainer: {
98
+ ...commonStyles.textContainer,
99
+ flex: 1,
100
+ justifyContent: 'center',
101
+ },
102
+ });
103
+ exports.getLandscapeStyles = getLandscapeStyles;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const react_1 = tslib_1.__importDefault(require("react"));
5
+ const hooks_1 = require("../../../hooks");
6
+ const hooks_2 = require("../../hooks");
7
+ const MessageLayout_1 = require("../MessageLayout");
8
+ const MessageWrapper_1 = require("../MessageWrapper");
9
+ const styles_1 = require("./styles");
10
+ function FullScreenMessage(props) {
11
+ const { deviceOrientation, isPortraitMode } = (0, hooks_1.useDeviceOrientation)();
12
+ const messageProps = (0, hooks_2.useMessageProps)(props, isPortraitMode ? styles_1.getPortraitStyles : styles_1.getLandscapeStyles);
13
+ const { shouldRenderMessage, styles } = messageProps;
14
+ if (!shouldRenderMessage) {
15
+ return null;
16
+ }
17
+ const { wrapper, ...messageStyles } = styles;
18
+ return (<MessageWrapper_1.MessageWrapper style={wrapper}>
19
+ <MessageLayout_1.MessageLayout {...props} {...messageProps} orientation={deviceOrientation} styles={messageStyles} testID={`inappmessaging-fullscreen-dialog`}/>
20
+ </MessageWrapper_1.MessageWrapper>);
21
+ }
22
+ exports.default = FullScreenMessage;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FullScreenMessage = void 0;
7
+ var FullScreenMessage_1 = require("./FullScreenMessage");
8
+ Object.defineProperty(exports, "FullScreenMessage", { enumerable: true, get: function () { return __importDefault(FullScreenMessage_1).default; } });