azure-devops-ui
Version:
React components for building web UI in Azure DevOps
1 lines • 1.98 kB
JavaScript
import"../../CommonImports";import"../../Core/core.css";import"./Dialog.css";import*as React from"react";import{PanelCloseButtonSize}from"../../Components/Panel/Panel.Props";import{TitleSize}from"../../Header";import{PanelFooter,PanelHeader}from"../../Panel";import{SurfaceContext}from"../../Surface";import{css}from"../../Util";import{CustomDialog}from"./CustomDialog";let dialogId=1;class DialogInternal extends React.Component{constructor(){super(...arguments),this.dialogId="dialog-"+dialogId++}render(){const{ariaDescribedBy:e,ariaLabel:t,ariaLabelledBy:o,blurDismiss:a,calloutClassName:s,calloutContentClassName:i,className:l,contentJustification:r,contentLocation:n,contentSize:m,defaultActiveElement:c,escDismiss:d,enterPrimary:p,footerButtonProps:u,lightDismiss:C,modal:g,onDismiss:f,overlay:b,resizable:D,showCloseButton:P}=this.props;var h=Object.assign({},this.props.titleProps),z=this.props.id||this.dialogId,S=h.id||(h.text?z+"-title":void 0);return h.id=S,void 0===h.size&&(h.size=TitleSize.Small),React.createElement(CustomDialog,{ariaDescribedBy:e,ariaLabel:t,ariaLabelledBy:o||S,blurDismiss:a,calloutClassName:s,calloutContentClassName:i,contentLocation:n,contentJustification:r,className:css("bolt-dialog",l),defaultActiveElement:c,escDismiss:d,id:z,lightDismiss:C,modal:g,onDismiss:f,overlay:b,contentSize:m,resizable:D,enterPrimary:p,primaryButtonProps:null===u||void 0===u?void 0:u.find(e=>e.primary)},React.createElement(PanelHeader,{onDismiss:f,closeButtonSize:PanelCloseButtonSize.small,showCloseButton:P,showSeparator:!1,titleProps:h}),React.createElement(SurfaceContext.Consumer,null,e=>React.createElement("div",{className:css("bolt-dialog-content flex-column flex-grow",!u&&"bolt-dialog-content-bottom-padding",e.horizontalClassName)},this.props.children)),u&&React.createElement(PanelFooter,{className:css(D&&"bolt-dialog-resizable-footer"),showSeparator:!1,buttonProps:u}))}}DialogInternal.defaultProps={showCloseButton:!1};export{DialogInternal};