@chief-editor/brick-control
Version:
Control Brick for chief editor
1 lines • 1.09 kB
JavaScript
var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};import React from"react";import{Collapse}from"@chief-editor/ui";import{useSingleton}from"@rc-hooks/use";import{More}from"@chief-editor/icons";export function PanelBrick(e){var t=e.styles,n=e.layout,r=e.dispatchEvent,i=e.creator,o=e.renderPart,a=e.config,l=e.env,c=a.props,s=c.open,p=c.title,f=c.bind,m=useSingleton((function(){return s||"flow"!==l?[i]:[]}));return React.createElement(Collapse,{openIds:m,"data-id":i,style:__assign(__assign({},t),n),onClick:r,type:"panel"},React.createElement(Collapse.Item,{id:i,title:f?React.createElement("div",{style:{display:"flex",flex:1}},React.createElement("div",null,p),React.createElement("div",{style:{marginLeft:"auto"}},"flow"!==l?React.createElement("div",{style:{width:24,textAlign:"center"}},React.createElement(More,{size:12})):o("bind"))):p,iconType:"arrow",iconPosition:"left"},o("content")))}