@aws-amplify/ui 5.8.1 → 6.0.1

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 (343) hide show
  1. package/dist/esm/helpers/accountSettings/utils.mjs +33 -1
  2. package/dist/esm/helpers/accountSettings/validator.mjs +120 -1
  3. package/dist/esm/helpers/authenticator/actor.mjs +20 -1
  4. package/dist/esm/helpers/authenticator/constants.mjs +144 -1
  5. package/dist/esm/helpers/authenticator/defaultAuthHubHandler.mjs +52 -0
  6. package/dist/esm/helpers/authenticator/facade.mjs +137 -1
  7. package/dist/esm/helpers/authenticator/form.mjs +43 -1
  8. package/dist/esm/helpers/authenticator/formFields/defaults.mjs +132 -1
  9. package/dist/esm/helpers/authenticator/formFields/formFields.mjs +62 -1
  10. package/dist/esm/helpers/authenticator/formFields/utils.mjs +35 -0
  11. package/dist/esm/helpers/authenticator/getRoute.mjs +47 -0
  12. package/dist/esm/helpers/authenticator/textUtil.mjs +112 -1
  13. package/dist/esm/helpers/authenticator/utils.mjs +38 -1
  14. package/dist/esm/helpers/utils.mjs +5 -1
  15. package/dist/esm/i18n/country-dial-codes.mjs +210 -1
  16. package/dist/esm/i18n/dictionaries/authenticator/de.mjs +87 -1
  17. package/dist/esm/i18n/dictionaries/authenticator/defaultTexts.mjs +83 -1
  18. package/dist/esm/i18n/dictionaries/authenticator/en.mjs +74 -1
  19. package/dist/esm/i18n/dictionaries/authenticator/es.mjs +83 -1
  20. package/dist/esm/i18n/dictionaries/authenticator/fr.mjs +92 -1
  21. package/dist/esm/i18n/dictionaries/authenticator/he.mjs +54 -1
  22. package/dist/esm/i18n/dictionaries/authenticator/id.mjs +96 -1
  23. package/dist/esm/i18n/dictionaries/authenticator/it.mjs +82 -1
  24. package/dist/esm/i18n/dictionaries/authenticator/ja.mjs +86 -1
  25. package/dist/esm/i18n/dictionaries/authenticator/kr.mjs +71 -1
  26. package/dist/esm/i18n/dictionaries/authenticator/nb.mjs +95 -1
  27. package/dist/esm/i18n/dictionaries/authenticator/nl.mjs +67 -1
  28. package/dist/esm/i18n/dictionaries/authenticator/pl.mjs +71 -1
  29. package/dist/esm/i18n/dictionaries/authenticator/pt.mjs +61 -1
  30. package/dist/esm/i18n/dictionaries/authenticator/ru.mjs +61 -1
  31. package/dist/esm/i18n/dictionaries/authenticator/sv.mjs +82 -1
  32. package/dist/esm/i18n/dictionaries/authenticator/tr.mjs +76 -1
  33. package/dist/esm/i18n/dictionaries/authenticator/ua.mjs +84 -1
  34. package/dist/esm/i18n/dictionaries/authenticator/zh.mjs +74 -1
  35. package/dist/esm/i18n/dictionaries/index.mjs +47 -1
  36. package/dist/esm/i18n/translations.mjs +67 -1
  37. package/dist/esm/index.mjs +28 -1
  38. package/dist/esm/machines/authenticator/actions.mjs +188 -1
  39. package/dist/esm/machines/authenticator/actors/forgotPassword.mjs +184 -0
  40. package/dist/esm/machines/authenticator/actors/signIn.mjs +328 -1
  41. package/dist/esm/machines/authenticator/actors/signOut.mjs +28 -1
  42. package/dist/esm/machines/authenticator/actors/signUp.mjs +295 -0
  43. package/dist/esm/machines/authenticator/actors/verifyUserAttributes.mjs +106 -0
  44. package/dist/esm/machines/authenticator/defaultServices.mjs +102 -1
  45. package/dist/esm/machines/authenticator/guards.mjs +70 -0
  46. package/dist/esm/machines/authenticator/index.mjs +368 -1
  47. package/dist/esm/machines/authenticator/utils.mjs +71 -0
  48. package/dist/esm/theme/breakpoints.mjs +14 -1
  49. package/dist/esm/theme/createTheme.mjs +156 -1
  50. package/dist/esm/theme/defaultDarkModeOverride.mjs +128 -1
  51. package/dist/esm/theme/defaultTheme.mjs +10 -1
  52. package/dist/esm/theme/tokens/borderWidths.mjs +7 -1
  53. package/dist/esm/theme/tokens/colors.mjs +166 -1
  54. package/dist/esm/theme/tokens/components/accordion.mjs +47 -0
  55. package/dist/esm/theme/tokens/components/alert.mjs +35 -1
  56. package/dist/esm/theme/tokens/components/authenticator.mjs +39 -1
  57. package/dist/esm/theme/tokens/components/autocomplete.mjs +42 -1
  58. package/dist/esm/theme/tokens/components/badge.mjs +44 -1
  59. package/dist/esm/theme/tokens/components/breadcrumbs.mjs +34 -1
  60. package/dist/esm/theme/tokens/components/button.mjs +685 -1
  61. package/dist/esm/theme/tokens/components/card.mjs +27 -1
  62. package/dist/esm/theme/tokens/components/checkbox.mjs +87 -1
  63. package/dist/esm/theme/tokens/components/checkboxField.mjs +8 -1
  64. package/dist/esm/theme/tokens/components/collection.mjs +72 -1
  65. package/dist/esm/theme/tokens/components/copy.mjs +18 -1
  66. package/dist/esm/theme/tokens/components/dialCodeSelect.mjs +7 -1
  67. package/dist/esm/theme/tokens/components/divider.mjs +22 -1
  68. package/dist/esm/theme/tokens/components/dropZone.mjs +46 -1
  69. package/dist/esm/theme/tokens/components/field.mjs +20 -1
  70. package/dist/esm/theme/tokens/components/fieldControl.mjs +131 -1
  71. package/dist/esm/theme/tokens/components/fieldGroup.mjs +11 -1
  72. package/dist/esm/theme/tokens/components/fieldMessages.mjs +13 -1
  73. package/dist/esm/theme/tokens/components/fieldset.mjs +40 -1
  74. package/dist/esm/theme/tokens/components/flex.mjs +9 -1
  75. package/dist/esm/theme/tokens/components/heading.mjs +30 -1
  76. package/dist/esm/theme/tokens/components/highlightMatch.mjs +7 -1
  77. package/dist/esm/theme/tokens/components/icon.mjs +6 -1
  78. package/dist/esm/theme/tokens/components/image.mjs +8 -1
  79. package/dist/esm/theme/tokens/components/inAppMessaging.mjs +23 -1
  80. package/dist/esm/theme/tokens/components/index.mjs +111 -1
  81. package/dist/esm/theme/tokens/components/input.mjs +12 -1
  82. package/dist/esm/theme/tokens/components/link.mjs +9 -1
  83. package/dist/esm/theme/tokens/components/liveness.mjs +7 -1
  84. package/dist/esm/theme/tokens/components/loader.mjs +42 -1
  85. package/dist/esm/theme/tokens/components/menu.mjs +27 -1
  86. package/dist/esm/theme/tokens/components/message.mjs +102 -1
  87. package/dist/esm/theme/tokens/components/pagination.mjs +40 -1
  88. package/dist/esm/theme/tokens/components/passwordField.mjs +38 -1
  89. package/dist/esm/theme/tokens/components/phoneNumberField.mjs +10 -1
  90. package/dist/esm/theme/tokens/components/placeholder.mjs +18 -1
  91. package/dist/esm/theme/tokens/components/radio.mjs +67 -1
  92. package/dist/esm/theme/tokens/components/radioGroup.mjs +19 -1
  93. package/dist/esm/theme/tokens/components/rating.mjs +9 -1
  94. package/dist/esm/theme/tokens/components/searchField.mjs +39 -1
  95. package/dist/esm/theme/tokens/components/select.mjs +63 -1
  96. package/dist/esm/theme/tokens/components/selectField.mjs +16 -1
  97. package/dist/esm/theme/tokens/components/sliderField.mjs +70 -1
  98. package/dist/esm/theme/tokens/components/stepperField.mjs +33 -1
  99. package/dist/esm/theme/tokens/components/storagemanager.mjs +97 -1
  100. package/dist/esm/theme/tokens/components/switchField.mjs +61 -1
  101. package/dist/esm/theme/tokens/components/table.mjs +105 -1
  102. package/dist/esm/theme/tokens/components/tabs.mjs +59 -1
  103. package/dist/esm/theme/tokens/components/text.mjs +28 -1
  104. package/dist/esm/theme/tokens/components/textAreaField.mjs +11 -1
  105. package/dist/esm/theme/tokens/components/textField.mjs +12 -1
  106. package/dist/esm/theme/tokens/components/toggleButton.mjs +96 -1
  107. package/dist/esm/theme/tokens/components/toggleButtonGroup.mjs +7 -1
  108. package/dist/esm/theme/tokens/fontSizes.mjs +14 -1
  109. package/dist/esm/theme/tokens/fontWeights.mjs +13 -1
  110. package/dist/esm/theme/tokens/fonts.mjs +19 -1
  111. package/dist/esm/theme/tokens/index.mjs +65 -1
  112. package/dist/esm/theme/tokens/lineHeights.mjs +7 -1
  113. package/dist/esm/theme/tokens/opacities.mjs +15 -1
  114. package/dist/esm/theme/tokens/outlineOffsets.mjs +7 -1
  115. package/dist/esm/theme/tokens/outlineWidths.mjs +7 -1
  116. package/dist/esm/theme/tokens/radii.mjs +11 -1
  117. package/dist/esm/theme/tokens/shadows.mjs +28 -1
  118. package/dist/esm/theme/tokens/space.mjs +29 -1
  119. package/dist/esm/theme/tokens/time.mjs +7 -1
  120. package/dist/esm/theme/tokens/transforms.mjs +10 -1
  121. package/dist/esm/theme/utils.mjs +81 -1
  122. package/dist/esm/types/authenticator/attributes.mjs +41 -1
  123. package/dist/esm/types/authenticator/user.mjs +18 -1
  124. package/dist/esm/types/authenticator/utils.mjs +5 -1
  125. package/dist/esm/types/primitives/componentClassName.mjs +164 -1
  126. package/dist/esm/utils/classNames.mjs +39 -0
  127. package/dist/esm/utils/setUserAgent/constants.mjs +43 -0
  128. package/dist/esm/utils/setUserAgent/setUserAgent.mjs +65 -0
  129. package/dist/esm/utils/utils.mjs +227 -0
  130. package/dist/esm/validators/index.mjs +19 -1
  131. package/dist/index.js +8396 -1
  132. package/dist/styles/StorageManager.css +138 -0
  133. package/dist/styles/StorageManager.layer.css +140 -0
  134. package/dist/styles/_fieldControl.css +0 -0
  135. package/dist/styles/_fieldControl.layer.css +3 -0
  136. package/dist/styles/accordion.css +64 -0
  137. package/dist/styles/accordion.layer.css +66 -0
  138. package/dist/styles/alert.css +44 -0
  139. package/dist/styles/alert.layer.css +46 -0
  140. package/dist/styles/authenticator.css +72 -0
  141. package/dist/styles/authenticator.layer.css +74 -0
  142. package/dist/styles/autocomplete.css +48 -0
  143. package/dist/styles/autocomplete.layer.css +50 -0
  144. package/dist/styles/badge.css +35 -0
  145. package/dist/styles/badge.layer.css +37 -0
  146. package/dist/styles/base.css +1491 -0
  147. package/dist/styles/base.layer.css +1493 -0
  148. package/dist/styles/breadcrumbs.css +40 -0
  149. package/dist/styles/breadcrumbs.layer.css +42 -0
  150. package/dist/styles/button.css +1122 -0
  151. package/dist/styles/button.layer.css +1124 -0
  152. package/dist/styles/card.css +26 -0
  153. package/dist/styles/card.layer.css +28 -0
  154. package/dist/styles/checkbox.css +95 -0
  155. package/dist/styles/checkbox.layer.css +97 -0
  156. package/dist/styles/checkboxField.css +6 -0
  157. package/dist/styles/checkboxField.layer.css +8 -0
  158. package/dist/styles/collection.css +70 -0
  159. package/dist/styles/collection.layer.css +72 -0
  160. package/dist/styles/copy.css +27 -0
  161. package/dist/styles/copy.layer.css +29 -0
  162. package/dist/styles/dialCodeSelect.css +3 -0
  163. package/dist/styles/dialCodeSelect.layer.css +5 -0
  164. package/dist/styles/divider.css +47 -0
  165. package/dist/styles/divider.layer.css +49 -0
  166. package/dist/styles/dropZone.css +45 -0
  167. package/dist/styles/dropZone.layer.css +47 -0
  168. package/dist/styles/field.css +17 -0
  169. package/dist/styles/field.layer.css +19 -0
  170. package/dist/styles/fieldGroup.css +130 -0
  171. package/dist/styles/fieldGroup.layer.css +132 -0
  172. package/dist/styles/fieldMessages.css +10 -0
  173. package/dist/styles/fieldMessages.layer.css +12 -0
  174. package/dist/styles/fieldModifiers.css +15 -0
  175. package/dist/styles/fieldModifiers.layer.css +17 -0
  176. package/dist/styles/fieldset.css +37 -0
  177. package/dist/styles/fieldset.layer.css +39 -0
  178. package/dist/styles/flex.css +8 -0
  179. package/dist/styles/flex.layer.css +10 -0
  180. package/dist/styles/grid.css +3 -0
  181. package/dist/styles/grid.layer.css +5 -0
  182. package/dist/styles/heading.css +40 -0
  183. package/dist/styles/heading.layer.css +42 -0
  184. package/dist/styles/highlightMatch.css +3 -0
  185. package/dist/styles/highlightMatch.layer.css +5 -0
  186. package/dist/styles/icon.css +14 -0
  187. package/dist/styles/icon.layer.css +16 -0
  188. package/dist/styles/image.css +9 -0
  189. package/dist/styles/image.layer.css +11 -0
  190. package/dist/styles/inAppMessaging.css +179 -0
  191. package/dist/styles/inAppMessaging.layer.css +181 -0
  192. package/dist/styles/input.css +83 -0
  193. package/dist/styles/input.layer.css +85 -0
  194. package/dist/styles/link.css +26 -0
  195. package/dist/styles/link.layer.css +28 -0
  196. package/dist/styles/liveness.css +423 -0
  197. package/dist/styles/liveness.layer.css +425 -0
  198. package/dist/styles/loader.css +108 -0
  199. package/dist/styles/loader.layer.css +110 -0
  200. package/dist/styles/menu.css +54 -0
  201. package/dist/styles/menu.layer.css +56 -0
  202. package/dist/styles/message.css +111 -0
  203. package/dist/styles/message.layer.css +113 -0
  204. package/dist/styles/pagination.css +41 -0
  205. package/dist/styles/pagination.layer.css +43 -0
  206. package/dist/styles/passwordField.css +49 -0
  207. package/dist/styles/passwordField.layer.css +51 -0
  208. package/dist/styles/phoneNumberField.css +30 -0
  209. package/dist/styles/phoneNumberField.layer.css +32 -0
  210. package/dist/styles/placeholder.css +31 -0
  211. package/dist/styles/placeholder.layer.css +33 -0
  212. package/dist/styles/radio.css +82 -0
  213. package/dist/styles/radio.layer.css +84 -0
  214. package/dist/styles/radioGroupField.css +25 -0
  215. package/dist/styles/radioGroupField.layer.css +27 -0
  216. package/dist/styles/radiogroup.css +5 -0
  217. package/dist/styles/radiogroup.layer.css +7 -0
  218. package/dist/styles/rating.css +33 -0
  219. package/dist/styles/rating.layer.css +35 -0
  220. package/dist/styles/reset.css +76 -0
  221. package/dist/styles/reset.layer.css +78 -0
  222. package/dist/styles/scrollView.css +4 -0
  223. package/dist/styles/scrollView.layer.css +6 -0
  224. package/dist/styles/searchField.css +29 -0
  225. package/dist/styles/searchField.layer.css +31 -0
  226. package/dist/styles/select.css +128 -0
  227. package/dist/styles/select.layer.css +130 -0
  228. package/dist/styles/selectField.css +18 -0
  229. package/dist/styles/selectField.layer.css +20 -0
  230. package/dist/styles/sliderField.css +143 -0
  231. package/dist/styles/sliderField.layer.css +145 -0
  232. package/dist/styles/stepperField.css +77 -0
  233. package/dist/styles/stepperField.layer.css +79 -0
  234. package/dist/styles/switchField.css +76 -0
  235. package/dist/styles/switchField.layer.css +78 -0
  236. package/dist/styles/table.css +146 -0
  237. package/dist/styles/table.layer.css +148 -0
  238. package/dist/styles/tabs.css +87 -0
  239. package/dist/styles/tabs.layer.css +89 -0
  240. package/dist/styles/text.css +40 -0
  241. package/dist/styles/text.layer.css +42 -0
  242. package/dist/styles/textArea.css +71 -0
  243. package/dist/styles/textArea.layer.css +73 -0
  244. package/dist/styles/textAreaField.css +12 -0
  245. package/dist/styles/textAreaField.layer.css +14 -0
  246. package/dist/styles/textField.css +14 -0
  247. package/dist/styles/textField.layer.css +16 -0
  248. package/dist/styles/toggleButton.css +280 -0
  249. package/dist/styles/toggleButton.layer.css +282 -0
  250. package/dist/styles/toggleButtonGroup.css +31 -0
  251. package/dist/styles/toggleButtonGroup.layer.css +33 -0
  252. package/dist/styles/visuallyHidden.css +12 -0
  253. package/dist/styles/visuallyHidden.layer.css +14 -0
  254. package/dist/styles.css +343 -680
  255. package/dist/styles.layer.css +6164 -0
  256. package/dist/theme.css +93 -156
  257. package/dist/types/helpers/accountSettings/utils.d.ts +1 -3
  258. package/dist/types/helpers/authenticator/actor.d.ts +1 -1
  259. package/dist/types/helpers/authenticator/constants.d.ts +5 -0
  260. package/dist/types/helpers/authenticator/defaultAuthHubHandler.d.ts +15 -0
  261. package/dist/types/helpers/authenticator/facade.d.ts +35 -6
  262. package/dist/types/helpers/authenticator/formFields/defaults.d.ts +3 -1
  263. package/dist/types/helpers/authenticator/formFields/formFields.d.ts +2 -1
  264. package/dist/types/helpers/authenticator/formFields/index.d.ts +1 -1
  265. package/dist/types/helpers/authenticator/formFields/{util.d.ts → utils.d.ts} +2 -0
  266. package/dist/types/helpers/authenticator/getRoute.d.ts +2 -0
  267. package/dist/types/helpers/authenticator/index.d.ts +2 -1
  268. package/dist/types/helpers/authenticator/textUtil.d.ts +8 -7
  269. package/dist/types/{types/authenticator/stateMachine/authMachine.d.ts → helpers/authenticator/types.d.ts} +5 -5
  270. package/dist/types/helpers/authenticator/utils.d.ts +0 -25
  271. package/dist/types/helpers/index.d.ts +0 -1
  272. package/dist/types/helpers/utils.d.ts +2 -2
  273. package/dist/types/i18n/translations.d.ts +2 -3
  274. package/dist/types/machines/authenticator/actions.d.ts +4 -62
  275. package/dist/types/machines/authenticator/actors/{resetPassword.d.ts → forgotPassword.d.ts} +3 -3
  276. package/dist/types/machines/authenticator/actors/index.d.ts +3 -1
  277. package/dist/types/machines/authenticator/actors/signIn.d.ts +3 -3
  278. package/dist/types/machines/authenticator/actors/signOut.d.ts +2 -2
  279. package/dist/types/machines/authenticator/{signUp.d.ts → actors/signUp.d.ts} +3 -3
  280. package/dist/types/machines/authenticator/actors/verifyUserAttributes.d.ts +5 -0
  281. package/dist/types/machines/authenticator/defaultServices.d.ts +208 -28
  282. package/dist/types/machines/authenticator/getAuthenticatorConfig.d.ts +14 -0
  283. package/dist/types/machines/authenticator/guards.d.ts +4 -0
  284. package/dist/types/machines/authenticator/index.d.ts +4 -2
  285. package/dist/types/machines/authenticator/types.d.ts +125 -0
  286. package/dist/types/machines/authenticator/utils.d.ts +7 -0
  287. package/dist/types/machines/index.d.ts +1 -0
  288. package/dist/types/theme/tokens/borderWidths.d.ts +2 -2
  289. package/dist/types/theme/tokens/colors.d.ts +7 -9
  290. package/dist/types/theme/tokens/components/accordion.d.ts +12 -0
  291. package/dist/types/theme/tokens/components/index.d.ts +2 -4
  292. package/dist/types/theme/tokens/components/radioGroup.d.ts +1 -1
  293. package/dist/types/theme/tokens/components/storagemanager.d.ts +18 -3
  294. package/dist/types/theme/tokens/components/tabs.d.ts +4 -3
  295. package/dist/types/theme/tokens/fontSizes.d.ts +2 -2
  296. package/dist/types/theme/tokens/fontWeights.d.ts +2 -2
  297. package/dist/types/theme/tokens/fonts.d.ts +2 -2
  298. package/dist/types/theme/tokens/lineHeights.d.ts +2 -2
  299. package/dist/types/theme/tokens/opacities.d.ts +2 -2
  300. package/dist/types/theme/tokens/outlineOffsets.d.ts +2 -2
  301. package/dist/types/theme/tokens/outlineWidths.d.ts +2 -2
  302. package/dist/types/theme/tokens/radii.d.ts +2 -2
  303. package/dist/types/theme/tokens/shadows.d.ts +2 -2
  304. package/dist/types/theme/tokens/space.d.ts +2 -2
  305. package/dist/types/theme/tokens/time.d.ts +2 -2
  306. package/dist/types/theme/tokens/types/designToken.d.ts +12 -6
  307. package/dist/types/theme/types.d.ts +5 -1
  308. package/dist/types/types/authenticator/attributes.d.ts +10 -4
  309. package/dist/types/types/authenticator/form.d.ts +7 -6
  310. package/dist/types/types/authenticator/index.d.ts +0 -1
  311. package/dist/types/types/authenticator/user.d.ts +3 -29
  312. package/dist/types/types/authenticator/validator.d.ts +2 -2
  313. package/dist/types/types/displayText.d.ts +84 -0
  314. package/dist/types/types/index.d.ts +1 -0
  315. package/dist/types/types/primitives/componentClassName.d.ts +162 -180
  316. package/dist/types/types/util.d.ts +0 -5
  317. package/dist/types/utils/classNames.d.ts +4 -0
  318. package/dist/types/utils/index.d.ts +3 -135
  319. package/dist/types/utils/setUserAgent/constants.d.ts +7 -0
  320. package/dist/types/utils/setUserAgent/index.d.ts +1 -0
  321. package/dist/types/utils/setUserAgent/setUserAgent.d.ts +19 -0
  322. package/dist/types/utils/utils.d.ts +147 -0
  323. package/dist/types/validators/index.d.ts +2 -2
  324. package/package.json +5 -19
  325. package/dist/esm/helpers/authenticator/context.mjs +0 -1
  326. package/dist/esm/helpers/authenticator/formFields/util.mjs +0 -1
  327. package/dist/esm/helpers/storage/fileUploader/utils/uploader.mjs +0 -1
  328. package/dist/esm/machines/authenticator/actors/resetPassword.mjs +0 -1
  329. package/dist/esm/machines/authenticator/signUp.mjs +0 -1
  330. package/dist/esm/theme/tokens/components/expander.mjs +0 -1
  331. package/dist/esm/theme/tokens/components/fileUploader.mjs +0 -1
  332. package/dist/esm/utils/index.mjs +0 -1
  333. package/dist/types/helpers/authenticator/context.d.ts +0 -13
  334. package/dist/types/helpers/storage/fileUploader/index.d.ts +0 -1
  335. package/dist/types/helpers/storage/fileUploader/utils/index.d.ts +0 -1
  336. package/dist/types/helpers/storage/fileUploader/utils/uploader.d.ts +0 -28
  337. package/dist/types/helpers/storage/index.d.ts +0 -1
  338. package/dist/types/theme/tokens/components/expander.d.ts +0 -22
  339. package/dist/types/theme/tokens/components/fileUploader.d.ts +0 -23
  340. package/dist/types/types/authenticator/stateMachine/context.d.ts +0 -109
  341. package/dist/types/types/authenticator/stateMachine/event.d.ts +0 -17
  342. package/dist/types/types/authenticator/stateMachine/index.d.ts +0 -4
  343. package/dist/types/types/authenticator/stateMachine/state.d.ts +0 -10
