UNPKG

@chief-editor/ui

Version:

UI Component for chief editor

1 lines 2.28 kB
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var s,t=1,a=arguments.length;t<a;t++)for(var r in s=arguments[t])Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,s){var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&s.indexOf(a)<0&&(t[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)s.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(t[a[r]]=e[a[r]])}return t};import{Check as Check1}from"@byte-design/icons";import{TreeMapState}from"@co-hooks/tree-map";import{useRefCallback}from"@rc-hooks/use";import{classnames}from"@co-hooks/util";import React,{useCallback}from"react";import{usePrefixCls}from"../../hooks/usePrefixCls";import{Checkbox}from"../checkbox";export var ListItem=function(e){var s=e.prefixCls,t=e.className,a=e.children,r=e.checkable,o=void 0!==r&&r,c=e.chosen,l=void 0!==c&&c,i=e.disabled,n=void 0!==i&&i,f=e.readonly,m=void 0!==f&&f,p=e.state,h=void 0===p?TreeMapState.UNSELECTED:p,C=e.onCheckboxChange,u=e.style,b=e.level,d=void 0===b?1:b,k=e.onClick,x=e.domRef,y=__rest(e,["prefixCls","className","children","checkable","chosen","disabled","readonly","state","onCheckboxChange","style","level","onClick","domRef"]),v=classnames(usePrefixCls("list-item-inner-wrapper"),usePrefixCls(s+"-inner-wrapper")),P=classnames(usePrefixCls("list-item-container",{disabled:n,readonly:m,level:""+d,checked:h===TreeMapState.SELECTED}),usePrefixCls(s+"-container"),t),g=classnames(usePrefixCls("list-item-checkbox"),usePrefixCls(s+"-checkbox")),E=classnames(usePrefixCls("list-item-chosen-icon"),usePrefixCls(s+"-chosen-icon")),_=useRefCallback(C),O=useRefCallback(k),R=useCallback((function(e){n||m||O(e)}),[n,m]),S=useCallback((function(e){return e.stopPropagation()}),[]);return React.createElement("div",{className:P,ref:x,style:u,onClick:R},o&&React.createElement(Checkbox,{className:g,onValueChange:_,disabled:n||m,onClick:S,checked:h===TreeMapState.SELECTED,indeterminate:h===TreeMapState.PARTIAL}),React.createElement("div",__assign({},y,{className:v}),"function"==typeof a?a():a),l&&React.createElement(Check1,{className:E}))};