import{p as $,bC as W,bD as H,s as P,f as d,aG as Q,bf as U,b4 as D,a3 as V,bE as L,L as B,bF as M,bG as Z,bH as q,ad as J,y as I,O as K,ae as X,z as k,P as N,Q as i,aZ as Y,bm as ee}from"./index-BPRWoLf4.js";var te=Math.max,ae=Math.min;function ne(p,a,e){return p>=ae(a,e)&&p=n&&(r+=" last-line"),e[b].setClassName(r)})}},a.prototype.renderGroup=function(e,t){var s=this,o,n=this.props,l=n.classnames,h=n.labelField;if(!(!((o=e.children)===null||o===void 0)&&o.length))return null;var u=e.children.map(function(b,m){return s.renderItem(b,m)}),r=this.columnsSplit(u);return d.createElement("div",{key:"group-"+t,className:l("CheckboxesControl-group",e.className)},d.createElement("label",{className:l("CheckboxesControl-groupLabel",e.labelClassName)},e[h||"label"]),r)},a.prototype.addChildRefs=function(e){e&&this.childRefs.push(e)},a.prototype.renderItem=function(e,t){var s=this,o;if(!((o=e.children)===null||o===void 0)&&o.length)return this.renderGroup(e,t);var n=this.props,l=n.render,h=n.itemClassName,u=n.onToggle,r=n.selectedOptions,b=n.disabled,m=n.inline,f=n.labelClassName,v=n.labelField,E=n.removable,T=n.editable,S=n.translate,F=n.optionType,g=n.menuTpl,O=n.data,y=n.testIdBuilder,_=String(e[v||"label"]),A=e.labelClassName,R=y==null?void 0:y.getChild("item-"+_||t);return d.createElement(D,{className:h,key:t,onChange:function(){return u(e)},checked:!!~r.indexOf(e),disabled:b||e.disabled,inline:m,labelClassName:A||f,description:e.description,optionType:F,testIdBuilder:R,ref:this.addChildRefs},g?l("checkboxes/".concat(t),g,{data:V(O,e)}):_,E&&L(e,"removable")?d.createElement("a",{"data-tooltip":S("Select.clear"),"data-position":"left"},d.createElement(B,{icon:"minus",className:"icon",onClick:function(x){return s.handleDeleteClick(x,e)}})):null,T&&L(e,"editable")?d.createElement("a",{"data-tooltip":"编辑","data-position":"left"},d.createElement(B,{icon:"pencil",className:"icon",onClick:function(x){return s.handleEditClick(x,e)}})):null)},a.prototype.columnsSplit=function(e){var t=this.props,s=t.columnsCount,o=t.classnames,n=[],l=[];return e.forEach(function(h){h&&h.key&&String(h.key).startsWith("group")?(l.length&&(n.push(M(l,o,s)),l=[]),n.push(h)):l.push(h)}),l.length&&n.push(M(l,o,s)),n},a.prototype.render=function(){var e=this,t=this.props,s=t.className;t.style;var o=t.disabled,n=t.placeholder,l=t.options,h=t.inline;t.columnsCount;var u=t.selectedOptions;t.onToggle;var r=t.onToggleAll,b=t.checkAll,m=t.checkAllText,f=t.classnames,v=t.itemClassName,E=t.labelClassName,T=t.creatable,S=t.addApi,F=t.createBtnLabel,g=t.translate,O=t.optionType,y=t.loading,_=t.loadingConfig,A=t.themeCss,R=t.id,x=t.env,c=t.classPrefix,C=[];l&&l.length&&(C=l.map(function(z,G){return e.renderItem(z,G)})),b&&C.length&&O==="default"&&C.unshift(d.createElement(D,{key:"checkall",className:v,onChange:r,checked:!!u.length,partial:ce(u.length,0,Z(l).length),disabled:o,inline:h,labelClassName:E},m??g("Checkboxes.selectAll"))),C=this.columnsSplit(C);var w=q(A,"checkboxes");return d.createElement("div",{className:f("CheckboxesControl",s,J(I(I({},this.props),{name:["checkboxesControlClassName","checkboxesControlCheckedClassName","checkboxesClassName","checkboxesCheckedClassName","checkboxesInnerClassName","checkboxesShowClassName"],id:R,themeCss:w}))),ref:this.checkboxRef},C&&C.length?C:y?null:d.createElement("span",{className:"Form-placeholder"},g(n)),y?d.createElement(K,{show:!0,icon:"reload",size:"sm",spinnerClassName:f("Checkboxes-spinner"),loadingConfig:_}):null,(T||S)&&!o?d.createElement("a",{className:f("Checkboxes-addBtn"),onClick:this.handleAddClick},d.createElement(B,{icon:"plus",className:"icon"}),g(F)):null,d.createElement(X,I({},this.props,{config:{themeCss:w,classNames:[{key:"checkboxesControlClassName",weights:{default:{inner:".".concat(c,"Checkbox:not(.checked):not(.disabled)")},hover:{suf:" .".concat(c,"Checkbox:not(.disabled):not(.checked)")},disabled:{inner:".".concat(c,"Checkbox.disabled:not(.checked)")}}},{key:"checkboxesControlCheckedClassName",weights:{default:{inner:".".concat(c,"Checkbox.checked:not(.disabled)")},hover:{suf:" .".concat(c,"Checkbox.checked:not(.disabled)")},disabled:{inner:".".concat(c,"Checkbox.checked.disabled")}}},{key:"checkboxesClassName",weights:{default:{inner:".".concat(c,"Checkbox:not(.checked):not(.disabled) > i")},hover:{suf:" .".concat(c,"Checkbox:not(.disabled):not(.checked)"),inner:"> i"},disabled:{inner:".".concat(c,"Checkbox.disabled:not(.checked) > i")}}},{key:"checkboxesCheckedClassName",weights:{default:{inner:".".concat(c,"Checkbox:not(.disabled) > i")},hover:{suf:" .".concat(c,"Checkbox:not(.disabled)"),inner:"> i"},disabled:{inner:".".concat(c,"Checkbox.disabled > i")}}},{key:"checkboxesInnerClassName",weights:{default:{inner:".".concat(c,"Checkbox:not(.disabled) > i .icon")},hover:{suf:" .".concat(c,"Checkbox:not(.disabled)"),inner:"> i .icon"},disabled:{inner:".".concat(c,"Checkbox.disabled > i .icon")}}},{key:"checkboxesShowClassName",weights:{default:{inner:".".concat(c,"Checkbox > i")}}}],id:R},env:x})))},a.defaultProps={columnsCount:1,multiple:!0,placeholder:"placeholder.noOption",creatable:!1,inline:!0,createBtnLabel:"Select.createLabel",optionType:"default"},k([N,i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],a.prototype,"handleAddClick",null),k([N,i("design:type",Function),i("design:paramtypes",[Event,Object]),i("design:returntype",void 0)],a.prototype,"handleEditClick",null),k([N,i("design:type",Function),i("design:paramtypes",[Event,Object]),i("design:returntype",void 0)],a.prototype,"handleDeleteClick",null),k([N,i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],a.prototype,"updateBorderStyle",null),k([N,i("design:type",Function),i("design:paramtypes",[Object]),i("design:returntype",void 0)],a.prototype,"addChildRefs",null),k([Y(),i("design:type",Function),i("design:paramtypes",[]),i("design:returntype",void 0)],a.prototype,"render",null),a}(d.Component),pe=function(p){P(a,p);function a(){return p!==null&&p.apply(this,arguments)||this}return a=k([ee({type:"checkboxes",sizeMutable:!1,thin:!0})],a),a}(de);export{pe as CheckboxesControlRenderer,de as default};