@aws-amplify/ui-react 5.3.2 → 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 (478) 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 +5 -4
  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/ResetPassword.d.ts → ForgotPassword/ForgotPassword.d.ts} +1 -1
  339. package/dist/types/components/Authenticator/{ResetPassword → ForgotPassword}/index.d.ts +1 -1
  340. package/dist/types/components/Authenticator/{SetupTOTP/SetupTOTP.d.ts → SetupTotp/SetupTotp.d.ts} +1 -1
  341. package/dist/types/components/Authenticator/SetupTotp/index.d.ts +1 -0
  342. package/dist/types/components/Authenticator/SignIn/SignIn.d.ts +2 -2
  343. package/dist/types/components/Authenticator/SignUp/SignUp.d.ts +2 -2
  344. package/dist/types/components/Authenticator/VerifyUser/ConfirmVerifyUser.d.ts +2 -2
  345. package/dist/types/components/Authenticator/hooks/useCustomComponents/defaultComponents.d.ts +2 -2
  346. package/dist/types/components/Authenticator/withAuthenticator.d.ts +2 -2
  347. package/dist/types/components/ThemeProvider/ThemeContext.d.ts +6 -0
  348. package/dist/types/components/ThemeProvider/ThemeProvider.d.ts +1 -2
  349. package/dist/types/components/ThemeProvider/index.d.ts +1 -1
  350. package/dist/types/components/index.d.ts +0 -1
  351. package/dist/types/hooks/index.d.ts +0 -1
  352. package/dist/types/hooks/useAuth.d.ts +2 -2
  353. package/dist/types/hooks/useStorageURL.d.ts +2 -6
  354. package/dist/types/hooks/useTheme.d.ts +2 -2
  355. package/dist/types/index.d.ts +1 -1
  356. package/dist/types/internal.d.ts +0 -12
  357. package/dist/types/primitives/Accordion/Accordion.d.ts +19 -0
  358. package/dist/types/primitives/Accordion/AccordionContainer.d.ts +8 -0
  359. package/dist/types/primitives/Accordion/AccordionContent.d.ts +9 -0
  360. package/dist/types/primitives/Accordion/AccordionContext.d.ts +9 -0
  361. package/dist/types/primitives/Accordion/AccordionIcon.d.ts +9 -0
  362. package/dist/types/primitives/Accordion/AccordionItem.d.ts +6 -0
  363. package/dist/types/primitives/Accordion/AccordionTrigger.d.ts +9 -0
  364. package/dist/types/primitives/Accordion/index.d.ts +2 -0
  365. package/dist/types/primitives/Accordion/types.d.ts +49 -0
  366. package/dist/types/primitives/Alert/AlertIcon.d.ts +5 -2
  367. package/dist/types/primitives/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
  368. package/dist/types/primitives/DropZone/DropZoneChildren.d.ts +10 -3
  369. package/dist/types/primitives/Icon/context/IconsContext.d.ts +1 -1
  370. package/dist/types/primitives/PhoneNumberField/DialCodeSelect.d.ts +2 -0
  371. package/dist/types/primitives/StepperField/useStepper.d.ts +1 -1
  372. package/dist/types/primitives/Tabs/Tabs.d.ts +14 -3
  373. package/dist/types/primitives/Tabs/TabsContainer.d.ts +6 -0
  374. package/dist/types/primitives/Tabs/TabsContext.d.ts +7 -0
  375. package/dist/types/primitives/Tabs/TabsItem.d.ts +6 -0
  376. package/dist/types/primitives/Tabs/TabsList.d.ts +6 -0
  377. package/dist/types/primitives/Tabs/TabsPanel.d.ts +6 -0
  378. package/dist/types/primitives/Tabs/index.d.ts +2 -1
  379. package/dist/types/primitives/Tabs/types.d.ts +93 -0
  380. package/dist/types/primitives/components.d.ts +2 -2
  381. package/dist/types/primitives/index.d.ts +0 -1
  382. package/dist/types/primitives/shared/constants.d.ts +0 -6
  383. package/dist/types/primitives/shared/responsive/utils.d.ts +1 -1
  384. package/dist/types/primitives/shared/styleUtils.d.ts +2 -2
  385. package/dist/types/primitives/types/collection.d.ts +2 -2
  386. package/dist/types/primitives/types/fieldset.d.ts +1 -1
  387. package/dist/types/primitives/types/index.d.ts +0 -3
  388. package/dist/types/primitives/types/radioGroupField.d.ts +2 -1
  389. package/dist/types/primitives/types/view.d.ts +32 -2
  390. package/dist/types/primitives/utils/primitiveWithForwardRef.d.ts +11 -0
  391. package/dist/types/version.d.ts +1 -1
  392. package/package.json +13 -45
  393. package/dist/Field-94e428ed.js +0 -1
  394. package/dist/esm/components/Authenticator/ResetPassword/ConfirmResetPassword.mjs +0 -1
  395. package/dist/esm/components/Authenticator/ResetPassword/ResetPassword.mjs +0 -1
  396. package/dist/esm/components/Authenticator/SetupTOTP/SetupTOTP.mjs +0 -1
  397. package/dist/esm/components/Storage/FileUploader/FileUploader.mjs +0 -1
  398. package/dist/esm/components/Storage/FileUploader/UploadDropZone/UploadDropZone.mjs +0 -1
  399. package/dist/esm/components/Storage/FileUploader/UploadPreviewer/UploadPreviewer.mjs +0 -1
  400. package/dist/esm/components/Storage/FileUploader/UploadTracker/UploadMessage.mjs +0 -1
  401. package/dist/esm/components/Storage/FileUploader/UploadTracker/UploadTracker.mjs +0 -1
  402. package/dist/esm/components/Storage/FileUploader/hooks/useFileUploader/useFileUploader.mjs +0 -1
  403. package/dist/esm/components/Storage/FileUploader/types.mjs +0 -1
  404. package/dist/esm/components/ThemeProvider/AmplifyContext.mjs +0 -1
  405. package/dist/esm/helpers/constants.mjs +0 -1
  406. package/dist/esm/hooks/actions/constants.mjs +0 -1
  407. package/dist/esm/hooks/actions/shared/types.mjs +0 -1
  408. package/dist/esm/hooks/actions/shared/useTypeCastFields.mjs +0 -1
  409. package/dist/esm/hooks/actions/useAuthSignOutAction.mjs +0 -1
  410. package/dist/esm/hooks/actions/useDataStoreCreateAction.mjs +0 -1
  411. package/dist/esm/hooks/actions/useDataStoreDeleteAction.mjs +0 -1
  412. package/dist/esm/hooks/actions/useDataStoreUpdateAction.mjs +0 -1
  413. package/dist/esm/hooks/actions/useNavigateAction.mjs +0 -1
  414. package/dist/esm/hooks/actions/useStateMutationAction.mjs +0 -1
  415. package/dist/esm/hooks/useAmplify.mjs +0 -1
  416. package/dist/esm/hooks/useDataStore.mjs +0 -1
  417. package/dist/esm/primitives/Expander/Expander.mjs +0 -1
  418. package/dist/esm/primitives/Expander/ExpanderItem.mjs +0 -1
  419. package/dist/esm/primitives/PhoneNumberField/CountryCodeSelect.mjs +0 -1
  420. package/dist/esm/primitives/shared/datastore.mjs +0 -1
  421. package/dist/esm/studio/findChildOverrides.mjs +0 -1
  422. package/dist/esm/studio/getOverrideProps.mjs +0 -1
  423. package/dist/esm/studio/getOverridesFromVariants.mjs +0 -1
  424. package/dist/esm/studio/mergeVariantsAndOverrides.mjs +0 -1
  425. package/dist/styles.js +0 -2
  426. package/dist/types/components/Authenticator/SetupTOTP/index.d.ts +0 -1
  427. package/dist/types/components/Storage/FileUploader/FileUploader.d.ts +0 -3
  428. package/dist/types/components/Storage/FileUploader/UploadDropZone/UploadDropZone.d.ts +0 -3
  429. package/dist/types/components/Storage/FileUploader/UploadDropZone/index.d.ts +0 -1
  430. package/dist/types/components/Storage/FileUploader/UploadPreviewer/UploadPreviewer.d.ts +0 -3
  431. package/dist/types/components/Storage/FileUploader/UploadPreviewer/index.d.ts +0 -1
  432. package/dist/types/components/Storage/FileUploader/UploadTracker/UploadMessage.d.ts +0 -3
  433. package/dist/types/components/Storage/FileUploader/UploadTracker/UploadTracker.d.ts +0 -3
  434. package/dist/types/components/Storage/FileUploader/UploadTracker/index.d.ts +0 -1
  435. package/dist/types/components/Storage/FileUploader/hooks/index.d.ts +0 -1
  436. package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/index.d.ts +0 -2
  437. package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/types.d.ts +0 -18
  438. package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/useFileUploader.d.ts +0 -9
  439. package/dist/types/components/Storage/FileUploader/index.d.ts +0 -1
  440. package/dist/types/components/Storage/FileUploader/types.d.ts +0 -91
  441. package/dist/types/components/Storage/index.d.ts +0 -1
  442. package/dist/types/components/ThemeProvider/AmplifyContext.d.ts +0 -6
  443. package/dist/types/hooks/actions/constants.d.ts +0 -39
  444. package/dist/types/hooks/actions/shared/types.d.ts +0 -27
  445. package/dist/types/hooks/actions/shared/useTypeCastFields.d.ts +0 -15
  446. package/dist/types/hooks/actions/testModels/model.d.ts +0 -25
  447. package/dist/types/hooks/actions/testModels/schema.d.ts +0 -2
  448. package/dist/types/hooks/actions/testModels/todo.d.ts +0 -13
  449. package/dist/types/hooks/actions/useAuthSignOutAction.d.ts +0 -9
  450. package/dist/types/hooks/actions/useDataStoreCreateAction.d.ts +0 -9
  451. package/dist/types/hooks/actions/useDataStoreDeleteAction.d.ts +0 -10
  452. package/dist/types/hooks/actions/useDataStoreUpdateAction.d.ts +0 -10
  453. package/dist/types/hooks/actions/useNavigateAction.d.ts +0 -15
  454. package/dist/types/hooks/actions/useStateMutationAction.d.ts +0 -10
  455. package/dist/types/hooks/useAmplify.d.ts +0 -6
  456. package/dist/types/hooks/useDataStore.d.ts +0 -18
  457. package/dist/types/primitives/Expander/Expander.d.ts +0 -6
  458. package/dist/types/primitives/Expander/ExpanderItem.d.ts +0 -7
  459. package/dist/types/primitives/Expander/index.d.ts +0 -2
  460. package/dist/types/primitives/Menu/__tests_/menu.test.d.ts +0 -1
  461. package/dist/types/primitives/PhoneNumberField/CountryCodeSelect.d.ts +0 -2
  462. package/dist/types/primitives/Rating/__test__/Rating.test.d.ts +0 -1
  463. package/dist/types/primitives/Rating/__test__/utils.test.d.ts +0 -1
  464. package/dist/types/primitives/Text/__test__/Text.test.d.ts +0 -1
  465. package/dist/types/primitives/shared/datastore.d.ts +0 -7
  466. package/dist/types/primitives/shared/index.d.ts +0 -1
  467. package/dist/types/primitives/shared/types.d.ts +0 -15
  468. package/dist/types/primitives/types/datastore.d.ts +0 -31
  469. package/dist/types/primitives/types/expander.d.ts +0 -51
  470. package/dist/types/primitives/types/tabs.d.ts +0 -63
  471. package/dist/types/studio/findChildOverrides.d.ts +0 -18
  472. package/dist/types/studio/getOverrideProps.d.ts +0 -18
  473. package/dist/types/studio/getOverridesFromVariants.d.ts +0 -20
  474. package/dist/types/studio/index.d.ts +0 -5
  475. package/dist/types/studio/mergeVariantsAndOverrides.d.ts +0 -18
  476. package/dist/types/studio/types.d.ts +0 -18
  477. package/dist/types/styles.d.ts +0 -1
  478. /package/dist/types/components/Authenticator/{ResetPassword → ForgotPassword}/ConfirmResetPassword.d.ts +0 -0