@@ -1 +1,132 @@
1
- import{getActorContext as o,getActorState as s}from"../actor.mjs";import{defaultFormFieldOptions as e}from"../constants.mjs";import{getPrimaryAlias as r}from"../context.mjs";import{isAuthFieldWithDefaults as t}from"../form.mjs";const n=(s,r)=>{const{country_code:t}=o(s);let n=e[r];const{type:a}=n;return"tel"===a&&(n=Object.assign(Object.assign({},n),{dialCode:t})),n},a=o=>{const s=r(o);return Object.assign(Object.assign({},n(o,s)),{autocomplete:"username"})},c=o=>({confirmation_code:Object.assign(Object.assign({},n(o,"confirmation_code")),{label:"Code *",placeholder:"Code"})}),i={signIn:o=>({username:Object.assign({},a(o)),password:Object.assign(Object.assign({},n(o,"password")),{autocomplete:"current-password"})}),signUp:o=>{const{loginMechanisms:s,signUpAttributes:e}=o.context.config,c=r(o),i=Array.from(new Set([...s,"password","confirm_password",...e])),d={};for(const s of i)if(t(s)){const e=s===c?a(o):n(o,s);d[s]=Object.assign({},e)}else console.debug(`Authenticator does not have a default implementation for ${s}. Customize SignUp FormFields to add your own.`);return d},confirmSignUp:o=>({confirmation_code:Object.assign(Object.assign({},n(o,"confirmation_code")),{placeholder:"Enter your code"})}),confirmSignIn:c,forceNewPassword:o=>{const e=s(o),{requiredAttributes:r}=e.context,a=Array.from(new Set(["password","confirm_password",...r])),c={};for(const s of a)t(s)?c[s]=Object.assign({},n(o,s)):console.debug(`Authenticator does not have a default implementation for ${s}. Customize ForceNewPassword FormFields to add your own.`);return c},resetPassword:o=>{const s=r(o),{label:t}=e[s];return{username:Object.assign(Object.assign({},a(o)),{label:`Enter your ${t.toLowerCase()}`,placeholder:`Enter your ${t.toLowerCase()}`})}},confirmResetPassword:o=>Object.assign(Object.assign({},c(o)),{password:Object.assign(Object.assign({},n(o,"password")),{label:"New Password",placeholder:"New Password"}),confirm_password:Object.assign(Object.assign({},n(o,"confirm_password")),{label:"Confirm Password",placeholder:"Confirm Password"})}),confirmVerifyUser:c,setupTOTP:c};export{i as defaultFormFieldsGetters,a as getAliasDefaultFormField};
1
+ import { getActorState } from '../actor.mjs';
2
+ import { defaultFormFieldOptions } from '../constants.mjs';
3
+ import { isAuthFieldWithDefaults } from '../form.mjs';
4
+ import { getPrimaryAlias } from './utils.mjs';
5
+
6
+ /**
7
+ * This file contains helpers that generate default formFields for each screen
8
+ */
9
+ const DEFAULT_COUNTRY_CODE = '+1';
10
+ /** Helper function that gets the default formField for given field name */
11
+ const getDefaultFormField = (fieldName) => {
12
+ let options = defaultFormFieldOptions[fieldName];
13
+ const { type } = options;
14
+ if (type === 'tel') {
15
+ options = { ...options, dialCode: DEFAULT_COUNTRY_CODE };
16
+ }
17
+ return options;
18
+ };
19
+ // Helper function that returns default form field for configured primary alias
20
+ const getAliasDefaultFormField = (state) => {
21
+ const primaryAlias = getPrimaryAlias(state);
22
+ return {
23
+ ...getDefaultFormField(primaryAlias),
24
+ autocomplete: 'username',
25
+ };
26
+ };
27
+ /** Reusable confirmation code form fields. */
28
+ const getConfirmationCodeFormFields = (state) => ({
29
+ confirmation_code: {
30
+ ...getDefaultFormField('confirmation_code'),
31
+ label: 'Code *',
32
+ placeholder: 'Code',
33
+ },
34
+ });
35
+ const getSignInFormFields = (state) => ({
36
+ username: { ...getAliasDefaultFormField(state) },
37
+ password: {
38
+ ...getDefaultFormField('password'),
39
+ autocomplete: 'current-password',
40
+ },
41
+ });
42
+ const getSignUpFormFields = (state) => {
43
+ const { loginMechanisms, signUpAttributes } = state.context.config;
44
+ const primaryAlias = getPrimaryAlias(state);
45
+ /**
46
+ * @migration signUp Fields created here
47
+ */
48
+ const fieldNames = Array.from(new Set([
49
+ ...loginMechanisms,
50
+ 'password',
51
+ 'confirm_password',
52
+ ...signUpAttributes,
53
+ ]));
54
+ const formField = {};
55
+ for (const fieldName of fieldNames) {
56
+ if (isAuthFieldWithDefaults(fieldName)) {
57
+ const fieldAttrs = fieldName === primaryAlias
58
+ ? getAliasDefaultFormField(state)
59
+ : getDefaultFormField(fieldName);
60
+ formField[fieldName] = { ...fieldAttrs };
61
+ }
62
+ else {
63
+ // There's a `custom:*` attribute or one we don't already have an implementation for
64
+ console.debug(`Authenticator does not have a default implementation for ${fieldName}. Customize SignUp FormFields to add your own.`);
65
+ }
66
+ }
67
+ return formField;
68
+ };
69
+ const getConfirmSignUpFormFields = (state) => ({
70
+ confirmation_code: {
71
+ ...getDefaultFormField('confirmation_code'),
72
+ placeholder: 'Enter your code',
73
+ },
74
+ });
75
+ const getForgotPasswordFormFields = (state) => {
76
+ const primaryAlias = getPrimaryAlias(state);
77
+ const { label } = defaultFormFieldOptions[primaryAlias];
78
+ return {
79
+ username: {
80
+ ...getAliasDefaultFormField(state),
81
+ label: `Enter your ${label.toLowerCase()}`,
82
+ placeholder: `Enter your ${label.toLowerCase()}`,
83
+ },
84
+ };
85
+ };
86
+ const getConfirmResetPasswordFormFields = (state) => ({
87
+ ...getConfirmationCodeFormFields(),
88
+ password: {
89
+ ...getDefaultFormField('password'),
90
+ label: 'New Password',
91
+ placeholder: 'New Password',
92
+ },
93
+ confirm_password: {
94
+ ...getDefaultFormField('confirm_password'),
95
+ label: 'Confirm Password',
96
+ placeholder: 'Confirm Password',
97
+ },
98
+ });
99
+ const getForceNewPasswordFormFields = (state) => {
100
+ const actorState = getActorState(state);
101
+ const { missingAttributes } = actorState.context;
102
+ const fieldNames = Array.from(new Set([
103
+ 'password',
104
+ 'confirm_password',
105
+ ...(missingAttributes ?? []),
106
+ ]));
107
+ const formField = {};
108
+ for (const fieldName of fieldNames) {
109
+ if (isAuthFieldWithDefaults(fieldName)) {
110
+ formField[fieldName] = { ...getDefaultFormField(fieldName) };
111
+ }
112
+ else {
113
+ // There's a `custom:*` attribute or one we don't already have an implementation for
114
+ console.debug(`Authenticator does not have a default implementation for ${fieldName}. Customize ForceNewPassword FormFields to add your own.`);
115
+ }
116
+ }
117
+ return formField;
118
+ };
119
+ /** Collect all the defaultFormFields getters */
120
+ const defaultFormFieldsGetters = {
121
+ signIn: getSignInFormFields,
122
+ signUp: getSignUpFormFields,
123
+ confirmSignUp: getConfirmSignUpFormFields,
124
+ confirmSignIn: getConfirmationCodeFormFields,
125
+ forceNewPassword: getForceNewPasswordFormFields,
126
+ forgotPassword: getForgotPasswordFormFields,
127
+ confirmResetPassword: getConfirmResetPasswordFormFields,
128
+ confirmVerifyUser: getConfirmationCodeFormFields,
129
+ setupTotp: getConfirmationCodeFormFields,
130
+ };
131
+
132
+ export { DEFAULT_COUNTRY_CODE, defaultFormFieldsGetters, getAliasDefaultFormField };
@@ -1 +1,62 @@
1
- import"../../../types/authenticator/user.mjs";import{isAuthFieldsWithDefaults as s}from"../../../types/authenticator/attributes.mjs";import"../../../types/primitives/componentClassName.mjs";import{getActorContext as t}from"../actor.mjs";import{defaultFormFieldOptions as e}from"../constants.mjs";import{defaultFormFieldsGetters as r,getAliasDefaultFormField as n}from"./defaults.mjs";import{applyTranslation as i,sortFormFields as o}from"./util.mjs";const a=(s,t)=>(0,r[s])(t),c=(r,i)=>{var o,a;const c=null===(a=null===(o=t(i))||void 0===o?void 0:o.formFields)||void 0===a?void 0:a[r];return c&&0!==Object.keys(c).length?Object.entries(c).reduce(((t,[o,a])=>{if("signIn"!==r&&"resetPassword"!==r||"username"!==o){if(s(o)){const s=e[o],r=Object.assign(Object.assign({},s),a);return Object.assign(Object.assign({},t),{[o]:r})}return Object.assign(Object.assign({},t),{[o]:a})}{const s=n(i),e=Object.assign(Object.assign({},s),a);return Object.assign(Object.assign({},t),{[o]:e})}}),{}):{}},m=(s,t)=>{const e=a(s,t),r=c(s,t),n=Object.assign(Object.assign({},e),r);return delete n.QR,i(n)},j=s=>s.map((s=>[s[0],Object.assign(Object.assign({},s[1]),{order:void 0})])),b=(s,t)=>{const e=m(s,t);return j(o(e))};export{c as getCustomFormFields,a as getDefaultFormFields,m as getFormFields,b as getSortedFormFields,j as removeOrderKeys};
1
+ import '../../../types/authenticator/user.mjs';
2
+ import { isAuthFieldsWithDefaults } from '../../../types/authenticator/attributes.mjs';
3
+ import { getActorContext } from '../actor.mjs';
4
+ import { defaultFormFieldOptions } from '../constants.mjs';
5
+ import { defaultFormFieldsGetters, getAliasDefaultFormField } from './defaults.mjs';
6
+ import { applyTranslation, sortFormFields } from './utils.mjs';
7
+
8
+ // Gets the default formFields for given route
9
+ const getDefaultFormFields = (route, state) => {
10
+ const formFieldGetter = defaultFormFieldsGetters[route];
11
+ return formFieldGetter(state);
12
+ };
13
+ // Gets custom formFields, and applies default values
14
+ const getCustomFormFields = (route, state) => {
15
+ const customFormFields = getActorContext(state)?.formFields?.[route];
16
+ if (!customFormFields || Object.keys(customFormFields).length === 0) {
17
+ return {};
18
+ }
19
+ return Object.entries(customFormFields).reduce((acc, [fieldName, customOptions]) => {
20
+ if ((route === 'signIn' || route === 'forgotPassword') &&
21
+ fieldName === 'username') {
22
+ // Unlike other screens, `signIn` and `forgotPassword` screens default login
23
+ // alias field names to "username", even if it's a phone number or email.
24
+ // In this case, we get the default formFieldOptions based on loginMechanism.
25
+ const defaultOptions = getAliasDefaultFormField(state);
26
+ // apply default to fill any gaps that are not present in customOptions
27
+ const mergedOptions = { ...defaultOptions, ...customOptions };
28
+ return { ...acc, [fieldName]: mergedOptions };
29
+ }
30
+ else if (isAuthFieldsWithDefaults(fieldName)) {
31
+ // if this field is a known auth attribute that we have defaults for,
32
+ // apply defaults to customOptions.
33
+ const defaultOptions = defaultFormFieldOptions[fieldName];
34
+ const mergedOptions = { ...defaultOptions, ...customOptions };
35
+ return { ...acc, [fieldName]: mergedOptions };
36
+ }
37
+ else {
38
+ // if this is not a known field, use customOptions as is.
39
+ return { ...acc, [fieldName]: customOptions };
40
+ }
41
+ }, {});
42
+ };
43
+ const getFormFields = (route, state) => {
44
+ const defaultFormFields = getDefaultFormFields(route, state);
45
+ const customFormFields = getCustomFormFields(route, state);
46
+ const formFields = { ...defaultFormFields, ...customFormFields };
47
+ delete formFields['QR'];
48
+ return applyTranslation(formFields);
49
+ };
50
+ const removeOrderKeys = (formFields) => formFields.map((field) => {
51
+ const key = field[0];
52
+ // Drop order key to prevent passing to form field UI components
53
+ const values = { ...field[1], order: undefined };
54
+ return [key, values];
55
+ });
56
+ /** Calls `getFormFields` above, then sorts it into an indexed array */
57
+ const getSortedFormFields = (route, state) => {
58
+ const formFields = getFormFields(route, state);
59
+ return removeOrderKeys(sortFormFields(formFields));
60
+ };
61
+
62
+ export { getCustomFormFields, getDefaultFormFields, getFormFields, getSortedFormFields, removeOrderKeys };
@@ -0,0 +1,35 @@
1
+ import { translate } from '../../../i18n/translations.mjs';
2
+
3
+ const getPrimaryAlias = (state) => {
4
+ const loginMechanisms = state?.context.config?.loginMechanisms;
5
+ /**
6
+ * @migration this is where we grab only the first index of `aws_cognito_username_attributes`
7
+ */
8
+ const [primaryAlias] = loginMechanisms ?? ['username'];
9
+ return primaryAlias;
10
+ };
11
+ /** Applies translations to label and placeholder */
12
+ const applyTranslation = (formFields) => {
13
+ const newFormFields = { ...formFields };
14
+ for (const [name, options] of Object.entries(formFields)) {
15
+ const { label, placeholder } = options;
16
+ newFormFields[name] = {
17
+ ...options,
18
+ label: label ? translate(label) : undefined,
19
+ placeholder: placeholder ? translate(placeholder) : undefined,
20
+ };
21
+ }
22
+ return newFormFields;
23
+ };
24
+ /** Sorts formFields according to their `order`. */
25
+ const sortFormFields = (formFields) => {
26
+ return Object.entries(formFields)
27
+ .sort((a, b) => {
28
+ const orderA = a[1].order || Number.MAX_VALUE;
29
+ const orderB = b[1].order || Number.MAX_VALUE;
30
+ return orderA - orderB;
31
+ })
32
+ .filter((formFieldEntry) => formFieldEntry[1] !== undefined);
33
+ };
34
+
35
+ export { applyTranslation, getPrimaryAlias, sortFormFields };
@@ -0,0 +1,47 @@
1
+ const getRoute = (state, actorState) => {
2
+ switch (true) {
3
+ case state.matches('idle'):
4
+ return 'idle';
5
+ case state.matches('setup'):
6
+ return 'setup';
7
+ case state.matches('signOut'):
8
+ return 'signOut';
9
+ case state.matches('authenticated'):
10
+ return 'authenticated';
11
+ case actorState?.matches('confirmSignUp'):
12
+ case actorState?.matches('confirmSignUp.resendConfirmationCode'):
13
+ return 'confirmSignUp';
14
+ case actorState?.matches('confirmSignIn'):
15
+ return 'confirmSignIn';
16
+ case actorState?.matches('setupTotp.edit'):
17
+ case actorState?.matches('setupTotp.submit'):
18
+ return 'setupTotp';
19
+ case actorState?.matches('signIn'):
20
+ return 'signIn';
21
+ case actorState?.matches('signUp'):
22
+ return 'signUp';
23
+ case actorState?.matches('forceChangePassword'):
24
+ return 'forceNewPassword';
25
+ case actorState?.matches('forgotPassword'):
26
+ return 'forgotPassword';
27
+ case actorState?.matches('confirmResetPassword'):
28
+ return 'confirmResetPassword';
29
+ case actorState?.matches('selectUserAttributes'):
30
+ return 'verifyUser';
31
+ case actorState?.matches('confirmVerifyUserAttribute'):
32
+ return 'confirmVerifyUser';
33
+ case state.matches('getCurrentUser'):
34
+ case actorState.matches('fetchUserAttributes'):
35
+ /**
36
+ * This route is needed for autoSignIn to capture both the
37
+ * autoSignIn.pending and the resolved states when the
38
+ * signIn actor is running.
39
+ */
40
+ return 'transition';
41
+ default:
42
+ console.debug('Cannot infer `route` from Authenticator state:', state.value);
43
+ return null;
44
+ }
45
+ };
46
+
47
+ export { getRoute };
@@ -1 +1,112 @@
1
- import{translate as e,DefaultTexts as t}from"../../i18n/translations.mjs";const T={amazon:"Amazon",apple:"Apple",facebook:"Facebook",google:"Google"},n={getBackToSignInText:()=>e(t.BACK_SIGN_IN),getChangePasswordText:()=>e(t.CHANGE_PASSWORD),getChangingText:()=>e(t.CHANGING_PASSWORD),getConfirmText:()=>e(t.CONFIRM),getConfirmingText:()=>e(t.CONFIRMING),getCopyText:()=>e(t.UPPERCASE_COPY),getHidePasswordText:()=>e(t.HIDE_PASSWORD),getLoadingText:()=>e(t.LOADING),getOrText:()=>e(t.OR),getResendCodeText:()=>e(t.RESEND_CODE),getSendCodeText:()=>e(t.SEND_CODE),getSendingText:()=>e(t.SENDING),getShowPasswordText:()=>e(t.SHOW_PASSWORD),getSubmitText:()=>e(t.SUBMIT),getSubmittingText:()=>e(t.SUBMITTING),getSignInTabText:()=>e(t.SIGN_IN_TAB),getSignUpTabText:()=>e(t.CREATE_ACCOUNT),getForgotPasswordText:T=>e(T?t.FORGOT_PASSWORD:t.FORGOT_YOUR_PASSWORD),getSigningInText:()=>e(t.SIGNING_IN_BUTTON),getSignInText:()=>e(t.SIGN_IN_BUTTON),getCreatingAccountText:()=>e(t.CREATING_ACCOUNT),getCreateAccountText:()=>e(t.CREATE_ACCOUNT),getDeliveryMessageText:T=>{const{DeliveryMedium:n,Destination:g}=null!=T?T:{},i="EMAIL"===n,S="SMS"===n,o=e(t.CODE_ARRIVAL);if(!i&&!S)return`${e(t.CODE_SENT)}. ${o}.`;return`${e(i?t.CODE_EMAILED:t.CODE_TEXTED)} ${g}. ${o}.`},getDeliveryMethodText:T=>{const{DeliveryMedium:n}=null!=T?T:{},g="EMAIL"===n;return e(g||"SMS"!==n?g?t.WE_EMAILED:t.WE_TEXTED:t.WE_SENT_CODE)},getChallengeText:T=>{switch(T){case"SMS_MFA":return e(t.CONFIRM_SMS);case"SOFTWARE_TOKEN_MFA":return e(t.CONFIRM_TOTP);default:throw new Error(`${e("Unexpected challengeName encountered in ConfirmSignIn:")} ${T}`)}},getResetYourPasswordText:()=>e(t.RESET_PASSWORD),getSetupTOTPText:()=>e(t.SETUP_TOTP),getSetupTOTPInstructionsText:()=>e("Copy and paste the secret key below into an authenticator app and then enter the code in the text field below."),getCopiedText:()=>e("COPIED"),getSignInWithFederationText:(t,n)=>e(`Sign ${"signIn"===t?"In":"Up"} with ${T[n]}`),getSkipText:()=>e(t.SKIP),getVerifyText:()=>e(t.VERIFY),getVerifyContactText:()=>e(t.VERIFY_CONTACT),getAccountRecoveryInfoText:()=>e(t.VERIFY_HEADING),getInvalidEmailText:()=>e("Please enter a valid email"),getRequiredFieldText:()=>e("This field is required")};export{n as authenticatorTextUtil};
1
+ import { translate, DefaultTexts } from '../../i18n/translations.mjs';
2
+
3
+ /**
4
+ * ConfirmSignIn
5
+ */
6
+ const getChallengeText = (challengeName) => {
7
+ switch (challengeName) {
8
+ case 'SMS_MFA':
9
+ return translate(DefaultTexts.CONFIRM_SMS);
10
+ case 'SOFTWARE_TOKEN_MFA':
11
+ return translate(DefaultTexts.CONFIRM_TOTP);
12
+ default:
13
+ throw new Error(`${translate('Unexpected challengeName encountered in ConfirmSignIn:')} ${challengeName}`);
14
+ }
15
+ };
16
+ /**
17
+ * ConfirmSignUp
18
+ */
19
+ const getDeliveryMessageText = (codeDeliveryDetails) => {
20
+ const { DeliveryMedium, Destination } = codeDeliveryDetails ?? {};
21
+ const isEmailMessage = DeliveryMedium === 'EMAIL';
22
+ const isTextMessage = DeliveryMedium === 'SMS';
23
+ const arrivalMessage = translate(DefaultTexts.CODE_ARRIVAL);
24
+ if (!(isEmailMessage || isTextMessage)) {
25
+ return `${translate(DefaultTexts.CODE_SENT)}. ${arrivalMessage}.`;
26
+ }
27
+ const instructionMessage = isEmailMessage
28
+ ? translate(DefaultTexts.CODE_EMAILED)
29
+ : translate(DefaultTexts.CODE_TEXTED);
30
+ return `${instructionMessage} ${Destination}. ${arrivalMessage}.`;
31
+ };
32
+ const getDeliveryMethodText = (codeDeliveryDetails) => {
33
+ const { DeliveryMedium } = codeDeliveryDetails ?? {};
34
+ const isEmailMessage = DeliveryMedium === 'EMAIL';
35
+ const isTextMessage = DeliveryMedium === 'SMS';
36
+ if (!isEmailMessage && isTextMessage) {
37
+ return translate(DefaultTexts.WE_SENT_CODE);
38
+ }
39
+ return isEmailMessage
40
+ ? translate(DefaultTexts.WE_EMAILED)
41
+ : translate(DefaultTexts.WE_TEXTED);
42
+ };
43
+ /**
44
+ * FederatedSignIn
45
+ */
46
+ const providerNameMap = {
47
+ amazon: 'Amazon',
48
+ apple: 'Apple',
49
+ facebook: 'Facebook',
50
+ google: 'Google',
51
+ };
52
+ const getSignInWithFederationText = (route, provider) => {
53
+ const isSignIn = route === 'signIn';
54
+ return translate(`Sign ${isSignIn ? 'In' : 'Up'} with ${providerNameMap[provider]}`);
55
+ };
56
+ const authenticatorTextUtil = {
57
+ /** Shared */
58
+ getBackToSignInText: () => translate(DefaultTexts.BACK_SIGN_IN),
59
+ getChangePasswordText: () => translate(DefaultTexts.CHANGE_PASSWORD),
60
+ getChangingText: () => translate(DefaultTexts.CHANGING_PASSWORD),
61
+ getConfirmText: () => translate(DefaultTexts.CONFIRM),
62
+ getConfirmingText: () => translate(DefaultTexts.CONFIRMING),
63
+ getCopyText: () => translate(DefaultTexts.UPPERCASE_COPY),
64
+ getHidePasswordText: () => translate(DefaultTexts.HIDE_PASSWORD),
65
+ getLoadingText: () => translate(DefaultTexts.LOADING),
66
+ getOrText: () => translate(DefaultTexts.OR),
67
+ getResendCodeText: () => translate(DefaultTexts.RESEND_CODE),
68
+ getSendCodeText: () => translate(DefaultTexts.SEND_CODE),
69
+ getSendingText: () => translate(DefaultTexts.SENDING),
70
+ getShowPasswordText: () => translate(DefaultTexts.SHOW_PASSWORD),
71
+ getSubmitText: () => translate(DefaultTexts.SUBMIT),
72
+ getSubmittingText: () => translate(DefaultTexts.SUBMITTING),
73
+ /** SignInSignUpTabs */
74
+ getSignInTabText: () => translate(DefaultTexts.SIGN_IN_TAB),
75
+ getSignUpTabText: () => translate(DefaultTexts.CREATE_ACCOUNT),
76
+ /** SignIn */
77
+ getForgotPasswordText: (shortVersion) => translate(shortVersion
78
+ ? DefaultTexts.FORGOT_PASSWORD
79
+ : DefaultTexts.FORGOT_YOUR_PASSWORD),
80
+ getSigningInText: () => translate(DefaultTexts.SIGNING_IN_BUTTON),
81
+ getSignInText: () => translate(DefaultTexts.SIGN_IN_BUTTON),
82
+ /** SignUp */
83
+ getCreatingAccountText: () => translate(DefaultTexts.CREATING_ACCOUNT),
84
+ getCreateAccountText: () => translate(DefaultTexts.CREATE_ACCOUNT),
85
+ /** ConfirmSignUp */
86
+ getDeliveryMessageText,
87
+ getDeliveryMethodText,
88
+ /** ConfirmSignIn */
89
+ getChallengeText,
90
+ /** ResetPassword */
91
+ getResetYourPasswordText: () => translate(DefaultTexts.RESET_PASSWORD),
92
+ /** SetupTotp */
93
+ getSetupTotpText: () => translate(DefaultTexts.SETUP_TOTP),
94
+ // TODO: add defaultText for below
95
+ getSetupTotpInstructionsText: () => translate('Copy and paste the secret key below into an authenticator app and then enter the code in the text field below.'),
96
+ // TODO: add defaultText for "COPIED"
97
+ getCopiedText: () => translate('COPIED'),
98
+ /** FederatedSignIn */
99
+ getSignInWithFederationText,
100
+ /** VerifyUser */
101
+ getSkipText: () => translate(DefaultTexts.SKIP),
102
+ getVerifyText: () => translate(DefaultTexts.VERIFY),
103
+ getVerifyContactText: () => translate(DefaultTexts.VERIFY_CONTACT),
104
+ getAccountRecoveryInfoText: () => translate(DefaultTexts.VERIFY_HEADING),
105
+ /** Validations */
106
+ // TODO: add defaultText
107
+ getInvalidEmailText: () => translate('Please enter a valid email'),
108
+ // TODO: add defaultText
109
+ getRequiredFieldText: () => translate('This field is required'),
110
+ }; // using `as const` so that keys are strongly typed
111
+
112
+ export { authenticatorTextUtil };
@@ -1 +1,38 @@
1
- import{__awaiter as t}from"tslib";import{Hub as e}from"aws-amplify";import{appendToCognitoUserAgent as n}from"@aws-amplify/auth";import{waitFor as i}from"xstate/lib/waitFor.js";import{ALLOWED_SPECIAL_CHARACTERS as a,emailRegex as o}from"./constants.mjs";import{getActorState as s}from"./actor.mjs";import{isFunction as r}from"../../utils/index.mjs";const c=({packageName:t,version:e})=>{n(`${t}/${e}`)},l=t=>{const e=t.trim().split("");for(let t=0;t<e.length;t++)t>0&&t<e.length-1&&(e[t]="*");return e.join("")},u=t=>{if(t.length<4)return t;const e=t.split("");for(let t=0;t<e.length-4;t++)e[t]="*";return e.join("")},m=e=>t(void 0,void 0,void 0,(function*(){try{yield i(e,(t=>s(t).matches("autoSignIn")))}catch(t){}})),d=({payload:{data:e,event:n}},i,a)=>t(void 0,void 0,void 0,(function*(){const{send:t}=i,o=i.getSnapshot(),{onSignIn:c,onSignOut:l}=null!=a?a:{};switch(n){case"tokenRefresh":o.matches("authenticated.idle")&&t("TOKEN_REFRESH");break;case"autoSignIn":if(!o.matches("authenticated")){yield m(i);const n=s(i.getSnapshot());(null==n?void 0:n.matches("autoSignIn"))&&t({type:"AUTO_SIGN_IN",data:e})}break;case"autoSignIn_failure":{yield m(i);const n=s(i.getSnapshot());(null==n?void 0:n.matches("autoSignIn"))&&t({type:"AUTO_SIGN_IN_FAILURE",data:e});break}case"signIn":r(c)&&c();break;case"signOut":case"tokenRefresh_failure":r(l)&&l(),o.matches("authenticated.idle")&&t("SIGN_OUT")}})),h=(t,n=d)=>e.listen("auth",((t,e)=>n=>{e(n,t)})(t,n),"authenticator-hub-handler"),p=t=>a.some((e=>t.includes(e))),f=(t,e,n)=>encodeURI(`otpauth://totp/${t}:${e}?secret=${n}&issuer=${t}`);function g(t,...e){return Object.entries(t).reduce(((t,[n,i])=>Object.assign(Object.assign({},t),{[n]:e.includes(n)?i:null==i?void 0:i.trim()})),{})}const I=t=>!!t&&o.test(t);export{l as censorAllButFirstAndLast,u as censorPhoneNumber,c as configureComponent,d as defaultAuthHubHandler,f as getTotpCodeURL,p as hasSpecialChars,I as isValidEmail,h as listenToAuthHub,g as trimValues};
1
+ import { ALLOWED_SPECIAL_CHARACTERS, emailRegex } from './constants.mjs';
2
+
3
+ // replaces all characters in a string with '*', except for the first and last char
4
+ const censorAllButFirstAndLast = (value) => {
5
+ const split = value.trim().split('');
6
+ for (let i = 0; i < split.length; i++) {
7
+ if (i > 0 && i < split.length - 1) {
8
+ split[i] = '*';
9
+ }
10
+ }
11
+ return split.join('');
12
+ };
13
+ // censors all but the last four characters of a phone number
14
+ const censorPhoneNumber = (val) => {
15
+ if (val.length < 4) {
16
+ return val;
17
+ }
18
+ const split = val.split('');
19
+ for (let i = 0; i < split.length - 4; i++) {
20
+ split[i] = '*';
21
+ }
22
+ return split.join('');
23
+ };
24
+ const hasSpecialChars = (password) => ALLOWED_SPECIAL_CHARACTERS.some((char) => password.includes(char));
25
+ const getTotpCodeURL = (issuer, username, secret) => encodeURI(`otpauth://totp/${issuer}:${username}?secret=${secret}&issuer=${issuer}`);
26
+ function trimValues(values, ...ignored) {
27
+ return Object.entries(values).reduce((acc, [name, value]) => ({
28
+ ...acc,
29
+ [name]: ignored.includes(name) ? value : value?.trim(),
30
+ }), {});
31
+ }
32
+ const isValidEmail = (value) => {
33
+ if (!value)
34
+ return false;
35
+ return emailRegex.test(value);
36
+ };
37
+
38
+ export { censorAllButFirstAndLast, censorPhoneNumber, getTotpCodeURL, hasSpecialChars, isValidEmail, trimValues };
@@ -1 +1,5 @@
1
- import{Logger as m}from"aws-amplify";const o=o=>new m(`AmplifyUI:${o}`);export{o as getLogger};
1
+ import { ConsoleLogger } from 'aws-amplify/utils';
2
+
3
+ const getLogger = (category) => new ConsoleLogger(`AmplifyUI:${category}`);
4
+
5
+ export { getLogger };
@@ -1 +1,210 @@
1
- const o=["+1","+7","+20","+27","+30","+31","+32","+33","+34","+36","+39","+40","+41","+43","+44","+45","+46","+47","+48","+49","+51","+52","+53","+54","+55","+56","+57","+58","+60","+61","+62","+63","+64","+65","+66","+81","+82","+84","+86","+90","+91","+92","+93","+94","+95","+98","+212","+213","+216","+218","+220","+221","+222","+223","+224","+225","+226","+227","+228","+229","+230","+231","+232","+233","+234","+235","+236","+237","+238","+239","+240","+241","+242","+243","+244","+245","+246","+248","+249","+250","+251","+252","+253","+254","+255","+256","+257","+258","+260","+261","+262","+263","+264","+265","+266","+267","+268","+269","+290","+291","+297","+298","+299","+345","+350","+351","+352","+353","+354","+355","+356","+357","+358","+359","+370","+371","+372","+373","+374","+375","+376","+377","+378","+379","+380","+381","+382","+385","+386","+387","+389","+420","+421","+423","+500","+501","+502","+503","+504","+505","+506","+507","+508","+509","+537","+590","+591","+593","+594","+595","+596","+597","+598","+599","+670","+672","+673","+674","+675","+676","+677","+678","+679","+680","+681","+682","+683","+685","+686","+687","+688","+689","+690","+691","+692","+850","+852","+853","+855","+856","+872","+880","+886","+960","+961","+962","+963","+964","+965","+966","+967","+968","+970","+971","+972","+973","+974","+975","+976","+977","+992","+993","+994","+995","+996","+998"];export{o as countryDialCodes};
1
+ const countryDialCodes = [
2
+ '+1',
3
+ '+7',
4
+ '+20',
5
+ '+27',
6
+ '+30',
7
+ '+31',
8
+ '+32',
9
+ '+33',
10
+ '+34',
11
+ '+36',
12
+ '+39',
13
+ '+40',
14
+ '+41',
15
+ '+43',
16
+ '+44',
17
+ '+45',
18
+ '+46',
19
+ '+47',
20
+ '+48',
21
+ '+49',
22
+ '+51',
23
+ '+52',
24
+ '+53',
25
+ '+54',
26
+ '+55',
27
+ '+56',
28
+ '+57',
29
+ '+58',
30
+ '+60',
31
+ '+61',
32
+ '+62',
33
+ '+63',
34
+ '+64',
35
+ '+65',
36
+ '+66',
37
+ '+81',
38
+ '+82',
39
+ '+84',
40
+ '+86',
41
+ '+90',
42
+ '+91',
43
+ '+92',
44
+ '+93',
45
+ '+94',
46
+ '+95',
47
+ '+98',
48
+ '+212',
49
+ '+213',
50
+ '+216',
51
+ '+218',
52
+ '+220',
53
+ '+221',
54
+ '+222',
55
+ '+223',
56
+ '+224',
57
+ '+225',
58
+ '+226',
59
+ '+227',
60
+ '+228',
61
+ '+229',
62
+ '+230',
63
+ '+231',
64
+ '+232',
65
+ '+233',
66
+ '+234',
67
+ '+235',
68
+ '+236',
69
+ '+237',
70
+ '+238',
71
+ '+239',
72
+ '+240',
73
+ '+241',
74
+ '+242',
75
+ '+243',
76
+ '+244',
77
+ '+245',
78
+ '+246',
79
+ '+248',
80
+ '+249',
81
+ '+250',
82
+ '+251',
83
+ '+252',
84
+ '+253',
85
+ '+254',
86
+ '+255',
87
+ '+256',
88
+ '+257',
89
+ '+258',
90
+ '+260',
91
+ '+261',
92
+ '+262',
93
+ '+263',
94
+ '+264',
95
+ '+265',
96
+ '+266',
97
+ '+267',
98
+ '+268',
99
+ '+269',
100
+ '+290',
101
+ '+291',
102
+ '+297',
103
+ '+298',
104
+ '+299',
105
+ '+345',
106
+ '+350',
107
+ '+351',
108
+ '+352',
109
+ '+353',
110
+ '+354',
111
+ '+355',
112
+ '+356',
113
+ '+357',
114
+ '+358',
115
+ '+359',
116
+ '+370',
117
+ '+371',
118
+ '+372',
119
+ '+373',
120
+ '+374',
121
+ '+375',
122
+ '+376',
123
+ '+377',
124
+ '+378',
125
+ '+379',
126
+ '+380',
127
+ '+381',
128
+ '+382',
129
+ '+385',
130
+ '+386',
131
+ '+387',
132
+ '+389',
133
+ '+420',
134
+ '+421',
135
+ '+423',
136
+ '+500',
137
+ '+501',
138
+ '+502',
139
+ '+503',
140
+ '+504',
141
+ '+505',
142
+ '+506',
143
+ '+507',
144
+ '+508',
145
+ '+509',
146
+ '+537',
147
+ '+590',
148
+ '+591',
149
+ '+593',
150
+ '+594',
151
+ '+595',
152
+ '+596',
153
+ '+597',
154
+ '+598',
155
+ '+599',
156
+ '+670',
157
+ '+672',
158
+ '+673',
159
+ '+674',
160
+ '+675',
161
+ '+676',
162
+ '+677',
163
+ '+678',
164
+ '+679',
165
+ '+680',
166
+ '+681',
167
+ '+682',
168
+ '+683',
169
+ '+685',
170
+ '+686',
171
+ '+687',
172
+ '+688',
173
+ '+689',
174
+ '+690',
175
+ '+691',
176
+ '+692',
177
+ '+850',
178
+ '+852',
179
+ '+853',
180
+ '+855',
181
+ '+856',
182
+ '+872',
183
+ '+880',
184
+ '+886',
185
+ '+960',
186
+ '+961',
187
+ '+962',
188
+ '+963',
189
+ '+964',
190
+ '+965',
191
+ '+966',
192
+ '+967',
193
+ '+968',
194
+ '+970',
195
+ '+971',
196
+ '+972',
197
+ '+973',
198
+ '+974',
199
+ '+975',
200
+ '+976',
201
+ '+977',
202
+ '+992',
203
+ '+993',
204
+ '+994',
205
+ '+995',
206
+ '+996',
207
+ '+998',
208
+ ];
209
+
210
+ export { countryDialCodes };