@@ -6,7 +6,7 @@ import {useFocusRing} from "@react-aria/focus";
66import { input } from "@nextui-org/theme" ;
77import { useDOMRef , filterDOMProps } from "@nextui-org/react-utils" ;
88import { useFocusWithin , useHover , usePress } from "@react-aria/interactions" ;
9- import { clsx , dataAttr , safeAriaLabel } from "@nextui-org/shared-utils" ;
9+ import { clsx , dataAttr , isEmpty , safeAriaLabel } from "@nextui-org/shared-utils" ;
1010import { useControlledState } from "@react-stately/utils" ;
1111import { useMemo , Ref , useCallback , useState } from "react" ;
1212import { chain , mergeProps } from "@react-aria/utils" ;
@@ -124,7 +124,7 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
124124 const Component = as || "div" ;
125125
126126 const isFilledByDefault = [ "date" , "time" , "month" , "week" , "range" ] . includes ( type ! ) ;
127- const isFilled = ! ! inputValue || isFilledByDefault ;
127+ const isFilled = ! isEmpty ( inputValue ) || isFilledByDefault ;
128128 const isFilledWithin = isFilled || isFocusWithin ;
129129 const baseStyles = clsx ( classNames ?. base , className , isFilled ? "is-filled" : "" ) ;
130130 const isMultiline = originalProps . isMultiline ;
@@ -289,7 +289,9 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
289289 "data-filled-within" : dataAttr ( isFilledWithin ) ,
290290 "data-has-start-content" : dataAttr ( hasStartContent ) ,
291291 "data-has-end-content" : dataAttr ( ! ! endContent ) ,
292- className : slots . input ( { class : clsx ( classNames ?. input , ! ! inputValue ? "is-filled" : "" ) } ) ,
292+ className : slots . input ( {
293+ class : clsx ( classNames ?. input , isFilled ? "is-filled" : "" ) ,
294+ } ) ,
293295 ...mergeProps (
294296 focusProps ,
295297 inputProps ,
@@ -332,7 +334,7 @@ export function useInput<T extends HTMLInputElement | HTMLTextAreaElement = HTML
332334 "data-focus-visible" : dataAttr ( isFocusVisible ) ,
333335 "data-focus" : dataAttr ( isFocused ) ,
334336 className : slots . inputWrapper ( {
335- class : clsx ( classNames ?. inputWrapper , ! ! inputValue ? "is-filled" : "" ) ,
337+ class : clsx ( classNames ?. inputWrapper , isFilled ? "is-filled" : "" ) ,
336338 } ) ,
337339 ...mergeProps ( props , hoverProps ) ,
338340 onClick : ( e ) => {
0 commit comments