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