diff --git a/.changeset/moody-ways-rule.md b/.changeset/moody-ways-rule.md new file mode 100644 index 000000000..5e4896caf --- /dev/null +++ b/.changeset/moody-ways-rule.md @@ -0,0 +1,5 @@ +--- +"@launchpad-ui/components": patch +--- + +Fix `Button` detection of `Select` context diff --git a/packages/components/src/Button.tsx b/packages/components/src/Button.tsx index de69800bf..d5320c3a9 100644 --- a/packages/components/src/Button.tsx +++ b/packages/components/src/Button.tsx @@ -3,11 +3,12 @@ import type { ForwardedRef } from 'react'; import type { ButtonProps as AriaButtonProps } from 'react-aria-components'; import { cva, cx } from 'class-variance-authority'; -import { forwardRef } from 'react'; +import { forwardRef, useContext } from 'react'; import { Button as AriaButton, Provider, SelectContext, + SelectStateContext, TextContext, composeRenderProps, useSlottedContext, @@ -45,13 +46,14 @@ const _Button = ( ref: ForwardedRef, ) => { const selectContext = useSlottedContext(SelectContext); + const state = useContext(SelectStateContext); return ( - selectContext - ? cx(input(), styles.select, selectContext.isInvalid && styles.invalid, className) + state + ? cx(input(), styles.select, selectContext?.isInvalid && styles.invalid, className) : button({ ...renderProps, size, variant, className }), )} >