@@ -1 +1,15 @@
1
- import{__rest as e}from"tslib";import t from"classnames";import*as s from"react";import{ComponentClassNames as C}from"../../shared/constants.mjs";import{View as m}from"../../View/View.mjs";const r=r=>{const{className:o}=r,a=e(r,["className"]);return s.createElement(m,Object.assign({as:"span",width:"1em",height:"1em",className:t(C.Icon,o)},a),s.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},s.createElement("path",{d:"M12 6.0002C15.79 6.0002 19.17 8.1302 20.82 11.5002C20.23 12.7202 19.4 13.7702 18.41 14.6202L19.82 16.0302C21.21 14.8002 22.31 13.2602 23 11.5002C21.27 7.1102 17 4.0002 12 4.0002C10.73 4.0002 9.51 4.2002 8.36 4.5702L10.01 6.2202C10.66 6.0902 11.32 6.0002 12 6.0002ZM10.93 7.14019L13 9.2102C13.57 9.4602 14.03 9.9202 14.28 10.4902L16.35 12.5602C16.43 12.2202 16.49 11.8602 16.49 11.4902C16.5 9.0102 14.48 7.0002 12 7.0002C11.63 7.0002 11.28 7.05019 10.93 7.14019ZM2.01 3.8702L4.69 6.5502C3.06 7.8302 1.77 9.5302 1 11.5002C2.73 15.8902 7 19.0002 12 19.0002C13.52 19.0002 14.98 18.7102 16.32 18.1802L19.74 21.6002L21.15 20.1902L3.42 2.4502L2.01 3.8702ZM9.51 11.3702L12.12 13.9802C12.08 13.9902 12.04 14.0002 12 14.0002C10.62 14.0002 9.5 12.8802 9.5 11.5002C9.5 11.4502 9.51 11.4202 9.51 11.3702V11.3702ZM6.11 7.97019L7.86 9.7202C7.63 10.2702 7.5 10.8702 7.5 11.5002C7.5 13.9802 9.52 16.0002 12 16.0002C12.63 16.0002 13.23 15.8702 13.77 15.6402L14.75 16.6202C13.87 16.8602 12.95 17.0002 12 17.0002C8.21 17.0002 4.83 14.8702 3.18 11.5002C3.88 10.0702 4.9 8.89019 6.11 7.97019Z",fill:"currentColor"})))};export{r as IconVisibilityOff};
1
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
2
+ import * as React from 'react';
3
+ import { View } from '../../View/View.mjs';
4
+
5
+ /**
6
+ * @internal For internal Amplify UI use only. May be removed in a future release.
7
+ */
8
+ const IconVisibilityOff = (props) => {
9
+ const { className, ...rest } = props;
10
+ return (React.createElement(View, { as: "span", width: "1em", height: "1em", className: classNames(ComponentClassName.Icon, className), ...rest },
11
+ React.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
12
+ React.createElement("path", { d: "M12 6.0002C15.79 6.0002 19.17 8.1302 20.82 11.5002C20.23 12.7202 19.4 13.7702 18.41 14.6202L19.82 16.0302C21.21 14.8002 22.31 13.2602 23 11.5002C21.27 7.1102 17 4.0002 12 4.0002C10.73 4.0002 9.51 4.2002 8.36 4.5702L10.01 6.2202C10.66 6.0902 11.32 6.0002 12 6.0002ZM10.93 7.14019L13 9.2102C13.57 9.4602 14.03 9.9202 14.28 10.4902L16.35 12.5602C16.43 12.2202 16.49 11.8602 16.49 11.4902C16.5 9.0102 14.48 7.0002 12 7.0002C11.63 7.0002 11.28 7.05019 10.93 7.14019ZM2.01 3.8702L4.69 6.5502C3.06 7.8302 1.77 9.5302 1 11.5002C2.73 15.8902 7 19.0002 12 19.0002C13.52 19.0002 14.98 18.7102 16.32 18.1802L19.74 21.6002L21.15 20.1902L3.42 2.4502L2.01 3.8702ZM9.51 11.3702L12.12 13.9802C12.08 13.9902 12.04 14.0002 12 14.0002C10.62 14.0002 9.5 12.8802 9.5 11.5002C9.5 11.4502 9.51 11.4202 9.51 11.3702V11.3702ZM6.11 7.97019L7.86 9.7202C7.63 10.2702 7.5 10.8702 7.5 11.5002C7.5 13.9802 9.52 16.0002 12 16.0002C12.63 16.0002 13.23 15.8702 13.77 15.6402L14.75 16.6202C13.87 16.8602 12.95 17.0002 12 17.0002C8.21 17.0002 4.83 14.8702 3.18 11.5002C3.88 10.0702 4.9 8.89019 6.11 7.97019Z", fill: "currentColor" }))));
13
+ };
14
+
15
+ export { IconVisibilityOff };
@@ -1 +1,15 @@
1
- import{__rest as e}from"tslib";import t from"classnames";import*as s from"react";import{ComponentClassNames as m}from"../../shared/constants.mjs";import{View as r}from"../../View/View.mjs";const o=o=>{const{className:a}=o,i=e(o,["className"]);return s.createElement(r,Object.assign({as:"span",width:"1em",height:"1em",className:t(m.Icon,a)},i),s.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},s.createElement("path",{d:"M1 21H23L12 2L1 21ZM13 18H11V16H13V18ZM13 14H11V10H13V14Z",fill:"currentColor"})))};export{o as IconWarning};
1
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
2
+ import * as React from 'react';
3
+ import { View } from '../../View/View.mjs';
4
+
5
+ /**
6
+ * @internal For internal Amplify UI use only. May be removed in a future release.
7
+ */
8
+ const IconWarning = (props) => {
9
+ const { className, ...rest } = props;
10
+ return (React.createElement(View, { as: "span", width: "1em", height: "1em", className: classNames(ComponentClassName.Icon, className), ...rest },
11
+ React.createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
12
+ React.createElement("path", { d: "M1 21H23L12 2L1 21ZM13 18H11V16H13V18ZM13 14H11V10H13V14Z", fill: "currentColor" }))));
13
+ };
14
+
15
+ export { IconWarning };
@@ -1 +1,13 @@
1
- import{__rest as a}from"tslib";import*as m from"react";import s from"classnames";import{ComponentClassNames as e}from"../shared/constants.mjs";import{View as r}from"../View/View.mjs";const t=m.forwardRef(((t,o)=>{var{className:i}=t,c=a(t,["className"]);return m.createElement(r,Object.assign({as:"img",ref:o,className:s(e.Image,i)},c))}));t.displayName="Image";export{t as Image};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
5
+
6
+ const ImagePrimitive = ({ className, ...rest }, ref) => (React.createElement(View, { as: "img", ref: ref, className: classNames(ComponentClassName.Image, className), ...rest }));
7
+ /**
8
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/image)
9
+ */
10
+ const Image = primitiveWithForwardRef(ImagePrimitive);
11
+ Image.displayName = 'Image';
12
+
13
+ export { Image };
@@ -1 +1,15 @@
1
- import{__rest as e}from"tslib";import*as a from"react";import t from"classnames";import{classNameModifier as i,classNameModifierByFlag as s}from"@aws-amplify/ui";import{ComponentClassNames as r}from"../shared/constants.mjs";import{View as l}from"../View/View.mjs";import{useFieldset as d}from"../Fieldset/useFieldset.mjs";const o=a.forwardRef(((o,u)=>{var{autoComplete:m,checked:p,className:n,defaultChecked:c,defaultValue:f,id:h,isDisabled:v,isReadOnly:y,isRequired:C,size:b,type:k="text",hasError:I=!1,value:R,variation:V}=o,j=e(o,["autoComplete","checked","className","defaultChecked","defaultValue","id","isDisabled","isReadOnly","isRequired","size","type","hasError","value","variation"]);const w=t(r.Input,r.FieldGroupControl,i(r.Input,V),s(r.Input,"error",I),i(r.Input,b),n),{isFieldsetDisabled:D}=d();return a.createElement(l,Object.assign({"aria-invalid":I,as:"input",autoComplete:m,checked:p,className:w,"data-size":b,"data-variation":V,defaultChecked:c,defaultValue:f,isDisabled:D||v,id:h,readOnly:y,ref:u,required:C,type:k,value:R},j))}));o.displayName="Input";export{o as Input};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, classNameModifier, classNameModifierByFlag } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { useFieldset } from '../Fieldset/useFieldset.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ const InputPrimitive = ({ autoComplete, checked, className, defaultChecked, defaultValue, id, isDisabled, isReadOnly, isRequired, size, type = 'text', hasError = false, value, variation, ...rest }, ref) => {
8
+ const componentClasses = classNames(ComponentClassName.Input, ComponentClassName.FieldGroupControl, classNameModifier(ComponentClassName.Input, variation), classNameModifierByFlag(ComponentClassName.Input, 'error', hasError), classNameModifier(ComponentClassName.Input, size), className);
9
+ const { isFieldsetDisabled } = useFieldset();
10
+ return (React.createElement(View, { "aria-invalid": hasError, as: "input", autoComplete: autoComplete, checked: checked, className: componentClasses, defaultChecked: defaultChecked, defaultValue: defaultValue, isDisabled: isFieldsetDisabled ? isFieldsetDisabled : isDisabled, id: id, readOnly: isReadOnly, ref: ref, required: isRequired, type: type, value: value, ...rest }));
11
+ };
12
+ const Input = primitiveWithForwardRef(InputPrimitive);
13
+ Input.displayName = 'Input';
14
+
15
+ export { Input };
@@ -1 +1,14 @@
1
- import{__rest as e}from"tslib";import*as a from"react";import s from"classnames";import{ComponentClassNames as r}from"../shared/constants.mjs";import{View as l}from"../View/View.mjs";const i=a.forwardRef(((i,m)=>{var{children:t,className:o,visuallyHidden:n}=i,c=e(i,["children","className","visuallyHidden"]);return a.createElement(l,Object.assign({as:"label",className:s(r.Label,o,{[r.VisuallyHidden]:n}),ref:m},c),t)}));i.displayName="Label";export{i as Label};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
5
+
6
+ const LabelPrimitive = ({ children, className, visuallyHidden, ...rest }, ref) => {
7
+ return (React.createElement(View, { as: "label", className: classNames(ComponentClassName.Label, className, {
8
+ [ComponentClassName.VisuallyHidden]: visuallyHidden,
9
+ }), ref: ref, ...rest }, children));
10
+ };
11
+ const Label = primitiveWithForwardRef(LabelPrimitive);
12
+ Label.displayName = 'Label';
13
+
14
+ export { Label };
@@ -1 +1,15 @@
1
- import{__rest as r}from"tslib";import*as e from"react";import a from"classnames";import{ComponentClassNames as s}from"../shared/constants.mjs";import{View as o}from"../View/View.mjs";const t=e.forwardRef(((t,i)=>{var{as:m="a",children:n,className:l,isExternal:c}=t,f=r(t,["as","children","className","isExternal"]);return e.createElement(o,Object.assign({as:m,className:a(s.Link,l),ref:i,rel:c?"noopener noreferrer":void 0,target:c?"_blank":void 0},f),n)}));t.displayName="Link";export{t as Link};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
5
+
6
+ const LinkPrimitive = ({ as = 'a', children, className, isExternal, ...rest }, ref) => {
7
+ return (React.createElement(View, { as: as, className: classNames(ComponentClassName.Link, className), ref: ref, rel: isExternal ? 'noopener noreferrer' : undefined, target: isExternal ? '_blank' : undefined, ...rest }, children));
8
+ };
9
+ /**
10
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/link)
11
+ */
12
+ const Link = primitiveWithForwardRef(LinkPrimitive);
13
+ Link.displayName = 'Link';
14
+
15
+ export { Link };
@@ -1 +1,56 @@
1
- import{__rest as e}from"tslib";import*as t from"react";import a from"classnames";import{classNameModifier as r}from"@aws-amplify/ui";import{ComponentClassNames as i}from"../shared/constants.mjs";import{View as l}from"../View/View.mjs";const s="linear-empty",n="linear-filled",o="circular-empty",m="circular-filled",c=8,d=42,y=84*Math.PI,p=t.forwardRef(((c,d)=>{var{className:p,filledColor:f,emptyColor:x,size:g,variation:u,isDeterminate:v=!1,isPercentageTextHidden:E=!1,percentage:h=0}=c,k=e(c,["className","filledColor","emptyColor","size","variation","isDeterminate","isPercentageTextHidden","percentage"]);h=Math.min(h,100);const L=`${h=Math.max(h,0)}%`,N=a(i.Loader,r(i.Loader,g),r(i.Loader,u),v?i.LoaderDeterminate:null,p),D=t.createElement("g",null,t.createElement("line",{x1:"0",x2:"100%",y1:"50%",y2:"50%",style:{stroke:String(x)},"data-testid":s}),t.createElement("line",{x1:"0",x2:v?L:"100%",y1:"50%",y2:"50%",style:{stroke:v&&0===h?"none":f?String(f):void 0},"data-testid":n}),v?t.createElement("text",{"aria-live":"polite",className:a(i.LoaderPercentageText,E?i.VisuallyHidden:null),x:`${-1+h}%`,y:"200%"},L):null),P=t.createElement("g",null,t.createElement("circle",{cx:"50%",cy:"50%",r:"42%",strokeWidth:"8%",style:{stroke:String(x)},"data-testid":o}),t.createElement("circle",{cx:"50%",cy:"50%",r:"42%",strokeWidth:"8%",style:{stroke:String(f),strokeDasharray:v?`${y}% ${y}%`:void 0,strokeDashoffset:v?y-y*h/100+"%":void 0},"data-testid":m}),v?t.createElement("text",{"aria-live":"polite",className:a(i.LoaderPercentageText,E?i.VisuallyHidden:null),x:"130%",y:"80%"},L):null);return t.createElement(l,Object.assign({as:"svg",className:N,"data-size":g,"data-variation":u,ref:d,role:"img"},k),"linear"===u?D:P)}));p.displayName="Loader";export{o as CIRCULAR_EMPTY,m as CIRCULAR_FILLED,c as CIRCULAR_STROKE_WIDTH,y as CIRCUMFERENCE,s as LINEAR_EMPTY,n as LINEAR_FILLED,p as Loader,d as RADIUS};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, classNameModifier, classNameModifierByFlag } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
5
+
6
+ const LINEAR_EMPTY = 'linear-empty';
7
+ const LINEAR_FILLED = 'linear-filled';
8
+ const CIRCULAR_EMPTY = 'circular-empty';
9
+ const CIRCULAR_FILLED = 'circular-filled';
10
+ // radius + strokeWidth = 50
11
+ const CIRCULAR_STROKE_WIDTH = 8;
12
+ const RADIUS = 42;
13
+ // circumference = 2 * r * PI (r = 42)
14
+ const CIRCUMFERENCE = 2 * RADIUS * Math.PI;
15
+ const LoaderPrimitive = ({ className, filledColor, emptyColor, size, variation, isDeterminate = false, isPercentageTextHidden = false, percentage = 0, ...rest }, ref) => {
16
+ percentage = Math.min(percentage, 100);
17
+ percentage = Math.max(percentage, 0);
18
+ const percent = `${percentage}%`;
19
+ const componentClasses = classNames(ComponentClassName.Loader, classNameModifier(ComponentClassName.Loader, size), classNameModifier(ComponentClassName.Loader, variation), classNameModifierByFlag(ComponentClassName.Loader, 'determinate', isDeterminate), className);
20
+ const linearLoader = (React.createElement("g", null,
21
+ React.createElement("line", { x1: "0", x2: "100%", y1: "50%", y2: "50%", style: { stroke: String(emptyColor) }, "data-testid": LINEAR_EMPTY }),
22
+ React.createElement("line", { x1: "0", x2: isDeterminate ? percent : '100%', y1: "50%", y2: "50%", style: {
23
+ // To get rid of the visible stroke linecap when percentage is 0
24
+ stroke: isDeterminate && percentage === 0
25
+ ? 'none'
26
+ : filledColor
27
+ ? String(filledColor)
28
+ : undefined,
29
+ }, "data-testid": LINEAR_FILLED }),
30
+ isDeterminate ? (React.createElement("text", { "aria-live": "polite", className: classNames(ComponentClassName.LoaderLabel, isPercentageTextHidden ? ComponentClassName.VisuallyHidden : null),
31
+ // -1% offset makes the text position look nicest
32
+ x: `${-1 + percentage}%`, y: "200%" }, percent)) : null));
33
+ // r + stroke-width should add up to 50% to avoid overflow
34
+ const circularLoader = (React.createElement("g", null,
35
+ React.createElement("circle", { cx: "50%", cy: "50%", r: `${RADIUS}%`, strokeWidth: `${CIRCULAR_STROKE_WIDTH}%`, style: { stroke: String(emptyColor) }, "data-testid": CIRCULAR_EMPTY }),
36
+ React.createElement("circle", { cx: "50%", cy: "50%", r: `${RADIUS}%`, strokeWidth: `${CIRCULAR_STROKE_WIDTH}%`, style: {
37
+ stroke: String(filledColor),
38
+ strokeDasharray: isDeterminate
39
+ ? `${CIRCUMFERENCE}% ${CIRCUMFERENCE}%`
40
+ : undefined,
41
+ strokeDashoffset: isDeterminate
42
+ ? `${CIRCUMFERENCE - (CIRCUMFERENCE * percentage) / 100}%`
43
+ : undefined,
44
+ }, "data-testid": CIRCULAR_FILLED }),
45
+ isDeterminate ? (React.createElement("text", { "aria-live": "polite", className: classNames(ComponentClassName.LoaderLabel, isPercentageTextHidden ? ComponentClassName.VisuallyHidden : null),
46
+ // this x and y make text position look nicest
47
+ x: "130%", y: "80%" }, percent)) : null));
48
+ return (React.createElement(View, { as: "svg", className: componentClasses, ref: ref, role: "img", ...rest }, variation === 'linear' ? linearLoader : circularLoader));
49
+ };
50
+ /**
51
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/loader)
52
+ */
53
+ const Loader = primitiveWithForwardRef(LoaderPrimitive);
54
+ Loader.displayName = 'Loader';
55
+
56
+ export { CIRCULAR_EMPTY, CIRCULAR_FILLED, CIRCULAR_STROKE_WIDTH, CIRCUMFERENCE, LINEAR_EMPTY, LINEAR_FILLED, Loader, RADIUS };
@@ -1 +1,31 @@
1
- import{__rest as e}from"tslib";import*as n from"react";import r from"classnames";import*as t from"@radix-ui/react-dropdown-menu";import{sanitizeNamespaceImport as o}from"@aws-amplify/ui";import{ButtonGroup as m}from"../ButtonGroup/ButtonGroup.mjs";import{ComponentClassNames as a}from"../shared/constants.mjs";import"../Icon/Icon.mjs";import"../Icon/context/IconsContext.mjs";import{useIcons as s}from"../Icon/context/useIcons.mjs";import"../View/View.mjs";import{IconMenu as i}from"../Icon/icons/IconMenu.mjs";import{MenuButton as l}from"./MenuButton.mjs";const{DropdownMenu:p,DropdownMenuTrigger:c,DropdownMenuContent:u}=o(t),g="amplify-menu-trigger-test-id",d="amplify-menu-items-group-test-id",f=n.forwardRef(((t,o)=>{var f,{menuAlign:C="start",children:I,className:j,isOpen:M,size:w,trigger:N,triggerClassName:h,ariaLabel:E,onOpenChange:O}=t,b=e(t,["menuAlign","children","className","isOpen","size","trigger","triggerClassName","ariaLabel","onOpenChange"]);const x=s("menu");return n.createElement(p,{onOpenChange:O,open:M},n.createElement(c,{asChild:!0},null!=N?N:n.createElement(l,{ariaLabel:E,size:w,testId:g,className:r(a.MenuTrigger,h)},null!==(f=null==x?void 0:x.menu)&&void 0!==f?f:n.createElement(i,null))),n.createElement(u,{align:C,className:a.MenuContentWrapper},n.createElement(m,Object.assign({className:r(a.MenuContent,j),ref:o,size:w,testId:d},b),I)))}));f.displayName="Menu";export{d as MENU_ITEMS_GROUP_TEST_ID,g as MENU_TRIGGER_TEST_ID,f as Menu};
1
+ import * as React from 'react';
2
+ import { sanitizeNamespaceImport, classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import * as Dropdown from '@radix-ui/react-dropdown-menu';
4
+ import { ButtonGroup } from '../ButtonGroup/ButtonGroup.mjs';
5
+ import '../Icon/Icon.mjs';
6
+ import '../Icon/context/IconsContext.mjs';
7
+ import { useIcons } from '../Icon/context/useIcons.mjs';
8
+ import '../View/View.mjs';
9
+ import { IconMenu } from '../Icon/icons/IconMenu.mjs';
10
+ import { MenuButton } from './MenuButton.mjs';
11
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
12
+
13
+ // Radix packages don't support ESM in Node, in some scenarios(e.g. SSR)
14
+ // We have to use namespace import and sanitize it to ensure the interoperablity between ESM and CJS
15
+ const { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent } = sanitizeNamespaceImport(Dropdown);
16
+ const MENU_TRIGGER_TEST_ID = 'amplify-menu-trigger-test-id';
17
+ const MENU_ITEMS_GROUP_TEST_ID = 'amplify-menu-items-group-test-id';
18
+ const MenuPrimitive = ({ menuAlign = 'start', children, className, isOpen, size, trigger, triggerClassName, ariaLabel, onOpenChange, ...rest }, ref) => {
19
+ const icons = useIcons('menu');
20
+ return (React.createElement(DropdownMenu, { onOpenChange: onOpenChange, open: isOpen },
21
+ React.createElement(DropdownMenuTrigger, { asChild: true }, trigger ?? (React.createElement(MenuButton, { ariaLabel: ariaLabel, size: size, testId: MENU_TRIGGER_TEST_ID, className: classNames(ComponentClassName.MenuTrigger, triggerClassName) }, icons?.menu ?? React.createElement(IconMenu, null)))),
22
+ React.createElement(DropdownMenuContent, { align: menuAlign, className: ComponentClassName.MenuWrapper },
23
+ React.createElement(ButtonGroup, { className: classNames(ComponentClassName.MenuContent, className), ref: ref, size: size, testId: MENU_ITEMS_GROUP_TEST_ID, ...rest }, children))));
24
+ };
25
+ /**
26
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/menu)
27
+ */
28
+ const Menu = primitiveWithForwardRef(MenuPrimitive);
29
+ Menu.displayName = 'Menu';
30
+
31
+ export { MENU_ITEMS_GROUP_TEST_ID, MENU_TRIGGER_TEST_ID, Menu };
@@ -1 +1,18 @@
1
- import{__rest as t}from"tslib";import*as a from"react";import s from"classnames";import{Button as i}from"../Button/Button.mjs";import{classNameModifier as e}from"@aws-amplify/ui";import{ComponentClassNames as o}from"../shared/constants.mjs";import{useStyles as r}from"../shared/styleUtils.mjs";const l=a.forwardRef(((l,n)=>{var{ariaLabel:d,className:m,children:p,isFullWidth:u=!1,isDisabled:c,isLoading:f,size:y,style:b,type:h="button",variation:B,testId:g}=l,j=t(l,["ariaLabel","className","children","isFullWidth","isDisabled","isLoading","size","style","type","variation","testId"]);const{propStyles:v,nonStyleProps:L}=r(j,b),N=s(o.Button,e(o.Button,y),e(o.Button,B),m);return a.createElement(i,Object.assign({ref:n,className:N,"data-fullwidth":u,"data-loading":f,"data-size":y,"data-variation":B,disabled:null!=c?c:f,type:h,"data-testid":g,"aria-label":d,style:v},L),p)}));l.displayName="MenuButton";export{l as MenuButton};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, classNameModifier } from '@aws-amplify/ui';
3
+ import { Button } from '../Button/Button.mjs';
4
+ import { useStyles } from '../shared/styleUtils.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ /**
8
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/menu)
9
+ */
10
+ const MenuButtonPrimitive = ({ ariaLabel, className, children, isDisabled, isLoading, size, style, type = 'button', variation, testId, ...rest }, ref) => {
11
+ const { propStyles, nonStyleProps } = useStyles(rest, style);
12
+ const componentClasses = classNames(ComponentClassName.Button, classNameModifier(ComponentClassName.Button, size), classNameModifier(ComponentClassName.Button, variation), className);
13
+ return (React.createElement(Button, { ref: ref, className: componentClasses, disabled: isDisabled ?? isLoading, type: type, testId: testId, "aria-label": ariaLabel, style: propStyles, ...nonStyleProps }, children));
14
+ };
15
+ const MenuButton = primitiveWithForwardRef(MenuButtonPrimitive);
16
+ MenuButton.displayName = 'MenuButton';
17
+
18
+ export { MenuButton };
@@ -1 +1,22 @@
1
- import{__rest as e}from"tslib";import*as m from"react";import r from"classnames";import*as t from"@radix-ui/react-dropdown-menu";import{sanitizeNamespaceImport as a}from"@aws-amplify/ui";import{ComponentClassNames as s}from"../shared/constants.mjs";import{MenuButton as o}from"./MenuButton.mjs";const{DropdownMenuItem:i}=a(t),n="amplify-menu-item-test-id",c=m.forwardRef(((t,a)=>{var{children:c,className:l}=t,p=e(t,["children","className"]);return m.createElement(i,{asChild:!0,ref:a},m.createElement(o,Object.assign({className:r(s.MenuItem,l),testId:n},p,{variation:"menu"}),c))}));c.displayName="MenuItem";export{n as MENU_ITEM_TEST_ID,c as MenuItem};
1
+ import * as React from 'react';
2
+ import { sanitizeNamespaceImport, classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import * as Dropdown from '@radix-ui/react-dropdown-menu';
4
+ import { MenuButton } from './MenuButton.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ // Radix packages don't support ESM in Node, in some scenarios(e.g. SSR)
8
+ // We have to use namespace import and sanitize it to ensure the interoperablity between ESM and CJS
9
+ const { DropdownMenuItem } = sanitizeNamespaceImport(Dropdown);
10
+ const MENU_ITEM_TEST_ID = 'amplify-menu-item-test-id';
11
+ /**
12
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/menu)
13
+ */
14
+ const MenuItemPrimitive = ({ children, className, ...rest }, ref) => {
15
+ return (React.createElement(DropdownMenuItem, { asChild: true, ref: ref },
16
+ React.createElement(MenuButton, { className: classNames(ComponentClassName.MenuItem, className), testId: MENU_ITEM_TEST_ID, ...rest, variation: "menu" // ensures `menu` variation is not overwritten
17
+ }, children)));
18
+ };
19
+ const MenuItem = primitiveWithForwardRef(MenuItemPrimitive);
20
+ MenuItem.displayName = 'MenuItem';
21
+
22
+ export { MENU_ITEM_TEST_ID, MenuItem };
@@ -1 +1,23 @@
1
- import{__rest as e}from"tslib";import*as s from"react";import{MessageHeading as i}from"./MessageHeading.mjs";import{MessageIcon as m}from"./MessageIcon.mjs";import{MessageDismiss as r}from"./MessageDismiss.mjs";import{MessageContent as a}from"./MessageContent.mjs";import{MessageContainer as o}from"./MessageContainer.mjs";const n=s.forwardRef(((n,l)=>{var{children:t,heading:c,dismissLabel:d,isDismissible:f,onDismiss:g,hasIcon:h=!0,colorTheme:p="neutral",variation:u="filled"}=n,b=e(n,["children","heading","dismissLabel","isDismissible","onDismiss","hasIcon","colorTheme","variation"]);return s.createElement(o,Object.assign({colorTheme:p,variation:u,ref:l},b),h?s.createElement(m,null):null,s.createElement(a,null,c?s.createElement(i,null,c):null,t),f?s.createElement(r,{onDismiss:g,dismissLabel:d}):null)}));n.displayName="Message";export{n as Message};
1
+ import * as React from 'react';
2
+ import { MessageHeading } from './MessageHeading.mjs';
3
+ import { MessageIcon } from './MessageIcon.mjs';
4
+ import { MessageDismiss } from './MessageDismiss.mjs';
5
+ import { MessageContent } from './MessageContent.mjs';
6
+ import { MessageContainer } from './MessageContainer.mjs';
7
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
8
+
9
+ const MessagePrimitive = ({ children, heading, dismissLabel, isDismissible, onDismiss, hasIcon = true, colorTheme = 'neutral', variation = 'filled', ...rest }, ref) => {
10
+ return (React.createElement(MessageContainer, { colorTheme: colorTheme, variation: variation, ref: ref, ...rest },
11
+ hasIcon ? React.createElement(MessageIcon, null) : null,
12
+ React.createElement(MessageContent, null,
13
+ heading ? React.createElement(MessageHeading, null, heading) : null,
14
+ children),
15
+ isDismissible ? (React.createElement(MessageDismiss, { onDismiss: onDismiss, dismissLabel: dismissLabel })) : null));
16
+ };
17
+ /**
18
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/message)
19
+ */
20
+ const Message = primitiveWithForwardRef(MessagePrimitive);
21
+ Message.displayName = 'Message';
22
+
23
+ export { Message };
@@ -1 +1,19 @@
1
- import{__rest as e}from"tslib";import*as s from"react";import r from"classnames";import{ComponentClassNames as a}from"../shared/constants.mjs";import{classNameModifier as m}from"@aws-amplify/ui";import{Flex as o}from"../Flex/Flex.mjs";import{MessageContext as t}from"./useMessage.mjs";const i=s.forwardRef(((i,l)=>{var{children:n,className:c,colorTheme:f="neutral",variation:d="filled"}=i,p=e(i,["children","className","colorTheme","variation"]);const[u,g]=s.useState(!1),h=s.useMemo((()=>({colorTheme:f,dismissed:u,setDismissed:g})),[f,u]);return s.createElement(t.Provider,{value:h},u?null:s.createElement(o,Object.assign({className:r(a.Message,m(a.Message,d),m(a.Message,f),c),ref:l},p),n))}));i.displayName="MessageContainer";export{i as MessageContainer};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, classNameModifier } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.mjs';
4
+ import { MessageContext } from './useMessage.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ const MessageContainerPrimitive = ({ children, className, colorTheme = 'neutral', variation = 'filled', ...rest }, ref) => {
8
+ const [dismissed, setDismissed] = React.useState(false);
9
+ const value = React.useMemo(() => ({
10
+ colorTheme,
11
+ dismissed,
12
+ setDismissed,
13
+ }), [colorTheme, dismissed]);
14
+ return (React.createElement(MessageContext.Provider, { value: value }, !dismissed ? (React.createElement(Flex, { className: classNames(ComponentClassName.Message, classNameModifier(ComponentClassName.Message, variation), classNameModifier(ComponentClassName.Message, colorTheme), className), ref: ref, ...rest }, children)) : null));
15
+ };
16
+ const MessageContainer = primitiveWithForwardRef(MessageContainerPrimitive);
17
+ MessageContainer.displayName = 'MessageContainer';
18
+
19
+ export { MessageContainer };
@@ -1 +1,12 @@
1
- import{__rest as e}from"tslib";import*as s from"react";import r from"classnames";import{ComponentClassNames as a}from"../shared/constants.mjs";import{Flex as t}from"../Flex/Flex.mjs";const m=s.forwardRef(((m,o)=>{var{children:n,className:c}=m,l=e(m,["children","className"]);return s.createElement(t,Object.assign({className:r(a.MessageContent,c),ref:o},l),n)}));m.displayName="MessageContent";export{m as MessageContent};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.mjs';
4
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
5
+
6
+ const MessageContentPrimitive = ({ children, className, ...rest }, ref) => {
7
+ return (React.createElement(Flex, { className: classNames(ComponentClassName.MessageContent, className), ref: ref, ...rest }, children));
8
+ };
9
+ const MessageContent = primitiveWithForwardRef(MessageContentPrimitive);
10
+ MessageContent.displayName = 'MessageContent';
11
+
12
+ export { MessageContent };
@@ -1 +1,28 @@
1
- import{__rest as s}from"tslib";import*as e from"react";import o from"classnames";import{Button as i}from"../Button/Button.mjs";import{VisuallyHidden as m}from"../VisuallyHidden/VisuallyHidden.mjs";import{ComponentClassNames as a,ComponentText as r}from"../shared/constants.mjs";import"../View/View.mjs";import{IconClose as t}from"../Icon/icons/IconClose.mjs";import{useIcons as n}from"../Icon/context/useIcons.mjs";import{useMessage as l}from"./useMessage.mjs";import{isFunction as c}from"@aws-amplify/ui";const d=e.forwardRef(((d,f)=>{var p,{onDismiss:u,dismissLabel:j,hasIcon:h=!0,children:b,className:g}=d,I=s(d,["onDismiss","dismissLabel","hasIcon","children","className"]);const{setDismissed:v}=l(),y=n("message"),w=e.useCallback((()=>{v(!0),c(u)&&u()}),[v,u]);return e.createElement(i,Object.assign({variation:"link",colorTheme:"overlay",className:o(a.MessageDismiss,g),ref:f,onClick:w},I),h?null!==(p=null==y?void 0:y.close)&&void 0!==p?p:e.createElement(t,{"aria-hidden":"true"}):null,b||e.createElement(m,null,j||r.Message.dismissLabel))}));d.displayName="MessageContent";export{d as MessageDismiss};
1
+ import * as React from 'react';
2
+ import { isFunction, classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { Button } from '../Button/Button.mjs';
4
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.mjs';
5
+ import '../View/View.mjs';
6
+ import { IconClose } from '../Icon/icons/IconClose.mjs';
7
+ import { useIcons } from '../Icon/context/useIcons.mjs';
8
+ import { ComponentText } from '../shared/constants.mjs';
9
+ import { useMessage } from './useMessage.mjs';
10
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
11
+
12
+ const MessageDismissPrimitive = ({ onDismiss, dismissLabel, hasIcon = true, children, className, ...rest }, ref) => {
13
+ const { setDismissed } = useMessage();
14
+ const icons = useIcons('message');
15
+ const dismissMessage = React.useCallback(() => {
16
+ setDismissed(true);
17
+ if (isFunction(onDismiss)) {
18
+ onDismiss();
19
+ }
20
+ }, [setDismissed, onDismiss]);
21
+ return (React.createElement(Button, { variation: "link", colorTheme: "overlay", className: classNames(ComponentClassName.MessageDismiss, className), ref: ref, onClick: dismissMessage, ...rest },
22
+ hasIcon ? icons?.close ?? React.createElement(IconClose, { "aria-hidden": "true" }) : null,
23
+ children ? (children) : (React.createElement(VisuallyHidden, null, dismissLabel ? dismissLabel : ComponentText.Message.dismissLabel))));
24
+ };
25
+ const MessageDismiss = primitiveWithForwardRef(MessageDismissPrimitive);
26
+ MessageDismiss.displayName = 'MessageContent';
27
+
28
+ export { MessageDismiss };
@@ -1 +1,12 @@
1
- import{__rest as e}from"tslib";import*as s from"react";import a from"classnames";import{ComponentClassNames as r}from"../shared/constants.mjs";import{Flex as m}from"../Flex/Flex.mjs";const t=s.forwardRef(((t,o)=>{var{children:i,className:c}=t,l=e(t,["children","className"]);return s.createElement(m,Object.assign({className:a(r.MessageHeading,c),ref:o},l),i)}));t.displayName="MessageHeading";export{t as MessageHeading};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.mjs';
4
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
5
+
6
+ const MessageHeadingPrimitive = ({ children, className, ...rest }, ref) => {
7
+ return (React.createElement(Flex, { className: classNames(ComponentClassName.MessageHeading, className), ref: ref, ...rest }, children));
8
+ };
9
+ const MessageHeading = primitiveWithForwardRef(MessageHeadingPrimitive);
10
+ MessageHeading.displayName = 'MessageHeading';
11
+
12
+ export { MessageHeading };
@@ -1 +1,35 @@
1
- import{__rest as e}from"tslib";import*as o from"react";import r from"classnames";import{ComponentClassNames as s}from"../shared/constants.mjs";import{View as n}from"../View/View.mjs";import{useMessage as c}from"./useMessage.mjs";import{IconCheckCircle as m}from"../Icon/icons/IconCheckCircle.mjs";import{IconError as l}from"../Icon/icons/IconError.mjs";import{IconInfo as a}from"../Icon/icons/IconInfo.mjs";import{IconWarning as i}from"../Icon/icons/IconWarning.mjs";import{useIcons as t}from"../Icon/context/useIcons.mjs";const u=o.forwardRef(((u,f)=>{var d,p,I,j,{className:v}=u,g=e(u,["className"]);const w=t("message"),{colorTheme:E}=c();let b;switch(E){case"info":b=null!==(d=null==w?void 0:w.info)&&void 0!==d?d:o.createElement(a,null);break;case"error":b=null!==(p=null==w?void 0:w.error)&&void 0!==p?p:o.createElement(l,null);break;case"warning":b=null!==(I=null==w?void 0:w.warning)&&void 0!==I?I:o.createElement(i,null);break;case"success":b=null!==(j=null==w?void 0:w.success)&&void 0!==j?j:o.createElement(m,null)}return b?o.createElement(n,Object.assign({className:r(s.MessageIcon,v),"aria-hidden":"true",ref:f},g),b):null}));u.displayName="MessageIcon";export{u as MessageIcon};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { useMessage } from './useMessage.mjs';
5
+ import { IconCheckCircle } from '../Icon/icons/IconCheckCircle.mjs';
6
+ import { IconError } from '../Icon/icons/IconError.mjs';
7
+ import { IconInfo } from '../Icon/icons/IconInfo.mjs';
8
+ import { IconWarning } from '../Icon/icons/IconWarning.mjs';
9
+ import { useIcons } from '../Icon/context/useIcons.mjs';
10
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
11
+
12
+ const MessageIconPrimitive = ({ className, ...rest }, ref) => {
13
+ const icons = useIcons('message');
14
+ const { colorTheme } = useMessage();
15
+ let icon;
16
+ switch (colorTheme) {
17
+ case 'info':
18
+ icon = icons?.info ?? React.createElement(IconInfo, null);
19
+ break;
20
+ case 'error':
21
+ icon = icons?.error ?? React.createElement(IconError, null);
22
+ break;
23
+ case 'warning':
24
+ icon = icons?.warning ?? React.createElement(IconWarning, null);
25
+ break;
26
+ case 'success':
27
+ icon = icons?.success ?? React.createElement(IconCheckCircle, null);
28
+ break;
29
+ }
30
+ return icon ? (React.createElement(View, { className: classNames(ComponentClassName.MessageIcon, className), "aria-hidden": "true", ref: ref, ...rest }, icon)) : null;
31
+ };
32
+ const MessageIcon = primitiveWithForwardRef(MessageIconPrimitive);
33
+ MessageIcon.displayName = 'MessageIcon';
34
+
35
+ export { MessageIcon };
@@ -1 +1,9 @@
1
- import*as e from"react";const s=e.createContext({dismissed:!1,setDismissed:()=>{}}),t=()=>e.useContext(s);export{s as MessageContext,t as useMessage};
1
+ import * as React from 'react';
2
+
3
+ const MessageContext = React.createContext({
4
+ dismissed: false,
5
+ setDismissed: () => { },
6
+ });
7
+ const useMessage = () => React.useContext(MessageContext);
8
+
9
+ export { MessageContext, useMessage };
@@ -1 +1,31 @@
1
- import{__rest as e}from"tslib";import*as a from"react";import t from"classnames";import{Flex as n}from"../Flex/Flex.mjs";import{View as r}from"../View/View.mjs";import{usePaginationItems as o}from"./usePaginationItems.mjs";import{ComponentClassNames as s}from"../shared/constants.mjs";const i=a.forwardRef(((i,l)=>{var{className:g,currentPage:m=1,totalPages:c,hasMorePages:u=!1,siblingCount:P,currentPageLabel:b,pageLabel:p,previousLabel:L,nextLabel:f,onNext:x,onPrevious:h,onChange:v}=i,C=e(i,["className","currentPage","totalPages","hasMorePages","siblingCount","currentPageLabel","pageLabel","previousLabel","nextLabel","onNext","onPrevious","onChange"]);const N=o({currentPage:m,totalPages:c,hasMorePages:u,siblingCount:P,currentPageLabel:b,pageLabel:p,previousLabel:L,nextLabel:f,onNext:x,onPrevious:h,onChange:v});return a.createElement(r,Object.assign({as:"nav",className:t(s.Pagination,g),ref:l},C),a.createElement(n,{as:"ol",justifyContent:"center",alignItems:"center",gap:"inherit"},N))}));i.displayName="Pagination";export{i as Pagination};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.mjs';
4
+ import { View } from '../View/View.mjs';
5
+ import { usePaginationItems } from './usePaginationItems.mjs';
6
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
7
+
8
+ const PaginationPrimitive = ({ className, currentPage = 1, totalPages, hasMorePages = false, siblingCount, currentPageLabel, pageLabel, previousLabel, nextLabel, onNext, onPrevious, onChange, ...rest }, ref) => {
9
+ const paginationItems = usePaginationItems({
10
+ currentPage,
11
+ totalPages,
12
+ hasMorePages,
13
+ siblingCount,
14
+ currentPageLabel,
15
+ pageLabel,
16
+ previousLabel,
17
+ nextLabel,
18
+ onNext,
19
+ onPrevious,
20
+ onChange,
21
+ });
22
+ return (React.createElement(View, { as: "nav", className: classNames(ComponentClassName.Pagination, className), ref: ref, ...rest },
23
+ React.createElement(Flex, { as: "ol", justifyContent: "center", alignItems: "center", gap: "inherit" }, paginationItems)));
24
+ };
25
+ /**
26
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/pagination)
27
+ */
28
+ const Pagination = primitiveWithForwardRef(PaginationPrimitive);
29
+ Pagination.displayName = 'Pagination';
30
+
31
+ export { Pagination };
@@ -1 +1,48 @@
1
- import{__rest as e}from"tslib";import*as t from"react";import a from"classnames";import{Button as n}from"../Button/Button.mjs";import{Flex as i}from"../Flex/Flex.mjs";import"../Icon/Icon.mjs";import"../Icon/context/IconsContext.mjs";import{useIcons as l}from"../Icon/context/useIcons.mjs";import{ComponentClassNames as s,ComponentText as o}from"../shared/constants.mjs";import{View as r}from"../View/View.mjs";import{IconChevronLeft as m}from"../Icon/icons/IconChevronLeft.mjs";import{IconChevronRight as c}from"../Icon/icons/IconChevronRight.mjs";import{VisuallyHidden as u}from"../VisuallyHidden/VisuallyHidden.mjs";import{classNameModifier as p,classNameModifierByFlag as g}from"@aws-amplify/ui";const I="current",b="ellipsis",d=d=>{var P,j,{type:f,page:E,currentPage:v,currentPageLabel:k=o.PaginationItem.currentPageLabel,isDisabled:B,onClick:C,ariaLabel:L}=d,x=e(d,["type","page","currentPage","currentPageLabel","isDisabled","onClick","ariaLabel"]);const y=l("pagination"),N=a(s.PaginationItemButton,p(s.PaginationItemButton,"link"),g(s.PaginationItemButton,"disabled",B)),h=a(s.PaginationItemButton,p(s.PaginationItemButton,"link"),g(s.PaginationItemButton,"disabled",B));switch(f){case"page":return t.createElement(r,{as:"li"},E===v?t.createElement(i,Object.assign({"aria-current":"page",as:"button",className:s.PaginationItemCurrent,testId:I},x),t.createElement(u,null,k,":"),E):t.createElement(n,Object.assign({className:a(s.PaginationItemButton,p(s.PaginationItemButton,"link")),size:"small",variation:"link",onClick:()=>{null==C||C()},ariaLabel:L},x),E));case"next":return t.createElement(r,{as:"li"},t.createElement(n,Object.assign({className:N,size:"small",variation:"link",isDisabled:B,onClick:()=>{null==C||C()},ariaLabel:L},x),null!==(P=null==y?void 0:y.next)&&void 0!==P?P:t.createElement(c,null)));case"previous":return t.createElement(r,{as:"li"},t.createElement(n,Object.assign({className:h,size:"small",variation:"link",isDisabled:B,onClick:()=>{null==C||C()},ariaLabel:L},x),null!==(j=null==y?void 0:y.previous)&&void 0!==j?j:t.createElement(m,null)));case"ellipsis":return t.createElement(r,{as:"li"},t.createElement(i,Object.assign({as:"span",className:s.PaginationItemEllipsis,testId:b},x),"…"))}return t.createElement(r,{as:"li"})};d.displayName="PaginationItem";export{I as PAGINATION_CURRENT_TEST_ID,b as PAGINATION_ELLIPSIS_TEST_ID,d as PaginationItem};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, classNameModifier, classNameModifierByFlag } from '@aws-amplify/ui';
3
+ import { Button } from '../Button/Button.mjs';
4
+ import { Flex } from '../Flex/Flex.mjs';
5
+ import '../Icon/Icon.mjs';
6
+ import '../Icon/context/IconsContext.mjs';
7
+ import { useIcons } from '../Icon/context/useIcons.mjs';
8
+ import { View } from '../View/View.mjs';
9
+ import { IconChevronLeft } from '../Icon/icons/IconChevronLeft.mjs';
10
+ import { IconChevronRight } from '../Icon/icons/IconChevronRight.mjs';
11
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.mjs';
12
+ import { ComponentText } from '../shared/constants.mjs';
13
+
14
+ const PAGINATION_CURRENT_TEST_ID = 'current';
15
+ const PAGINATION_ELLIPSIS_TEST_ID = 'ellipsis';
16
+ const PaginationItem = ({ type, page, currentPage, currentPageLabel = ComponentText.PaginationItem.currentPageLabel, isDisabled, onClick, ariaLabel, ...rest }) => {
17
+ const icons = useIcons('pagination');
18
+ const nextClasses = classNames(ComponentClassName.PaginationItem, classNameModifier(ComponentClassName.PaginationItem, 'link'), classNameModifierByFlag(ComponentClassName.PaginationItem, 'disabled', isDisabled));
19
+ const previousClasses = classNames(ComponentClassName.PaginationItem, classNameModifier(ComponentClassName.PaginationItem, 'link'), classNameModifierByFlag(ComponentClassName.PaginationItem, 'disabled', isDisabled));
20
+ switch (type) {
21
+ case 'page':
22
+ return (React.createElement(View, { as: "li" }, page === currentPage ? (React.createElement(Button, { "aria-current": "page", size: "small", variation: "link", className: classNames(ComponentClassName.PaginationItem, classNameModifier(ComponentClassName.PaginationItem, 'current')), testId: PAGINATION_CURRENT_TEST_ID, ...rest },
23
+ React.createElement(VisuallyHidden, null,
24
+ currentPageLabel,
25
+ ":"),
26
+ page)) : (React.createElement(Button, { className: ComponentClassName.PaginationItem, size: "small", variation: "link", onClick: () => {
27
+ onClick?.();
28
+ }, ariaLabel: ariaLabel, ...rest }, page))));
29
+ case 'next':
30
+ return (React.createElement(View, { as: "li" },
31
+ React.createElement(Button, { className: nextClasses, size: "small", variation: "link", isDisabled: isDisabled, onClick: () => {
32
+ onClick?.();
33
+ }, ariaLabel: ariaLabel, ...rest }, icons?.next ?? React.createElement(IconChevronRight, null))));
34
+ case 'previous':
35
+ return (React.createElement(View, { as: "li" },
36
+ React.createElement(Button, { className: previousClasses, size: "small", variation: "link", isDisabled: isDisabled, onClick: () => {
37
+ onClick?.();
38
+ }, ariaLabel: ariaLabel, ...rest }, icons?.previous ?? React.createElement(IconChevronLeft, null))));
39
+ case 'ellipsis':
40
+ return (React.createElement(View, { as: "li" },
41
+ React.createElement(Flex, { as: "span", className: classNameModifier(ComponentClassName.PaginationItem, 'ellipsis'), testId: PAGINATION_ELLIPSIS_TEST_ID, ...rest }, "\u2026")));
42
+ // No match type found
43
+ }
44
+ return React.createElement(View, { as: "li" });
45
+ };
46
+ PaginationItem.displayName = 'PaginationItem';
47
+
48
+ export { PAGINATION_CURRENT_TEST_ID, PAGINATION_ELLIPSIS_TEST_ID, PaginationItem };
@@ -1 +1,41 @@
1
- import*as a from"react";const e=e=>{const{currentPage:t=1,totalPages:s,hasMorePages:o=!1,siblingCount:n=1}=e,r=Math.max(t,1),u=Math.max(r,s),[c,l]=a.useState(r);a.useEffect((()=>{l(r)}),[r,u]);const g=a.useCallback((()=>{c<u&&l(c+1)}),[c,u]),P=a.useCallback((()=>{c>1&&l(c-1)}),[c]),b=a.useCallback((a=>{"number"==typeof a&&l(a)}),[]);return{currentPage:c,hasMorePages:o,onChange:b,onNext:g,onPrevious:P,siblingCount:Math.max(n,1),totalPages:u}};export{e as usePagination};
1
+ import * as React from 'react';
2
+
3
+ const usePagination = (props) => {
4
+ const { currentPage: initialPage = 1, totalPages, hasMorePages = false, siblingCount = 1, } = props;
5
+ // The current page should not be less than 1
6
+ const sanitizedInitialPage = Math.max(initialPage, 1);
7
+ // The total pages should be always greater than current page
8
+ const sanitizedTotalPages = Math.max(sanitizedInitialPage, totalPages);
9
+ const [currentPage, setCurrentPage] = React.useState(sanitizedInitialPage);
10
+ // Reset current page if initialPage or totalPages changes
11
+ React.useEffect(() => {
12
+ setCurrentPage(sanitizedInitialPage);
13
+ }, [sanitizedInitialPage, sanitizedTotalPages]);
14
+ const onNext = React.useCallback(() => {
15
+ if (currentPage < sanitizedTotalPages) {
16
+ setCurrentPage(currentPage + 1);
17
+ }
18
+ }, [currentPage, sanitizedTotalPages]);
19
+ const onPrevious = React.useCallback(() => {
20
+ if (currentPage > 1) {
21
+ setCurrentPage(currentPage - 1);
22
+ }
23
+ }, [currentPage]);
24
+ const onChange = React.useCallback((newPageIndex) => {
25
+ if (typeof newPageIndex === 'number') {
26
+ setCurrentPage(newPageIndex);
27
+ }
28
+ }, []);
29
+ return {
30
+ currentPage,
31
+ hasMorePages,
32
+ onChange,
33
+ onNext,
34
+ onPrevious,
35
+ // The sibling count should not be less than 1
36
+ siblingCount: Math.max(siblingCount, 1),
37
+ totalPages: sanitizedTotalPages,
38
+ };
39
+ };
40
+
41
+ export { usePagination };
@@ -1 +1,39 @@
1
- import*as e from"react";import{useRange as a,ELLIPSIS as t}from"./useRange.mjs";import{PaginationItem as n}from"./PaginationItem.mjs";import{ComponentText as r}from"../shared/constants.mjs";const i=({currentPage:i,totalPages:o,hasMorePages:l,siblingCount:s,currentPageLabel:m=r.PaginationItem.currentPageLabel,pageLabel:g=r.PaginationItem.pageLabel,previousLabel:p=r.PaginationItem.previousLabel,nextLabel:c=r.PaginationItem.nextLabel,onNext:u,onPrevious:b,onChange:P})=>{const L=e.createElement(n,{type:"previous",key:"previous",currentPage:i,onClick:b,isDisabled:i<=1,ariaLabel:p}),y=e.createElement(n,{type:"next",key:"next",currentPage:i,onClick:u,isDisabled:i>=o&&!l,ariaLabel:c}),k=a(i,o,s);return[L,...e.useMemo((()=>k.map(((a,r)=>a===t?e.createElement(n,{type:"ellipsis",key:1===r?"start-ellipsis":"end-ellipsis"}):e.createElement(n,{key:a,type:"page",page:a,currentPage:i,currentPageLabel:m,onClick:()=>null==P?void 0:P(a,i),ariaLabel:`${g} ${a}`})))),[k,i,m,g,P]),y]};export{i as usePaginationItems};
1
+ import * as React from 'react';
2
+ import { useRange, ELLIPSIS } from './useRange.mjs';
3
+ import { PaginationItem } from './PaginationItem.mjs';
4
+ import { ComponentText } from '../shared/constants.mjs';
5
+
6
+ /**
7
+ * This hook will be used to get the pagination items to be rendered in the pagination primitive
8
+ * @param currentPage current page number
9
+ * @param totalPages total number of pages
10
+ * @param siblingCount the number of siblings on each side of
11
+ * @param onNext callback function triggered when the next-page button is pressed
12
+ * @param onPrevious callback function triggered when the prev-page button is pressed
13
+ * @param onChange callback function triggered every time the page changes
14
+ * @returns an array of pagination items
15
+ */
16
+ const usePaginationItems = ({ currentPage, totalPages, hasMorePages, siblingCount, currentPageLabel = ComponentText.PaginationItem.currentPageLabel, pageLabel = ComponentText.PaginationItem.pageLabel, previousLabel = ComponentText.PaginationItem.previousLabel, nextLabel = ComponentText.PaginationItem.nextLabel, onNext, onPrevious, onChange, }) => {
17
+ const previousItem = (React.createElement(PaginationItem, { type: "previous", key: "previous", currentPage: currentPage, onClick: onPrevious, isDisabled: currentPage <= 1, ariaLabel: previousLabel }));
18
+ const nextItem = (React.createElement(PaginationItem, { type: "next", key: "next", currentPage: currentPage, onClick: onNext, isDisabled: currentPage >= totalPages && !hasMorePages, ariaLabel: nextLabel }));
19
+ // To get the range of page numbers to be rendered in the pagination primitive
20
+ const range = useRange(currentPage, totalPages, siblingCount);
21
+ const pageItems = React.useMemo(() => range.map((item, idx) => {
22
+ if (item === ELLIPSIS) {
23
+ return (React.createElement(PaginationItem, { type: "ellipsis", key: idx === 1 ? 'start-ellipsis' : 'end-ellipsis' }));
24
+ }
25
+ return (
26
+ // Note: Do NOT use index for `key` and instead use page number
27
+ // otherwise, react cannot update the component correctly with its diff mechanism
28
+ React.createElement(PaginationItem, { key: item, type: "page", page: item, currentPage: currentPage, currentPageLabel: currentPageLabel, onClick: () => onChange?.(item, currentPage),
29
+ /**
30
+ * @todo We should consider how we would support interpolation in our string translations.
31
+ * This works for "Go to page 31" or "translatedText {s}" as the supplied string
32
+ * But for Arabic or Japanese or some other languages the supplied string might look like: "{s} translatedText".
33
+ */
34
+ ariaLabel: `${pageLabel} ${item}` }));
35
+ }), [range, currentPage, currentPageLabel, pageLabel, onChange]);
36
+ return [previousItem, ...pageItems, nextItem];
37
+ };
38
+
39
+ export { usePaginationItems };