# Dialog

## propTypes

```
Dialog.propTypes = {
    closeOnEnter: PropTypes.bool,
    closeOnEscape: PropTypes.bool,
    contentChildren: PropTypes.node,
    contentHeight: PropTypes.oneOfType([
        PropTypes.string,
        PropTypes.number
    ]),
    contentPadding: PropTypes.number,
    footerChildren: PropTypes.node,
    headerChildren: PropTypes.node,
    id: PropTypes.string,
    isClosable: PropTypes.bool,
    isModal: PropTypes.bool,
    isOpen: PropTypes.bool,
    onClose: PropTypes.func,
    onEnter: PropTypes.func,
    onEscape: PropTypes.func,
    showFooter: PropTypes.bool,
    showHeader: PropTypes.bool,
    subClass: PropTypes.string,
    width: PropTypes.oneOfType([
        PropTypes.string,
        PropTypes.number
    ])
};
```

## defaultProps

```
Dialog.defaultProps = {
    closeOnEnter: true,
    closeOnEscape: true,
    contentChildren: (<div>Content</div>),
    contentHeight: 200,
    contentPadding: 8,
    footerChildren: (<div>Footer</div>),
    headerChildren: (<div>Header</div>),
    id: `tsdevDialog-${Uuid.v4()}`,
    isClosable: true,
    isModal: false,
    isOpen: false,
    onClose: noop,
    onEnter: noop,
    onEscape: noop,
    showFooter: true,
    showHeader: true,
    subClass: '',
    width: 450
};
```
## Functions
```
onClose(obj) => {
    // obj-example
    <!-- id: "tsdevDialog-7512a5a6-9f9f-42e5-b551-1c43c5810879" -->
};

onEnter(obj) => {
    // obj-example
    <!-- id: "tsdevDialog-7512a5a6-9f9f-42e5-b551-1c43c5810879" -->
};

onEscape(obj) => {
    // obj-example
    <!-- id: "tsdevDialog-7512a5a6-9f9f-42e5-b551-1c43c5810879" -->
};
```