"use client";import{useFocusRing as y}from"@react-aria/focus";import{useHover as b}from"@react-aria/interactions";import{useActivePress as P}from'../../hooks/use-active-press.js';import{useSlot as B}from'../../hooks/use-slot.js';import{useDisabled as c}from'../../internal/disabled.js';import{forwardRefWithAs as A,mergeProps as g,useRender as _}from'../../utils/render.js';let R="button";function v(s,n){var r;let p=c(),{disabled:e=p||!1,autoFocus:t=!1,...o}=s,{isFocusVisible:a,focusProps:l}=y({autoFocus:t}),{isHovered:u,hoverProps:i}=b({isDisabled:e}),{pressed:T,pressProps:d}=P({disabled:e}),f=g({ref:n,type:(r=o.type)!=null?r:"button",disabled:e||void 0,autoFocus:t},l,i,d),m=B({disabled:e,hover:u,focus:a,active:T,autofocus:t});return _()({ourProps:f,theirProps:o,slot:m,defaultTag:R,name:"Button"})}let L=A(v);export{L as Button};
