From d05dc3ef0fbe7de36f2ee4483c21c4f73f3553f9 Mon Sep 17 00:00:00 2001 From: Laura Beatris <48022589+LauraBeatris@users.noreply.github.com> Date: Thu, 13 Feb 2025 18:46:26 -0300 Subject: [PATCH 01/11] Update input primitive to accept feedbackType prop --- packages/clerk-js/src/ui/primitives/Input.tsx | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/packages/clerk-js/src/ui/primitives/Input.tsx b/packages/clerk-js/src/ui/primitives/Input.tsx index 54217d4a3f3..f74ccae8ce5 100644 --- a/packages/clerk-js/src/ui/primitives/Input.tsx +++ b/packages/clerk-js/src/ui/primitives/Input.tsx @@ -61,10 +61,23 @@ export type InputProps = PrimitiveProps<'input'> & StyleVariants((props, ref) => { const fieldControl = useFormField() || {}; // @ts-expect-error Typescript is complaining that `errorMessageId` does not exist. We are clearly passing them from above. - const { errorMessageId, ignorePasswordManager, feedbackType, ...fieldControlProps } = sanitizeInputProps( - fieldControl, - ['errorMessageId', 'ignorePasswordManager', 'feedbackType'], - ); + const { errorMessageId, ignorePasswordManager, ...fieldControlProps } = sanitizeInputProps(fieldControl, [ + 'errorMessageId', + 'ignorePasswordManager', + 'feedbackType', + ]); + + const getFeedbackType = (fieldControl: ReturnType, hasError: InputProps['hasError']) => { + if (!fieldControl) { + return null; + } + + if (fieldControl.feedbackType) { + return fieldControl.feedbackType; + } + + return hasError ? 'error' : null; + }; const propsWithoutVariants = filterProps({ ...props, @@ -75,6 +88,7 @@ export const Input = React.forwardRef((props, ref) const _disabled = isDisabled || fieldControlProps.isDisabled; const _required = isRequired || fieldControlProps.isRequired; const _hasError = hasError || fieldControlProps.hasError; + const feedbackType = getFeedbackType(fieldControl, hasError); /** * type="email" will not allow characters like this one "ö", instead remove type email and provide a pattern that accepts any character before the "@" symbol From 4cc45736222a848555de1f317aff7ceb1b98144e Mon Sep 17 00:00:00 2001 From: Laura Beatris <48022589+LauraBeatris@users.noreply.github.com> Date: Thu, 13 Feb 2025 19:39:41 -0300 Subject: [PATCH 02/11] Introduce field control for min length validation --- .changeset/tricky-spiders-jog.md | 5 ++ .../OrganizationProfile/MembersActions.tsx | 2 +- .../OrganizationProfile/MembersSearch.tsx | 49 ++++++++++++++++--- packages/types/src/elementIds.ts | 3 +- 4 files changed, 50 insertions(+), 9 deletions(-) create mode 100644 .changeset/tricky-spiders-jog.md diff --git a/.changeset/tricky-spiders-jog.md b/.changeset/tricky-spiders-jog.md new file mode 100644 index 00000000000..cedd1886e51 --- /dev/null +++ b/.changeset/tricky-spiders-jog.md @@ -0,0 +1,5 @@ +--- +'@clerk/clerk-js': patch +--- + +Introduce minimum length for organization memberships search diff --git a/packages/clerk-js/src/ui/components/OrganizationProfile/MembersActions.tsx b/packages/clerk-js/src/ui/components/OrganizationProfile/MembersActions.tsx index a1d5439a0cb..fe911c88f47 100644 --- a/packages/clerk-js/src/ui/components/OrganizationProfile/MembersActions.tsx +++ b/packages/clerk-js/src/ui/components/OrganizationProfile/MembersActions.tsx @@ -32,8 +32,8 @@ export const MembersActionsRow = ({ actionSlot }: MembersActionsRowProps) => {