azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 1.27 kB
JavaScript
import"../../CommonImports";import"../../Core/core.css";import"./Panel.css";import*as React from"react";import{CustomPanel}from"./CustomPanel";import{PanelContent}from"./PanelContent";import{PanelFooter}from"./PanelFooter";import{PanelHeader}from"./PanelHeader";import{PanelOverlay}from"./PanelOverlay";let panelId=1;class Panel extends React.Component{constructor(){super(...arguments),this.customPanelRef=React.createRef(),this.panelId="panel-"+panelId++}render(){var e=this["props"],{backButtonProps:t,description:a,descriptionItem:o,footerButtonProps:r,onDismiss:n,overlayContent:s,showSeparator:l,titleProps:i={}}=e,m=e.id||this.panelId,c=i.id||(i.text?m+"-title":void 0);return React.createElement(CustomPanel,Object.assign({ariaLabelledBy:c},e,{id:m,lightDismiss:!s&&e.lightDismiss,ref:this.customPanelRef}),React.createElement(PanelHeader,{backButtonProps:t,description:o||a,onDismiss:n,showSeparator:l,titleProps:Object.assign({id:c},i)}),React.createElement(PanelContent,{className:e.contentClassName},e.children),r&&React.createElement(PanelFooter,{showSeparator:l,buttonProps:r}),s&&React.createElement(PanelOverlay,{overlayContent:s}))}animateOut(){return this.customPanelRef.current?this.customPanelRef.current.animateOut():Promise.resolve()}}export{Panel};