@@ -87,14 +87,24 @@ export interface DatePickerProps<T extends DateValue> extends Omit<AriaDatePicke
8787   * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state. 
8888   * @default  'react-aria-DatePicker' 
8989   */ 
90-   className ?: ClassNameOrFunction < DatePickerRenderProps > 
90+   className ?: ClassNameOrFunction < DatePickerRenderProps > , 
91+   /** 
92+    * Whether the trigger remains pressed when the overlay is open. 
93+    * @default  true 
94+    */ 
95+   isTriggerPressedWhenOpen ?: boolean 
9196} 
9297export  interface  DateRangePickerProps < T  extends  DateValue >  extends  Omit < AriaDateRangePickerProps < T > ,  'label'  |  'description'  |  'errorMessage'  |  'validationState'  |  'validationBehavior' > ,  Pick < DateRangePickerStateOptions < T > ,  'shouldCloseOnSelect' > ,  RACValidation ,  RenderProps < DateRangePickerRenderProps > ,  SlotProps ,  GlobalDOMAttributes < HTMLDivElement >  { 
9398  /** 
9499   * The CSS [className](https://developer.mozilla.org/en-US/docs/Web/API/Element/className) for the element. A function may be provided to compute the class based on component state. 
95100   * @default  'react-aria-DateRangePicker' 
96101   */ 
97-   className ?: ClassNameOrFunction < DateRangePickerRenderProps > 
102+   className ?: ClassNameOrFunction < DateRangePickerRenderProps > , 
103+   /** 
104+    * Whether the trigger remains pressed when the overlay is open. 
105+    * @default  true 
106+    */ 
107+   isTriggerPressedWhenOpen ?: boolean 
98108} 
99109
100110export  const  DatePickerContext  =  createContext < ContextValue < DatePickerProps < any > ,  HTMLDivElement > > ( null ) ; 
@@ -112,6 +122,7 @@ export const DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function
112122  [ props ,  ref ]  =  useContextProps ( props ,  ref ,  DatePickerContext ) ; 
113123  let  { validationBehavior : formValidationBehavior }  =  useSlottedContext ( FormContext )  ||  { } ; 
114124  let  validationBehavior  =  props . validationBehavior  ??  formValidationBehavior  ??  'native' ; 
125+   let  { isTriggerPressedWhenOpen =  true }  =  props ; 
115126  let  state  =  useDatePickerState ( { 
116127    ...props , 
117128    validationBehavior
@@ -174,7 +185,7 @@ export const DatePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(function
174185        [ DatePickerStateContext ,  state ] , 
175186        [ GroupContext ,  { ...groupProps ,  ref : groupRef ,  isInvalid : state . isInvalid } ] , 
176187        [ DateFieldContext ,  fieldProps ] , 
177-         [ ButtonContext ,  { ...buttonProps ,  isPressed : state . isOpen } ] , 
188+         [ ButtonContext ,  { ...buttonProps ,  isPressed : isTriggerPressedWhenOpen   &&   state . isOpen } ] , 
178189        [ LabelContext ,  { ...labelProps ,  ref : labelRef ,  elementType : 'span' } ] , 
179190        [ CalendarContext ,  calendarProps ] , 
180191        [ OverlayTriggerStateContext ,  state ] , 
@@ -221,6 +232,7 @@ export const DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(func
221232  [ props ,  ref ]  =  useContextProps ( props ,  ref ,  DateRangePickerContext ) ; 
222233  let  { validationBehavior : formValidationBehavior }  =  useSlottedContext ( FormContext )  ||  { } ; 
223234  let  validationBehavior  =  props . validationBehavior  ??  formValidationBehavior  ??  'native' ; 
235+   let  { isTriggerPressedWhenOpen =  true }  =  props ; 
224236  let  state  =  useDateRangePickerState ( { 
225237    ...props , 
226238    validationBehavior
@@ -283,7 +295,7 @@ export const DateRangePicker = /*#__PURE__*/ (forwardRef as forwardRefType)(func
283295      values = { [ 
284296        [ DateRangePickerStateContext ,  state ] , 
285297        [ GroupContext ,  { ...groupProps ,  ref : groupRef ,  isInvalid : state . isInvalid } ] , 
286-         [ ButtonContext ,  { ...buttonProps ,  isPressed : state . isOpen } ] , 
298+         [ ButtonContext ,  { ...buttonProps ,  isPressed : isTriggerPressedWhenOpen   &&   state . isOpen } ] , 
287299        [ LabelContext ,  { ...labelProps ,  ref : labelRef ,  elementType : 'span' } ] , 
288300        [ RangeCalendarContext ,  calendarProps ] , 
289301        [ OverlayTriggerStateContext ,  state ] , 
0 commit comments