const e=require("../_util/classNames.js"),t=require("../_util/props-util/initDefaultProps.js"),n=require("../config-provider/hooks/useConfigInject.js"),r=require("../tooltip/index.js"),i=require("../badge/index.js"),a=require("./interface.js"),o=require("./FloatButtonContent.js"),s=require("./context.js"),c=require("./style/index.js");let l=require("vue");var u=`float-btn`,d=(0,l.defineComponent)({compatConfig:{MODE:3},name:`AFloatButton`,inheritAttrs:!1,props:t.default(a.floatButtonProps(),{type:`default`,shape:`circle`}),setup(t,{attrs:a,slots:d}){let{prefixCls:f,direction:p}=n.default(u,t),[m,h]=c.default(f),{shape:g}=s.useInjectFloatButtonGroupContext(),_=(0,l.ref)(null),v=(0,l.computed)(()=>g?.value||t.shape);return()=>{let{prefixCls:n,type:s=`default`,shape:c=`circle`,description:u=d.description?.(),tooltip:g,badge:y={},...b}=t,x=e.default(f.value,`${f.value}-${s}`,`${f.value}-${v.value}`,{[`${f.value}-rtl`]:p.value===`rtl`},a.class,h.value),S=(0,l.createVNode)(r.default,{placement:`left`},{title:d.tooltip||g?()=>d.tooltip&&d.tooltip()||g:void 0,default:()=>(0,l.createVNode)(i.default,y,{default:()=>[(0,l.createVNode)(`div`,{class:`${f.value}-body`},[(0,l.createVNode)(o.default,{prefixCls:f.value},{icon:d.icon,description:()=>u})])]})});return m(t.href?(0,l.createVNode)(`a`,{ref:_,...a,...b,class:x},[S]):(0,l.createVNode)(`button`,{ref:_,...a,...b,class:x,type:`button`},[S]))}}});exports.default=d,exports.floatButtonPrefixCls=u;