@aws-amplify/ui-react 5.3.2 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/dist/Field-6c0e096a.js +1174 -0
  2. package/dist/esm/PrimitiveCatalog.mjs +16255 -1
  3. package/dist/esm/components/AccountSettings/AccountSettings.mjs +6 -1
  4. package/dist/esm/components/AccountSettings/ChangePassword/ChangePassword.mjs +209 -1
  5. package/dist/esm/components/AccountSettings/ChangePassword/defaults.mjs +77 -1
  6. package/dist/esm/components/AccountSettings/DeleteUser/DeleteUser.mjs +156 -1
  7. package/dist/esm/components/AccountSettings/DeleteUser/defaults.mjs +85 -1
  8. package/dist/esm/components/AccountSettings/constants.mjs +7 -1
  9. package/dist/esm/components/AccountSettings/shared/Defaults.mjs +66 -1
  10. package/dist/esm/components/AccountSettings/utils/displayText.mjs +14 -0
  11. package/dist/esm/components/Authenticator/Authenticator.mjs +74 -1
  12. package/dist/esm/components/Authenticator/ConfirmSignIn/ConfirmSignIn.mjs +42 -1
  13. package/dist/esm/components/Authenticator/ConfirmSignUp/ConfirmSignUp.mjs +51 -1
  14. package/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignIn.mjs +34 -1
  15. package/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignInButtons/FederatedSignInButton.mjs +54 -1
  16. package/dist/esm/components/Authenticator/ForceNewPassword/ForceNewPassword.mjs +43 -1
  17. package/dist/esm/components/Authenticator/ForgotPassword/ConfirmResetPassword.mjs +39 -0
  18. package/dist/esm/components/Authenticator/ForgotPassword/ForgotPassword.mjs +40 -0
  19. package/dist/esm/components/Authenticator/RouteContainer/RouteContainer.mjs +26 -1
  20. package/dist/esm/components/Authenticator/Router/Router.mjs +63 -1
  21. package/dist/esm/components/Authenticator/SetupTotp/SetupTotp.mjs +76 -0
  22. package/dist/esm/components/Authenticator/SignIn/SignIn.mjs +47 -1
  23. package/dist/esm/components/Authenticator/SignUp/SignUp.mjs +46 -1
  24. package/dist/esm/components/Authenticator/VerifyUser/ConfirmVerifyUser.mjs +37 -1
  25. package/dist/esm/components/Authenticator/VerifyUser/VerifyUser.mjs +59 -1
  26. package/dist/esm/components/Authenticator/hooks/useCustomComponents/defaultComponents.mjs +62 -1
  27. package/dist/esm/components/Authenticator/hooks/useCustomComponents/useCustomComponents.mjs +14 -1
  28. package/dist/esm/components/Authenticator/hooks/useFormHandlers/useFormHandlers.mjs +30 -1
  29. package/dist/esm/components/Authenticator/shared/ConfirmSignInFooter.mjs +18 -1
  30. package/dist/esm/components/Authenticator/shared/FormField.mjs +35 -1
  31. package/dist/esm/components/Authenticator/shared/FormFields.mjs +15 -1
  32. package/dist/esm/components/Authenticator/shared/RemoteErrorMessage.mjs +11 -1
  33. package/dist/esm/components/Authenticator/shared/SignInSignUpTabs.mjs +27 -1
  34. package/dist/esm/components/Authenticator/shared/TwoButtonSubmitFooter.mjs +35 -1
  35. package/dist/esm/components/Authenticator/utils.mjs +3 -1
  36. package/dist/esm/components/Authenticator/withAuthenticator.mjs +14 -1
  37. package/dist/esm/components/ThemeProvider/ThemeContext.mjs +8 -0
  38. package/dist/esm/components/ThemeProvider/ThemeProvider.mjs +23 -1
  39. package/dist/esm/components/index.mjs +5 -1
  40. package/dist/esm/components/shared/ValidationErrors.mjs +15 -1
  41. package/dist/esm/helpers/utils.mjs +6 -1
  42. package/dist/esm/hooks/useAuth.mjs +73 -1
  43. package/dist/esm/hooks/useBreakpointValue.mjs +29 -1
  44. package/dist/esm/hooks/useComposeRefsCallback.mjs +20 -1
  45. package/dist/esm/hooks/useDeprecationWarning.mjs +15 -1
  46. package/dist/esm/hooks/useStorageURL.mjs +40 -1
  47. package/dist/esm/hooks/useTheme.mjs +23 -1
  48. package/dist/esm/hooks/useThemeBreakpoint.mjs +19 -1
  49. package/dist/esm/index.mjs +71 -1
  50. package/dist/esm/internal.mjs +32 -1
  51. package/dist/esm/primitives/Accordion/Accordion.mjs +28 -0
  52. package/dist/esm/primitives/Accordion/AccordionContainer.mjs +49 -0
  53. package/dist/esm/primitives/Accordion/AccordionContent.mjs +15 -0
  54. package/dist/esm/primitives/Accordion/AccordionContext.mjs +6 -0
  55. package/dist/esm/primitives/Accordion/AccordionIcon.mjs +20 -0
  56. package/dist/esm/primitives/Accordion/AccordionItem.mjs +19 -0
  57. package/dist/esm/primitives/Accordion/AccordionTrigger.mjs +27 -0
  58. package/dist/esm/primitives/Alert/Alert.mjs +36 -1
  59. package/dist/esm/primitives/Alert/AlertIcon.mjs +36 -1
  60. package/dist/esm/primitives/Autocomplete/Autocomplete.mjs +67 -1
  61. package/dist/esm/primitives/Autocomplete/AutocompleteMenu.mjs +36 -1
  62. package/dist/esm/primitives/Autocomplete/AutocompleteOption.mjs +12 -1
  63. package/dist/esm/primitives/Autocomplete/useAutocomplete.mjs +188 -1
  64. package/dist/esm/primitives/Badge/Badge.mjs +16 -1
  65. package/dist/esm/primitives/Breadcrumbs/BreadcrumbContainer.mjs +18 -1
  66. package/dist/esm/primitives/Breadcrumbs/BreadcrumbItem.mjs +16 -1
  67. package/dist/esm/primitives/Breadcrumbs/BreadcrumbLink.mjs +24 -1
  68. package/dist/esm/primitives/Breadcrumbs/BreadcrumbSeparator.mjs +16 -1
  69. package/dist/esm/primitives/Breadcrumbs/Breadcrumbs.mjs +28 -1
  70. package/dist/esm/primitives/Button/Button.mjs +33 -1
  71. package/dist/esm/primitives/ButtonGroup/ButtonGroup.mjs +19 -1
  72. package/dist/esm/primitives/Card/Card.mjs +15 -1
  73. package/dist/esm/primitives/Checkbox/Checkbox.mjs +84 -1
  74. package/dist/esm/primitives/CheckboxField/CheckboxField.mjs +24 -1
  75. package/dist/esm/primitives/Collection/Collection.mjs +58 -1
  76. package/dist/esm/primitives/Collection/utils.mjs +30 -1
  77. package/dist/esm/primitives/Divider/Divider.mjs +16 -1
  78. package/dist/esm/primitives/DropZone/DropZone.mjs +27 -1
  79. package/dist/esm/primitives/DropZone/DropZoneChildren.mjs +39 -1
  80. package/dist/esm/primitives/DropZone/DropZoneContainer.mjs +18 -1
  81. package/dist/esm/primitives/DropZone/DropZoneProvider.mjs +8 -1
  82. package/dist/esm/primitives/DropZone/filterAllowedFiles.mjs +34 -1
  83. package/dist/esm/primitives/DropZone/useDropZone.mjs +65 -1
  84. package/dist/esm/primitives/Field/Field.mjs +20 -1
  85. package/dist/esm/primitives/Field/FieldClearButton.mjs +21 -1
  86. package/dist/esm/primitives/Field/FieldDescription.mjs +11 -1
  87. package/dist/esm/primitives/Field/FieldErrorMessage.mjs +10 -1
  88. package/dist/esm/primitives/FieldGroup/FieldGroup.mjs +29 -1
  89. package/dist/esm/primitives/FieldGroupIcon/FieldGroupIcon.mjs +12 -1
  90. package/dist/esm/primitives/FieldGroupIcon/FieldGroupIconButton.mjs +11 -1
  91. package/dist/esm/primitives/Fieldset/Fieldset.mjs +33 -1
  92. package/dist/esm/primitives/Fieldset/useFieldset.mjs +13 -1
  93. package/dist/esm/primitives/Flex/Flex.mjs +13 -1
  94. package/dist/esm/primitives/Grid/Grid.mjs +13 -1
  95. package/dist/esm/primitives/Heading/Heading.mjs +21 -1
  96. package/dist/esm/primitives/HighlightMatch/HighlightMatch.mjs +28 -1
  97. package/dist/esm/primitives/Icon/Icon.mjs +36 -1
  98. package/dist/esm/primitives/Icon/context/IconsContext.mjs +5 -1
  99. package/dist/esm/primitives/Icon/context/IconsProvider.mjs +8 -1
  100. package/dist/esm/primitives/Icon/context/useIcons.mjs +12 -1
  101. package/dist/esm/primitives/Icon/icons/IconAdd.mjs +15 -1
  102. package/dist/esm/primitives/Icon/icons/IconCheck.mjs +15 -1
  103. package/dist/esm/primitives/Icon/icons/IconCheckCircle.mjs +15 -1
  104. package/dist/esm/primitives/Icon/icons/IconCheckCircleOutline.mjs +13 -1
  105. package/dist/esm/primitives/Icon/icons/IconChevronLeft.mjs +15 -1
  106. package/dist/esm/primitives/Icon/icons/IconChevronRight.mjs +15 -1
  107. package/dist/esm/primitives/Icon/icons/IconClose.mjs +15 -1
  108. package/dist/esm/primitives/Icon/icons/IconEdit.mjs +15 -1
  109. package/dist/esm/primitives/Icon/icons/IconError.mjs +15 -1
  110. package/dist/esm/primitives/Icon/icons/IconExpandMore.mjs +15 -1
  111. package/dist/esm/primitives/Icon/icons/IconFile.mjs +15 -1
  112. package/dist/esm/primitives/Icon/icons/IconIndeterminate.mjs +15 -1
  113. package/dist/esm/primitives/Icon/icons/IconInfo.mjs +15 -1
  114. package/dist/esm/primitives/Icon/icons/IconMenu.mjs +15 -1
  115. package/dist/esm/primitives/Icon/icons/IconRemove.mjs +15 -1
  116. package/dist/esm/primitives/Icon/icons/IconSearch.mjs +15 -1
  117. package/dist/esm/primitives/Icon/icons/IconStar.mjs +15 -1
  118. package/dist/esm/primitives/Icon/icons/IconUpload.mjs +15 -1
  119. package/dist/esm/primitives/Icon/icons/IconVisibility.mjs +15 -1
  120. package/dist/esm/primitives/Icon/icons/IconVisibilityOff.mjs +15 -1
  121. package/dist/esm/primitives/Icon/icons/IconWarning.mjs +15 -1
  122. package/dist/esm/primitives/Image/Image.mjs +13 -1
  123. package/dist/esm/primitives/Input/Input.mjs +15 -1
  124. package/dist/esm/primitives/Label/Label.mjs +14 -1
  125. package/dist/esm/primitives/Link/Link.mjs +15 -1
  126. package/dist/esm/primitives/Loader/Loader.mjs +56 -1
  127. package/dist/esm/primitives/Menu/Menu.mjs +31 -1
  128. package/dist/esm/primitives/Menu/MenuButton.mjs +18 -1
  129. package/dist/esm/primitives/Menu/MenuItem.mjs +22 -1
  130. package/dist/esm/primitives/Message/Message.mjs +23 -1
  131. package/dist/esm/primitives/Message/MessageContainer.mjs +19 -1
  132. package/dist/esm/primitives/Message/MessageContent.mjs +12 -1
  133. package/dist/esm/primitives/Message/MessageDismiss.mjs +28 -1
  134. package/dist/esm/primitives/Message/MessageHeading.mjs +12 -1
  135. package/dist/esm/primitives/Message/MessageIcon.mjs +35 -1
  136. package/dist/esm/primitives/Message/useMessage.mjs +9 -1
  137. package/dist/esm/primitives/Pagination/Pagination.mjs +31 -1
  138. package/dist/esm/primitives/Pagination/PaginationItem.mjs +48 -1
  139. package/dist/esm/primitives/Pagination/usePagination.mjs +41 -1
  140. package/dist/esm/primitives/Pagination/usePaginationItems.mjs +39 -1
  141. package/dist/esm/primitives/Pagination/useRange.mjs +72 -1
  142. package/dist/esm/primitives/PasswordField/PasswordField.mjs +25 -1
  143. package/dist/esm/primitives/PasswordField/ShowPasswordButton.mjs +30 -1
  144. package/dist/esm/primitives/PhoneNumberField/DialCodeSelect.mjs +21 -0
  145. package/dist/esm/primitives/PhoneNumberField/PhoneNumberField.mjs +17 -1
  146. package/dist/esm/primitives/Placeholder/Placeholder.mjs +18 -1
  147. package/dist/esm/primitives/Radio/Radio.mjs +31 -1
  148. package/dist/esm/primitives/RadioGroupField/RadioGroupField.mjs +55 -1
  149. package/dist/esm/primitives/RadioGroupField/context.mjs +9 -1
  150. package/dist/esm/primitives/Rating/Rating.mjs +44 -1
  151. package/dist/esm/primitives/Rating/RatingIcon.mjs +11 -1
  152. package/dist/esm/primitives/Rating/RatingMixedIcon.mjs +13 -1
  153. package/dist/esm/primitives/Rating/utils.mjs +18 -1
  154. package/dist/esm/primitives/ScrollView/ScrollView.mjs +13 -1
  155. package/dist/esm/primitives/SearchField/SearchField.mjs +38 -1
  156. package/dist/esm/primitives/SearchField/SearchFieldButton.mjs +21 -1
  157. package/dist/esm/primitives/SearchField/useSearchField.mjs +64 -1
  158. package/dist/esm/primitives/Select/Select.mjs +31 -1
  159. package/dist/esm/primitives/SelectField/SelectField.mjs +42 -1
  160. package/dist/esm/primitives/SliderField/SliderField.mjs +77 -1
  161. package/dist/esm/primitives/StepperField/StepperField.mjs +60 -1
  162. package/dist/esm/primitives/StepperField/useStepper.mjs +113 -1
  163. package/dist/esm/primitives/SwitchField/SwitchField.mjs +48 -1
  164. package/dist/esm/primitives/SwitchField/useSwitch.mjs +30 -1
  165. package/dist/esm/primitives/Table/Table.mjs +18 -1
  166. package/dist/esm/primitives/Table/TableBody.mjs +10 -1
  167. package/dist/esm/primitives/Table/TableCell.mjs +12 -1
  168. package/dist/esm/primitives/Table/TableFoot.mjs +10 -1
  169. package/dist/esm/primitives/Table/TableHead.mjs +10 -1
  170. package/dist/esm/primitives/Table/TableRow.mjs +10 -1
  171. package/dist/esm/primitives/Tabs/Tabs.mjs +24 -1
  172. package/dist/esm/primitives/Tabs/TabsContainer.mjs +35 -0
  173. package/dist/esm/primitives/Tabs/TabsContext.mjs +8 -0
  174. package/dist/esm/primitives/Tabs/TabsItem.mjs +24 -0
  175. package/dist/esm/primitives/Tabs/TabsList.mjs +85 -0
  176. package/dist/esm/primitives/Tabs/TabsPanel.mjs +19 -0
  177. package/dist/esm/primitives/Text/Text.mjs +16 -1
  178. package/dist/esm/primitives/TextArea/TextArea.mjs +15 -1
  179. package/dist/esm/primitives/TextAreaField/TextAreaField.mjs +36 -1
  180. package/dist/esm/primitives/TextField/TextField.mjs +34 -1
  181. package/dist/esm/primitives/ToggleButton/ToggleButton.mjs +24 -1
  182. package/dist/esm/primitives/ToggleButton/useToggleButton.mjs +23 -1
  183. package/dist/esm/primitives/ToggleButtonGroup/ToggleButtonGroup.mjs +35 -1
  184. package/dist/esm/primitives/ToggleButtonGroup/useToggleButtonGroup.mjs +36 -1
  185. package/dist/esm/primitives/View/View.mjs +23 -1
  186. package/dist/esm/primitives/VisuallyHidden/VisuallyHidden.mjs +13 -1
  187. package/dist/esm/primitives/index.mjs +63 -1
  188. package/dist/esm/primitives/shared/constants.mjs +98 -1
  189. package/dist/esm/primitives/shared/getStyleValue.mjs +25 -1
  190. package/dist/esm/primitives/shared/responsive/getMediaQueries.mjs +29 -1
  191. package/dist/esm/primitives/shared/responsive/useBreakpoint.mjs +39 -1
  192. package/dist/esm/primitives/shared/responsive/utils.mjs +51 -1
  193. package/dist/esm/primitives/shared/styleUtils.mjs +122 -1
  194. package/dist/esm/primitives/shared/utils.mjs +60 -1
  195. package/dist/esm/primitives/types/style.mjs +104 -1
  196. package/dist/esm/primitives/types/theme.mjs +7 -1
  197. package/dist/esm/primitives/utils/getTestId.mjs +3 -1
  198. package/dist/esm/primitives/utils/primitiveWithForwardRef.mjs +14 -0
  199. package/dist/esm/primitives/utils/splitPrimitiveProps.mjs +36 -1
  200. package/dist/esm/primitives/utils/useLayoutEffect.mjs +13 -1
  201. package/dist/esm/primitives/utils/useStableId.mjs +34 -1
  202. package/dist/esm/version.mjs +3 -1
  203. package/dist/index.js +3485 -1
  204. package/dist/internal.js +16403 -1
  205. package/dist/styles/StorageManager.css +138 -0
  206. package/dist/styles/StorageManager.layer.css +140 -0
  207. package/dist/styles/_fieldControl.css +0 -0
  208. package/dist/styles/_fieldControl.layer.css +3 -0
  209. package/dist/styles/accordion.css +64 -0
  210. package/dist/styles/accordion.layer.css +66 -0
  211. package/dist/styles/alert.css +44 -0
  212. package/dist/styles/alert.layer.css +46 -0
  213. package/dist/styles/authenticator.css +72 -0
  214. package/dist/styles/authenticator.layer.css +74 -0
  215. package/dist/styles/autocomplete.css +48 -0
  216. package/dist/styles/autocomplete.layer.css +50 -0
  217. package/dist/styles/badge.css +35 -0
  218. package/dist/styles/badge.layer.css +37 -0
  219. package/dist/styles/base.css +1491 -0
  220. package/dist/styles/base.layer.css +1493 -0
  221. package/dist/styles/breadcrumbs.css +40 -0
  222. package/dist/styles/breadcrumbs.layer.css +42 -0
  223. package/dist/styles/button.css +1122 -0
  224. package/dist/styles/button.layer.css +1124 -0
  225. package/dist/styles/card.css +26 -0
  226. package/dist/styles/card.layer.css +28 -0
  227. package/dist/styles/checkbox.css +95 -0
  228. package/dist/styles/checkbox.layer.css +97 -0
  229. package/dist/styles/checkboxField.css +6 -0
  230. package/dist/styles/checkboxField.layer.css +8 -0
  231. package/dist/styles/collection.css +70 -0
  232. package/dist/styles/collection.layer.css +72 -0
  233. package/dist/styles/copy.css +27 -0
  234. package/dist/styles/copy.layer.css +29 -0
  235. package/dist/styles/dialCodeSelect.css +3 -0
  236. package/dist/styles/dialCodeSelect.layer.css +5 -0
  237. package/dist/styles/divider.css +47 -0
  238. package/dist/styles/divider.layer.css +49 -0
  239. package/dist/styles/dropZone.css +45 -0
  240. package/dist/styles/dropZone.layer.css +47 -0
  241. package/dist/styles/field.css +17 -0
  242. package/dist/styles/field.layer.css +19 -0
  243. package/dist/styles/fieldGroup.css +130 -0
  244. package/dist/styles/fieldGroup.layer.css +132 -0
  245. package/dist/styles/fieldMessages.css +10 -0
  246. package/dist/styles/fieldMessages.layer.css +12 -0
  247. package/dist/styles/fieldModifiers.css +15 -0
  248. package/dist/styles/fieldModifiers.layer.css +17 -0
  249. package/dist/styles/fieldset.css +37 -0
  250. package/dist/styles/fieldset.layer.css +39 -0
  251. package/dist/styles/flex.css +8 -0
  252. package/dist/styles/flex.layer.css +10 -0
  253. package/dist/styles/grid.css +3 -0
  254. package/dist/styles/grid.layer.css +5 -0
  255. package/dist/styles/heading.css +40 -0
  256. package/dist/styles/heading.layer.css +42 -0
  257. package/dist/styles/highlightMatch.css +3 -0
  258. package/dist/styles/highlightMatch.layer.css +5 -0
  259. package/dist/styles/icon.css +14 -0
  260. package/dist/styles/icon.layer.css +16 -0
  261. package/dist/styles/image.css +9 -0
  262. package/dist/styles/image.layer.css +11 -0
  263. package/dist/styles/inAppMessaging.css +179 -0
  264. package/dist/styles/inAppMessaging.layer.css +181 -0
  265. package/dist/styles/input.css +83 -0
  266. package/dist/styles/input.layer.css +85 -0
  267. package/dist/styles/link.css +26 -0
  268. package/dist/styles/link.layer.css +28 -0
  269. package/dist/styles/liveness.css +374 -0
  270. package/dist/styles/liveness.layer.css +376 -0
  271. package/dist/styles/loader.css +108 -0
  272. package/dist/styles/loader.layer.css +110 -0
  273. package/dist/styles/menu.css +54 -0
  274. package/dist/styles/menu.layer.css +56 -0
  275. package/dist/styles/message.css +111 -0
  276. package/dist/styles/message.layer.css +113 -0
  277. package/dist/styles/pagination.css +41 -0
  278. package/dist/styles/pagination.layer.css +43 -0
  279. package/dist/styles/passwordField.css +49 -0
  280. package/dist/styles/passwordField.layer.css +51 -0
  281. package/dist/styles/phoneNumberField.css +30 -0
  282. package/dist/styles/phoneNumberField.layer.css +32 -0
  283. package/dist/styles/placeholder.css +31 -0
  284. package/dist/styles/placeholder.layer.css +33 -0
  285. package/dist/styles/radio.css +82 -0
  286. package/dist/styles/radio.layer.css +84 -0
  287. package/dist/styles/radioGroupField.css +25 -0
  288. package/dist/styles/radioGroupField.layer.css +27 -0
  289. package/dist/styles/radiogroup.css +5 -0
  290. package/dist/styles/radiogroup.layer.css +7 -0
  291. package/dist/styles/rating.css +33 -0
  292. package/dist/styles/rating.layer.css +35 -0
  293. package/dist/styles/reset.css +76 -0
  294. package/dist/styles/reset.layer.css +78 -0
  295. package/dist/styles/scrollView.css +4 -0
  296. package/dist/styles/scrollView.layer.css +6 -0
  297. package/dist/styles/searchField.css +29 -0
  298. package/dist/styles/searchField.layer.css +31 -0
  299. package/dist/styles/select.css +128 -0
  300. package/dist/styles/select.layer.css +130 -0
  301. package/dist/styles/selectField.css +18 -0
  302. package/dist/styles/selectField.layer.css +20 -0
  303. package/dist/styles/sliderField.css +143 -0
  304. package/dist/styles/sliderField.layer.css +145 -0
  305. package/dist/styles/stepperField.css +77 -0
  306. package/dist/styles/stepperField.layer.css +79 -0
  307. package/dist/styles/switchField.css +76 -0
  308. package/dist/styles/switchField.layer.css +78 -0
  309. package/dist/styles/table.css +146 -0
  310. package/dist/styles/table.layer.css +148 -0
  311. package/dist/styles/tabs.css +87 -0
  312. package/dist/styles/tabs.layer.css +89 -0
  313. package/dist/styles/text.css +40 -0
  314. package/dist/styles/text.layer.css +42 -0
  315. package/dist/styles/textArea.css +71 -0
  316. package/dist/styles/textArea.layer.css +73 -0
  317. package/dist/styles/textAreaField.css +12 -0
  318. package/dist/styles/textAreaField.layer.css +14 -0
  319. package/dist/styles/textField.css +14 -0
  320. package/dist/styles/textField.layer.css +16 -0
  321. package/dist/styles/toggleButton.css +280 -0
  322. package/dist/styles/toggleButton.layer.css +282 -0
  323. package/dist/styles/toggleButtonGroup.css +31 -0
  324. package/dist/styles/toggleButtonGroup.layer.css +33 -0
  325. package/dist/styles/visuallyHidden.css +12 -0
  326. package/dist/styles/visuallyHidden.layer.css +14 -0
  327. package/dist/styles.css +299 -685
  328. package/dist/styles.layer.css +6115 -0
  329. package/dist/types/components/AccountSettings/ChangePassword/ChangePassword.d.ts +6 -6
  330. package/dist/types/components/AccountSettings/ChangePassword/types.d.ts +3 -0
  331. package/dist/types/components/AccountSettings/DeleteUser/DeleteUser.d.ts +3 -3
  332. package/dist/types/components/AccountSettings/DeleteUser/types.d.ts +7 -2
  333. package/dist/types/components/AccountSettings/utils/displayText.d.ts +18 -0
  334. package/dist/types/components/AccountSettings/utils/index.d.ts +1 -0
  335. package/dist/types/components/Authenticator/Authenticator.d.ts +4 -3
  336. package/dist/types/components/Authenticator/ConfirmSignIn/ConfirmSignIn.d.ts +2 -2
  337. package/dist/types/components/Authenticator/ConfirmSignUp/ConfirmSignUp.d.ts +2 -2
  338. package/dist/types/components/Authenticator/{ResetPassword → ForgotPassword}/index.d.ts +1 -1
  339. package/dist/types/components/Authenticator/{SetupTOTP/SetupTOTP.d.ts → SetupTotp/SetupTotp.d.ts} +1 -1
  340. package/dist/types/components/Authenticator/SetupTotp/index.d.ts +1 -0
  341. package/dist/types/components/Authenticator/SignIn/SignIn.d.ts +2 -2
  342. package/dist/types/components/Authenticator/SignUp/SignUp.d.ts +2 -2
  343. package/dist/types/components/Authenticator/VerifyUser/ConfirmVerifyUser.d.ts +2 -2
  344. package/dist/types/components/Authenticator/hooks/useCustomComponents/defaultComponents.d.ts +1 -1
  345. package/dist/types/components/Authenticator/withAuthenticator.d.ts +2 -2
  346. package/dist/types/components/ThemeProvider/ThemeContext.d.ts +6 -0
  347. package/dist/types/components/ThemeProvider/ThemeProvider.d.ts +1 -2
  348. package/dist/types/components/ThemeProvider/index.d.ts +1 -1
  349. package/dist/types/components/index.d.ts +0 -1
  350. package/dist/types/hooks/index.d.ts +0 -1
  351. package/dist/types/hooks/useAuth.d.ts +2 -2
  352. package/dist/types/hooks/useStorageURL.d.ts +2 -6
  353. package/dist/types/hooks/useTheme.d.ts +2 -2
  354. package/dist/types/index.d.ts +1 -1
  355. package/dist/types/internal.d.ts +0 -12
  356. package/dist/types/primitives/Accordion/Accordion.d.ts +19 -0
  357. package/dist/types/primitives/Accordion/AccordionContainer.d.ts +8 -0
  358. package/dist/types/primitives/Accordion/AccordionContent.d.ts +9 -0
  359. package/dist/types/primitives/Accordion/AccordionContext.d.ts +9 -0
  360. package/dist/types/primitives/Accordion/AccordionIcon.d.ts +9 -0
  361. package/dist/types/primitives/Accordion/AccordionItem.d.ts +6 -0
  362. package/dist/types/primitives/Accordion/AccordionTrigger.d.ts +9 -0
  363. package/dist/types/primitives/Accordion/index.d.ts +2 -0
  364. package/dist/types/primitives/Accordion/types.d.ts +49 -0
  365. package/dist/types/primitives/Alert/AlertIcon.d.ts +5 -2
  366. package/dist/types/primitives/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  367. package/dist/types/primitives/DropZone/DropZoneChildren.d.ts +10 -3
  368. package/dist/types/primitives/Icon/context/IconsContext.d.ts +1 -1
  369. package/dist/types/primitives/PhoneNumberField/DialCodeSelect.d.ts +2 -0
  370. package/dist/types/primitives/StepperField/useStepper.d.ts +1 -1
  371. package/dist/types/primitives/Tabs/Tabs.d.ts +14 -3
  372. package/dist/types/primitives/Tabs/TabsContainer.d.ts +6 -0
  373. package/dist/types/primitives/Tabs/TabsContext.d.ts +7 -0
  374. package/dist/types/primitives/Tabs/TabsItem.d.ts +6 -0
  375. package/dist/types/primitives/Tabs/TabsList.d.ts +6 -0
  376. package/dist/types/primitives/Tabs/TabsPanel.d.ts +6 -0
  377. package/dist/types/primitives/Tabs/index.d.ts +2 -1
  378. package/dist/types/primitives/Tabs/types.d.ts +93 -0
  379. package/dist/types/primitives/components.d.ts +2 -2
  380. package/dist/types/primitives/index.d.ts +0 -1
  381. package/dist/types/primitives/shared/constants.d.ts +0 -6
  382. package/dist/types/primitives/shared/responsive/utils.d.ts +1 -1
  383. package/dist/types/primitives/shared/styleUtils.d.ts +2 -2
  384. package/dist/types/primitives/types/collection.d.ts +2 -2
  385. package/dist/types/primitives/types/fieldset.d.ts +1 -1
  386. package/dist/types/primitives/types/index.d.ts +0 -3
  387. package/dist/types/primitives/types/radioGroupField.d.ts +2 -1
  388. package/dist/types/primitives/types/view.d.ts +32 -2
  389. package/dist/types/primitives/utils/primitiveWithForwardRef.d.ts +11 -0
  390. package/package.json +13 -45
  391. package/dist/Field-94e428ed.js +0 -1
  392. package/dist/esm/components/Authenticator/ResetPassword/ConfirmResetPassword.mjs +0 -1
  393. package/dist/esm/components/Authenticator/ResetPassword/ResetPassword.mjs +0 -1
  394. package/dist/esm/components/Authenticator/SetupTOTP/SetupTOTP.mjs +0 -1
  395. package/dist/esm/components/Storage/FileUploader/FileUploader.mjs +0 -1
  396. package/dist/esm/components/Storage/FileUploader/UploadDropZone/UploadDropZone.mjs +0 -1
  397. package/dist/esm/components/Storage/FileUploader/UploadPreviewer/UploadPreviewer.mjs +0 -1
  398. package/dist/esm/components/Storage/FileUploader/UploadTracker/UploadMessage.mjs +0 -1
  399. package/dist/esm/components/Storage/FileUploader/UploadTracker/UploadTracker.mjs +0 -1
  400. package/dist/esm/components/Storage/FileUploader/hooks/useFileUploader/useFileUploader.mjs +0 -1
  401. package/dist/esm/components/Storage/FileUploader/types.mjs +0 -1
  402. package/dist/esm/components/ThemeProvider/AmplifyContext.mjs +0 -1
  403. package/dist/esm/helpers/constants.mjs +0 -1
  404. package/dist/esm/hooks/actions/constants.mjs +0 -1
  405. package/dist/esm/hooks/actions/shared/types.mjs +0 -1
  406. package/dist/esm/hooks/actions/shared/useTypeCastFields.mjs +0 -1
  407. package/dist/esm/hooks/actions/useAuthSignOutAction.mjs +0 -1
  408. package/dist/esm/hooks/actions/useDataStoreCreateAction.mjs +0 -1
  409. package/dist/esm/hooks/actions/useDataStoreDeleteAction.mjs +0 -1
  410. package/dist/esm/hooks/actions/useDataStoreUpdateAction.mjs +0 -1
  411. package/dist/esm/hooks/actions/useNavigateAction.mjs +0 -1
  412. package/dist/esm/hooks/actions/useStateMutationAction.mjs +0 -1
  413. package/dist/esm/hooks/useAmplify.mjs +0 -1
  414. package/dist/esm/hooks/useDataStore.mjs +0 -1
  415. package/dist/esm/primitives/Expander/Expander.mjs +0 -1
  416. package/dist/esm/primitives/Expander/ExpanderItem.mjs +0 -1
  417. package/dist/esm/primitives/PhoneNumberField/CountryCodeSelect.mjs +0 -1
  418. package/dist/esm/primitives/shared/datastore.mjs +0 -1
  419. package/dist/esm/studio/findChildOverrides.mjs +0 -1
  420. package/dist/esm/studio/getOverrideProps.mjs +0 -1
  421. package/dist/esm/studio/getOverridesFromVariants.mjs +0 -1
  422. package/dist/esm/studio/mergeVariantsAndOverrides.mjs +0 -1
  423. package/dist/styles.js +0 -2
  424. package/dist/types/components/Authenticator/SetupTOTP/index.d.ts +0 -1
  425. package/dist/types/components/Storage/FileUploader/FileUploader.d.ts +0 -3
  426. package/dist/types/components/Storage/FileUploader/UploadDropZone/UploadDropZone.d.ts +0 -3
  427. package/dist/types/components/Storage/FileUploader/UploadDropZone/index.d.ts +0 -1
  428. package/dist/types/components/Storage/FileUploader/UploadPreviewer/UploadPreviewer.d.ts +0 -3
  429. package/dist/types/components/Storage/FileUploader/UploadPreviewer/index.d.ts +0 -1
  430. package/dist/types/components/Storage/FileUploader/UploadTracker/UploadMessage.d.ts +0 -3
  431. package/dist/types/components/Storage/FileUploader/UploadTracker/UploadTracker.d.ts +0 -3
  432. package/dist/types/components/Storage/FileUploader/UploadTracker/index.d.ts +0 -1
  433. package/dist/types/components/Storage/FileUploader/hooks/index.d.ts +0 -1
  434. package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/index.d.ts +0 -2
  435. package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/types.d.ts +0 -18
  436. package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/useFileUploader.d.ts +0 -9
  437. package/dist/types/components/Storage/FileUploader/index.d.ts +0 -1
  438. package/dist/types/components/Storage/FileUploader/types.d.ts +0 -91
  439. package/dist/types/components/Storage/index.d.ts +0 -1
  440. package/dist/types/components/ThemeProvider/AmplifyContext.d.ts +0 -6
  441. package/dist/types/hooks/actions/constants.d.ts +0 -39
  442. package/dist/types/hooks/actions/shared/types.d.ts +0 -27
  443. package/dist/types/hooks/actions/shared/useTypeCastFields.d.ts +0 -15
  444. package/dist/types/hooks/actions/testModels/model.d.ts +0 -25
  445. package/dist/types/hooks/actions/testModels/schema.d.ts +0 -2
  446. package/dist/types/hooks/actions/testModels/todo.d.ts +0 -13
  447. package/dist/types/hooks/actions/useAuthSignOutAction.d.ts +0 -9
  448. package/dist/types/hooks/actions/useDataStoreCreateAction.d.ts +0 -9
  449. package/dist/types/hooks/actions/useDataStoreDeleteAction.d.ts +0 -10
  450. package/dist/types/hooks/actions/useDataStoreUpdateAction.d.ts +0 -10
  451. package/dist/types/hooks/actions/useNavigateAction.d.ts +0 -15
  452. package/dist/types/hooks/actions/useStateMutationAction.d.ts +0 -10
  453. package/dist/types/hooks/useAmplify.d.ts +0 -6
  454. package/dist/types/hooks/useDataStore.d.ts +0 -18
  455. package/dist/types/primitives/Expander/Expander.d.ts +0 -6
  456. package/dist/types/primitives/Expander/ExpanderItem.d.ts +0 -7
  457. package/dist/types/primitives/Expander/index.d.ts +0 -2
  458. package/dist/types/primitives/Menu/__tests_/menu.test.d.ts +0 -1
  459. package/dist/types/primitives/PhoneNumberField/CountryCodeSelect.d.ts +0 -2
  460. package/dist/types/primitives/Rating/__test__/Rating.test.d.ts +0 -1
  461. package/dist/types/primitives/Rating/__test__/utils.test.d.ts +0 -1
  462. package/dist/types/primitives/Text/__test__/Text.test.d.ts +0 -1
  463. package/dist/types/primitives/shared/datastore.d.ts +0 -7
  464. package/dist/types/primitives/shared/index.d.ts +0 -1
  465. package/dist/types/primitives/shared/types.d.ts +0 -15
  466. package/dist/types/primitives/types/datastore.d.ts +0 -31
  467. package/dist/types/primitives/types/expander.d.ts +0 -51
  468. package/dist/types/primitives/types/tabs.d.ts +0 -63
  469. package/dist/types/studio/findChildOverrides.d.ts +0 -18
  470. package/dist/types/studio/getOverrideProps.d.ts +0 -18
  471. package/dist/types/studio/getOverridesFromVariants.d.ts +0 -20
  472. package/dist/types/studio/index.d.ts +0 -5
  473. package/dist/types/studio/mergeVariantsAndOverrides.d.ts +0 -18
  474. package/dist/types/studio/types.d.ts +0 -18
  475. package/dist/types/styles.d.ts +0 -1
  476. /package/dist/types/components/Authenticator/{ResetPassword → ForgotPassword}/ConfirmResetPassword.d.ts +0 -0
  477. /package/dist/types/components/Authenticator/{ResetPassword/ResetPassword.d.ts → ForgotPassword/ForgotPassword.d.ts} +0 -0
