@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,84 @@
1
- import{__rest as e}from"tslib";import*as t from"react";import s from"classnames";import{classNameModifierByFlag as a,isFunction as o}from"@aws-amplify/ui";import{Flex as c}from"../Flex/Flex.mjs";import"../Icon/Icon.mjs";import"../Icon/context/IconsContext.mjs";import{useIcons as n}from"../Icon/context/useIcons.mjs";import{ComponentClassNames as i}from"../shared/constants.mjs";import{View as d}from"../View/View.mjs";import{IconCheck as r}from"../Icon/icons/IconCheck.mjs";import{IconIndeterminate as l}from"../Icon/icons/IconIndeterminate.mjs";import{Input as m}from"../Input/Input.mjs";import{Text as b}from"../Text/Text.mjs";import{VisuallyHidden as u}from"../VisuallyHidden/VisuallyHidden.mjs";import{getTestId as h}from"../utils/getTestId.mjs";import{useStableId as p}from"../utils/useStableId.mjs";import{splitPrimitiveProps as k}from"../utils/splitPrimitiveProps.mjs";import{useFieldset as f}from"../Fieldset/useFieldset.mjs";const I=t.forwardRef(((I,x)=>{var{checked:C,className:j,defaultChecked:E,hasError:y,isDisabled:g,isIndeterminate:N,label:B,labelHidden:F,labelPosition:S,onBlur:v,onFocus:H,onChange:O,testId:P,inputStyles:V}=I,w=e(I,["checked","className","defaultChecked","hasError","isDisabled","isIndeterminate","label","labelHidden","labelPosition","onBlur","onFocus","onChange","testId","inputStyles"]);const{styleProps:D,rest:T}=k(w),[L,q]=t.useState(!1),R=n("checkbox"),{isFieldsetDisabled:$}=f(),z=$||g,A=void 0!==C,[G,J]=t.useState((()=>A?C:E)),K=A?C:G,M=p();t.useEffect((()=>{const e=document.querySelector(`[data-id="${M}"]`);e&&"boolean"==typeof N&&(e.indeterminate=N)}),[M,N]);const Q=h(P,i.CheckboxButton),U=h(P,i.CheckboxIcon),W=h(P,i.CheckboxLabel),X=s(i.CheckboxButton,a(i.CheckboxButton,"disabled",z),a(i.CheckboxButton,"error",y),a(i.CheckboxButton,"focused",L)),Y=s(i.CheckboxIcon,a(i.CheckboxIcon,"checked",K),a(i.CheckboxIcon,"disabled",z),a(i.CheckboxIcon,"indeterminate",N)),Z={className:s(Y),"data-checked":G,"data-disabled":z,"data-testid":U},_=(null==R?void 0:R.checked)?t.createElement(d,{as:"span",className:s(Y)},R.checked):t.createElement(r,Object.assign({},Z)),ee=(null==R?void 0:R.indeterminate)?t.createElement(d,{as:"span",className:s(Y)},R.indeterminate):t.createElement(l,Object.assign({},Z));return t.createElement(c,Object.assign({as:"label",className:s(i.Checkbox,a(i.Checkbox,"disabled",z),j),"data-disabled":z,"data-label-position":S,testId:P},D),t.createElement(u,null,t.createElement(m,Object.assign({checked:C,className:i.CheckboxInput,"data-id":M,defaultChecked:E,isDisabled:z,onBlur:e=>{o(v)&&v(e),q(!1)},onChange:e=>{o(O)&&O(e),A||J(e.target.checked)},onFocus:e=>{o(H)&&H(e),q(!0)},ref:x,type:"checkbox"},T))),B&&t.createElement(b,{as:"span",className:s(i.CheckboxLabel,{[i.VisuallyHidden]:F}),"data-disabled":z,testId:W},B),t.createElement(c,Object.assign({"aria-hidden":"true",as:"span",className:X,"data-checked":K,"data-disabled":z,"data-focus":L,"data-error":y,testId:Q},V),N?ee:_))}));I.displayName="Checkbox";export{I as Checkbox};
1
+ import * as React from 'react';
2
+ import { ComponentClassName, classNames, classNameModifierByFlag, isFunction } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.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 { IconCheck } from '../Icon/icons/IconCheck.mjs';
9
+ import { IconIndeterminate } from '../Icon/icons/IconIndeterminate.mjs';
10
+ import { Input } from '../Input/Input.mjs';
11
+ import { Text } from '../Text/Text.mjs';
12
+ import { VisuallyHidden } from '../VisuallyHidden/VisuallyHidden.mjs';
13
+ import { getTestId } from '../utils/getTestId.mjs';
14
+ import { useStableId } from '../utils/useStableId.mjs';
15
+ import { splitPrimitiveProps } from '../utils/splitPrimitiveProps.mjs';
16
+ import { useFieldset } from '../Fieldset/useFieldset.mjs';
17
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
18
+
19
+ const CheckboxPrimitive = ({ checked: controlledChecked, className, defaultChecked, hasError, isDisabled, isIndeterminate, label, labelHidden, labelPosition, onBlur: _onBlur, onFocus: _onFocus, onChange: _onChange, testId, inputStyles, ..._rest }, ref) => {
20
+ const { styleProps, rest } = splitPrimitiveProps(_rest);
21
+ const [focused, setFocused] = React.useState(false);
22
+ const icons = useIcons('checkbox');
23
+ const { isFieldsetDisabled } = useFieldset();
24
+ const shouldBeDisabled = isFieldsetDisabled ? isFieldsetDisabled : isDisabled;
25
+ const isControlled = controlledChecked !== undefined;
26
+ const [localChecked, setLocalChecked] = React.useState(() =>
27
+ // if controlled, initialize to `controlledChecked` else `defaultChecked`
28
+ isControlled ? controlledChecked : defaultChecked);
29
+ const checked = isControlled ? controlledChecked : localChecked;
30
+ const onChange = (e) => {
31
+ if (isFunction(_onChange)) {
32
+ _onChange(e);
33
+ }
34
+ // in controlled mode, `controlledChecked` determines checked state
35
+ if (!isControlled) {
36
+ setLocalChecked(e.target.checked);
37
+ }
38
+ };
39
+ const onFocus = (e) => {
40
+ if (isFunction(_onFocus)) {
41
+ _onFocus(e);
42
+ }
43
+ setFocused(true);
44
+ };
45
+ const onBlur = (e) => {
46
+ if (isFunction(_onBlur)) {
47
+ _onBlur(e);
48
+ }
49
+ setFocused(false);
50
+ };
51
+ const dataId = useStableId();
52
+ React.useEffect(() => {
53
+ const input = document.querySelector(`[data-id="${dataId}"]`);
54
+ if (input && typeof isIndeterminate === 'boolean') {
55
+ // HTMLInputElement does not have an `indeterminate` attribute
56
+ input.indeterminate =
57
+ isIndeterminate;
58
+ }
59
+ }, [dataId, isIndeterminate]);
60
+ const buttonTestId = getTestId(testId, ComponentClassName.CheckboxButton);
61
+ const iconTestId = getTestId(testId, ComponentClassName.CheckboxIcon);
62
+ const labelTestId = getTestId(testId, ComponentClassName.CheckboxLabel);
63
+ const flexClasses = classNames(ComponentClassName.CheckboxButton, classNameModifierByFlag(ComponentClassName.CheckboxButton, 'disabled', shouldBeDisabled), classNameModifierByFlag(ComponentClassName.CheckboxButton, 'error', hasError), classNameModifierByFlag(ComponentClassName.CheckboxButton, 'focused', focused));
64
+ const iconClasses = classNames(ComponentClassName.CheckboxIcon, classNameModifierByFlag(ComponentClassName.CheckboxIcon, 'checked', checked), classNameModifierByFlag(ComponentClassName.CheckboxIcon, 'disabled', shouldBeDisabled), classNameModifierByFlag(ComponentClassName.CheckboxIcon, 'indeterminate', isIndeterminate));
65
+ const iconProps = {
66
+ className: classNames(iconClasses),
67
+ 'data-checked': localChecked,
68
+ 'data-disabled': shouldBeDisabled,
69
+ 'data-testid': iconTestId,
70
+ };
71
+ const checkedIcon = icons?.checked ? (React.createElement(View, { as: "span", className: classNames(iconClasses) }, icons.checked)) : (React.createElement(IconCheck, { ...iconProps }));
72
+ const indeterminateIcon = icons?.indeterminate ? (React.createElement(View, { as: "span", className: classNames(iconClasses) }, icons.indeterminate)) : (React.createElement(IconIndeterminate, { ...iconProps }));
73
+ return (React.createElement(Flex, { as: "label", className: classNames(ComponentClassName.Checkbox, classNameModifierByFlag(ComponentClassName.Checkbox, 'disabled', shouldBeDisabled), labelPosition ? `amplify-label-${labelPosition}` : null, className), testId: testId, ...styleProps },
74
+ React.createElement(VisuallyHidden, null,
75
+ React.createElement(Input, { checked: controlledChecked, className: ComponentClassName.CheckboxInput, "data-id": dataId, defaultChecked: defaultChecked, isDisabled: shouldBeDisabled, onBlur: onBlur, onChange: onChange, onFocus: onFocus, ref: ref, type: "checkbox", ...rest })),
76
+ label && (React.createElement(Text, { as: "span", className: classNames(ComponentClassName.CheckboxLabel, {
77
+ [ComponentClassName.VisuallyHidden]: labelHidden,
78
+ }), "data-disabled": shouldBeDisabled, testId: labelTestId }, label)),
79
+ React.createElement(Flex, { "aria-hidden": "true", as: "span", className: flexClasses, "data-checked": checked, "data-disabled": shouldBeDisabled, "data-focus": focused, "data-error": hasError, testId: buttonTestId, ...inputStyles }, isIndeterminate ? indeterminateIcon : checkedIcon)));
80
+ };
81
+ const Checkbox = primitiveWithForwardRef(CheckboxPrimitive);
82
+ Checkbox.displayName = 'Checkbox';
83
+
84
+ export { Checkbox };
@@ -1 +1,24 @@
1
- import{__rest as e}from"tslib";import*as r from"react";import s from"classnames";import{classNameModifier as o}from"@aws-amplify/ui";import{ComponentClassNames as t}from"../shared/constants.mjs";import{Checkbox as i}from"../Checkbox/Checkbox.mjs";import"../Field/FieldClearButton.mjs";import"../Field/FieldDescription.mjs";import{FieldErrorMessage as a}from"../Field/FieldErrorMessage.mjs";import"../Field/Field.mjs";import{Flex as l}from"../Flex/Flex.mjs";import{getTestId as m}from"../utils/getTestId.mjs";const d=r.forwardRef(((d,c)=>{var{className:n,errorMessage:p,hasError:F=!1,labelHidden:b=!1,labelPosition:f,testId:h,size:j}=d,x=e(d,["className","errorMessage","hasError","labelHidden","labelPosition","testId","size"]);const E=m(h,t.Checkbox);return r.createElement(l,{className:s(t.Field,t.CheckboxField,o(t.Field,j),n),"data-size":j,testId:h},r.createElement(i,Object.assign({hasError:F,labelHidden:b,testId:E,labelPosition:f,ref:c},x)),r.createElement(a,{hasError:F,errorMessage:p}))}));d.displayName="CheckboxField";export{d as CheckboxField};
1
+ import * as React from 'react';
2
+ import { ComponentClassName, classNames, classNameModifier } from '@aws-amplify/ui';
3
+ import { Checkbox } from '../Checkbox/Checkbox.mjs';
4
+ import '../Field/FieldClearButton.mjs';
5
+ import '../Field/FieldDescription.mjs';
6
+ import { FieldErrorMessage } from '../Field/FieldErrorMessage.mjs';
7
+ import '../Field/Field.mjs';
8
+ import { getTestId } from '../utils/getTestId.mjs';
9
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
10
+ import { Flex } from '../Flex/Flex.mjs';
11
+
12
+ const CheckboxFieldPrimitive = ({ className, errorMessage, hasError = false, labelHidden = false, labelPosition, testId, size, ...rest }, ref) => {
13
+ const checkboxTestId = getTestId(testId, ComponentClassName.Checkbox);
14
+ return (React.createElement(Flex, { className: classNames(ComponentClassName.Field, ComponentClassName.CheckboxField, classNameModifier(ComponentClassName.Field, size), className), testId: testId },
15
+ React.createElement(Checkbox, { hasError: hasError, labelHidden: labelHidden, testId: checkboxTestId, labelPosition: labelPosition, ref: ref, ...rest }),
16
+ React.createElement(FieldErrorMessage, { hasError: hasError, errorMessage: errorMessage })));
17
+ };
18
+ /**
19
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/checkboxfield)
20
+ */
21
+ const CheckboxField = primitiveWithForwardRef(CheckboxFieldPrimitive);
22
+ CheckboxField.displayName = 'CheckboxField';
23
+
24
+ export { CheckboxField };
@@ -1 +1,58 @@
1
- import{__rest as e}from"tslib";import t from"classnames";import*as a from"react";import r from"lodash/debounce.js";import{Flex as s}from"../Flex/Flex.mjs";import{Grid as l}from"../Grid/Grid.mjs";import{Text as i}from"../Text/Text.mjs";import{Pagination as n}from"../Pagination/Pagination.mjs";import{usePagination as o}from"../Pagination/usePagination.mjs";import{SearchField as m}from"../SearchField/SearchField.mjs";import{ComponentClassNames as c,ComponentText as d}from"../shared/constants.mjs";import{strHasLength as h}from"../shared/utils.mjs";import{getPageCount as u,getItemsAtPage as g,itemHasText as p}from"./utils.mjs";const j=10,f=t=>{var{children:r,direction:l="column",items:i}=t,n=e(t,["children","direction","items"]);return a.createElement(s,Object.assign({direction:l},n),Array.isArray(i)?i.map(r):null)},P=t=>{var{children:r,items:s}=t,i=e(t,["children","items"]);return a.createElement(l,Object.assign({},i),Array.isArray(s)?s.map(r):null)},b=l=>{var{className:b,isSearchable:C,isPaginated:E,items:N,itemsPerPage:y=j,searchFilter:F=p,searchLabel:A=d.Collection.searchButtonLabel,searchNoResultsFound:S,searchPlaceholder:x,type:I="list",testId:O}=l,v=e(l,["className","isSearchable","isPaginated","items","itemsPerPage","searchFilter","searchLabel","searchNoResultsFound","searchPlaceholder","type","testId"]);const[L,R]=a.useState(),G=a.useCallback(r(R,300),[R]);N=Array.isArray(N)?N:[],C&&h(L)&&(N=N.filter((e=>F(e,L))));const T=o({totalPages:u(N.length,y)});E&&(N=g(N,T.currentPage,y));const k="list"===I?a.createElement(f,Object.assign({className:c.CollectionItems,items:N},v)):"grid"===I?a.createElement(P,Object.assign({className:c.CollectionItems,items:N},v)):null;return a.createElement(s,{testId:O,className:t(c.Collection,b)},C?a.createElement(s,{className:c.CollectionSearch},a.createElement(m,{label:A,placeholder:x,onChange:e=>G(e.target.value),onClear:()=>R("")})):null,((e,t,r)=>t.length?e:r||a.createElement(s,{justifyContent:"center"},a.createElement(i,null,d.Collection.searchNoResultsFound)))(k,N,S),E?a.createElement(s,{className:c.CollectionPagination},a.createElement(n,Object.assign({},T))):null)};b.displayName="Collection";export{b as Collection};
1
+ import { ComponentClassName, classNames } from '@aws-amplify/ui';
2
+ import * as React from 'react';
3
+ import debounce from 'lodash/debounce.js';
4
+ import { Flex } from '../Flex/Flex.mjs';
5
+ import { Grid } from '../Grid/Grid.mjs';
6
+ import { Text } from '../Text/Text.mjs';
7
+ import { Pagination } from '../Pagination/Pagination.mjs';
8
+ import { usePagination } from '../Pagination/usePagination.mjs';
9
+ import { SearchField } from '../SearchField/SearchField.mjs';
10
+ import { ComponentText } from '../shared/constants.mjs';
11
+ import { strHasLength } from '../shared/utils.mjs';
12
+ import { getPageCount, getItemsAtPage, itemHasText } from './utils.mjs';
13
+
14
+ const DEFAULT_PAGE_SIZE = 10;
15
+ const TYPEAHEAD_DELAY_MS = 300;
16
+ const ListCollection = ({ children, direction = 'column', items, ...rest }) => (React.createElement(Flex, { direction: direction, ...rest }, Array.isArray(items) ? items.map(children) : null));
17
+ const GridCollection = ({ children, items, ...rest }) => (React.createElement(Grid, { ...rest }, Array.isArray(items) ? items.map(children) : null));
18
+ const renderCollectionOrNoResultsFound = (collection, items, searchNoResultsFound) => {
19
+ if (items.length) {
20
+ return collection;
21
+ }
22
+ if (searchNoResultsFound) {
23
+ return searchNoResultsFound;
24
+ }
25
+ return (React.createElement(Flex, { justifyContent: "center" },
26
+ React.createElement(Text, null, ComponentText.Collection.searchNoResultsFound)));
27
+ };
28
+ /**
29
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/collection)
30
+ */
31
+ const Collection = ({ className, isSearchable, isPaginated, items, itemsPerPage = DEFAULT_PAGE_SIZE, searchFilter = itemHasText, searchLabel = ComponentText.Collection.searchButtonLabel, searchNoResultsFound, searchPlaceholder, type = 'list', testId, ...rest }) => {
32
+ const [searchText, setSearchText] = React.useState();
33
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
+ const onSearch = React.useCallback(debounce(setSearchText, TYPEAHEAD_DELAY_MS), [setSearchText]);
35
+ // Make sure that items are iterable
36
+ items = Array.isArray(items) ? items : [];
37
+ // Filter items by text
38
+ if (isSearchable && strHasLength(searchText)) {
39
+ items = items.filter((item) => searchFilter(item, searchText));
40
+ }
41
+ // Pagination
42
+ const pagination = usePagination({
43
+ totalPages: getPageCount(items.length, itemsPerPage),
44
+ });
45
+ if (isPaginated) {
46
+ items = getItemsAtPage(items, pagination.currentPage, itemsPerPage);
47
+ }
48
+ const collection = type === 'list' ? (React.createElement(ListCollection, { className: ComponentClassName.CollectionItems, items: items, ...rest })) : type === 'grid' ? (React.createElement(GridCollection, { className: ComponentClassName.CollectionItems, items: items, ...rest })) : null;
49
+ return (React.createElement(Flex, { testId: testId, className: classNames(ComponentClassName.Collection, className) },
50
+ isSearchable ? (React.createElement(Flex, { className: ComponentClassName.CollectionSearch },
51
+ React.createElement(SearchField, { label: searchLabel, placeholder: searchPlaceholder, onChange: (e) => onSearch(e.target.value), onClear: () => setSearchText('') }))) : null,
52
+ renderCollectionOrNoResultsFound(collection, items, searchNoResultsFound),
53
+ isPaginated ? (React.createElement(Flex, { className: ComponentClassName.CollectionPagination },
54
+ React.createElement(Pagination, { ...pagination }))) : null));
55
+ };
56
+ Collection.displayName = 'Collection';
57
+
58
+ export { Collection };
@@ -1 +1,30 @@
1
- import{strHasLength as e}from"../shared/utils.mjs";const t=(e,t,o)=>{if(t<1||o<1)return[];const s=(t-1)*o;return e.slice(s,s+o)},o=(t,s)=>e(t)?t.toLowerCase().includes(s.toLowerCase()):"object"==typeof t&&null!==t&&Object.values(t).some((e=>o(e,s))),s=(e,t)=>Math.ceil(e/t);export{t as getItemsAtPage,s as getPageCount,o as itemHasText};
1
+ import { strHasLength } from '../shared/utils.mjs';
2
+
3
+ /**
4
+ * Slice a collection based on page index (starting at 1)
5
+ */
6
+ const getItemsAtPage = (items, page, itemsPerPage) => {
7
+ if (page < 1 || itemsPerPage < 1) {
8
+ return [];
9
+ }
10
+ const startIndex = (page - 1) * itemsPerPage;
11
+ return items.slice(startIndex, startIndex + itemsPerPage);
12
+ };
13
+ /**
14
+ * Recursively find a keyword within an object (case insensitive)
15
+ */
16
+ const itemHasText = (item, text) => {
17
+ if (strHasLength(item)) {
18
+ return item.toLowerCase().includes(text.toLowerCase());
19
+ }
20
+ if (typeof item === 'object' && item !== null) {
21
+ return Object.values(item).some((subItem) => itemHasText(subItem, text));
22
+ }
23
+ return false;
24
+ };
25
+ /**
26
+ * Computes the amount of available pages
27
+ */
28
+ const getPageCount = (totalItems, itemsPerPage) => Math.ceil(totalItems / itemsPerPage);
29
+
30
+ export { getItemsAtPage, getPageCount, itemHasText };
@@ -1 +1,16 @@
1
- import{__rest as a}from"tslib";import i from"classnames";import*as e from"react";import{classNameModifier as r}from"@aws-amplify/ui";import{ComponentClassNames as s}from"../shared/constants.mjs";import{View as t}from"../View/View.mjs";const o=e.forwardRef(((o,m)=>{var{className:l,orientation:n="horizontal",size:c,label:d}=o,f=a(o,["className","orientation","size","label"]);const p=i(s.Divider,r(s.Divider,n),r(s.Divider,c),d?s.DividerLabel:null,l);return e.createElement(t,Object.assign({"aria-orientation":n,as:"hr",className:p,"data-size":c,"data-label":d,ref:m},f))}));o.displayName="Divider";export{o as Divider};
1
+ import { classNames, ComponentClassName, classNameModifier } from '@aws-amplify/ui';
2
+ import * as React from 'react';
3
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
4
+ import { View } from '../View/View.mjs';
5
+
6
+ const DividerPrimitive = ({ className, orientation = 'horizontal', size, label, ...rest }, ref) => {
7
+ const componentClasses = classNames(ComponentClassName.Divider, classNameModifier(ComponentClassName.Divider, orientation), classNameModifier(ComponentClassName.Divider, size), className);
8
+ return (React.createElement(View, { "aria-orientation": orientation, as: "hr", className: componentClasses, "data-label": label, ref: ref, ...rest }));
9
+ };
10
+ /**
11
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/divider)
12
+ */
13
+ const Divider = primitiveWithForwardRef(DividerPrimitive);
14
+ Divider.displayName = 'Divider';
15
+
16
+ export { Divider };
@@ -1 +1,27 @@
1
- import{__rest as e}from"tslib";import*as r from"react";import{useDropZone as o}from"./useDropZone.mjs";import{DropZoneProvider as t}from"./DropZoneProvider.mjs";import{DropZoneContainer as a}from"./DropZoneContainer.mjs";import{Accepted as n,Rejected as p,Default as s}from"./DropZoneChildren.mjs";const i=Object.assign(r.forwardRef(((n,p)=>{var{children:s,testId:i,isDisabled:m,acceptedFileTypes:D,onDropComplete:c}=n,d=e(n,["children","testId","isDisabled","acceptedFileTypes","onDropComplete"]);const{dragState:l,onDragEnter:g,onDragLeave:f,onDragOver:j,onDragStart:b,onDrop:v}=o(Object.assign({acceptedFileTypes:D,onDropComplete:c},d));return r.createElement(t,{value:l},r.createElement(a,Object.assign({},d,{testId:i,isDisabled:m,onDragStart:b,onDragEnter:g,onDragLeave:f,onDrop:v,onDragOver:j,ref:p}),s))})),{Accepted:n,Rejected:p,Default:s});i.displayName="DropZone";export{i as DropZone};
1
+ import * as React from 'react';
2
+ import { useDropZone } from './useDropZone.mjs';
3
+ import { DropZoneProvider } from './DropZoneProvider.mjs';
4
+ import { DropZoneContainer } from './DropZoneContainer.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+ import { Accepted, Rejected, Default } from './DropZoneChildren.mjs';
7
+
8
+ const DropZonePrimitive = ({ children, testId, isDisabled, acceptedFileTypes, onDropComplete, ...rest }, ref) => {
9
+ const { dragState, onDragEnter, onDragLeave, onDragOver, onDragStart, onDrop, } = useDropZone({
10
+ acceptedFileTypes,
11
+ onDropComplete,
12
+ ...rest,
13
+ });
14
+ return (React.createElement(DropZoneProvider, { value: dragState },
15
+ React.createElement(DropZoneContainer, { ...rest, testId: testId, isDisabled: isDisabled, onDragStart: onDragStart, onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDrop: onDrop, onDragOver: onDragOver, ref: ref }, children)));
16
+ };
17
+ /**
18
+ * [📖 Docs](https://ui.docs.amplify.aws/react/components/dropzone)
19
+ */
20
+ const DropZone = Object.assign(primitiveWithForwardRef(DropZonePrimitive), {
21
+ Accepted,
22
+ Rejected,
23
+ Default,
24
+ });
25
+ DropZone.displayName = 'DropZone';
26
+
27
+ export { DropZone };
@@ -1 +1,39 @@
1
- import*as e from"react";import{DropZoneContext as r}from"./DropZoneProvider.mjs";const n=({children:n})=>{const t=e.useContext(r);if(!t)throw new Error("`DropZone.Accept` must be used inside a DropZone");return"accept"===t?e.createElement(e.Fragment,null,n):null},t=({children:n})=>{const t=e.useContext(r);if(!t)throw new Error("`DropZone.Rejected` must be used inside a DropZone");return"reject"===t?e.createElement(e.Fragment,null,n):null},o=({children:n})=>{const t=e.useContext(r);if(!t)throw new Error("`DropZone.Default` must be used inside a DropZone");return"inactive"===t?e.createElement(e.Fragment,null,n):null};export{n as Accepted,o as Default,t as Rejected};
1
+ import * as React from 'react';
2
+ import { DropZoneContext } from './DropZoneProvider.mjs';
3
+
4
+ /**
5
+ * These are syntactic sugar components that make it easy to compose children
6
+ * in DropZone without having to expose the DropZoneContext.
7
+ */
8
+ /**
9
+ * This component renders when the user is dragging ONLY accepted files on the DropZone.
10
+ */
11
+ const Accepted = ({ children, }) => {
12
+ const dragState = React.useContext(DropZoneContext);
13
+ if (!dragState) {
14
+ throw new Error('`DropZone.Accept` must be used inside a DropZone');
15
+ }
16
+ return dragState === 'accept' ? React.createElement(React.Fragment, null, children) : null;
17
+ };
18
+ /**
19
+ * This component renders when the user is dragging ANY rejected files on the DropZone.
20
+ */
21
+ const Rejected = ({ children, }) => {
22
+ const dragState = React.useContext(DropZoneContext);
23
+ if (!dragState) {
24
+ throw new Error('`DropZone.Rejected` must be used inside a DropZone');
25
+ }
26
+ return dragState === 'reject' ? React.createElement(React.Fragment, null, children) : null;
27
+ };
28
+ /**
29
+ * This component renders by default when the user is not dragging.
30
+ */
31
+ const Default = ({ children, }) => {
32
+ const dragState = React.useContext(DropZoneContext);
33
+ if (!dragState) {
34
+ throw new Error('`DropZone.Default` must be used inside a DropZone');
35
+ }
36
+ return dragState === 'inactive' ? React.createElement(React.Fragment, null, children) : null;
37
+ };
38
+
39
+ export { Accepted, Default, Rejected };
@@ -1 +1,18 @@
1
- import{__rest as r}from"tslib";import e from"react";import o from"classnames";import{View as a}from"../View/View.mjs";import{ComponentClassNames as t}from"../shared/constants.mjs";import{classNameModifierByFlag as n,ComponentClassName as s}from"@aws-amplify/ui";import{DropZoneContext as i}from"./DropZoneProvider.mjs";const m=e.forwardRef(((m,D)=>{var{className:p,children:c,testId:d,isDisabled:l,onDragEnter:g,onDragLeave:f,onDragOver:v,onDragStart:b,onDrop:j}=m,Z=r(m,["className","children","testId","isDisabled","onDragEnter","onDragLeave","onDragOver","onDragStart","onDrop"]);const w=e.useContext(i),E=l?{}:{onDragEnter:g,onDragLeave:f,onDragOver:v,onDragStart:b,onDrop:j};return e.createElement(a,Object.assign({},Z,E,{isDisabled:l,className:o(p,n(t.DropZone,"rejected","reject"===w),n(t.DropZone,"accepted","accept"===w),n(s.DropZone,"disabled",l),t.DropZone),"data-testid":d,ref:D}),c)}));m.displayName="DropZoneContainer";export{m as DropZoneContainer};
1
+ import React__default from 'react';
2
+ import { classNames, classNameModifierByFlag, ComponentClassName } from '@aws-amplify/ui';
3
+ import { View } from '../View/View.mjs';
4
+ import { DropZoneContext } from './DropZoneProvider.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ const Container = ({ className, children, testId, isDisabled, onDragEnter, onDragLeave, onDragOver, onDragStart, onDrop, ...rest }, ref) => {
8
+ const dragState = React__default.useContext(DropZoneContext);
9
+ // Don't add drag event handlers if it is disabled.
10
+ const dragProps = isDisabled
11
+ ? {}
12
+ : { onDragEnter, onDragLeave, onDragOver, onDragStart, onDrop };
13
+ return (React__default.createElement(View, { ...rest, ...dragProps, isDisabled: isDisabled, className: classNames(className, classNameModifierByFlag(ComponentClassName.DropZone, 'rejected', dragState === 'reject'), classNameModifierByFlag(ComponentClassName.DropZone, 'accepted', dragState === 'accept'), classNameModifierByFlag(ComponentClassName.DropZone, 'disabled', isDisabled), ComponentClassName.DropZone), "data-testid": testId, ref: ref }, children));
14
+ };
15
+ const DropZoneContainer = primitiveWithForwardRef(Container);
16
+ DropZoneContainer.displayName = 'DropZoneContainer';
17
+
18
+ export { DropZoneContainer };
@@ -1 +1,8 @@
1
- import*as e from"react";const t=e.createContext("inactive"),r=({value:r,children:a})=>e.createElement(t.Provider,{value:r},a);export{t as DropZoneContext,r as DropZoneProvider};
1
+ import * as React from 'react';
2
+
3
+ const DropZoneContext = React.createContext('inactive');
4
+ const DropZoneProvider = ({ value, children, }) => {
5
+ return (React.createElement(DropZoneContext.Provider, { value: value }, children));
6
+ };
7
+
8
+ export { DropZoneContext, DropZoneProvider };
@@ -1 +1,34 @@
1
- function e(e,t){if(!t||0===t.length||t.includes("*"))return{acceptedFiles:e,rejectedFiles:[]};const r=[],s=[];return e.forEach((e=>{(!function(e){const{type:r="",name:s=""}=e,n=r.toLowerCase(),c=n.split("/")[0];return t.some((e=>{const t=e.trim().toLowerCase();return"."===t.charAt(0)?s.toLowerCase().endsWith(t):t.endsWith("/*")?c===t.split("/")[0]:n===t}))}(e)?s:r).push(e)})),{acceptedFiles:r,rejectedFiles:s}}export{e as filterAllowedFiles};
1
+ function filterAllowedFiles(files, acceptedFileTypes) {
2
+ // Allow any files if acceptedFileTypes is undefined, empty array, or contains '*'
3
+ if (!acceptedFileTypes ||
4
+ acceptedFileTypes.length === 0 ||
5
+ acceptedFileTypes.includes('*')) {
6
+ return { acceptedFiles: files, rejectedFiles: [] };
7
+ }
8
+ const acceptedFiles = [];
9
+ const rejectedFiles = [];
10
+ function filterFile(file) {
11
+ const { type = '', name = '' } = file;
12
+ const mimeType = type.toLowerCase();
13
+ const baseMimeType = mimeType.split('/')[0];
14
+ return acceptedFileTypes.some((type) => {
15
+ const validType = type.trim().toLowerCase();
16
+ // if the accepted file type is a file extension
17
+ // it will start with '.', check against the file name
18
+ if (validType.charAt(0) === '.') {
19
+ return name.toLowerCase().endsWith(validType);
20
+ }
21
+ // This is something like a image/* mime type
22
+ if (validType.endsWith('/*')) {
23
+ return baseMimeType === validType.split('/')[0];
24
+ }
25
+ return mimeType === validType;
26
+ });
27
+ }
28
+ files.forEach((file) => {
29
+ (filterFile(file) ? acceptedFiles : rejectedFiles).push(file);
30
+ });
31
+ return { acceptedFiles, rejectedFiles };
32
+ }
33
+
34
+ export { filterAllowedFiles };
@@ -1 +1,65 @@
1
- import{useState as e}from"react";import{isFunction as r}from"@aws-amplify/ui";import{filterAllowedFiles as t}from"./filterAllowedFiles.mjs";function a({onDropComplete:a,onDragEnter:o,onDragLeave:n,onDragOver:p,onDragStart:i,onDrop:c,acceptedFileTypes:s=[]}){const[f,l]=e("inactive");return{onDragStart:e=>{e.dataTransfer.clearData(),r(i)&&i(e)},onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),r(o)&&o(e)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),l("inactive"),r(n)&&n(e)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy",r(p)&&p(e);const a=Array.from(e.dataTransfer.items).map((({kind:e,type:r})=>({kind:e,type:r}))),{rejectedFiles:o}=t(a,s);l(o.length>0?"reject":"accept")},onDrop:e=>{e.preventDefault(),e.stopPropagation(),l("inactive");const o=Array.from(e.dataTransfer.files),{acceptedFiles:n,rejectedFiles:p}=t(o,s);r(c)&&c(e),r(a)&&a({acceptedFiles:n,rejectedFiles:p})},dragState:f}}export{a as useDropZone};
1
+ import { useState } from 'react';
2
+ import { isFunction } from '@aws-amplify/ui';
3
+ import { filterAllowedFiles } from './filterAllowedFiles.mjs';
4
+
5
+ function useDropZone({ onDropComplete, onDragEnter: _onDragEnter, onDragLeave: _onDragLeave, onDragOver: _onDragOver, onDragStart: _onDragStart, onDrop: _onDrop, acceptedFileTypes = [], }) {
6
+ const [dragState, setDragState] = useState('inactive');
7
+ const onDragStart = (event) => {
8
+ event.dataTransfer.clearData();
9
+ if (isFunction(_onDragStart)) {
10
+ _onDragStart(event);
11
+ }
12
+ };
13
+ const onDragEnter = (event) => {
14
+ event.preventDefault();
15
+ event.stopPropagation();
16
+ if (isFunction(_onDragEnter)) {
17
+ _onDragEnter(event);
18
+ }
19
+ };
20
+ const onDragLeave = (event) => {
21
+ event.preventDefault();
22
+ event.stopPropagation();
23
+ setDragState('inactive');
24
+ if (isFunction(_onDragLeave)) {
25
+ _onDragLeave(event);
26
+ }
27
+ };
28
+ const onDragOver = (event) => {
29
+ event.preventDefault();
30
+ event.stopPropagation();
31
+ event.dataTransfer.dropEffect = 'copy';
32
+ if (isFunction(_onDragOver)) {
33
+ _onDragOver(event);
34
+ }
35
+ const files = Array.from(event.dataTransfer.items).map(({ kind, type }) => ({
36
+ kind,
37
+ type,
38
+ }));
39
+ const { rejectedFiles } = filterAllowedFiles(files, acceptedFileTypes);
40
+ setDragState(rejectedFiles.length > 0 ? 'reject' : 'accept');
41
+ };
42
+ const onDrop = (event) => {
43
+ event.preventDefault();
44
+ event.stopPropagation();
45
+ setDragState('inactive');
46
+ const files = Array.from(event.dataTransfer.files);
47
+ const { acceptedFiles, rejectedFiles } = filterAllowedFiles(files, acceptedFileTypes);
48
+ if (isFunction(_onDrop)) {
49
+ _onDrop(event);
50
+ }
51
+ if (isFunction(onDropComplete)) {
52
+ onDropComplete({ acceptedFiles, rejectedFiles });
53
+ }
54
+ };
55
+ return {
56
+ onDragStart,
57
+ onDragEnter,
58
+ onDragLeave,
59
+ onDragOver,
60
+ onDrop,
61
+ dragState,
62
+ };
63
+ }
64
+
65
+ export { useDropZone };
@@ -1 +1,20 @@
1
- import{__rest as e}from"tslib";import*as r from"react";import s from"classnames";import{classNameModifier as t}from"@aws-amplify/ui";import{ComponentClassNames as a}from"../shared/constants.mjs";import{Flex as l}from"../Flex/Flex.mjs";import{FieldDescription as i}from"./FieldDescription.mjs";import{FieldErrorMessage as m}from"./FieldErrorMessage.mjs";import{Label as o}from"../Label/Label.mjs";const d=r.forwardRef(((d,n)=>{const{className:c,size:p,testId:f,children:b,label:E,labelHidden:F,errorMessage:h,hasError:j,descriptiveText:x}=d,g=e(d,["className","size","testId","children","label","labelHidden","errorMessage","hasError","descriptiveText"]);return r.createElement(l,Object.assign({className:s(a.Field,t(a.Field,p),c),"data-size":p,testId:f,ref:n},g),E?r.createElement(o,{visuallyHidden:F},E):null,r.createElement(i,{labelHidden:F,descriptiveText:x}),b,h?r.createElement(m,{hasError:j,errorMessage:h}):null)}));d.displayName="Field";export{d as Field};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName, classNameModifier } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.mjs';
4
+ import { FieldDescription } from './FieldDescription.mjs';
5
+ import { FieldErrorMessage } from './FieldErrorMessage.mjs';
6
+ import { Label } from '../Label/Label.mjs';
7
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
8
+
9
+ const FieldPrimitive = (props, ref) => {
10
+ const { className, size, testId, children, label, labelHidden, errorMessage, hasError, descriptiveText, ...rest } = props;
11
+ return (React.createElement(Flex, { className: classNames(ComponentClassName.Field, classNameModifier(ComponentClassName.Field, size), className), testId: testId, ref: ref, ...rest },
12
+ label ? React.createElement(Label, { visuallyHidden: labelHidden }, label) : null,
13
+ React.createElement(FieldDescription, { labelHidden: labelHidden, descriptiveText: descriptiveText }),
14
+ children,
15
+ errorMessage ? (React.createElement(FieldErrorMessage, { hasError: hasError, errorMessage: errorMessage })) : null));
16
+ };
17
+ const Field = primitiveWithForwardRef(FieldPrimitive);
18
+ Field.displayName = 'Field';
19
+
20
+ export { Field };
@@ -1 +1,21 @@
1
- import{__rest as o}from"tslib";import*as e from"react";import"../FieldGroupIcon/FieldGroupIcon.mjs";import{FieldGroupIconButton as r}from"../FieldGroupIcon/FieldGroupIconButton.mjs";import"../Icon/Icon.mjs";import"../Icon/context/IconsContext.mjs";import{useIcons as t}from"../Icon/context/useIcons.mjs";import"classnames";import{ComponentText as i}from"../shared/constants.mjs";import"../View/View.mjs";import{IconClose as n}from"../Icon/icons/IconClose.mjs";const s=i.Fields.clearButtonLabel,m=e.forwardRef(((i,m)=>{var a,{ariaLabel:l=s,size:c}=i,p=o(i,["ariaLabel","size"]);const d=t("field");return e.createElement(r,Object.assign({ariaLabel:l,size:c,ref:m},p),null!==(a=null==d?void 0:d.clear)&&void 0!==a?a:e.createElement(n,null))}));m.displayName="FieldClearButton";export{m as FieldClearButton};
1
+ import * as React from 'react';
2
+ import '../FieldGroupIcon/FieldGroupIcon.mjs';
3
+ import { FieldGroupIconButton } from '../FieldGroupIcon/FieldGroupIconButton.mjs';
4
+ import '../Icon/Icon.mjs';
5
+ import '../Icon/context/IconsContext.mjs';
6
+ import { useIcons } from '../Icon/context/useIcons.mjs';
7
+ import '@aws-amplify/ui';
8
+ import '../View/View.mjs';
9
+ import { IconClose } from '../Icon/icons/IconClose.mjs';
10
+ import { ComponentText } from '../shared/constants.mjs';
11
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
12
+
13
+ const ariaLabelText = ComponentText.Fields.clearButtonLabel;
14
+ const FieldClearButtonPrimitive = ({ ariaLabel = ariaLabelText, size, ...rest }, ref) => {
15
+ const icons = useIcons('field');
16
+ return (React.createElement(FieldGroupIconButton, { ariaLabel: ariaLabel, size: size, ref: ref, ...rest }, icons?.clear ?? React.createElement(IconClose, null)));
17
+ };
18
+ const FieldClearButton = primitiveWithForwardRef(FieldClearButtonPrimitive);
19
+ FieldClearButton.displayName = 'FieldClearButton';
20
+
21
+ export { FieldClearButton };
@@ -1 +1,11 @@
1
- import{__rest as e}from"tslib";import*as t from"react";import i from"classnames";import{Text as s}from"../Text/Text.mjs";import{ComponentClassNames as r}from"../shared/constants.mjs";const a="qa-field-description",d=d=>{var{descriptiveText:l,labelHidden:m}=d,o=e(d,["descriptiveText","labelHidden"]);return l?t.createElement(s,Object.assign({"data-testid":a,className:i(r.FieldDescription,{[r.VisuallyHidden]:m})},o),l):null};d.displayName="FieldDescription";export{d as FieldDescription,a as QA_FIELD_DESCRIPTION};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { Text } from '../Text/Text.mjs';
4
+
5
+ const QA_FIELD_DESCRIPTION = 'qa-field-description';
6
+ const FieldDescription = ({ descriptiveText, labelHidden, ...rest }) => descriptiveText ? (React.createElement(Text, { "data-testid": QA_FIELD_DESCRIPTION, className: classNames(ComponentClassName.FieldDescription, {
7
+ [ComponentClassName.VisuallyHidden]: labelHidden,
8
+ }), ...rest }, descriptiveText)) : null;
9
+ FieldDescription.displayName = 'FieldDescription';
10
+
11
+ export { FieldDescription, QA_FIELD_DESCRIPTION };
@@ -1 +1,10 @@
1
- import{__rest as r}from"tslib";import*as e from"react";import{Text as s}from"../Text/Text.mjs";import{ComponentClassNames as a}from"../shared/constants.mjs";const o=o=>{var{errorMessage:t,hasError:m}=o,i=r(o,["errorMessage","hasError"]);return m&&t?e.createElement(s,Object.assign({className:a.FieldErrorMessage},i),t):null};o.displayName="FieldErrorMessage";export{o as FieldErrorMessage};
1
+ import * as React from 'react';
2
+ import { Text } from '../Text/Text.mjs';
3
+ import { ComponentClassName } from '@aws-amplify/ui';
4
+
5
+ const FieldErrorMessage = ({ errorMessage, hasError, ...rest }) => {
6
+ return hasError && errorMessage ? (React.createElement(Text, { className: ComponentClassName.FieldErrorMessage, ...rest }, errorMessage)) : null;
7
+ };
8
+ FieldErrorMessage.displayName = 'FieldErrorMessage';
9
+
10
+ export { FieldErrorMessage };
@@ -1 +1,29 @@
1
- import{__rest as e}from"tslib";import*as r from"react";import t from"classnames";import{classNameModifier as n}from"@aws-amplify/ui";import{ComponentClassNames as o}from"../shared/constants.mjs";import{Flex as a}from"../Flex/Flex.mjs";import{View as i}from"../View/View.mjs";const l=r.forwardRef(((l,m)=>{var{children:p,className:s,innerEndComponent:d,innerStartComponent:u,orientation:c="horizontal",outerEndComponent:F,outerStartComponent:E,variation:G}=l,f=e(l,["children","className","innerEndComponent","innerStartComponent","orientation","outerEndComponent","outerStartComponent","variation"]);const N=null!=d,C=null!=u?o.FieldGroupHasInnerStart:null,S=N?o.FieldGroupHasInnerEnd:null,O=t(o.FieldGroup,C,S,n(o.FieldGroup,c),s);return r.createElement(a,Object.assign({className:O,"data-orientation":c,ref:m},f),E&&r.createElement(i,{className:t(o.FieldGroupOuterStart,n(o.FieldGroupOuterStart,G))},E),r.createElement(i,{className:t(o.FieldGroupFieldWrapper,n(o.FieldGroupFieldWrapper,c)),"data-orientation":c},u&&r.createElement(i,{className:o.FieldGroupInnerStart},u),p,d&&r.createElement(i,{className:o.FieldGroupInnerEnd},d)),F&&r.createElement(i,{className:t(o.FieldGroupOuterEnd,n(o.FieldGroupOuterEnd,G))},F))}));l.displayName="FieldGroup";export{l as FieldGroup};
1
+ import * as React from 'react';
2
+ import { ComponentClassName, classNames, classNameModifier } from '@aws-amplify/ui';
3
+ import { Flex } from '../Flex/Flex.mjs';
4
+ import { View } from '../View/View.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ const FieldGroupPrimitive = ({ children, className, innerEndComponent, innerStartComponent, orientation = 'horizontal', outerEndComponent, outerStartComponent, variation, ...rest }, ref) => {
8
+ // Don't apply hasInner classnames unless a component was provided
9
+ const hasInnerStartComponent = innerStartComponent != null;
10
+ const hasInnerEndComponent = innerEndComponent != null;
11
+ const fieldGroupHasInnerStartClassName = hasInnerStartComponent
12
+ ? ComponentClassName.FieldGroupHasInnerStart
13
+ : null;
14
+ const fieldGroupHasInnerEndClassName = hasInnerEndComponent
15
+ ? ComponentClassName.FieldGroupHasInnerEnd
16
+ : null;
17
+ const componentClasses = classNames(ComponentClassName.FieldGroup, fieldGroupHasInnerStartClassName, fieldGroupHasInnerEndClassName, classNameModifier(ComponentClassName.FieldGroup, orientation), className);
18
+ return (React.createElement(Flex, { className: componentClasses, ref: ref, ...rest },
19
+ outerStartComponent && (React.createElement(View, { className: classNames(ComponentClassName.FieldGroupOuterStart, classNameModifier(ComponentClassName.FieldGroupOuterStart, variation)) }, outerStartComponent)),
20
+ React.createElement(View, { className: classNames(ComponentClassName.FieldGroupFieldWrapper, classNameModifier(ComponentClassName.FieldGroupFieldWrapper, orientation)) },
21
+ innerStartComponent && (React.createElement(View, { className: ComponentClassName.FieldGroupInnerStart }, innerStartComponent)),
22
+ children,
23
+ innerEndComponent && (React.createElement(View, { className: ComponentClassName.FieldGroupInnerEnd }, innerEndComponent))),
24
+ outerEndComponent && (React.createElement(View, { className: classNames(ComponentClassName.FieldGroupOuterEnd, classNameModifier(ComponentClassName.FieldGroupOuterEnd, variation)) }, outerEndComponent))));
25
+ };
26
+ const FieldGroup = primitiveWithForwardRef(FieldGroupPrimitive);
27
+ FieldGroup.displayName = 'FieldGroup';
28
+
29
+ export { FieldGroup };
@@ -1 +1,12 @@
1
- import{__rest as e}from"tslib";import*as r from"react";import s from"classnames";import{ComponentClassNames as a}from"../shared/constants.mjs";import{View as i}from"../View/View.mjs";const o=r.forwardRef(((o,m)=>{var{className:l,children:t,isVisible:c=!0,excludeFromTabOrder:d=!1}=o,n=e(o,["className","children","isVisible","excludeFromTabOrder"]);return c?r.createElement(i,Object.assign({className:s(a.FieldGroupIcon,l),ref:m,tabIndex:d?-1:void 0},n),t):null}));o.displayName="FieldGroupIcon";export{o as FieldGroupIcon};
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 FieldGroupIconPrimitive = ({ className, children, isVisible = true, excludeFromTabOrder = false, ...rest }, ref) => {
7
+ return isVisible ? (React.createElement(View, { className: classNames(ComponentClassName.FieldGroupIcon, className), ref: ref, tabIndex: excludeFromTabOrder ? -1 : undefined, ...rest }, children)) : null;
8
+ };
9
+ const FieldGroupIcon = primitiveWithForwardRef(FieldGroupIconPrimitive);
10
+ FieldGroupIcon.displayName = 'FieldGroupIcon';
11
+
12
+ export { FieldGroupIcon };
@@ -1 +1,11 @@
1
- import{__rest as r}from"tslib";import*as o from"react";import t from"classnames";import{Button as s}from"../Button/Button.mjs";import{ComponentClassNames as e}from"../shared/constants.mjs";import{FieldGroupIcon as m}from"./FieldGroupIcon.mjs";const a=o.forwardRef(((a,n)=>{var{children:c,className:i}=a,l=r(a,["children","className"]);return o.createElement(m,Object.assign({as:s,className:t(e.FieldGroupIconButton,i),ref:n},l),c)}));a.displayName="FieldGroupIconButton";export{a as FieldGroupIconButton};
1
+ import * as React from 'react';
2
+ import { classNames, ComponentClassName } from '@aws-amplify/ui';
3
+ import { Button } from '../Button/Button.mjs';
4
+ import { FieldGroupIcon } from './FieldGroupIcon.mjs';
5
+ import { primitiveWithForwardRef } from '../utils/primitiveWithForwardRef.mjs';
6
+
7
+ const FieldGroupIconButtonPrimitive = ({ children, className, ...rest }, ref) => (React.createElement(FieldGroupIcon, { as: Button, className: classNames(ComponentClassName.FieldGroupIconButton, className), ref: ref, ...rest }, children));
8
+ const FieldGroupIconButton = primitiveWithForwardRef(FieldGroupIconButtonPrimitive);
9
+ FieldGroupIconButton.displayName = 'FieldGroupIconButton';
10
+
11
+ export { FieldGroupIconButton };