@aws-amplify/ui-react 5.3.2 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Field-6c0e096a.js +1174 -0
- package/dist/esm/PrimitiveCatalog.mjs +16255 -1
- package/dist/esm/components/AccountSettings/AccountSettings.mjs +6 -1
- package/dist/esm/components/AccountSettings/ChangePassword/ChangePassword.mjs +209 -1
- package/dist/esm/components/AccountSettings/ChangePassword/defaults.mjs +77 -1
- package/dist/esm/components/AccountSettings/DeleteUser/DeleteUser.mjs +156 -1
- package/dist/esm/components/AccountSettings/DeleteUser/defaults.mjs +85 -1
- package/dist/esm/components/AccountSettings/constants.mjs +7 -1
- package/dist/esm/components/AccountSettings/shared/Defaults.mjs +66 -1
- package/dist/esm/components/AccountSettings/utils/displayText.mjs +14 -0
- package/dist/esm/components/Authenticator/Authenticator.mjs +74 -1
- package/dist/esm/components/Authenticator/ConfirmSignIn/ConfirmSignIn.mjs +42 -1
- package/dist/esm/components/Authenticator/ConfirmSignUp/ConfirmSignUp.mjs +51 -1
- package/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignIn.mjs +34 -1
- package/dist/esm/components/Authenticator/FederatedSignIn/FederatedSignInButtons/FederatedSignInButton.mjs +54 -1
- package/dist/esm/components/Authenticator/ForceNewPassword/ForceNewPassword.mjs +43 -1
- package/dist/esm/components/Authenticator/ForgotPassword/ConfirmResetPassword.mjs +39 -0
- package/dist/esm/components/Authenticator/ForgotPassword/ForgotPassword.mjs +40 -0
- package/dist/esm/components/Authenticator/RouteContainer/RouteContainer.mjs +26 -1
- package/dist/esm/components/Authenticator/Router/Router.mjs +63 -1
- package/dist/esm/components/Authenticator/SetupTotp/SetupTotp.mjs +76 -0
- package/dist/esm/components/Authenticator/SignIn/SignIn.mjs +47 -1
- package/dist/esm/components/Authenticator/SignUp/SignUp.mjs +46 -1
- package/dist/esm/components/Authenticator/VerifyUser/ConfirmVerifyUser.mjs +37 -1
- package/dist/esm/components/Authenticator/VerifyUser/VerifyUser.mjs +59 -1
- package/dist/esm/components/Authenticator/hooks/useCustomComponents/defaultComponents.mjs +62 -1
- package/dist/esm/components/Authenticator/hooks/useCustomComponents/useCustomComponents.mjs +14 -1
- package/dist/esm/components/Authenticator/hooks/useFormHandlers/useFormHandlers.mjs +30 -1
- package/dist/esm/components/Authenticator/shared/ConfirmSignInFooter.mjs +18 -1
- package/dist/esm/components/Authenticator/shared/FormField.mjs +35 -1
- package/dist/esm/components/Authenticator/shared/FormFields.mjs +15 -1
- package/dist/esm/components/Authenticator/shared/RemoteErrorMessage.mjs +11 -1
- package/dist/esm/components/Authenticator/shared/SignInSignUpTabs.mjs +27 -1
- package/dist/esm/components/Authenticator/shared/TwoButtonSubmitFooter.mjs +35 -1
- package/dist/esm/components/Authenticator/utils.mjs +3 -1
- package/dist/esm/components/Authenticator/withAuthenticator.mjs +14 -1
- package/dist/esm/components/ThemeProvider/ThemeContext.mjs +8 -0
- package/dist/esm/components/ThemeProvider/ThemeProvider.mjs +23 -1
- package/dist/esm/components/index.mjs +5 -1
- package/dist/esm/components/shared/ValidationErrors.mjs +15 -1
- package/dist/esm/helpers/utils.mjs +6 -1
- package/dist/esm/hooks/useAuth.mjs +73 -1
- package/dist/esm/hooks/useBreakpointValue.mjs +29 -1
- package/dist/esm/hooks/useComposeRefsCallback.mjs +20 -1
- package/dist/esm/hooks/useDeprecationWarning.mjs +15 -1
- package/dist/esm/hooks/useStorageURL.mjs +40 -1
- package/dist/esm/hooks/useTheme.mjs +23 -1
- package/dist/esm/hooks/useThemeBreakpoint.mjs +19 -1
- package/dist/esm/index.mjs +71 -1
- package/dist/esm/internal.mjs +32 -1
- package/dist/esm/primitives/Accordion/Accordion.mjs +28 -0
- package/dist/esm/primitives/Accordion/AccordionContainer.mjs +49 -0
- package/dist/esm/primitives/Accordion/AccordionContent.mjs +15 -0
- package/dist/esm/primitives/Accordion/AccordionContext.mjs +6 -0
- package/dist/esm/primitives/Accordion/AccordionIcon.mjs +20 -0
- package/dist/esm/primitives/Accordion/AccordionItem.mjs +19 -0
- package/dist/esm/primitives/Accordion/AccordionTrigger.mjs +27 -0
- package/dist/esm/primitives/Alert/Alert.mjs +36 -1
- package/dist/esm/primitives/Alert/AlertIcon.mjs +36 -1
- package/dist/esm/primitives/Autocomplete/Autocomplete.mjs +67 -1
- package/dist/esm/primitives/Autocomplete/AutocompleteMenu.mjs +36 -1
- package/dist/esm/primitives/Autocomplete/AutocompleteOption.mjs +12 -1
- package/dist/esm/primitives/Autocomplete/useAutocomplete.mjs +188 -1
- package/dist/esm/primitives/Badge/Badge.mjs +16 -1
- package/dist/esm/primitives/Breadcrumbs/BreadcrumbContainer.mjs +18 -1
- package/dist/esm/primitives/Breadcrumbs/BreadcrumbItem.mjs +16 -1
- package/dist/esm/primitives/Breadcrumbs/BreadcrumbLink.mjs +24 -1
- package/dist/esm/primitives/Breadcrumbs/BreadcrumbSeparator.mjs +16 -1
- package/dist/esm/primitives/Breadcrumbs/Breadcrumbs.mjs +28 -1
- package/dist/esm/primitives/Button/Button.mjs +33 -1
- package/dist/esm/primitives/ButtonGroup/ButtonGroup.mjs +19 -1
- package/dist/esm/primitives/Card/Card.mjs +15 -1
- package/dist/esm/primitives/Checkbox/Checkbox.mjs +84 -1
- package/dist/esm/primitives/CheckboxField/CheckboxField.mjs +24 -1
- package/dist/esm/primitives/Collection/Collection.mjs +58 -1
- package/dist/esm/primitives/Collection/utils.mjs +30 -1
- package/dist/esm/primitives/Divider/Divider.mjs +16 -1
- package/dist/esm/primitives/DropZone/DropZone.mjs +27 -1
- package/dist/esm/primitives/DropZone/DropZoneChildren.mjs +39 -1
- package/dist/esm/primitives/DropZone/DropZoneContainer.mjs +18 -1
- package/dist/esm/primitives/DropZone/DropZoneProvider.mjs +8 -1
- package/dist/esm/primitives/DropZone/filterAllowedFiles.mjs +34 -1
- package/dist/esm/primitives/DropZone/useDropZone.mjs +65 -1
- package/dist/esm/primitives/Field/Field.mjs +20 -1
- package/dist/esm/primitives/Field/FieldClearButton.mjs +21 -1
- package/dist/esm/primitives/Field/FieldDescription.mjs +11 -1
- package/dist/esm/primitives/Field/FieldErrorMessage.mjs +10 -1
- package/dist/esm/primitives/FieldGroup/FieldGroup.mjs +29 -1
- package/dist/esm/primitives/FieldGroupIcon/FieldGroupIcon.mjs +12 -1
- package/dist/esm/primitives/FieldGroupIcon/FieldGroupIconButton.mjs +11 -1
- package/dist/esm/primitives/Fieldset/Fieldset.mjs +33 -1
- package/dist/esm/primitives/Fieldset/useFieldset.mjs +13 -1
- package/dist/esm/primitives/Flex/Flex.mjs +13 -1
- package/dist/esm/primitives/Grid/Grid.mjs +13 -1
- package/dist/esm/primitives/Heading/Heading.mjs +21 -1
- package/dist/esm/primitives/HighlightMatch/HighlightMatch.mjs +28 -1
- package/dist/esm/primitives/Icon/Icon.mjs +36 -1
- package/dist/esm/primitives/Icon/context/IconsContext.mjs +5 -1
- package/dist/esm/primitives/Icon/context/IconsProvider.mjs +8 -1
- package/dist/esm/primitives/Icon/context/useIcons.mjs +12 -1
- package/dist/esm/primitives/Icon/icons/IconAdd.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconCheck.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconCheckCircle.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconCheckCircleOutline.mjs +13 -1
- package/dist/esm/primitives/Icon/icons/IconChevronLeft.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconChevronRight.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconClose.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconEdit.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconError.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconExpandMore.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconFile.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconIndeterminate.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconInfo.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconMenu.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconRemove.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconSearch.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconStar.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconUpload.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconVisibility.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconVisibilityOff.mjs +15 -1
- package/dist/esm/primitives/Icon/icons/IconWarning.mjs +15 -1
- package/dist/esm/primitives/Image/Image.mjs +13 -1
- package/dist/esm/primitives/Input/Input.mjs +15 -1
- package/dist/esm/primitives/Label/Label.mjs +14 -1
- package/dist/esm/primitives/Link/Link.mjs +15 -1
- package/dist/esm/primitives/Loader/Loader.mjs +56 -1
- package/dist/esm/primitives/Menu/Menu.mjs +31 -1
- package/dist/esm/primitives/Menu/MenuButton.mjs +18 -1
- package/dist/esm/primitives/Menu/MenuItem.mjs +22 -1
- package/dist/esm/primitives/Message/Message.mjs +23 -1
- package/dist/esm/primitives/Message/MessageContainer.mjs +19 -1
- package/dist/esm/primitives/Message/MessageContent.mjs +12 -1
- package/dist/esm/primitives/Message/MessageDismiss.mjs +28 -1
- package/dist/esm/primitives/Message/MessageHeading.mjs +12 -1
- package/dist/esm/primitives/Message/MessageIcon.mjs +35 -1
- package/dist/esm/primitives/Message/useMessage.mjs +9 -1
- package/dist/esm/primitives/Pagination/Pagination.mjs +31 -1
- package/dist/esm/primitives/Pagination/PaginationItem.mjs +48 -1
- package/dist/esm/primitives/Pagination/usePagination.mjs +41 -1
- package/dist/esm/primitives/Pagination/usePaginationItems.mjs +39 -1
- package/dist/esm/primitives/Pagination/useRange.mjs +72 -1
- package/dist/esm/primitives/PasswordField/PasswordField.mjs +25 -1
- package/dist/esm/primitives/PasswordField/ShowPasswordButton.mjs +30 -1
- package/dist/esm/primitives/PhoneNumberField/DialCodeSelect.mjs +21 -0
- package/dist/esm/primitives/PhoneNumberField/PhoneNumberField.mjs +17 -1
- package/dist/esm/primitives/Placeholder/Placeholder.mjs +18 -1
- package/dist/esm/primitives/Radio/Radio.mjs +31 -1
- package/dist/esm/primitives/RadioGroupField/RadioGroupField.mjs +55 -1
- package/dist/esm/primitives/RadioGroupField/context.mjs +9 -1
- package/dist/esm/primitives/Rating/Rating.mjs +44 -1
- package/dist/esm/primitives/Rating/RatingIcon.mjs +11 -1
- package/dist/esm/primitives/Rating/RatingMixedIcon.mjs +13 -1
- package/dist/esm/primitives/Rating/utils.mjs +18 -1
- package/dist/esm/primitives/ScrollView/ScrollView.mjs +13 -1
- package/dist/esm/primitives/SearchField/SearchField.mjs +38 -1
- package/dist/esm/primitives/SearchField/SearchFieldButton.mjs +21 -1
- package/dist/esm/primitives/SearchField/useSearchField.mjs +64 -1
- package/dist/esm/primitives/Select/Select.mjs +31 -1
- package/dist/esm/primitives/SelectField/SelectField.mjs +42 -1
- package/dist/esm/primitives/SliderField/SliderField.mjs +77 -1
- package/dist/esm/primitives/StepperField/StepperField.mjs +60 -1
- package/dist/esm/primitives/StepperField/useStepper.mjs +113 -1
- package/dist/esm/primitives/SwitchField/SwitchField.mjs +48 -1
- package/dist/esm/primitives/SwitchField/useSwitch.mjs +30 -1
- package/dist/esm/primitives/Table/Table.mjs +18 -1
- package/dist/esm/primitives/Table/TableBody.mjs +10 -1
- package/dist/esm/primitives/Table/TableCell.mjs +12 -1
- package/dist/esm/primitives/Table/TableFoot.mjs +10 -1
- package/dist/esm/primitives/Table/TableHead.mjs +10 -1
- package/dist/esm/primitives/Table/TableRow.mjs +10 -1
- package/dist/esm/primitives/Tabs/Tabs.mjs +24 -1
- package/dist/esm/primitives/Tabs/TabsContainer.mjs +35 -0
- package/dist/esm/primitives/Tabs/TabsContext.mjs +8 -0
- package/dist/esm/primitives/Tabs/TabsItem.mjs +24 -0
- package/dist/esm/primitives/Tabs/TabsList.mjs +85 -0
- package/dist/esm/primitives/Tabs/TabsPanel.mjs +19 -0
- package/dist/esm/primitives/Text/Text.mjs +16 -1
- package/dist/esm/primitives/TextArea/TextArea.mjs +15 -1
- package/dist/esm/primitives/TextAreaField/TextAreaField.mjs +36 -1
- package/dist/esm/primitives/TextField/TextField.mjs +34 -1
- package/dist/esm/primitives/ToggleButton/ToggleButton.mjs +24 -1
- package/dist/esm/primitives/ToggleButton/useToggleButton.mjs +23 -1
- package/dist/esm/primitives/ToggleButtonGroup/ToggleButtonGroup.mjs +35 -1
- package/dist/esm/primitives/ToggleButtonGroup/useToggleButtonGroup.mjs +36 -1
- package/dist/esm/primitives/View/View.mjs +23 -1
- package/dist/esm/primitives/VisuallyHidden/VisuallyHidden.mjs +13 -1
- package/dist/esm/primitives/index.mjs +63 -1
- package/dist/esm/primitives/shared/constants.mjs +98 -1
- package/dist/esm/primitives/shared/getStyleValue.mjs +25 -1
- package/dist/esm/primitives/shared/responsive/getMediaQueries.mjs +29 -1
- package/dist/esm/primitives/shared/responsive/useBreakpoint.mjs +39 -1
- package/dist/esm/primitives/shared/responsive/utils.mjs +51 -1
- package/dist/esm/primitives/shared/styleUtils.mjs +122 -1
- package/dist/esm/primitives/shared/utils.mjs +60 -1
- package/dist/esm/primitives/types/style.mjs +104 -1
- package/dist/esm/primitives/types/theme.mjs +7 -1
- package/dist/esm/primitives/utils/getTestId.mjs +3 -1
- package/dist/esm/primitives/utils/primitiveWithForwardRef.mjs +14 -0
- package/dist/esm/primitives/utils/splitPrimitiveProps.mjs +36 -1
- package/dist/esm/primitives/utils/useLayoutEffect.mjs +13 -1
- package/dist/esm/primitives/utils/useStableId.mjs +34 -1
- package/dist/esm/version.mjs +3 -1
- package/dist/index.js +3485 -1
- package/dist/internal.js +16403 -1
- package/dist/styles/StorageManager.css +138 -0
- package/dist/styles/StorageManager.layer.css +140 -0
- package/dist/styles/_fieldControl.css +0 -0
- package/dist/styles/_fieldControl.layer.css +3 -0
- package/dist/styles/accordion.css +64 -0
- package/dist/styles/accordion.layer.css +66 -0
- package/dist/styles/alert.css +44 -0
- package/dist/styles/alert.layer.css +46 -0
- package/dist/styles/authenticator.css +72 -0
- package/dist/styles/authenticator.layer.css +74 -0
- package/dist/styles/autocomplete.css +48 -0
- package/dist/styles/autocomplete.layer.css +50 -0
- package/dist/styles/badge.css +35 -0
- package/dist/styles/badge.layer.css +37 -0
- package/dist/styles/base.css +1491 -0
- package/dist/styles/base.layer.css +1493 -0
- package/dist/styles/breadcrumbs.css +40 -0
- package/dist/styles/breadcrumbs.layer.css +42 -0
- package/dist/styles/button.css +1122 -0
- package/dist/styles/button.layer.css +1124 -0
- package/dist/styles/card.css +26 -0
- package/dist/styles/card.layer.css +28 -0
- package/dist/styles/checkbox.css +95 -0
- package/dist/styles/checkbox.layer.css +97 -0
- package/dist/styles/checkboxField.css +6 -0
- package/dist/styles/checkboxField.layer.css +8 -0
- package/dist/styles/collection.css +70 -0
- package/dist/styles/collection.layer.css +72 -0
- package/dist/styles/copy.css +27 -0
- package/dist/styles/copy.layer.css +29 -0
- package/dist/styles/dialCodeSelect.css +3 -0
- package/dist/styles/dialCodeSelect.layer.css +5 -0
- package/dist/styles/divider.css +47 -0
- package/dist/styles/divider.layer.css +49 -0
- package/dist/styles/dropZone.css +45 -0
- package/dist/styles/dropZone.layer.css +47 -0
- package/dist/styles/field.css +17 -0
- package/dist/styles/field.layer.css +19 -0
- package/dist/styles/fieldGroup.css +130 -0
- package/dist/styles/fieldGroup.layer.css +132 -0
- package/dist/styles/fieldMessages.css +10 -0
- package/dist/styles/fieldMessages.layer.css +12 -0
- package/dist/styles/fieldModifiers.css +15 -0
- package/dist/styles/fieldModifiers.layer.css +17 -0
- package/dist/styles/fieldset.css +37 -0
- package/dist/styles/fieldset.layer.css +39 -0
- package/dist/styles/flex.css +8 -0
- package/dist/styles/flex.layer.css +10 -0
- package/dist/styles/grid.css +3 -0
- package/dist/styles/grid.layer.css +5 -0
- package/dist/styles/heading.css +40 -0
- package/dist/styles/heading.layer.css +42 -0
- package/dist/styles/highlightMatch.css +3 -0
- package/dist/styles/highlightMatch.layer.css +5 -0
- package/dist/styles/icon.css +14 -0
- package/dist/styles/icon.layer.css +16 -0
- package/dist/styles/image.css +9 -0
- package/dist/styles/image.layer.css +11 -0
- package/dist/styles/inAppMessaging.css +179 -0
- package/dist/styles/inAppMessaging.layer.css +181 -0
- package/dist/styles/input.css +83 -0
- package/dist/styles/input.layer.css +85 -0
- package/dist/styles/link.css +26 -0
- package/dist/styles/link.layer.css +28 -0
- package/dist/styles/liveness.css +374 -0
- package/dist/styles/liveness.layer.css +376 -0
- package/dist/styles/loader.css +108 -0
- package/dist/styles/loader.layer.css +110 -0
- package/dist/styles/menu.css +54 -0
- package/dist/styles/menu.layer.css +56 -0
- package/dist/styles/message.css +111 -0
- package/dist/styles/message.layer.css +113 -0
- package/dist/styles/pagination.css +41 -0
- package/dist/styles/pagination.layer.css +43 -0
- package/dist/styles/passwordField.css +49 -0
- package/dist/styles/passwordField.layer.css +51 -0
- package/dist/styles/phoneNumberField.css +30 -0
- package/dist/styles/phoneNumberField.layer.css +32 -0
- package/dist/styles/placeholder.css +31 -0
- package/dist/styles/placeholder.layer.css +33 -0
- package/dist/styles/radio.css +82 -0
- package/dist/styles/radio.layer.css +84 -0
- package/dist/styles/radioGroupField.css +25 -0
- package/dist/styles/radioGroupField.layer.css +27 -0
- package/dist/styles/radiogroup.css +5 -0
- package/dist/styles/radiogroup.layer.css +7 -0
- package/dist/styles/rating.css +33 -0
- package/dist/styles/rating.layer.css +35 -0
- package/dist/styles/reset.css +76 -0
- package/dist/styles/reset.layer.css +78 -0
- package/dist/styles/scrollView.css +4 -0
- package/dist/styles/scrollView.layer.css +6 -0
- package/dist/styles/searchField.css +29 -0
- package/dist/styles/searchField.layer.css +31 -0
- package/dist/styles/select.css +128 -0
- package/dist/styles/select.layer.css +130 -0
- package/dist/styles/selectField.css +18 -0
- package/dist/styles/selectField.layer.css +20 -0
- package/dist/styles/sliderField.css +143 -0
- package/dist/styles/sliderField.layer.css +145 -0
- package/dist/styles/stepperField.css +77 -0
- package/dist/styles/stepperField.layer.css +79 -0
- package/dist/styles/switchField.css +76 -0
- package/dist/styles/switchField.layer.css +78 -0
- package/dist/styles/table.css +146 -0
- package/dist/styles/table.layer.css +148 -0
- package/dist/styles/tabs.css +87 -0
- package/dist/styles/tabs.layer.css +89 -0
- package/dist/styles/text.css +40 -0
- package/dist/styles/text.layer.css +42 -0
- package/dist/styles/textArea.css +71 -0
- package/dist/styles/textArea.layer.css +73 -0
- package/dist/styles/textAreaField.css +12 -0
- package/dist/styles/textAreaField.layer.css +14 -0
- package/dist/styles/textField.css +14 -0
- package/dist/styles/textField.layer.css +16 -0
- package/dist/styles/toggleButton.css +280 -0
- package/dist/styles/toggleButton.layer.css +282 -0
- package/dist/styles/toggleButtonGroup.css +31 -0
- package/dist/styles/toggleButtonGroup.layer.css +33 -0
- package/dist/styles/visuallyHidden.css +12 -0
- package/dist/styles/visuallyHidden.layer.css +14 -0
- package/dist/styles.css +299 -685
- package/dist/styles.layer.css +6115 -0
- package/dist/types/components/AccountSettings/ChangePassword/ChangePassword.d.ts +6 -6
- package/dist/types/components/AccountSettings/ChangePassword/types.d.ts +3 -0
- package/dist/types/components/AccountSettings/DeleteUser/DeleteUser.d.ts +3 -3
- package/dist/types/components/AccountSettings/DeleteUser/types.d.ts +7 -2
- package/dist/types/components/AccountSettings/utils/displayText.d.ts +18 -0
- package/dist/types/components/AccountSettings/utils/index.d.ts +1 -0
- package/dist/types/components/Authenticator/Authenticator.d.ts +4 -3
- package/dist/types/components/Authenticator/ConfirmSignIn/ConfirmSignIn.d.ts +2 -2
- package/dist/types/components/Authenticator/ConfirmSignUp/ConfirmSignUp.d.ts +2 -2
- package/dist/types/components/Authenticator/{ResetPassword → ForgotPassword}/index.d.ts +1 -1
- package/dist/types/components/Authenticator/{SetupTOTP/SetupTOTP.d.ts → SetupTotp/SetupTotp.d.ts} +1 -1
- package/dist/types/components/Authenticator/SetupTotp/index.d.ts +1 -0
- package/dist/types/components/Authenticator/SignIn/SignIn.d.ts +2 -2
- package/dist/types/components/Authenticator/SignUp/SignUp.d.ts +2 -2
- package/dist/types/components/Authenticator/VerifyUser/ConfirmVerifyUser.d.ts +2 -2
- package/dist/types/components/Authenticator/hooks/useCustomComponents/defaultComponents.d.ts +1 -1
- package/dist/types/components/Authenticator/withAuthenticator.d.ts +2 -2
- package/dist/types/components/ThemeProvider/ThemeContext.d.ts +6 -0
- package/dist/types/components/ThemeProvider/ThemeProvider.d.ts +1 -2
- package/dist/types/components/ThemeProvider/index.d.ts +1 -1
- package/dist/types/components/index.d.ts +0 -1
- package/dist/types/hooks/index.d.ts +0 -1
- package/dist/types/hooks/useAuth.d.ts +2 -2
- package/dist/types/hooks/useStorageURL.d.ts +2 -6
- package/dist/types/hooks/useTheme.d.ts +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/internal.d.ts +0 -12
- package/dist/types/primitives/Accordion/Accordion.d.ts +19 -0
- package/dist/types/primitives/Accordion/AccordionContainer.d.ts +8 -0
- package/dist/types/primitives/Accordion/AccordionContent.d.ts +9 -0
- package/dist/types/primitives/Accordion/AccordionContext.d.ts +9 -0
- package/dist/types/primitives/Accordion/AccordionIcon.d.ts +9 -0
- package/dist/types/primitives/Accordion/AccordionItem.d.ts +6 -0
- package/dist/types/primitives/Accordion/AccordionTrigger.d.ts +9 -0
- package/dist/types/primitives/Accordion/index.d.ts +2 -0
- package/dist/types/primitives/Accordion/types.d.ts +49 -0
- package/dist/types/primitives/Alert/AlertIcon.d.ts +5 -2
- package/dist/types/primitives/Breadcrumbs/BreadcrumbItem.d.ts +1 -1
- package/dist/types/primitives/DropZone/DropZoneChildren.d.ts +10 -3
- package/dist/types/primitives/Icon/context/IconsContext.d.ts +1 -1
- package/dist/types/primitives/PhoneNumberField/DialCodeSelect.d.ts +2 -0
- package/dist/types/primitives/StepperField/useStepper.d.ts +1 -1
- package/dist/types/primitives/Tabs/Tabs.d.ts +14 -3
- package/dist/types/primitives/Tabs/TabsContainer.d.ts +6 -0
- package/dist/types/primitives/Tabs/TabsContext.d.ts +7 -0
- package/dist/types/primitives/Tabs/TabsItem.d.ts +6 -0
- package/dist/types/primitives/Tabs/TabsList.d.ts +6 -0
- package/dist/types/primitives/Tabs/TabsPanel.d.ts +6 -0
- package/dist/types/primitives/Tabs/index.d.ts +2 -1
- package/dist/types/primitives/Tabs/types.d.ts +93 -0
- package/dist/types/primitives/components.d.ts +2 -2
- package/dist/types/primitives/index.d.ts +0 -1
- package/dist/types/primitives/shared/constants.d.ts +0 -6
- package/dist/types/primitives/shared/responsive/utils.d.ts +1 -1
- package/dist/types/primitives/shared/styleUtils.d.ts +2 -2
- package/dist/types/primitives/types/collection.d.ts +2 -2
- package/dist/types/primitives/types/fieldset.d.ts +1 -1
- package/dist/types/primitives/types/index.d.ts +0 -3
- package/dist/types/primitives/types/radioGroupField.d.ts +2 -1
- package/dist/types/primitives/types/view.d.ts +32 -2
- package/dist/types/primitives/utils/primitiveWithForwardRef.d.ts +11 -0
- package/package.json +13 -45
- package/dist/Field-94e428ed.js +0 -1
- package/dist/esm/components/Authenticator/ResetPassword/ConfirmResetPassword.mjs +0 -1
- package/dist/esm/components/Authenticator/ResetPassword/ResetPassword.mjs +0 -1
- package/dist/esm/components/Authenticator/SetupTOTP/SetupTOTP.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/FileUploader.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/UploadDropZone/UploadDropZone.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/UploadPreviewer/UploadPreviewer.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/UploadTracker/UploadMessage.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/UploadTracker/UploadTracker.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/hooks/useFileUploader/useFileUploader.mjs +0 -1
- package/dist/esm/components/Storage/FileUploader/types.mjs +0 -1
- package/dist/esm/components/ThemeProvider/AmplifyContext.mjs +0 -1
- package/dist/esm/helpers/constants.mjs +0 -1
- package/dist/esm/hooks/actions/constants.mjs +0 -1
- package/dist/esm/hooks/actions/shared/types.mjs +0 -1
- package/dist/esm/hooks/actions/shared/useTypeCastFields.mjs +0 -1
- package/dist/esm/hooks/actions/useAuthSignOutAction.mjs +0 -1
- package/dist/esm/hooks/actions/useDataStoreCreateAction.mjs +0 -1
- package/dist/esm/hooks/actions/useDataStoreDeleteAction.mjs +0 -1
- package/dist/esm/hooks/actions/useDataStoreUpdateAction.mjs +0 -1
- package/dist/esm/hooks/actions/useNavigateAction.mjs +0 -1
- package/dist/esm/hooks/actions/useStateMutationAction.mjs +0 -1
- package/dist/esm/hooks/useAmplify.mjs +0 -1
- package/dist/esm/hooks/useDataStore.mjs +0 -1
- package/dist/esm/primitives/Expander/Expander.mjs +0 -1
- package/dist/esm/primitives/Expander/ExpanderItem.mjs +0 -1
- package/dist/esm/primitives/PhoneNumberField/CountryCodeSelect.mjs +0 -1
- package/dist/esm/primitives/shared/datastore.mjs +0 -1
- package/dist/esm/studio/findChildOverrides.mjs +0 -1
- package/dist/esm/studio/getOverrideProps.mjs +0 -1
- package/dist/esm/studio/getOverridesFromVariants.mjs +0 -1
- package/dist/esm/studio/mergeVariantsAndOverrides.mjs +0 -1
- package/dist/styles.js +0 -2
- package/dist/types/components/Authenticator/SetupTOTP/index.d.ts +0 -1
- package/dist/types/components/Storage/FileUploader/FileUploader.d.ts +0 -3
- package/dist/types/components/Storage/FileUploader/UploadDropZone/UploadDropZone.d.ts +0 -3
- package/dist/types/components/Storage/FileUploader/UploadDropZone/index.d.ts +0 -1
- package/dist/types/components/Storage/FileUploader/UploadPreviewer/UploadPreviewer.d.ts +0 -3
- package/dist/types/components/Storage/FileUploader/UploadPreviewer/index.d.ts +0 -1
- package/dist/types/components/Storage/FileUploader/UploadTracker/UploadMessage.d.ts +0 -3
- package/dist/types/components/Storage/FileUploader/UploadTracker/UploadTracker.d.ts +0 -3
- package/dist/types/components/Storage/FileUploader/UploadTracker/index.d.ts +0 -1
- package/dist/types/components/Storage/FileUploader/hooks/index.d.ts +0 -1
- package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/index.d.ts +0 -2
- package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/types.d.ts +0 -18
- package/dist/types/components/Storage/FileUploader/hooks/useFileUploader/useFileUploader.d.ts +0 -9
- package/dist/types/components/Storage/FileUploader/index.d.ts +0 -1
- package/dist/types/components/Storage/FileUploader/types.d.ts +0 -91
- package/dist/types/components/Storage/index.d.ts +0 -1
- package/dist/types/components/ThemeProvider/AmplifyContext.d.ts +0 -6
- package/dist/types/hooks/actions/constants.d.ts +0 -39
- package/dist/types/hooks/actions/shared/types.d.ts +0 -27
- package/dist/types/hooks/actions/shared/useTypeCastFields.d.ts +0 -15
- package/dist/types/hooks/actions/testModels/model.d.ts +0 -25
- package/dist/types/hooks/actions/testModels/schema.d.ts +0 -2
- package/dist/types/hooks/actions/testModels/todo.d.ts +0 -13
- package/dist/types/hooks/actions/useAuthSignOutAction.d.ts +0 -9
- package/dist/types/hooks/actions/useDataStoreCreateAction.d.ts +0 -9
- package/dist/types/hooks/actions/useDataStoreDeleteAction.d.ts +0 -10
- package/dist/types/hooks/actions/useDataStoreUpdateAction.d.ts +0 -10
- package/dist/types/hooks/actions/useNavigateAction.d.ts +0 -15
- package/dist/types/hooks/actions/useStateMutationAction.d.ts +0 -10
- package/dist/types/hooks/useAmplify.d.ts +0 -6
- package/dist/types/hooks/useDataStore.d.ts +0 -18
- package/dist/types/primitives/Expander/Expander.d.ts +0 -6
- package/dist/types/primitives/Expander/ExpanderItem.d.ts +0 -7
- package/dist/types/primitives/Expander/index.d.ts +0 -2
- package/dist/types/primitives/Menu/__tests_/menu.test.d.ts +0 -1
- package/dist/types/primitives/PhoneNumberField/CountryCodeSelect.d.ts +0 -2
- package/dist/types/primitives/Rating/__test__/Rating.test.d.ts +0 -1
- package/dist/types/primitives/Rating/__test__/utils.test.d.ts +0 -1
- package/dist/types/primitives/Text/__test__/Text.test.d.ts +0 -1
- package/dist/types/primitives/shared/datastore.d.ts +0 -7
- package/dist/types/primitives/shared/index.d.ts +0 -1
- package/dist/types/primitives/shared/types.d.ts +0 -15
- package/dist/types/primitives/types/datastore.d.ts +0 -31
- package/dist/types/primitives/types/expander.d.ts +0 -51
- package/dist/types/primitives/types/tabs.d.ts +0 -63
- package/dist/types/studio/findChildOverrides.d.ts +0 -18
- package/dist/types/studio/getOverrideProps.d.ts +0 -18
- package/dist/types/studio/getOverridesFromVariants.d.ts +0 -20
- package/dist/types/studio/index.d.ts +0 -5
- package/dist/types/studio/mergeVariantsAndOverrides.d.ts +0 -18
- package/dist/types/studio/types.d.ts +0 -18
- package/dist/types/styles.d.ts +0 -1
- /package/dist/types/components/Authenticator/{ResetPassword → ForgotPassword}/ConfirmResetPassword.d.ts +0 -0
- /package/dist/types/components/Authenticator/{ResetPassword/ResetPassword.d.ts → ForgotPassword/ForgotPassword.d.ts} +0 -0
|
@@ -1 +1,84 @@
|
|
|
1
|
-
import
|
|
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
|
|
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
|
|
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
|
|
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{
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 };
|