@chief-editor/ui
Version:
UI Component for chief editor
1 lines • 1.33 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,t){var r={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(o=Object.getOwnPropertySymbols(e);s<o.length;s++)t.indexOf(o[s])<0&&Object.prototype.propertyIsEnumerable.call(e,o[s])&&(r[o[s]]=e[o[s]])}return r};import{usePrefixCls}from"@byte-design/config";import{useGroupItem}from"@rc-hooks/group";import{classnames}from"@co-hooks/util";import React,{useCallback}from"react";import{Button}from"../button";export function CheckGroupButton(e){var t=e.value,r=e.disabled,o=void 0!==r&&r,s=e.group,a=void 0===s?"checkbox":s,c=e.className,n=__rest(e,["value","disabled","group","className"]),i=useGroupItem({disabled:o,value:t,group:a,free:!1,extraProps:{}}),l=i[0],u=i[1],p=classnames(usePrefixCls("check-group-button",{checked:l.checked}),c),f=useCallback((function(e){l.disabled||u(e)}),[u,l.checked]);return React.createElement(Button.Checkable,__assign({},n,{className:p,type:"text",checked:l.checked,disabled:l.disabled,onChange:f}))}