@aws-amplify/ui-react-native 1.2.22 → 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 (351) hide show
  1. package/dist/version.d.ts +1 -1
  2. package/dist/version.js +1 -1
  3. package/lib/Authenticator/Authenticator.js +72 -0
  4. package/lib/Authenticator/Defaults/ConfirmResetPassword/ConfirmResetPassword.js +43 -0
  5. package/lib/Authenticator/Defaults/ConfirmResetPassword/index.js +8 -0
  6. package/lib/Authenticator/Defaults/ConfirmSignIn/ConfirmSignIn.js +42 -0
  7. package/lib/Authenticator/Defaults/ConfirmSignIn/index.js +8 -0
  8. package/lib/Authenticator/Defaults/ConfirmSignUp/ConfirmSignUp.js +43 -0
  9. package/lib/Authenticator/Defaults/ConfirmSignUp/index.js +8 -0
  10. package/lib/Authenticator/Defaults/ConfirmVerifyUser/ConfirmVerifyUser.js +42 -0
  11. package/lib/Authenticator/Defaults/ConfirmVerifyUser/index.js +8 -0
  12. package/lib/Authenticator/Defaults/ForceNewPassword/ForceNewPassword.js +45 -0
  13. package/lib/Authenticator/Defaults/ForceNewPassword/index.js +8 -0
  14. package/lib/Authenticator/Defaults/ResetPassword/ResetPassword.js +42 -0
  15. package/lib/Authenticator/Defaults/ResetPassword/index.js +8 -0
  16. package/lib/Authenticator/Defaults/SetupTOTP/SetupTOTP.js +52 -0
  17. package/lib/Authenticator/Defaults/SetupTOTP/index.js +8 -0
  18. package/lib/Authenticator/Defaults/SetupTOTP/styles.js +8 -0
  19. package/lib/Authenticator/Defaults/SignIn/SignIn.js +50 -0
  20. package/lib/Authenticator/Defaults/SignIn/index.js +8 -0
  21. package/lib/Authenticator/Defaults/SignUp/SignUp.js +48 -0
  22. package/lib/Authenticator/Defaults/SignUp/index.js +8 -0
  23. package/lib/Authenticator/Defaults/VerifyUser/VerifyUser.js +33 -0
  24. package/lib/Authenticator/Defaults/VerifyUser/index.js +8 -0
  25. package/lib/Authenticator/Defaults/index.js +23 -0
  26. package/lib/Authenticator/Defaults/types.js +2 -0
  27. package/lib/Authenticator/common/DefaultContainer/DefaultContainer.js +37 -0
  28. package/lib/Authenticator/common/DefaultContainer/InnerContainer.js +15 -0
  29. package/lib/Authenticator/common/DefaultContainer/index.js +10 -0
  30. package/lib/Authenticator/common/DefaultContainer/styles.js +31 -0
  31. package/lib/Authenticator/common/DefaultContainer/types.js +2 -0
  32. package/lib/Authenticator/common/DefaultContent/DefaultContent.js +33 -0
  33. package/lib/Authenticator/common/DefaultContent/index.js +8 -0
  34. package/lib/Authenticator/common/DefaultContent/styles.js +54 -0
  35. package/lib/Authenticator/common/DefaultContent/types.js +2 -0
  36. package/lib/Authenticator/common/DefaultFooter/DefaultFooter.js +9 -0
  37. package/lib/Authenticator/common/DefaultFooter/index.js +8 -0
  38. package/lib/Authenticator/common/DefaultFooter/types.js +2 -0
  39. package/lib/Authenticator/common/DefaultFormFields/DefaultRadioFormFields.js +28 -0
  40. package/lib/Authenticator/common/DefaultFormFields/DefaultTextFormFields.js +21 -0
  41. package/lib/Authenticator/common/DefaultFormFields/Field.js +37 -0
  42. package/lib/Authenticator/common/DefaultFormFields/FieldErrors.js +17 -0
  43. package/lib/Authenticator/common/DefaultFormFields/index.js +10 -0
  44. package/lib/Authenticator/common/DefaultFormFields/types.js +2 -0
  45. package/lib/Authenticator/common/DefaultHeader/DefaultHeader.js +11 -0
  46. package/lib/Authenticator/common/DefaultHeader/index.js +8 -0
  47. package/lib/Authenticator/common/DefaultHeader/types.js +2 -0
  48. package/lib/Authenticator/common/FederatedProviderButton/FederatedProviderButton.js +18 -0
  49. package/lib/Authenticator/common/FederatedProviderButton/index.js +8 -0
  50. package/lib/Authenticator/common/FederatedProviderButton/styles.js +21 -0
  51. package/lib/Authenticator/common/FederatedProviderButton/types.js +2 -0
  52. package/lib/Authenticator/common/FederatedProviderButtons/FederatedProviderButtons.js +26 -0
  53. package/lib/Authenticator/common/FederatedProviderButtons/index.js +8 -0
  54. package/lib/Authenticator/common/FederatedProviderButtons/styles.js +8 -0
  55. package/lib/Authenticator/common/FederatedProviderButtons/types.js +2 -0
  56. package/lib/Authenticator/common/index.js +10 -0
  57. package/lib/Authenticator/hooks/index.js +5 -0
  58. package/lib/Authenticator/hooks/types.js +2 -0
  59. package/lib/Authenticator/hooks/useFieldValues/constants.js +11 -0
  60. package/lib/Authenticator/hooks/useFieldValues/index.js +10 -0
  61. package/lib/Authenticator/hooks/useFieldValues/types.js +2 -0
  62. package/lib/Authenticator/hooks/useFieldValues/useFieldValues.js +101 -0
  63. package/lib/Authenticator/hooks/useFieldValues/utils.js +139 -0
  64. package/lib/Authenticator/index.js +13 -0
  65. package/lib/Authenticator/types.js +2 -0
  66. package/lib/Authenticator/withAuthenticator.js +15 -0
  67. package/lib/InAppMessaging/components/BannerMessage/BannerMessage.js +20 -0
  68. package/lib/InAppMessaging/components/BannerMessage/index.js +8 -0
  69. package/lib/InAppMessaging/components/BannerMessage/styles.js +81 -0
  70. package/lib/InAppMessaging/components/BannerMessage/types.js +2 -0
  71. package/lib/InAppMessaging/components/CarouselMessage/CarouselMessage.js +25 -0
  72. package/lib/InAppMessaging/components/CarouselMessage/CarouselMessageItem.js +22 -0
  73. package/lib/InAppMessaging/components/CarouselMessage/index.js +8 -0
  74. package/lib/InAppMessaging/components/CarouselMessage/styles.js +103 -0
  75. package/lib/InAppMessaging/components/CarouselMessage/types.js +2 -0
  76. package/lib/InAppMessaging/components/FullScreenMessage/FullScreenMessage.js +22 -0
  77. package/lib/InAppMessaging/components/FullScreenMessage/index.js +8 -0
  78. package/lib/InAppMessaging/components/FullScreenMessage/styles.js +91 -0
  79. package/lib/InAppMessaging/components/FullScreenMessage/types.js +2 -0
  80. package/lib/InAppMessaging/components/InAppMessageDisplay/InAppMessageDisplay.js +32 -0
  81. package/lib/InAppMessaging/components/InAppMessageDisplay/handleMessageLinkAction.js +26 -0
  82. package/lib/InAppMessaging/components/InAppMessageDisplay/index.js +8 -0
  83. package/lib/InAppMessaging/components/InAppMessageDisplay/types.js +2 -0
  84. package/lib/InAppMessaging/components/MessageLayout/MessageLayout.js +38 -0
  85. package/lib/InAppMessaging/components/MessageLayout/index.js +8 -0
  86. package/lib/InAppMessaging/components/MessageLayout/types.js +2 -0
  87. package/lib/InAppMessaging/components/MessageWrapper/MessageWrapper.js +24 -0
  88. package/lib/InAppMessaging/components/MessageWrapper/index.js +8 -0
  89. package/lib/InAppMessaging/components/MessageWrapper/styles.js +8 -0
  90. package/lib/InAppMessaging/components/MessageWrapper/types.js +2 -0
  91. package/lib/InAppMessaging/components/ModalMessage/ModalMessage.js +22 -0
  92. package/lib/InAppMessaging/components/ModalMessage/index.js +8 -0
  93. package/lib/InAppMessaging/components/ModalMessage/styles.js +104 -0
  94. package/lib/InAppMessaging/components/ModalMessage/types.js +2 -0
  95. package/lib/InAppMessaging/components/index.js +7 -0
  96. package/lib/InAppMessaging/components/withInAppMessaging/index.js +8 -0
  97. package/lib/InAppMessaging/components/withInAppMessaging/withInAppMessaging.js +15 -0
  98. package/lib/InAppMessaging/constants.js +48 -0
  99. package/lib/InAppMessaging/hooks/index.js +7 -0
  100. package/lib/InAppMessaging/hooks/useMessageImage/constants.js +21 -0
  101. package/lib/InAppMessaging/hooks/useMessageImage/index.js +8 -0
  102. package/lib/InAppMessaging/hooks/useMessageImage/types.js +9 -0
  103. package/lib/InAppMessaging/hooks/useMessageImage/useMessageImage.js +53 -0
  104. package/lib/InAppMessaging/hooks/useMessageImage/utils.js +61 -0
  105. package/lib/InAppMessaging/hooks/useMessageProps/index.js +8 -0
  106. package/lib/InAppMessaging/hooks/useMessageProps/types.js +2 -0
  107. package/lib/InAppMessaging/hooks/useMessageProps/useMessageProps.js +52 -0
  108. package/lib/InAppMessaging/hooks/useMessageProps/utils.js +201 -0
  109. package/lib/InAppMessaging/index.js +9 -0
  110. package/lib/assets/icons/amazonLogo.png +0 -0
  111. package/lib/assets/icons/amazonLogo@2x.png +0 -0
  112. package/lib/assets/icons/amazonLogo@3x.png +0 -0
  113. package/lib/assets/icons/appleLogo.png +0 -0
  114. package/lib/assets/icons/appleLogo@2x.png +0 -0
  115. package/lib/assets/icons/appleLogo@3x.png +0 -0
  116. package/lib/assets/icons/checkboxFilled.png +0 -0
  117. package/lib/assets/icons/checkboxFilled@2x.png +0 -0
  118. package/lib/assets/icons/checkboxFilled@3x.png +0 -0
  119. package/lib/assets/icons/checkboxOutline.png +0 -0
  120. package/lib/assets/icons/checkboxOutline@2x.png +0 -0
  121. package/lib/assets/icons/checkboxOutline@3x.png +0 -0
  122. package/lib/assets/icons/close.png +0 -0
  123. package/lib/assets/icons/close@2x.png +0 -0
  124. package/lib/assets/icons/close@3x.png +0 -0
  125. package/lib/assets/icons/copy.png +0 -0
  126. package/lib/assets/icons/copy@2x.png +0 -0
  127. package/lib/assets/icons/copy@3x.png +0 -0
  128. package/lib/assets/icons/error.png +0 -0
  129. package/lib/assets/icons/error@2x.png +0 -0
  130. package/lib/assets/icons/error@3x.png +0 -0
  131. package/lib/assets/icons/facebookLogo.png +0 -0
  132. package/lib/assets/icons/facebookLogo@2x.png +0 -0
  133. package/lib/assets/icons/facebookLogo@3x.png +0 -0
  134. package/lib/assets/icons/googleLogo.png +0 -0
  135. package/lib/assets/icons/googleLogo@2x.png +0 -0
  136. package/lib/assets/icons/googleLogo@3x.png +0 -0
  137. package/lib/assets/icons/index.js +16 -0
  138. package/lib/assets/icons/index.ts +17 -0
  139. package/lib/assets/icons/visibilityOff.png +0 -0
  140. package/lib/assets/icons/visibilityOff@2x.png +0 -0
  141. package/lib/assets/icons/visibilityOff@3x.png +0 -0
  142. package/lib/assets/icons/visibilityOn.png +0 -0
  143. package/lib/assets/icons/visibilityOn@2x.png +0 -0
  144. package/lib/assets/icons/visibilityOn@3x.png +0 -0
  145. package/lib/assets/index.js +8 -0
  146. package/lib/hooks/index.js +9 -0
  147. package/lib/hooks/useDeprecationWarning/index.js +8 -0
  148. package/lib/hooks/useDeprecationWarning/useDeprecationWarning.js +13 -0
  149. package/lib/hooks/useDeviceOrientation/index.js +8 -0
  150. package/lib/hooks/useDeviceOrientation/useDeviceOrientation.js +37 -0
  151. package/lib/hooks/usePressableContainerStyles/index.js +5 -0
  152. package/lib/hooks/usePressableContainerStyles/usePressableContainerStyles.js +19 -0
  153. package/lib/index.js +14 -0
  154. package/lib/primitives/Button/Button.js +31 -0
  155. package/lib/primitives/Button/index.js +8 -0
  156. package/lib/primitives/Button/styles.js +55 -0
  157. package/lib/primitives/Button/types.js +2 -0
  158. package/lib/primitives/Carousel/Carousel.js +63 -0
  159. package/lib/primitives/Carousel/CarouselPageIndicator.js +14 -0
  160. package/lib/primitives/Carousel/constants.js +21 -0
  161. package/lib/primitives/Carousel/index.js +10 -0
  162. package/lib/primitives/Carousel/styles.js +14 -0
  163. package/lib/primitives/Carousel/types.js +2 -0
  164. package/lib/primitives/Checkbox/Checkbox.js +28 -0
  165. package/lib/primitives/Checkbox/index.js +8 -0
  166. package/lib/primitives/Checkbox/styles.js +28 -0
  167. package/lib/primitives/Checkbox/types.js +2 -0
  168. package/lib/primitives/Divider/Divider.js +22 -0
  169. package/lib/primitives/Divider/index.js +8 -0
  170. package/lib/primitives/Divider/styles.js +28 -0
  171. package/lib/primitives/Divider/types.js +2 -0
  172. package/lib/primitives/ErrorMessage/ErrorMessage.js +22 -0
  173. package/lib/primitives/ErrorMessage/index.js +8 -0
  174. package/lib/primitives/ErrorMessage/styles.js +30 -0
  175. package/lib/primitives/ErrorMessage/types.js +2 -0
  176. package/lib/primitives/Heading/Heading.js +15 -0
  177. package/lib/primitives/Heading/index.js +8 -0
  178. package/lib/primitives/Heading/styles.js +51 -0
  179. package/lib/primitives/Heading/types.js +2 -0
  180. package/lib/primitives/Icon/Icon.js +21 -0
  181. package/lib/primitives/Icon/constants.js +10 -0
  182. package/lib/primitives/Icon/index.js +10 -0
  183. package/lib/primitives/Icon/styles.js +34 -0
  184. package/lib/primitives/Icon/types.js +2 -0
  185. package/lib/primitives/IconButton/IconButton.js +26 -0
  186. package/lib/primitives/IconButton/index.js +8 -0
  187. package/lib/primitives/IconButton/styles.js +21 -0
  188. package/lib/primitives/IconButton/types.js +2 -0
  189. package/lib/primitives/Label/Label.js +16 -0
  190. package/lib/primitives/Label/index.js +8 -0
  191. package/lib/primitives/Label/styles.js +45 -0
  192. package/lib/primitives/Label/types.js +2 -0
  193. package/lib/primitives/Label/utils.js +25 -0
  194. package/lib/primitives/PasswordField/PasswordField.js +24 -0
  195. package/lib/primitives/PasswordField/index.js +8 -0
  196. package/lib/primitives/PasswordField/styles.js +17 -0
  197. package/lib/primitives/PasswordField/types.js +2 -0
  198. package/lib/primitives/PhoneNumberField/PhoneNumberField.js +13 -0
  199. package/lib/primitives/PhoneNumberField/index.js +8 -0
  200. package/lib/primitives/PhoneNumberField/styles.js +22 -0
  201. package/lib/primitives/PhoneNumberField/types.js +2 -0
  202. package/lib/primitives/Radio/Radio.js +46 -0
  203. package/lib/primitives/Radio/getRadioDimensions.js +43 -0
  204. package/lib/primitives/Radio/index.js +8 -0
  205. package/lib/primitives/Radio/styles.js +68 -0
  206. package/lib/primitives/Radio/types.js +2 -0
  207. package/lib/primitives/RadioGroup/RadioGroup.js +55 -0
  208. package/lib/primitives/RadioGroup/index.js +8 -0
  209. package/lib/primitives/RadioGroup/styles.js +20 -0
  210. package/lib/primitives/RadioGroup/types.js +2 -0
  211. package/lib/primitives/Tabs/Tab.js +27 -0
  212. package/lib/primitives/Tabs/Tabs.js +29 -0
  213. package/lib/primitives/Tabs/index.js +10 -0
  214. package/lib/primitives/Tabs/styles.js +58 -0
  215. package/lib/primitives/Tabs/types.js +2 -0
  216. package/lib/primitives/TextField/TextField.js +31 -0
  217. package/lib/primitives/TextField/index.js +8 -0
  218. package/lib/primitives/TextField/styles.js +46 -0
  219. package/lib/primitives/TextField/types.js +2 -0
  220. package/lib/primitives/index.js +18 -0
  221. package/lib/theme/ThemeContext.js +9 -0
  222. package/lib/theme/ThemeProvider.js +12 -0
  223. package/lib/theme/createTheme.js +113 -0
  224. package/lib/theme/defaultTheme.js +11 -0
  225. package/lib/theme/index.js +12 -0
  226. package/lib/theme/types.js +2 -0
  227. package/lib/theme/useTheme.js +11 -0
  228. package/lib/utils/font.js +8 -0
  229. package/lib/utils/index.js +10 -0
  230. package/lib/utils/platform.js +21 -0
  231. package/lib/version.js +4 -0
  232. package/package.json +19 -10
  233. package/src/version.ts +1 -1
  234. package/.eslintrc.js +0 -12
  235. package/.lintstagedrc.js +0 -6
  236. package/.turbo/turbo-build.log +0 -3
  237. package/CHANGELOG.md +0 -332
  238. package/babel.config.js +0 -3
  239. package/dist/assets/index.ts +0 -1
  240. package/jest.config.js +0 -22
  241. package/jest.setup.js +0 -3
  242. package/src/Authenticator/Defaults/ConfirmResetPassword/__tests__/ConfirmResetPassword.spec.tsx +0 -89
  243. package/src/Authenticator/Defaults/ConfirmResetPassword/__tests__/__snapshots__/ConfirmResetPassword.spec.tsx.snap +0 -1090
  244. package/src/Authenticator/Defaults/ConfirmSignIn/__tests__/ConfirmSignIn.spec.tsx +0 -78
  245. package/src/Authenticator/Defaults/ConfirmSignIn/__tests__/__snapshots__/ConfirmSignIn.spec.tsx.snap +0 -512
  246. package/src/Authenticator/Defaults/ConfirmSignUp/__tests__/ConfirmSignUp.spec.tsx +0 -64
  247. package/src/Authenticator/Defaults/ConfirmSignUp/__tests__/__snapshots__/ConfirmSignUp.spec.tsx.snap +0 -528
  248. package/src/Authenticator/Defaults/ConfirmVerifyUser/__tests__/ConfirmVerifyUser.spec.tsx +0 -71
  249. package/src/Authenticator/Defaults/ConfirmVerifyUser/__tests__/__snapshots__/ConfirmVerifyUser.spec.tsx.snap +0 -492
  250. package/src/Authenticator/Defaults/ForceNewPassword/__tests__/ForceNewPassword.spec.tsx +0 -79
  251. package/src/Authenticator/Defaults/ForceNewPassword/__tests__/__snapshots__/ForceNewPassword.spec.tsx.snap +0 -896
  252. package/src/Authenticator/Defaults/ResetPassword/__tests__/ResetPassword.spec.tsx +0 -78
  253. package/src/Authenticator/Defaults/ResetPassword/__tests__/__snapshots__/ResetPassword.spec.tsx.snap +0 -512
  254. package/src/Authenticator/Defaults/SetupTOTP/__tests__/SetupTOTP.spec.tsx +0 -85
  255. package/src/Authenticator/Defaults/SetupTOTP/__tests__/__snapshots__/SetupTOTP.spec.tsx.snap +0 -602
  256. package/src/Authenticator/Defaults/SignIn/__tests__/SignIn.spec.tsx +0 -67
  257. package/src/Authenticator/Defaults/SignIn/__tests__/__snapshots__/SignIn.spec.tsx.snap +0 -1281
  258. package/src/Authenticator/Defaults/SignUp/__tests__/SignUp.spec.tsx +0 -102
  259. package/src/Authenticator/Defaults/SignUp/__tests__/__snapshots__/SignUp.spec.tsx.snap +0 -3122
  260. package/src/Authenticator/Defaults/VerifyUser/__tests__/VerifyUser.spec.tsx +0 -107
  261. package/src/Authenticator/Defaults/VerifyUser/__tests__/__snapshots__/VerifyUser.spec.tsx.snap +0 -692
  262. package/src/Authenticator/__tests__/Authenticator.spec.tsx +0 -131
  263. package/src/Authenticator/__tests__/__snapshots__/Authenticator.spec.tsx.snap +0 -90
  264. package/src/Authenticator/__tests__/__snapshots__/withAuthenticator.spec.tsx.snap +0 -68
  265. package/src/Authenticator/__tests__/withAuthenticator.spec.tsx +0 -73
  266. package/src/Authenticator/common/DefaultContainer/__tests__/DefaultContainer.spec.tsx +0 -19
  267. package/src/Authenticator/common/DefaultContainer/__tests__/__snapshots__/DefaultContainer.spec.tsx.snap +0 -83
  268. package/src/Authenticator/common/DefaultFooter/__tests__/DefaultFooter.spec.tsx +0 -26
  269. package/src/Authenticator/common/DefaultFooter/__tests__/__snapshots__/DefaultFooter.spec.tsx.snap +0 -40
  270. package/src/Authenticator/common/DefaultFormFields/__tests__/DefaultFormFields.spec.tsx +0 -15
  271. package/src/Authenticator/common/DefaultFormFields/__tests__/FieldErrors.spec.tsx +0 -29
  272. package/src/Authenticator/common/DefaultFormFields/__tests__/__snapshots__/DefaultFormFields.spec.tsx.snap +0 -3
  273. package/src/Authenticator/common/DefaultFormFields/__tests__/__snapshots__/FieldErrors.spec.tsx.snap +0 -32
  274. package/src/Authenticator/common/DefaultHeader/__tests__/DefaultHeader.spec.tsx +0 -23
  275. package/src/Authenticator/common/DefaultHeader/__tests__/__snapshots__/DefaultHeader.spec.tsx.snap +0 -24
  276. package/src/Authenticator/common/FederatedProviderButton/__tests__/FederatedProviderButton.spec.tsx +0 -67
  277. package/src/Authenticator/common/FederatedProviderButton/__tests__/__snapshots__/FederatedProviderButton.spec.tsx.snap +0 -185
  278. package/src/Authenticator/common/FederatedProviderButtons/__tests__/FederatedProviderButtons.spec.tsx +0 -55
  279. package/src/Authenticator/common/FederatedProviderButtons/__tests__/__snapshots__/FederatedProviderButtons.spec.tsx.snap +0 -167
  280. package/src/Authenticator/hooks/useFieldValues/__tests__/useFieldValues.spec.ts +0 -399
  281. package/src/Authenticator/hooks/useFieldValues/__tests__/utils.spec.ts +0 -282
  282. package/src/InAppMessaging/components/BannerMessage/__tests__/BannerMessage.spec.tsx +0 -151
  283. package/src/InAppMessaging/components/BannerMessage/__tests__/__snapshots__/BannerMessage.spec.tsx.snap +0 -618
  284. package/src/InAppMessaging/components/CarouselMessage/__tests__/CarouselMessage.spec.tsx +0 -92
  285. package/src/InAppMessaging/components/CarouselMessage/__tests__/CarouselMessageItem.spec.tsx +0 -50
  286. package/src/InAppMessaging/components/CarouselMessage/__tests__/__snapshots__/CarouselMessage.spec.tsx.snap +0 -124
  287. package/src/InAppMessaging/components/CarouselMessage/__tests__/__snapshots__/CarouselMessageItem.spec.tsx.snap +0 -248
  288. package/src/InAppMessaging/components/FullScreenMessage/__tests__/FullScreenMessage.spec.tsx +0 -53
  289. package/src/InAppMessaging/components/FullScreenMessage/__tests__/__snapshots__/FullScreenMessage.spec.tsx.snap +0 -238
  290. package/src/InAppMessaging/components/InAppMessageDisplay/__tests__/InAppMessageDisplay.spec.tsx +0 -34
  291. package/src/InAppMessaging/components/InAppMessageDisplay/__tests__/__snapshots__/InAppMessageDisplay.spec.tsx.snap +0 -9
  292. package/src/InAppMessaging/components/InAppMessageDisplay/__tests__/handleMessageLinkAction.spec.ts +0 -51
  293. package/src/InAppMessaging/components/MessageWrapper/__tests__/MessageWrapper.spec.tsx +0 -19
  294. package/src/InAppMessaging/components/MessageWrapper/__tests__/__snapshots__/MessageWrapper.spec.tsx.snap +0 -35
  295. package/src/InAppMessaging/components/ModalMessage/__tests__/ModalMessage.spec.tsx +0 -169
  296. package/src/InAppMessaging/components/ModalMessage/__tests__/__snapshots__/ModalMessage.spec.tsx.snap +0 -727
  297. package/src/InAppMessaging/components/withInAppMessaging/__tests__/__snapshots__/withInAppMessaging.spec.tsx.snap +0 -3
  298. package/src/InAppMessaging/components/withInAppMessaging/__tests__/withInAppMessaging.spec.tsx +0 -15
  299. package/src/InAppMessaging/hooks/useMessageImage/__tests__/useMessageImage.spec.ts +0 -141
  300. package/src/InAppMessaging/hooks/useMessageImage/__tests__/utils.spec.ts +0 -107
  301. package/src/InAppMessaging/hooks/useMessageProps/__tests__/__snapshots__/utils.spec.ts.snap +0 -223
  302. package/src/InAppMessaging/hooks/useMessageProps/__tests__/useMessageProps.spec.ts +0 -162
  303. package/src/InAppMessaging/hooks/useMessageProps/__tests__/utils.spec.ts +0 -355
  304. package/src/__mocks__/@react-native-async-storage/async-storage.ts +0 -2
  305. package/src/__mocks__/@react-native-community/netinfo.ts +0 -3
  306. package/src/__mocks__/react-native-safe-area-context.ts +0 -9
  307. package/src/__tests__/__snapshots__/index.spec.ts.snap +0 -26
  308. package/src/__tests__/index.spec.ts +0 -8
  309. package/src/hooks/useDeprecationWarning/__tests__/useDeprecationWarning.spec.ts +0 -42
  310. package/src/hooks/useDeviceOrientation/__tests__/useDeviceOrientation.spec.ts +0 -89
  311. package/src/hooks/usePressableContainerStyles/__tests__/usePressableContainerStyles.spec.ts +0 -68
  312. package/src/primitives/Button/__tests__/Button.spec.tsx +0 -92
  313. package/src/primitives/Button/__tests__/__snapshots__/Button.spec.tsx.snap +0 -143
  314. package/src/primitives/Carousel/__tests__/Carousel.spec.tsx +0 -174
  315. package/src/primitives/Carousel/__tests__/CarouselPageIndicator.spec.tsx +0 -73
  316. package/src/primitives/Carousel/__tests__/__snapshots__/Carousel.spec.tsx.snap +0 -310
  317. package/src/primitives/Carousel/__tests__/__snapshots__/CarouselPageIndicator.spec.tsx.snap +0 -191
  318. package/src/primitives/Checkbox/__tests__/Checkbox.spec.tsx +0 -150
  319. package/src/primitives/Checkbox/__tests__/__snapshots__/Checkbox.spec.tsx.snap +0 -527
  320. package/src/primitives/Divider/__tests__/Divider.spec.tsx +0 -50
  321. package/src/primitives/Divider/__tests__/__snapshots__/Divider.spec.tsx.snap +0 -165
  322. package/src/primitives/ErrorMessage/__tests__/ErrorMessage.spec.tsx +0 -60
  323. package/src/primitives/ErrorMessage/__tests__/__snapshots__/ErrorMessage.spec.tsx.snap +0 -123
  324. package/src/primitives/Heading/__tests__/Heading.spec.tsx +0 -73
  325. package/src/primitives/Heading/__tests__/__snapshots__/Heading.spec.tsx.snap +0 -171
  326. package/src/primitives/Icon/__tests__/Icon.spec.tsx +0 -100
  327. package/src/primitives/Icon/__tests__/__snapshots__/Icon.spec.tsx.snap +0 -139
  328. package/src/primitives/IconButton/__tests__/IconButton.spec.tsx +0 -71
  329. package/src/primitives/IconButton/__tests__/__snapshots__/IconButton.spec.tsx.snap +0 -192
  330. package/src/primitives/Label/__tests__/Label.spec.tsx +0 -75
  331. package/src/primitives/Label/__tests__/__snapshots__/Label.spec.tsx.snap +0 -91
  332. package/src/primitives/PasswordField/__tests__/PasswordField.spec.tsx +0 -110
  333. package/src/primitives/PasswordField/__tests__/__snapshots__/PasswordField.spec.tsx.snap +0 -625
  334. package/src/primitives/PhoneNumberField/__tests__/PhoneNumberField.spec.tsx +0 -53
  335. package/src/primitives/PhoneNumberField/__tests__/__snapshots__/PhoneNumberField.spec.tsx.snap +0 -188
  336. package/src/primitives/Radio/__tests__/Radio.spec.tsx +0 -166
  337. package/src/primitives/Radio/__tests__/__snapshots__/Radio.spec.tsx.snap +0 -678
  338. package/src/primitives/RadioGroup/__tests__/RadioGroup.spec.tsx +0 -183
  339. package/src/primitives/RadioGroup/__tests__/__snapshots__/RadioGroup.spec.tsx.snap +0 -1789
  340. package/src/primitives/Tabs/__tests__/Tab.spec.tsx +0 -75
  341. package/src/primitives/Tabs/__tests__/Tabs.spec.tsx +0 -81
  342. package/src/primitives/Tabs/__tests__/__snapshots__/Tab.spec.tsx.snap +0 -278
  343. package/src/primitives/Tabs/__tests__/__snapshots__/Tabs.spec.tsx.snap +0 -163
  344. package/src/primitives/TextField/__tests__/TextField.spec.tsx +0 -202
  345. package/src/primitives/TextField/__tests__/__snapshots__/TextField.spec.tsx.snap +0 -507
  346. package/src/theme/__tests__/ThemeProvider.spec.tsx +0 -23
  347. package/src/theme/__tests__/__snapshots__/useTheme.spec.tsx.snap +0 -226
  348. package/src/theme/__tests__/createTheme.spec.ts +0 -244
  349. package/src/theme/__tests__/useTheme.spec.tsx +0 -51
  350. package/tsconfig.dist.json +0 -4
  351. package/tsconfig.json +0 -9
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { render } from '@testing-library/react-native';
3
-
4
- import withInAppMessaging from '../withInAppMessaging';
5
-
6
- const TestComponent = ({ title }: { title: string }) => <>{title}</>;
7
-
8
- describe('withInAppMessaging', () => {
9
- it('renders as expected', () => {
10
- const WrappedComponent = withInAppMessaging(TestComponent);
11
- const { toJSON } = render(<WrappedComponent title="example" />);
12
-
13
- expect(toJSON()).toMatchSnapshot();
14
- });
15
- });
@@ -1,141 +0,0 @@
1
- import { Image } from 'react-native';
2
- import { renderHook } from '@testing-library/react-hooks';
3
- import { ConsoleLogger as Logger } from '@aws-amplify/core';
4
- import { MessageImage } from '@aws-amplify/ui-react-core-notifications';
5
-
6
- import { getLayoutImageDimensions, prefetchNetworkImage } from '../utils';
7
- import useMessageImage from '../useMessageImage';
8
-
9
- jest.mock('react-native', () => ({
10
- Dimensions: { get: jest.fn(() => ({ height: 844, width: 400 })) },
11
- Image: { getSize: jest.fn() },
12
- }));
13
- jest.mock('../utils');
14
-
15
- // use empty mockImplementation to turn off console output
16
- const errorSpy = jest.spyOn(Logger.prototype, 'error').mockImplementation();
17
-
18
- const src = 'https://test.jpeg';
19
- const image = { src };
20
-
21
- describe('useMessageImage', () => {
22
- beforeEach(() => {
23
- jest.clearAllMocks();
24
- });
25
-
26
- it('behaves as expected in the happy path', async () => {
27
- const imageDimensions = { height: 100, width: 100 };
28
- (prefetchNetworkImage as jest.Mock).mockResolvedValue('loaded');
29
- (getLayoutImageDimensions as jest.Mock).mockReturnValueOnce(
30
- imageDimensions
31
- );
32
- (Image.getSize as jest.Mock).mockImplementationOnce(
33
- (_, onSuccess: () => void) => {
34
- onSuccess();
35
- }
36
- );
37
-
38
- const { result, waitForNextUpdate } = renderHook(() =>
39
- useMessageImage(image, 'TOP_BANNER')
40
- );
41
-
42
- // first render
43
- expect(result.current).toStrictEqual({
44
- hasRenderableImage: false,
45
- imageDimensions: { height: undefined, width: undefined },
46
- isImageFetching: true,
47
- });
48
-
49
- await waitForNextUpdate();
50
-
51
- expect(result.current).toStrictEqual({
52
- hasRenderableImage: true,
53
- imageDimensions,
54
- isImageFetching: false,
55
- });
56
- });
57
-
58
- it('handles size retrieval errors as expected', async () => {
59
- const error = 'ERROR';
60
-
61
- (prefetchNetworkImage as jest.Mock).mockResolvedValue('loaded');
62
- (Image.getSize as jest.Mock).mockImplementationOnce(
63
- (_, __, onError: (error: string) => void) => {
64
- onError(error);
65
- }
66
- );
67
-
68
- const { result, waitForNextUpdate } = renderHook(() =>
69
- useMessageImage(image, 'TOP_BANNER')
70
- );
71
-
72
- // first render
73
- expect(result.current).toStrictEqual({
74
- hasRenderableImage: false,
75
- imageDimensions: { height: undefined, width: undefined },
76
- isImageFetching: true,
77
- });
78
-
79
- await waitForNextUpdate();
80
-
81
- expect(errorSpy).toHaveBeenCalledWith(
82
- `Unable to retrieve size for image: ${error}`
83
- );
84
- expect(errorSpy).toHaveBeenCalledTimes(1);
85
-
86
- expect(result.current).toStrictEqual({
87
- hasRenderableImage: false,
88
- imageDimensions: { height: undefined, width: undefined },
89
- isImageFetching: false,
90
- });
91
- });
92
-
93
- it('handles prefetching errors as expected', async () => {
94
- (prefetchNetworkImage as jest.Mock).mockResolvedValue('failed');
95
-
96
- const { result, waitForNextUpdate } = renderHook(() =>
97
- useMessageImage(image, 'TOP_BANNER')
98
- );
99
-
100
- // first render
101
- expect(result.current).toStrictEqual({
102
- hasRenderableImage: false,
103
- imageDimensions: { height: undefined, width: undefined },
104
- isImageFetching: true,
105
- });
106
-
107
- await waitForNextUpdate();
108
-
109
- expect(errorSpy).not.toHaveBeenCalled();
110
-
111
- expect(result.current).toStrictEqual({
112
- hasRenderableImage: false,
113
- imageDimensions: { height: undefined, width: undefined },
114
- isImageFetching: false,
115
- });
116
- });
117
-
118
- it('returns the expected values when the image argument is an empty object', () => {
119
- const { result } = renderHook(() =>
120
- useMessageImage({} as MessageImage, 'TOP_BANNER')
121
- );
122
-
123
- expect(result.current).toStrictEqual({
124
- hasRenderableImage: false,
125
- imageDimensions: { height: undefined, width: undefined },
126
- isImageFetching: false,
127
- });
128
- });
129
-
130
- it('returns the expected values when the image argument is undefined', () => {
131
- const { result } = renderHook(() =>
132
- useMessageImage(undefined, 'TOP_BANNER')
133
- );
134
-
135
- expect(result.current).toStrictEqual({
136
- hasRenderableImage: false,
137
- imageDimensions: { height: undefined, width: undefined },
138
- isImageFetching: false,
139
- });
140
- });
141
- });
@@ -1,107 +0,0 @@
1
- import { Image } from 'react-native';
2
- import { ConsoleLogger as Logger } from '@aws-amplify/core';
3
-
4
- import {
5
- BANNER_IMAGE_SCREEN_MULTIPLIER,
6
- BANNER_IMAGE_SCREEN_SIZE,
7
- } from '../constants';
8
- import { getLayoutImageDimensions, prefetchNetworkImage } from '../utils';
9
-
10
- jest.mock('react-native', () => ({
11
- Dimensions: { get: jest.fn(() => ({ height: 844, width: 400 })) },
12
- Image: { prefetch: jest.fn() },
13
- }));
14
-
15
- // use empty mockImplementation to turn off console output
16
- const errorSpy = jest.spyOn(Logger.prototype, 'error').mockImplementation();
17
-
18
- const url = 'https://test.jpeg';
19
-
20
- describe('prefetchNetworkImage', () => {
21
- beforeEach(() => {
22
- jest.clearAllMocks();
23
- });
24
-
25
- it('behaves as expected in the happy path', async () => {
26
- (Image.prefetch as jest.Mock).mockResolvedValueOnce(true);
27
-
28
- const output = await prefetchNetworkImage(url);
29
-
30
- expect(output).toBe('loaded');
31
- });
32
-
33
- it('handles a false response from Image.prefetch as expected', async () => {
34
- (Image.prefetch as jest.Mock).mockResolvedValueOnce(false);
35
-
36
- const output = await prefetchNetworkImage(url);
37
-
38
- expect(errorSpy).toHaveBeenLastCalledWith(`Image failed to load: ${url}`);
39
- expect(errorSpy).toHaveBeenCalledTimes(1);
40
-
41
- expect(output).toBe('failed');
42
- });
43
-
44
- it('handles an error from Imaage.prefetch as expected', async () => {
45
- const error = 'ERROR';
46
- (Image.prefetch as jest.Mock).mockRejectedValueOnce(new Error(error));
47
-
48
- const output = await prefetchNetworkImage(url);
49
-
50
- expect(errorSpy).toHaveBeenLastCalledWith(
51
- `Image.prefetch failed: Error: ${error}`
52
- );
53
- expect(errorSpy).toHaveBeenCalledTimes(1);
54
-
55
- expect(output).toBe('failed');
56
- });
57
- });
58
-
59
- describe('getLayoutImageDimensions', () => {
60
- it('returns the expected values for a square image', () => {
61
- const imageHeight = 100;
62
- const imageWidth = 100;
63
-
64
- const output = getLayoutImageDimensions(
65
- imageHeight,
66
- imageWidth,
67
- 'TOP_BANNER'
68
- );
69
-
70
- expect(output).toStrictEqual({
71
- height: BANNER_IMAGE_SCREEN_SIZE,
72
- width: BANNER_IMAGE_SCREEN_SIZE,
73
- });
74
- });
75
-
76
- it('returns the expected values for a portrait image', () => {
77
- const imageHeight = 200;
78
- const imageWidth = 100;
79
-
80
- const output = getLayoutImageDimensions(
81
- imageHeight,
82
- imageWidth,
83
- 'TOP_BANNER'
84
- );
85
-
86
- expect(output).toStrictEqual({
87
- height: BANNER_IMAGE_SCREEN_SIZE,
88
- width: imageHeight * BANNER_IMAGE_SCREEN_MULTIPLIER,
89
- });
90
- });
91
-
92
- it('returns the expected values for a landscape image', () => {
93
- const imageHeight = 100;
94
- const imageWidth = 200;
95
-
96
- const output = getLayoutImageDimensions(
97
- imageHeight,
98
- imageWidth,
99
- 'TOP_BANNER'
100
- );
101
-
102
- expect(output).toStrictEqual({
103
- height: imageWidth * BANNER_IMAGE_SCREEN_MULTIPLIER,
104
- width: BANNER_IMAGE_SCREEN_SIZE,
105
- });
106
- });
107
- });
@@ -1,223 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`getMessageStyles adds a bottom padding for carousel page indicators 1`] = `
4
- Object {
5
- "body": Array [
6
- Object {
7
- "color": "fuschia",
8
- },
9
- undefined,
10
- undefined,
11
- ],
12
- "buttonsContainer": Object {
13
- "backgroundColor": "teal",
14
- },
15
- "container": Array [
16
- Array [
17
- Object {
18
- "borderRadius": 1,
19
- },
20
- Object {},
21
- Object {},
22
- ],
23
- Object {
24
- "paddingBottom": 36,
25
- },
26
- ],
27
- "contentContainer": Object {
28
- "backgroundColor": "lightblue",
29
- },
30
- "header": Array [
31
- Object {
32
- "backgroundColor": "purple",
33
- },
34
- undefined,
35
- undefined,
36
- ],
37
- "iconButton": Object {
38
- "container": Array [
39
- Object {
40
- "backgroundColor": "blue",
41
- },
42
- undefined,
43
- ],
44
- "iconColor": undefined,
45
- },
46
- "image": Array [
47
- Object {
48
- "backgroundColor": "yellow",
49
- },
50
- undefined,
51
- ],
52
- "imageContainer": Object {
53
- "backgroundColor": "green",
54
- },
55
- "primaryButton": Object {
56
- "container": [Function],
57
- "text": Array [
58
- Object {
59
- "color": "pink",
60
- },
61
- Object {},
62
- Object {},
63
- ],
64
- },
65
- "secondaryButton": Object {
66
- "container": [Function],
67
- "text": Array [
68
- Object {
69
- "color": "pink",
70
- },
71
- Object {},
72
- Object {},
73
- ],
74
- },
75
- "textContainer": Object {
76
- "backgroundColor": "antiquewhite",
77
- },
78
- "wrapper": Array [
79
- Object {
80
- "backgroundColor": "gray",
81
- },
82
- Object {
83
- "backgroundColor": "red",
84
- },
85
- Object {},
86
- Object {},
87
- ],
88
- }
89
- `;
90
-
91
- exports[`getMessageStyles returns the expected output in the happy path 1`] = `
92
- Object {
93
- "body": Array [
94
- Object {
95
- "color": "fuschia",
96
- },
97
- Object {
98
- "textAlign": "left",
99
- },
100
- Object {
101
- "color": "white",
102
- },
103
- ],
104
- "buttonsContainer": Object {
105
- "backgroundColor": "teal",
106
- },
107
- "container": Array [
108
- Object {
109
- "borderRadius": 1,
110
- },
111
- Object {
112
- "borderRadius": 2,
113
- },
114
- Object {
115
- "borderRadius": 3,
116
- },
117
- ],
118
- "contentContainer": Object {
119
- "backgroundColor": "lightblue",
120
- },
121
- "header": Array [
122
- Object {
123
- "backgroundColor": "purple",
124
- },
125
- Object {
126
- "textAlign": "center",
127
- },
128
- Object {
129
- "backgroundColor": "lightpink",
130
- },
131
- ],
132
- "iconButton": Object {
133
- "container": Array [
134
- Object {
135
- "backgroundColor": "blue",
136
- },
137
- Object {
138
- "backgroundColor": "turquoise",
139
- },
140
- ],
141
- "iconColor": "darkcyan",
142
- },
143
- "image": Array [
144
- Object {
145
- "backgroundColor": "yellow",
146
- },
147
- Object {
148
- "backgroundColor": "royalblue",
149
- },
150
- ],
151
- "imageContainer": Object {
152
- "backgroundColor": "green",
153
- },
154
- "primaryButton": Object {
155
- "container": [Function],
156
- "text": Array [
157
- Object {
158
- "color": "pink",
159
- },
160
- Object {
161
- "color": "olive",
162
- },
163
- Object {
164
- "color": "black",
165
- },
166
- ],
167
- },
168
- "secondaryButton": Object {
169
- "container": [Function],
170
- "text": Array [
171
- Object {
172
- "color": "pink",
173
- },
174
- Object {
175
- "color": "peru",
176
- },
177
- Object {
178
- "color": "orchid",
179
- },
180
- ],
181
- },
182
- "textContainer": Object {
183
- "backgroundColor": "antiquewhite",
184
- },
185
- "wrapper": Array [
186
- Object {
187
- "backgroundColor": "gray",
188
- },
189
- Object {
190
- "backgroundColor": "red",
191
- },
192
- Object {
193
- "backgroundColor": "lightgray",
194
- },
195
- Object {
196
- "backgroundColor": "lawngreen",
197
- },
198
- ],
199
- }
200
- `;
201
-
202
- exports[`getPayloadStyle returns the expected output in the happy path 1`] = `
203
- Object {
204
- "body": Object {
205
- "textAlign": "left",
206
- },
207
- "container": Object {
208
- "backgroundColor": "lightgray",
209
- "borderRadius": 2,
210
- },
211
- "header": Object {
212
- "textAlign": "center",
213
- },
214
- "primaryButton": Object {
215
- "backgroundColor": "salmon",
216
- "color": "olive",
217
- },
218
- "secondaryButton": Object {
219
- "backgroundColor": "sand",
220
- "color": "peru",
221
- },
222
- }
223
- `;
@@ -1,162 +0,0 @@
1
- import { renderHook } from '@testing-library/react-hooks';
2
- import {
3
- MessageButtonProps,
4
- MessageComponentBaseProps,
5
- } from '@aws-amplify/ui-react-core-notifications';
6
-
7
- import { useMessageImage } from '../../useMessageImage';
8
- import { MessageOverrideStyle } from '../types';
9
- import useMessageProps from '../useMessageProps';
10
-
11
- jest.mock('../../useMessageImage');
12
- jest.mock('../../../../hooks/useDeviceOrientation');
13
-
14
- type TestComponentProps = MessageComponentBaseProps<MessageOverrideStyle>;
15
-
16
- const mockUseMessageImage = useMessageImage as jest.Mock;
17
-
18
- const onDisplay = jest.fn();
19
- const getDefaultStyle = jest.fn();
20
-
21
- describe('useMessageProps', () => {
22
- beforeEach(() => {
23
- mockUseMessageImage.mockReturnValue({
24
- hasRenderableImage: false,
25
- imageDimensions: null,
26
- isImageFetching: false,
27
- });
28
- onDisplay.mockClear();
29
- });
30
-
31
- it('behaves as expected in the happy path', () => {
32
- const props: TestComponentProps = {
33
- layout: 'MIDDLE_BANNER',
34
- onDisplay,
35
- };
36
-
37
- const { result } = renderHook(() =>
38
- useMessageProps(props, getDefaultStyle)
39
- );
40
-
41
- expect(onDisplay).toHaveBeenCalledTimes(1);
42
- expect(result.current).toEqual({
43
- hasButtons: false,
44
- hasPrimaryButton: false,
45
- hasRenderableImage: false,
46
- hasSecondaryButton: false,
47
- shouldRenderMessage: true,
48
- styles: expect.any(Object) as MessageOverrideStyle,
49
- });
50
- });
51
-
52
- it('behaves as expected when props includes an image', () => {
53
- mockUseMessageImage.mockReturnValue({
54
- hasRenderableImage: false,
55
- imageDimensions: null,
56
- isImageFetching: true,
57
- });
58
-
59
- const props: TestComponentProps = {
60
- image: { src: 'https://test.png' },
61
- layout: 'MIDDLE_BANNER',
62
- onDisplay,
63
- };
64
-
65
- const { result, rerender } = renderHook(() =>
66
- useMessageProps(props, getDefaultStyle)
67
- );
68
-
69
- // first render
70
- expect(onDisplay).not.toHaveBeenCalled();
71
- expect(result.current).toEqual({
72
- hasButtons: false,
73
- hasPrimaryButton: false,
74
- hasRenderableImage: false,
75
- hasSecondaryButton: false,
76
- shouldRenderMessage: false,
77
- styles: null,
78
- });
79
-
80
- mockUseMessageImage.mockReturnValue({
81
- hasRenderableImage: true,
82
- imageDimensions: { height: 12, width: 12 },
83
- isImageFetching: false,
84
- });
85
-
86
- rerender();
87
-
88
- expect(onDisplay).toHaveBeenCalledTimes(1);
89
- expect(result.current).toEqual({
90
- hasButtons: false,
91
- hasPrimaryButton: false,
92
- hasRenderableImage: true,
93
- hasSecondaryButton: false,
94
- shouldRenderMessage: true,
95
- styles: expect.any(Object) as MessageOverrideStyle,
96
- });
97
- });
98
-
99
- it('returns the expected values when props includes buttons', () => {
100
- const props: TestComponentProps = {
101
- layout: 'MIDDLE_BANNER',
102
-
103
- primaryButton: { title: 'primary', onAction: jest.fn() },
104
- secondaryButton: { title: 'secondary', onAction: jest.fn() },
105
- };
106
-
107
- const { result } = renderHook(() =>
108
- useMessageProps(props, getDefaultStyle)
109
- );
110
-
111
- expect(result.current.hasButtons).toBe(true);
112
- expect(result.current.hasPrimaryButton).toBe(true);
113
- expect(result.current.hasSecondaryButton).toBe(true);
114
- });
115
-
116
- it('returns the expected values when props includes empty buttons', () => {
117
- const props: TestComponentProps = {
118
- layout: 'MIDDLE_BANNER',
119
-
120
- primaryButton: {} as MessageButtonProps,
121
- secondaryButton: {} as MessageButtonProps,
122
- };
123
-
124
- const { result } = renderHook(() =>
125
- useMessageProps(props, getDefaultStyle)
126
- );
127
-
128
- expect(result.current.hasButtons).toBe(false);
129
- expect(result.current.hasPrimaryButton).toBe(false);
130
- expect(result.current.hasSecondaryButton).toBe(false);
131
- });
132
-
133
- it('returns the expected values when props includes only a primary button', () => {
134
- const props: TestComponentProps = {
135
- layout: 'MIDDLE_BANNER',
136
- primaryButton: { title: 'primary', onAction: jest.fn() },
137
- };
138
-
139
- const { result } = renderHook(() =>
140
- useMessageProps(props, getDefaultStyle)
141
- );
142
-
143
- expect(result.current.hasButtons).toBe(true);
144
- expect(result.current.hasPrimaryButton).toBe(true);
145
- expect(result.current.hasSecondaryButton).toBe(false);
146
- });
147
-
148
- it('returns the expected values when props includes only a secondary button', () => {
149
- const props: TestComponentProps = {
150
- layout: 'MIDDLE_BANNER',
151
- secondaryButton: { title: 'primary', onAction: jest.fn() },
152
- };
153
-
154
- const { result } = renderHook(() =>
155
- useMessageProps(props, getDefaultStyle)
156
- );
157
-
158
- expect(result.current.hasButtons).toBe(true);
159
- expect(result.current.hasPrimaryButton).toBe(false);
160
- expect(result.current.hasSecondaryButton).toBe(true);
161
- });
162
- });