DropDownButton-BcYvm7ht.js 5.8 KB

1
  1. import{s as x,E as F,G,w as T,a3 as W,f as s,a4 as S,L as N,a5 as H,a6 as K,a7 as q,y as d,a8 as J,a9 as j,aa as Q,ab as U,ac as X,ad as _,K as Y,ae as Z,z as ee,D as te}from"./index-DT8qTvyx.js";var oe=function(m){x(a,m);function a(e){var t=m.call(this,e)||this;return t.state={isOpened:!1},t.open=t.open.bind(t),t.close=t.close.bind(t),t.toogle=t.toogle.bind(t),t.keepOpen=t.keepOpen.bind(t),t.domRef=t.domRef.bind(t),t}return a.prototype.componentDidMount=function(){this.props.defaultIsOpened&&this.setState({isOpened:!0})},a.prototype.domRef=function(e){this.target=e},a.prototype.toogle=function(e){e.preventDefault(),this.setState({isOpened:!this.state.isOpened})},a.prototype.open=function(){return F(this,void 0,void 0,function(){var e,t,o,l,n,c,i;return G(this,function(r){switch(r.label){case 0:return e=this.props,t=e.dispatchEvent,o=e.data,l=e.buttons,n=e.disabled,c=e.btnDisabled,n||c?[2]:(i=typeof l=="string"?T(l,o,"| raw"):l,[4,t("mouseenter",W(o,{items:i}))]);case 1:return r.sent(),this.setState({isOpened:!0}),[2]}})})},a.prototype.close=function(e){var t=this,o,l,n=this.props,c=n.buttons,i=n.data,r=typeof c=="string"?T(c,i,"| raw"):c;this.timer=setTimeout(function(){t.props.dispatchEvent("mouseleave",W(t.props.data,{items:r})),t.setState({isOpened:!1})},200),!((l=(o=e==null?void 0:e.target)===null||o===void 0?void 0:o.getAttribute)===null||l===void 0)&&l.call(o,"download")||e&&e.preventDefault()},a.prototype.keepOpen=function(){this.timer&&clearTimeout(this.timer)},a.prototype.renderButton=function(e,t){var o,l=this,n=this.props,c=n.render,i=n.classnames,r=n.data,v=n.ignoreConfirm,u=n.testIdBuilder;return t=typeof t=="number"?t.toString():t,typeof e!="string"&&Array.isArray(e==null?void 0:e.children)?s.createElement("div",{key:t,className:i("DropDown-menu",{"is-mobile":S()})},s.createElement("li",{key:"".concat(t,"/0"),className:i("DropDown-groupTitle")},e.icon?s.createElement(N,{cx:i,icon:e.icon,className:"m-r-xs"}):null,s.createElement("span",null,e.label)),e.children.map(function(h,f){return l.renderButton(h,"".concat(t,"/").concat(f+1))})):typeof e!="string"&&!H(e,r)?null:e==="divider"||e.type==="divider"?s.createElement("li",{key:t,className:i("DropDown-divider")}):s.createElement("li",{key:t,className:i("DropDown-button",(o={},o["is-disabled"]=K(e,r),o),typeof e.level>"u"?"":e.level?"Button--".concat(e.level):"",q(e.className,r))},c("button/".concat(t),d(d({type:"button"},e),{className:"",testIdBuilder:u==null?void 0:u.getChild(e.label||t,r)}),{isMenuItem:!0,ignoreConfirm:v}))},a.prototype.renderOuter=function(){var e=this,t,o=this.props,l=o.render,n=o.buttons,c=o.data,i=o.popOverContainer,r=o.classnames,v=o.classPrefix,u=o.children,h=o.body;o.align;var f=o.closeOnClick,E=o.closeOnOutside,y=o.menuClassName,b=o.overlayPlacement,B=o.trigger,C=typeof n=="string"?T(n,c,"| raw"):n,D=s.createElement(J,{disabled:!this.state.isOpened,onRootClose:E!==!1?this.close:j},function(p){return s.createElement("ul",{className:r("DropDown-menu-root","DropDown-menu",{"is-mobile":S()},y),onClick:f?e.close:j,onMouseEnter:e.keepOpen,ref:p},u||(h?l("body",h):Array.isArray(C)?C.map(function(k,R){return e.renderButton(k,R)}):null))});return i?s.createElement(Q,{container:i,target:function(){return e.target},placement:b,show:!0},s.createElement(U,{overlay:B!=="hover",onHide:this.close,classPrefix:v,className:r("DropDown-popover",y),style:{minWidth:(t=this.target)===null||t===void 0?void 0:t.offsetWidth}},D)):D},a.prototype.render=function(){var e=this.props,t=e.tooltip,o=e.placement,l=e.tooltipContainer,n=e.tooltipTrigger,c=e.tooltipRootClose,i=e.disabledTip,r=e.block,v=e.disabled,u=e.btnDisabled,h=e.btnClassName,f=e.size,E=f===void 0?"default":f,y=e.label,b=e.level,B=e.primary,C=e.className,D=e.style,p=e.classnames,k=e.align,R=e.iconOnly,L=e.icon,A=e.rightIcon,V=e.isActived,M=e.trigger,P=e.data,$=e.hideCaret,O=e.env,I=e.testIdBuilder,g=e.id,z=e.wrapperCustomStyle,w=e.themeCss;return s.createElement("div",{className:p("DropDown ",{"DropDown--block":r,"DropDown--alignRight":k==="right","is-opened":this.state.isOpened,"is-actived":V,"is-mobile":S()},C),style:D,onMouseEnter:M==="hover"?this.open:function(){},onMouseLeave:M==="hover"?this.close:function(){},ref:this.domRef},s.createElement(X,{placement:o,tooltip:v?i:t,container:l||(O==null?void 0:O.getModalContainer),trigger:n,rootClose:c},s.createElement("button",d({onClick:this.toogle,disabled:v||u},I==null?void 0:I.getTestId(P),{className:p("Button",h,typeof b>"u"?"Button--default":b?"Button--".concat(b):"",{"Button--block":r,"Button--primary":B,"Button--iconOnly":R},"Button--size-".concat(E),_(d(d({},this.props),{name:"wrapperCustomStyle",id:g,themeCss:z})),_(d(d({},this.props),{name:"className",id:g,themeCss:w})))}),s.createElement(N,{c:p,icon:L,className:p("icon m-r-xs",_(d(d({},this.props),{name:"iconClassName",id:g,themeCss:w})))}),typeof y=="string"?Y(y,P):y,A&&s.createElement(N,{cx:p,icon:A,className:p("icon m-l-xs",_(d(d({},this.props),{name:"iconClassName",id:g,themeCss:w})))}),$?null:s.createElement("span",{className:p("DropDown-caret")},s.createElement(N,{icon:"right-arrow-bold",className:"icon"})))),this.state.isOpened?this.renderOuter():null,s.createElement(Z,d({},this.props,{config:{themeCss:w,classNames:[{key:"className",weights:{hover:{suf:":not(:disabled):not(.is-disabled)"},active:{suf:":not(:disabled):not(.is-disabled)"}}},{key:"iconClassName",weights:{default:{important:!0},hover:{important:!0,suf:":not(:disabled):not(.is-disabled)"},active:{important:!0,suf:":not(:disabled):not(.is-disabled)"}}}],wrapperCustomStyle:z,id:g},env:O})))},a.defaultProps={placement:"top",tooltipTrigger:["hover","focus"],tooltipRootClose:!1,overlayPlacement:"auto"},a}(s.Component),ae=function(m){x(a,m);function a(){return m!==null&&m.apply(this,arguments)||this}return a=ee([te({type:"dropdown-button"})],a),a}(oe);export{ae as DropDownButtonRenderer,oe as default};