@@ -1 +1,23 @@
1
- import*as e from"react";import*as t from"@radix-ui/react-direction";import{sanitizeNamespaceImport as r,createTheme as o}from"@aws-amplify/ui";import{AmplifyContext as i}from"./AmplifyContext.mjs";const{DirectionProvider:m}=r(t);function n({children:t,colorMode:r,direction:n="ltr",nonce:a,theme:l}){const c=e.useMemo((()=>({theme:o(l)})),[l]),{theme:{name:d,cssText:s}}=c;return e.createElement(i.Provider,{value:c},e.createElement(m,{dir:n},e.createElement("div",{"data-amplify-theme":d,"data-amplify-color-mode":r,dir:n},t),void 0===l||/<\/style/i.test(s)?null:e.createElement("style",{id:`amplify-theme-${d}`,dangerouslySetInnerHTML:{__html:s},nonce:a})))}const a=n;export{n as AmplifyProvider,a as ThemeProvider};
1
+ import * as React from 'react';
2
+ import * as RadixDirection from '@radix-ui/react-direction';
3
+ import { sanitizeNamespaceImport, createTheme } from '@aws-amplify/ui';
4
+ import { ThemeContext } from './ThemeContext.mjs';
5
+
6
+ // Radix packages don't support ESM in Node, in some scenarios(e.g. SSR)
7
+ // We have to use namespace import and sanitize it to ensure the interoperablity between ESM and CJS
8
+ const { DirectionProvider } = sanitizeNamespaceImport(RadixDirection);
9
+ /**
10
+ * [📖 Docs](https://ui.docs.amplify.aws/react/theming)
11
+ */
12
+ function ThemeProvider({ children, colorMode, direction = 'ltr', nonce, theme, }) {
13
+ const value = React.useMemo(() => ({ theme: createTheme(theme) }), [theme]);
14
+ const { theme: { name, cssText }, } = value;
15
+ return (React.createElement(ThemeContext.Provider, { value: value },
16
+ React.createElement(DirectionProvider, { dir: direction },
17
+ React.createElement("div", { "data-amplify-theme": name, "data-amplify-color-mode": colorMode, dir: direction }, children),
18
+ typeof theme === 'undefined' || /<\/style/i.test(cssText) ? null : (React.createElement("style", { id: `amplify-theme-${name}`,
19
+ // eslint-disable-next-line react/no-danger
20
+ dangerouslySetInnerHTML: { __html: cssText }, nonce: nonce })))));
21
+ }
22
+
23
+ export { ThemeProvider };
@@ -1 +1,5 @@
1
- export{default as AccountSettings}from"./AccountSettings/AccountSettings.mjs";export{Authenticator}from"./Authenticator/Authenticator.mjs";export{withAuthenticator}from"./Authenticator/withAuthenticator.mjs";export{useAuthenticator}from"@aws-amplify/ui-react-core";export{FileUploader}from"./Storage/FileUploader/FileUploader.mjs";export{AmplifyProvider,ThemeProvider}from"./ThemeProvider/ThemeProvider.mjs";
1
+ export { default as AccountSettings } from './AccountSettings/AccountSettings.mjs';
2
+ export { Authenticator } from './Authenticator/Authenticator.mjs';
3
+ export { withAuthenticator } from './Authenticator/withAuthenticator.mjs';
4
+ export { useAuthenticator } from '@aws-amplify/ui-react-core';
5
+ export { ThemeProvider } from './ThemeProvider/ThemeProvider.mjs';
@@ -1 +1,15 @@
1
- import r from"react";import{translate as e}from"@aws-amplify/ui";import{View as t}from"../../primitives/View/View.mjs";import{Text as i}from"../../primitives/Text/Text.mjs";const m=({errors:m,id:o,dataAttr:a})=>{if(!((null==m?void 0:m.length)>0))return null;const n=a?{[a]:!0}:{};return r.createElement(t,Object.assign({},n,{id:o}),m.map((t=>r.createElement(i,{key:t,role:"alert",variation:"error"},e(t)))))};export{m as ValidationErrors};
1
+ import React__default from 'react';
2
+ import { translate } from '@aws-amplify/ui';
3
+ import { View } from '../../primitives/View/View.mjs';
4
+ import { Text } from '../../primitives/Text/Text.mjs';
5
+
6
+ const ValidationErrors = ({ errors, id, dataAttr, }) => {
7
+ if (!(errors?.length > 0))
8
+ return null;
9
+ const dataAttrProp = dataAttr ? { [dataAttr]: true } : {};
10
+ return (React__default.createElement(View, { ...dataAttrProp, id: id }, errors.map((error) => {
11
+ return (React__default.createElement(Text, { key: error, role: "alert", variation: "error" }, translate(error)));
12
+ })));
13
+ };
14
+
15
+ export { ValidationErrors };
@@ -1 +1,6 @@
1
- const r=r=>"object"==typeof r&&null!==r&&"message"in r&&"string"==typeof r.message,e=e=>{if(r(e))return e;try{return new Error(JSON.stringify(e))}catch(r){return new Error(String(e))}},t=r=>e(r).message,n=r=>{const e=new FormData(r.target);return Object.fromEntries(e)};export{t as getErrorMessage,n as getFormDataFromEvent,r as isErrorWithMessage,e as toErrorWithMessage};
1
+ const getFormDataFromEvent = (event) => {
2
+ const formData = new FormData(event.target);
3
+ return Object.fromEntries(formData);
4
+ };
5
+
6
+ export { getFormDataFromEvent };
@@ -1 +1,73 @@
1
- import{__awaiter as e}from"tslib";import*as s from"react";import{Hub as a}from"@aws-amplify/core";import{Auth as i}from"aws-amplify";const r=()=>{const[r,t]=s.useState({error:void 0,isLoading:!0,user:void 0}),o=s.useCallback((()=>e(void 0,void 0,void 0,(function*(){t((e=>Object.assign(Object.assign({},e),{isLoading:!0})));try{const e=yield i.currentAuthenticatedUser();t({user:e,isLoading:!1})}catch(e){t({error:e,isLoading:!1})}}))),[]),n=s.useCallback((({payload:e})=>{switch(e.event){case"signIn":case"signUp":case"autoSignIn":t({user:e.data,isLoading:!1});break;case"signOut":t({user:void 0,isLoading:!1});break;case"tokenRefresh_failure":case"signIn_failure":t({error:e.data,isLoading:!1});break;case"autoSignIn_failure":t({error:new Error(e.message),isLoading:!1});break;case"tokenRefresh":o()}}),[o]);return s.useEffect((()=>{const e=a.listen("auth",n,"useAuth");return o(),e}),[n,o]),Object.assign(Object.assign({},r),{fetch:o})};export{r as useAuth};
1
+ import * as React from 'react';
2
+ import { Hub } from '@aws-amplify/core';
3
+ import { getCurrentUser } from 'aws-amplify/auth';
4
+
5
+ /**
6
+ * Amplify Auth React hook
7
+ * @internal
8
+ */
9
+ const useAuth = () => {
10
+ const [result, setResult] = React.useState({
11
+ error: undefined,
12
+ isLoading: true,
13
+ user: undefined,
14
+ });
15
+ /**
16
+ * Hub events like `tokenRefresh` will not give back the user object.
17
+ * This util will be used to get current user after those events.
18
+ */
19
+ const fetchCurrentUser = React.useCallback(async () => {
20
+ setResult((prevResult) => ({ ...prevResult, isLoading: true }));
21
+ try {
22
+ const user = await getCurrentUser();
23
+ setResult({ user, isLoading: false });
24
+ }
25
+ catch (e) {
26
+ const error = e;
27
+ setResult({ error, isLoading: false });
28
+ }
29
+ }, []);
30
+ const handleAuth = React.useCallback(({ payload }) => {
31
+ switch (payload.event) {
32
+ // success events
33
+ case 'signedIn':
34
+ case 'signUp':
35
+ case 'autoSignIn': {
36
+ setResult({ user: payload.data, isLoading: false });
37
+ break;
38
+ }
39
+ case 'signedOut': {
40
+ setResult({ user: undefined, isLoading: false });
41
+ break;
42
+ }
43
+ // failure events
44
+ case 'tokenRefresh_failure':
45
+ case 'signIn_failure': {
46
+ setResult({ error: payload.data, isLoading: false });
47
+ break;
48
+ }
49
+ case 'autoSignIn_failure': {
50
+ // autoSignIn just returns error message. Wrap it to an Error object
51
+ setResult({ error: new Error(payload.message), isLoading: false });
52
+ break;
53
+ }
54
+ // events that need another fetch
55
+ case 'tokenRefresh': {
56
+ fetchCurrentUser();
57
+ break;
58
+ }
59
+ }
60
+ }, [fetchCurrentUser]);
61
+ React.useEffect(() => {
62
+ const unsubscribe = Hub.listen('auth', handleAuth, 'useAuth');
63
+ fetchCurrentUser(); // on init, see if user is already logged in
64
+ return unsubscribe;
65
+ }, [handleAuth, fetchCurrentUser]);
66
+ return {
67
+ ...result,
68
+ /** @deprecated Fetch is handled automatically, do not use this directly */
69
+ fetch: fetchCurrentUser,
70
+ };
71
+ };
72
+
73
+ export { useAuth };
@@ -1 +1,29 @@
1
- import{getValueAtCurrentBreakpoint as e}from"../primitives/shared/responsive/utils.mjs";import{useBreakpoint as r}from"../primitives/shared/responsive/useBreakpoint.mjs";import{useTheme as s}from"./useTheme.mjs";import{getStyleValue as i}from"../primitives/shared/getStyleValue.mjs";import{isDesignToken as o,isString as t}from"@aws-amplify/ui";const p=(p,m="base",a)=>{const{breakpoints:{values:n},tokens:u}=s(),k=r({breakpoints:n,defaultBreakpoint:m}),l=e({breakpoint:k,breakpoints:n,values:p});return o(l)||t(l)?i({value:l,propKey:a,tokens:u}):l};export{p as useBreakpointValue};
1
+ import { getValueAtCurrentBreakpoint } from '../primitives/shared/responsive/utils.mjs';
2
+ import { useBreakpoint } from '../primitives/shared/responsive/useBreakpoint.mjs';
3
+ import { useTheme } from './useTheme.mjs';
4
+ import { getStyleValue } from '../primitives/shared/getStyleValue.mjs';
5
+ import { isDesignToken, isString } from '@aws-amplify/ui';
6
+
7
+ /**
8
+ * [📖 Docs](https://ui.docs.amplify.aws/react/theming/responsive#usebreakpointvalue)
9
+ */
10
+ const useBreakpointValue = (values, defaultBreakpoint = 'base', propKey) => {
11
+ const { breakpoints: { values: breakpoints }, tokens, } = useTheme();
12
+ const breakpoint = useBreakpoint({
13
+ breakpoints,
14
+ defaultBreakpoint,
15
+ });
16
+ const value = getValueAtCurrentBreakpoint({
17
+ breakpoint,
18
+ breakpoints,
19
+ values,
20
+ });
21
+ if (isDesignToken(value) || isString(value)) {
22
+ return getStyleValue({ value, propKey, tokens });
23
+ }
24
+ else {
25
+ return value;
26
+ }
27
+ };
28
+
29
+ export { useBreakpointValue };
@@ -1 +1,20 @@
1
- import*as r from"react";import{isFunction as e}from"@aws-amplify/ui";function t({externalRef:t,internalRef:a}){return r.useCallback((r=>{e(t)?t(r):t&&(t.current=r),a.current=r}),[t,a])}export{t as useComposeRefsCallback};
1
+ import * as React from 'react';
2
+ import { isFunction } from '@aws-amplify/ui';
3
+
4
+ /**
5
+ * Creates ref callback to compose together external and internal refs
6
+ */
7
+ function useComposeRefsCallback({ externalRef, internalRef, }) {
8
+ return React.useCallback((node) => {
9
+ // Handle callback ref
10
+ if (isFunction(externalRef)) {
11
+ externalRef(node);
12
+ }
13
+ else if (externalRef) {
14
+ externalRef.current = node;
15
+ }
16
+ internalRef.current = node;
17
+ }, [externalRef, internalRef]);
18
+ }
19
+
20
+ export { useComposeRefsCallback };
@@ -1 +1,15 @@
1
- import{useDeprecationWarning as e}from"@aws-amplify/ui-react-core";const s=({message:s,shouldWarn:o})=>{const r=o&&("undefined"==typeof process||process&&"production"!==process.env.NODE_ENV);e({message:s,shouldWarn:r})};export{s as useDeprecationWarning};
1
+ import { useDeprecationWarning as useDeprecationWarning$1 } from '@aws-amplify/ui-react-core';
2
+
3
+ /**
4
+ * Logs a deprecation warning `message` to the console.
5
+ */
6
+ const useDeprecationWarning = ({ message, shouldWarn: _shouldWarn, }) => {
7
+ const shouldWarn = _shouldWarn &&
8
+ // show message on builds without Node `process` polyfill
9
+ // or with process.env.NODE_ENV not production
10
+ (typeof process === 'undefined' ||
11
+ (process && process.env.NODE_ENV !== 'production'));
12
+ useDeprecationWarning$1({ message, shouldWarn });
13
+ };
14
+
15
+ export { useDeprecationWarning };
@@ -1 +1,40 @@
1
- import*as r from"react";import{isFunction as t}from"@aws-amplify/ui";import{useHasValueUpdated as o}from"@aws-amplify/ui-react-core";import{Storage as e}from"@aws-amplify/storage";const a=({key:a,options:c,fallbackURL:f,onStorageGetError:i})=>{const[m,s]=r.useState(),n=o(a);return r.useEffect((()=>{if(!n)return;const r=e.get(a,c).then((r=>s(r))).catch((r=>{t(i)&&i(r),f&&s(f)}));return()=>e.cancel(r)}),[a,c,f,i,n]),m};export{a as useStorageURL};
1
+ import * as React from 'react';
2
+ import * as Storage from 'aws-amplify/storage';
3
+ import { isFunction } from '@aws-amplify/ui';
4
+ import { useHasValueUpdated } from '@aws-amplify/ui-react-core';
5
+
6
+ const useStorageURL = ({ key, options, fallbackURL, onStorageGetError, }) => {
7
+ const [url, setURL] = React.useState();
8
+ const hasKeyUpdated = useHasValueUpdated(key);
9
+ React.useEffect(() => {
10
+ if (!hasKeyUpdated) {
11
+ return;
12
+ }
13
+ let ignore = false;
14
+ const input = { key, options };
15
+ Storage.getUrl(input)
16
+ .then(({ url }) => {
17
+ if (ignore) {
18
+ return;
19
+ }
20
+ setURL(url.toString());
21
+ })
22
+ .catch((error) => {
23
+ if (ignore) {
24
+ return;
25
+ }
26
+ if (isFunction(onStorageGetError)) {
27
+ onStorageGetError(error);
28
+ }
29
+ if (fallbackURL) {
30
+ setURL(fallbackURL);
31
+ }
32
+ return () => {
33
+ ignore = true;
34
+ };
35
+ });
36
+ }, [key, options, fallbackURL, onStorageGetError, hasKeyUpdated]);
37
+ return url;
38
+ };
39
+
40
+ export { useStorageURL };
@@ -1 +1,23 @@
1
- import*as o from"react";import{createTheme as t}from"@aws-amplify/ui";import{AmplifyContext as e}from"../components/ThemeProvider/AmplifyContext.mjs";const m=o=>void 0===o||void 0===o.theme?t():o.theme,r=()=>{const t=o.useContext(e);return m(t)};export{m as getThemeFromContext,r as useTheme};
1
+ import * as React from 'react';
2
+ import { createTheme } from '@aws-amplify/ui';
3
+ import { ThemeContext } from '../components/ThemeProvider/ThemeContext.mjs';
4
+
5
+ /**
6
+ * Get current Theme object value from Amplify context.
7
+ * Returns a default theme if context is not available
8
+ */
9
+ const getThemeFromContext = (context) => {
10
+ if (typeof context === 'undefined' || typeof context.theme === 'undefined') {
11
+ return createTheme();
12
+ }
13
+ return context.theme;
14
+ };
15
+ /**
16
+ * [📖 Docs](https://ui.docs.amplify.aws/react/theming)
17
+ */
18
+ const useTheme = () => {
19
+ const context = React.useContext(ThemeContext);
20
+ return getThemeFromContext(context);
21
+ };
22
+
23
+ export { getThemeFromContext, useTheme };
@@ -1 +1,19 @@
1
- import{useTheme as e}from"./useTheme.mjs";import{useBreakpoint as r}from"../primitives/shared/responsive/useBreakpoint.mjs";const t=()=>{const{breakpoints:{values:t,defaultBreakpoint:o}}=e();return r({breakpoints:t,defaultBreakpoint:o})};export{t as useThemeBreakpoint};
1
+ import { useTheme } from './useTheme.mjs';
2
+ import { useBreakpoint } from '../primitives/shared/responsive/useBreakpoint.mjs';
3
+
4
+ /**
5
+ * @internal For internal Amplify UI use only. May be removed in a future release.
6
+ *
7
+ * Hook to get the current breakpoint of the provided theme.
8
+ * @returns {Breakpoint}
9
+ */
10
+ const useThemeBreakpoint = () => {
11
+ const { breakpoints: { values: breakpoints, defaultBreakpoint }, } = useTheme();
12
+ const breakpoint = useBreakpoint({
13
+ breakpoints,
14
+ defaultBreakpoint,
15
+ });
16
+ return breakpoint;
17
+ };
18
+
19
+ export { useThemeBreakpoint };
@@ -1 +1,71 @@
1
- import*as e from"./components/index.mjs";export{e as components};export{useAmplify}from"./hooks/useAmplify.mjs";export{useTheme}from"./hooks/useTheme.mjs";export{useBreakpointValue}from"./hooks/useBreakpointValue.mjs";import*as i from"./primitives/index.mjs";export{i as primitives};export{createTheme,defaultDarkModeOverride,defaultTheme,translations}from"@aws-amplify/ui";export{default as AccountSettings}from"./components/AccountSettings/AccountSettings.mjs";export{Authenticator}from"./components/Authenticator/Authenticator.mjs";export{withAuthenticator}from"./components/Authenticator/withAuthenticator.mjs";export{useAuthenticator}from"@aws-amplify/ui-react-core";export{FileUploader}from"./components/Storage/FileUploader/FileUploader.mjs";export{AmplifyProvider,ThemeProvider}from"./components/ThemeProvider/ThemeProvider.mjs";export{IconsProvider}from"./primitives/Icon/context/IconsProvider.mjs";export{Alert}from"./primitives/Alert/Alert.mjs";export{Autocomplete}from"./primitives/Autocomplete/Autocomplete.mjs";export{Badge}from"./primitives/Badge/Badge.mjs";export{Breadcrumbs}from"./primitives/Breadcrumbs/Breadcrumbs.mjs";export{Button}from"./primitives/Button/Button.mjs";export{ButtonGroup}from"./primitives/ButtonGroup/ButtonGroup.mjs";export{Card}from"./primitives/Card/Card.mjs";export{CheckboxField}from"./primitives/CheckboxField/CheckboxField.mjs";export{Collection}from"./primitives/Collection/Collection.mjs";export{Divider}from"./primitives/Divider/Divider.mjs";export{DropZone}from"./primitives/DropZone/DropZone.mjs";export{Expander}from"./primitives/Expander/Expander.mjs";export{ExpanderItem}from"./primitives/Expander/ExpanderItem.mjs";export{FieldGroupIcon}from"./primitives/FieldGroupIcon/FieldGroupIcon.mjs";export{FieldGroupIconButton}from"./primitives/FieldGroupIcon/FieldGroupIconButton.mjs";export{Fieldset}from"./primitives/Fieldset/Fieldset.mjs";export{Flex}from"./primitives/Flex/Flex.mjs";export{Grid}from"./primitives/Grid/Grid.mjs";export{Heading}from"./primitives/Heading/Heading.mjs";export{HighlightMatch}from"./primitives/HighlightMatch/HighlightMatch.mjs";export{Icon}from"./primitives/Icon/Icon.mjs";export{Image}from"./primitives/Image/Image.mjs";export{Input}from"./primitives/Input/Input.mjs";export{Label}from"./primitives/Label/Label.mjs";export{Link}from"./primitives/Link/Link.mjs";export{Loader}from"./primitives/Loader/Loader.mjs";export{Menu}from"./primitives/Menu/Menu.mjs";export{MenuButton}from"./primitives/Menu/MenuButton.mjs";export{MenuItem}from"./primitives/Menu/MenuItem.mjs";export{Message}from"./primitives/Message/Message.mjs";export{Pagination}from"./primitives/Pagination/Pagination.mjs";export{PasswordField}from"./primitives/PasswordField/PasswordField.mjs";export{PhoneNumberField}from"./primitives/PhoneNumberField/PhoneNumberField.mjs";export{Placeholder}from"./primitives/Placeholder/Placeholder.mjs";export{Radio}from"./primitives/Radio/Radio.mjs";export{RadioGroupField}from"./primitives/RadioGroupField/RadioGroupField.mjs";export{Rating}from"./primitives/Rating/Rating.mjs";export{ScrollView}from"./primitives/ScrollView/ScrollView.mjs";export{SearchField}from"./primitives/SearchField/SearchField.mjs";export{SelectField}from"./primitives/SelectField/SelectField.mjs";export{SliderField}from"./primitives/SliderField/SliderField.mjs";export{StepperField}from"./primitives/StepperField/StepperField.mjs";export{SwitchField}from"./primitives/SwitchField/SwitchField.mjs";export{TabItem,Tabs}from"./primitives/Tabs/Tabs.mjs";export{Text}from"./primitives/Text/Text.mjs";export{TextAreaField}from"./primitives/TextAreaField/TextAreaField.mjs";export{TextField}from"./primitives/TextField/TextField.mjs";export{ToggleButton}from"./primitives/ToggleButton/ToggleButton.mjs";export{ToggleButtonGroup}from"./primitives/ToggleButtonGroup/ToggleButtonGroup.mjs";export{View}from"./primitives/View/View.mjs";export{VisuallyHidden}from"./primitives/VisuallyHidden/VisuallyHidden.mjs";export{Table}from"./primitives/Table/Table.mjs";export{TableBody}from"./primitives/Table/TableBody.mjs";export{TableCell}from"./primitives/Table/TableCell.mjs";export{TableFoot}from"./primitives/Table/TableFoot.mjs";export{TableHead}from"./primitives/Table/TableHead.mjs";export{TableRow}from"./primitives/Table/TableRow.mjs";export{usePagination}from"./primitives/Pagination/usePagination.mjs";export{ComponentClassNames,ComponentClassObject}from"./primitives/shared/constants.mjs";export{ComponentPropsToStylePropsMap,ComponentPropsToStylePropsMapKeys}from"./primitives/types/style.mjs";
1
+ import * as index from './components/index.mjs';
2
+ export { index as components };
3
+ export { useTheme } from './hooks/useTheme.mjs';
4
+ export { useBreakpointValue } from './hooks/useBreakpointValue.mjs';
5
+ import * as index$1 from './primitives/index.mjs';
6
+ export { index$1 as primitives };
7
+ export { createTheme, defaultDarkModeOverride, defaultTheme, translations } from '@aws-amplify/ui';
8
+ export { default as AccountSettings } from './components/AccountSettings/AccountSettings.mjs';
9
+ export { Authenticator } from './components/Authenticator/Authenticator.mjs';
10
+ export { withAuthenticator } from './components/Authenticator/withAuthenticator.mjs';
11
+ export { useAuthenticator } from '@aws-amplify/ui-react-core';
12
+ export { ThemeProvider } from './components/ThemeProvider/ThemeProvider.mjs';
13
+ export { IconsProvider } from './primitives/Icon/context/IconsProvider.mjs';
14
+ export { Alert } from './primitives/Alert/Alert.mjs';
15
+ export { Autocomplete } from './primitives/Autocomplete/Autocomplete.mjs';
16
+ export { Badge } from './primitives/Badge/Badge.mjs';
17
+ export { Breadcrumbs } from './primitives/Breadcrumbs/Breadcrumbs.mjs';
18
+ export { Button } from './primitives/Button/Button.mjs';
19
+ export { ButtonGroup } from './primitives/ButtonGroup/ButtonGroup.mjs';
20
+ export { Card } from './primitives/Card/Card.mjs';
21
+ export { CheckboxField } from './primitives/CheckboxField/CheckboxField.mjs';
22
+ export { Collection } from './primitives/Collection/Collection.mjs';
23
+ export { Divider } from './primitives/Divider/Divider.mjs';
24
+ export { DropZone } from './primitives/DropZone/DropZone.mjs';
25
+ export { Accordion } from './primitives/Accordion/Accordion.mjs';
26
+ export { FieldGroupIcon } from './primitives/FieldGroupIcon/FieldGroupIcon.mjs';
27
+ export { FieldGroupIconButton } from './primitives/FieldGroupIcon/FieldGroupIconButton.mjs';
28
+ export { Fieldset } from './primitives/Fieldset/Fieldset.mjs';
29
+ export { Flex } from './primitives/Flex/Flex.mjs';
30
+ export { Grid } from './primitives/Grid/Grid.mjs';
31
+ export { Heading } from './primitives/Heading/Heading.mjs';
32
+ export { HighlightMatch } from './primitives/HighlightMatch/HighlightMatch.mjs';
33
+ export { Icon } from './primitives/Icon/Icon.mjs';
34
+ export { Image } from './primitives/Image/Image.mjs';
35
+ export { Input } from './primitives/Input/Input.mjs';
36
+ export { Label } from './primitives/Label/Label.mjs';
37
+ export { Link } from './primitives/Link/Link.mjs';
38
+ export { Loader } from './primitives/Loader/Loader.mjs';
39
+ export { Menu } from './primitives/Menu/Menu.mjs';
40
+ export { MenuButton } from './primitives/Menu/MenuButton.mjs';
41
+ export { MenuItem } from './primitives/Menu/MenuItem.mjs';
42
+ export { Message } from './primitives/Message/Message.mjs';
43
+ export { Pagination } from './primitives/Pagination/Pagination.mjs';
44
+ export { PasswordField } from './primitives/PasswordField/PasswordField.mjs';
45
+ export { PhoneNumberField } from './primitives/PhoneNumberField/PhoneNumberField.mjs';
46
+ export { Placeholder } from './primitives/Placeholder/Placeholder.mjs';
47
+ export { Radio } from './primitives/Radio/Radio.mjs';
48
+ export { RadioGroupField } from './primitives/RadioGroupField/RadioGroupField.mjs';
49
+ export { Rating } from './primitives/Rating/Rating.mjs';
50
+ export { ScrollView } from './primitives/ScrollView/ScrollView.mjs';
51
+ export { SearchField } from './primitives/SearchField/SearchField.mjs';
52
+ export { SelectField } from './primitives/SelectField/SelectField.mjs';
53
+ export { SliderField } from './primitives/SliderField/SliderField.mjs';
54
+ export { StepperField } from './primitives/StepperField/StepperField.mjs';
55
+ export { SwitchField } from './primitives/SwitchField/SwitchField.mjs';
56
+ export { Tabs } from './primitives/Tabs/Tabs.mjs';
57
+ export { Text } from './primitives/Text/Text.mjs';
58
+ export { TextAreaField } from './primitives/TextAreaField/TextAreaField.mjs';
59
+ export { TextField } from './primitives/TextField/TextField.mjs';
60
+ export { ToggleButton } from './primitives/ToggleButton/ToggleButton.mjs';
61
+ export { ToggleButtonGroup } from './primitives/ToggleButtonGroup/ToggleButtonGroup.mjs';
62
+ export { View } from './primitives/View/View.mjs';
63
+ export { VisuallyHidden } from './primitives/VisuallyHidden/VisuallyHidden.mjs';
64
+ export { Table } from './primitives/Table/Table.mjs';
65
+ export { TableBody } from './primitives/Table/TableBody.mjs';
66
+ export { TableCell } from './primitives/Table/TableCell.mjs';
67
+ export { TableFoot } from './primitives/Table/TableFoot.mjs';
68
+ export { TableHead } from './primitives/Table/TableHead.mjs';
69
+ export { TableRow } from './primitives/Table/TableRow.mjs';
70
+ export { usePagination } from './primitives/Pagination/usePagination.mjs';
71
+ export { ComponentPropsToStylePropsMap, ComponentPropsToStylePropsMapKeys } from './primitives/types/style.mjs';
@@ -1 +1,32 @@
1
- export{useAuth}from"./hooks/useAuth.mjs";export{useDataStoreBinding,useDataStoreCollection,useDataStoreItem}from"./hooks/useDataStore.mjs";export{useStorageURL}from"./hooks/useStorageURL.mjs";export{useThemeBreakpoint}from"./hooks/useThemeBreakpoint.mjs";export{useAuthSignOutAction}from"./hooks/actions/useAuthSignOutAction.mjs";export{useNavigateAction}from"./hooks/actions/useNavigateAction.mjs";export{useStateMutationAction}from"./hooks/actions/useStateMutationAction.mjs";export{useDataStoreCreateAction}from"./hooks/actions/useDataStoreCreateAction.mjs";export{useDataStoreDeleteAction}from"./hooks/actions/useDataStoreDeleteAction.mjs";export{useDataStoreUpdateAction}from"./hooks/actions/useDataStoreUpdateAction.mjs";export{AlertIcon}from"./primitives/Alert/AlertIcon.mjs";export{IconAdd}from"./primitives/Icon/icons/IconAdd.mjs";export{IconCheckCircleOutline}from"./primitives/Icon/icons/IconCheckCircleOutline.mjs";export{IconCheckCircle}from"./primitives/Icon/icons/IconCheckCircle.mjs";export{IconCheck}from"./primitives/Icon/icons/IconCheck.mjs";export{IconChevronLeft}from"./primitives/Icon/icons/IconChevronLeft.mjs";export{IconChevronRight}from"./primitives/Icon/icons/IconChevronRight.mjs";export{IconClose}from"./primitives/Icon/icons/IconClose.mjs";export{IconEdit}from"./primitives/Icon/icons/IconEdit.mjs";export{IconError}from"./primitives/Icon/icons/IconError.mjs";export{IconExpandMore}from"./primitives/Icon/icons/IconExpandMore.mjs";export{IconFile}from"./primitives/Icon/icons/IconFile.mjs";export{IconIndeterminate}from"./primitives/Icon/icons/IconIndeterminate.mjs";export{IconInfo}from"./primitives/Icon/icons/IconInfo.mjs";export{IconMenu}from"./primitives/Icon/icons/IconMenu.mjs";export{IconRemove}from"./primitives/Icon/icons/IconRemove.mjs";export{IconSearch}from"./primitives/Icon/icons/IconSearch.mjs";export{IconStar}from"./primitives/Icon/icons/IconStar.mjs";export{IconUpload}from"./primitives/Icon/icons/IconUpload.mjs";export{IconVisibilityOff}from"./primitives/Icon/icons/IconVisibilityOff.mjs";export{IconVisibility}from"./primitives/Icon/icons/IconVisibility.mjs";export{IconWarning}from"./primitives/Icon/icons/IconWarning.mjs";export{useIcons}from"./primitives/Icon/context/useIcons.mjs";export{createDataStorePredicate}from"./primitives/shared/datastore.mjs";export{useDropZone}from"./primitives/DropZone/useDropZone.mjs";export{findChildOverrides}from"./studio/findChildOverrides.mjs";export{getOverridesFromVariants}from"./studio/getOverridesFromVariants.mjs";export{getOverrideProps}from"./studio/getOverrideProps.mjs";export{mergeVariantsAndOverrides}from"./studio/mergeVariantsAndOverrides.mjs";import"./primitives/Field/FieldClearButton.mjs";import"./primitives/Field/FieldDescription.mjs";import"./primitives/Field/FieldErrorMessage.mjs";export{Field}from"./primitives/Field/Field.mjs";export{PrimitiveCatalog}from"./PrimitiveCatalog.mjs";
1
+ export { useAuth } from './hooks/useAuth.mjs';
2
+ export { useStorageURL } from './hooks/useStorageURL.mjs';
3
+ export { useThemeBreakpoint } from './hooks/useThemeBreakpoint.mjs';
4
+ export { AlertIcon } from './primitives/Alert/AlertIcon.mjs';
5
+ export { IconAdd } from './primitives/Icon/icons/IconAdd.mjs';
6
+ export { IconCheckCircleOutline } from './primitives/Icon/icons/IconCheckCircleOutline.mjs';
7
+ export { IconCheckCircle } from './primitives/Icon/icons/IconCheckCircle.mjs';
8
+ export { IconCheck } from './primitives/Icon/icons/IconCheck.mjs';
9
+ export { IconChevronLeft } from './primitives/Icon/icons/IconChevronLeft.mjs';
10
+ export { IconChevronRight } from './primitives/Icon/icons/IconChevronRight.mjs';
11
+ export { IconClose } from './primitives/Icon/icons/IconClose.mjs';
12
+ export { IconEdit } from './primitives/Icon/icons/IconEdit.mjs';
13
+ export { IconError } from './primitives/Icon/icons/IconError.mjs';
14
+ export { IconExpandMore } from './primitives/Icon/icons/IconExpandMore.mjs';
15
+ export { IconFile } from './primitives/Icon/icons/IconFile.mjs';
16
+ export { IconIndeterminate } from './primitives/Icon/icons/IconIndeterminate.mjs';
17
+ export { IconInfo } from './primitives/Icon/icons/IconInfo.mjs';
18
+ export { IconMenu } from './primitives/Icon/icons/IconMenu.mjs';
19
+ export { IconRemove } from './primitives/Icon/icons/IconRemove.mjs';
20
+ export { IconSearch } from './primitives/Icon/icons/IconSearch.mjs';
21
+ export { IconStar } from './primitives/Icon/icons/IconStar.mjs';
22
+ export { IconUpload } from './primitives/Icon/icons/IconUpload.mjs';
23
+ export { IconVisibilityOff } from './primitives/Icon/icons/IconVisibilityOff.mjs';
24
+ export { IconVisibility } from './primitives/Icon/icons/IconVisibility.mjs';
25
+ export { IconWarning } from './primitives/Icon/icons/IconWarning.mjs';
26
+ export { useIcons } from './primitives/Icon/context/useIcons.mjs';
27
+ export { useDropZone } from './primitives/DropZone/useDropZone.mjs';
28
+ import './primitives/Field/FieldClearButton.mjs';
29
+ import './primitives/Field/FieldDescription.mjs';
30
+ import './primitives/Field/FieldErrorMessage.mjs';
31
+ export { Field } from './primitives/Field/Field.mjs';
32
+ export { PrimitiveCatalog } from './PrimitiveCatalog.mjs';
@@ -0,0 +1,28 @@
1
+ import * as React from 'react';
2
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
3
+ import { AccordionItem } from './AccordionItem.mjs';
4
+ import { AccordionContent } from './AccordionContent.mjs';
5
+ import { AccordionTrigger } from './AccordionTrigger.mjs';
6
+ import { AccordionIcon } from './AccordionIcon.mjs';
7
+ import { AccordionContainer } from './AccordionContainer.mjs';
8
+
9
+ const AccordionPrimitive = ({ items, ...rest }, ref) => {
10
+ return (React.createElement(AccordionContainer, { ref: ref, ...rest }, items?.map(({ content, trigger, value }) => (React.createElement(AccordionItem, { key: value, value: value },
11
+ React.createElement(AccordionTrigger, null,
12
+ trigger,
13
+ React.createElement(AccordionIcon, null)),
14
+ React.createElement(AccordionContent, null, content))))));
15
+ };
16
+ /**
17
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/accordion)
18
+ */
19
+ const Accordion = Object.assign(primitiveWithForwardRef(AccordionPrimitive), {
20
+ Container: AccordionContainer,
21
+ Content: AccordionContent,
22
+ Icon: AccordionIcon,
23
+ Item: AccordionItem,
24
+ Trigger: AccordionTrigger,
25
+ });
26
+ Accordion.displayName = 'Accordion';
27
+
28
+ export { Accordion };
@@ -0,0 +1,49 @@
1
+ import * as React from 'react';
2
+ import { isFunction, classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
4
+ import { View } from '../View/View.mjs';
5
+ import { AccordionContext } from './AccordionContext.mjs';
6
+
7
+ const AccordionContainerPrimitive = ({ children, className, defaultValue, allowMultiple, preventCollapse, onValueChange, testId, value: controlledValue, ...rest }, ref) => {
8
+ const isControlled = controlledValue !== undefined;
9
+ const [localValue, setLocalValue] = React.useState(() => isControlled ? controlledValue : defaultValue ?? []);
10
+ const value = isControlled ? controlledValue : localValue;
11
+ const setValue = React.useCallback((_value) => {
12
+ let newValue;
13
+ // if the value has the incoming value we try to close it by removing it from the array
14
+ if (value.includes(_value)) {
15
+ // only remove it from the array if preventCollapse is false/undefined OR
16
+ // the number of open accordions is more than 1 (so it won't fully collapse anyways)
17
+ newValue =
18
+ !preventCollapse || value.length > 1
19
+ ? value.filter((v) => v !== _value)
20
+ : value;
21
+ }
22
+ else {
23
+ // open the item by adding it to the array if allowMultiple is true
24
+ // or make it the whole array
25
+ newValue = allowMultiple ? [...value, _value] : [_value];
26
+ }
27
+ if (isFunction(onValueChange)) {
28
+ onValueChange(newValue);
29
+ }
30
+ if (!isControlled) {
31
+ setLocalValue(newValue);
32
+ }
33
+ }, [onValueChange, value, isControlled, allowMultiple, preventCollapse]);
34
+ const contextValue = React.useMemo(() => {
35
+ return {
36
+ value,
37
+ setValue,
38
+ };
39
+ }, [value, setValue]);
40
+ return (React.createElement(AccordionContext.Provider, { value: contextValue },
41
+ React.createElement(View, { ...rest, className: classNames(ComponentClassName.Accordion, className), "data-testid": testId, ref: ref }, children)));
42
+ };
43
+ /**
44
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/accordion)
45
+ */
46
+ const AccordionContainer = primitiveWithForwardRef(AccordionContainerPrimitive);
47
+ AccordionContainer.displayName = 'Accordion.Container';
48
+
49
+ export { AccordionContainer };
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
4
+ import { View } from '../View/View.mjs';
5
+
6
+ const AccordionContentPrimitive = ({ className, children, ...rest }, ref) => {
7
+ return (React.createElement(View, { ...rest, className: classNames(ComponentClassName.AccordionItemContent, className), ref: ref }, children));
8
+ };
9
+ /**
10
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/accordion)
11
+ */
12
+ const AccordionContent = primitiveWithForwardRef(AccordionContentPrimitive);
13
+ AccordionContent.displayName = 'Accordion.Content';
14
+
15
+ export { AccordionContent };
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+
3
+ const AccordionContext = React.createContext(undefined);
4
+ const AccordionItemContext = React.createContext(undefined);
5
+
6
+ export { AccordionContext, AccordionItemContext };
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
4
+ import '../Icon/Icon.mjs';
5
+ import '../Icon/context/IconsContext.mjs';
6
+ import { useIcons } from '../Icon/context/useIcons.mjs';
7
+ import { View } from '../View/View.mjs';
8
+ import { IconExpandMore } from '../Icon/icons/IconExpandMore.mjs';
9
+
10
+ const AccordionIconPrimitive = ({ className, as = 'span', ...rest }, ref) => {
11
+ const icons = useIcons('accordion');
12
+ return (React.createElement(View, { ...rest, ref: ref, as: as, className: classNames(ComponentClassName.AccordionItemIcon, className), "aria-hidden": "true" }, icons?.more ?? React.createElement(IconExpandMore, null)));
13
+ };
14
+ /**
15
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/accordion)
16
+ */
17
+ const AccordionIcon = primitiveWithForwardRef(AccordionIconPrimitive);
18
+ AccordionIcon.displayName = 'Accordion.Icon';
19
+
20
+ export { AccordionIcon };
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
4
+ import { View } from '../View/View.mjs';
5
+ import { AccordionContext, AccordionItemContext } from './AccordionContext.mjs';
6
+
7
+ const AccordionItemPrimitive = ({ children, className, value, as = 'details', ...rest }, ref) => {
8
+ const context = React.useContext(AccordionContext);
9
+ const open = value ? context?.value?.includes(value) : undefined;
10
+ return (React.createElement(AccordionItemContext.Provider, { value: value },
11
+ React.createElement(View, { ...rest, open: open, ref: ref, as: as, className: classNames(ComponentClassName.AccordionItem, className) }, children)));
12
+ };
13
+ /**
14
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/accordion)
15
+ */
16
+ const AccordionItem = primitiveWithForwardRef(AccordionItemPrimitive);
17
+ AccordionItem.displayName = 'AccordionItem';
18
+
19
+ export { AccordionItem };
@@ -0,0 +1,27 @@
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, isTypedFunction } from '@aws-amplify/ui';
3
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
4
+ import { View } from '../View/View.mjs';
5
+ import { AccordionContext, AccordionItemContext } from './AccordionContext.mjs';
6
+
7
+ const AccordionTriggerPrimitive = ({ children, className, ...rest }, ref) => {
8
+ const context = React.useContext(AccordionContext);
9
+ const value = React.useContext(AccordionItemContext);
10
+ const handleOnClick = (e) => {
11
+ if (isTypedFunction(rest.onClick)) {
12
+ rest.onClick(e);
13
+ }
14
+ if (context?.setValue && value) {
15
+ e.preventDefault();
16
+ context.setValue(value);
17
+ }
18
+ };
19
+ return (React.createElement(View, { ...rest, ref: ref, as: "summary", className: classNames(ComponentClassName.AccordionItemTrigger, className), onClick: handleOnClick }, children));
20
+ };
21
+ /**
22
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/accordion)
23
+ */
24
+ const AccordionTrigger = primitiveWithForwardRef(AccordionTriggerPrimitive);
25
+ AccordionTrigger.displayName = 'Accordion.Trigger';
26
+
27
+ export { AccordionTrigger };