<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/mui-org/material-ui/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Expected Behavior</h2>

<p dir="auto">When calling Dialog component with fullWidth=true and no other props I would expect the Dialog to take up the full width of the screen</p>
<h2 dir="auto">Current Behavior</h2>

<p dir="auto">What's happening is because the of the defaultProps value for maxWidth is 'sm' the true width ends up being capped at 600px like so:</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/19170080/34534440-204d3588-f08c-11e7-9f1d-d0b09c9a15a1.png"><img src="https://user-images.githubusercontent.com/19170080/34534440-204d3588-f08c-11e7-9f1d-d0b09c9a15a1.png" alt="screen shot 2018-01-03 at 1 43 39 pm" style="max-width: 100%;"></a></p>
<p dir="auto">I only noticed the issue when I accidentally put 'lg' a value which is not supported and noticed that it worked like I wanted it to</p>
<h2 dir="auto">Steps to Reproduce (for bugs)</h2>

<ol dir="auto">
<li>Open Dialog component with props fullScreen=true</li>
</ol>
<h2 dir="auto">Context</h2>

<p dir="auto">I would like to submit a PR if approved to check if there is fullScreen applied and no maxWidth prop provided to ignore the defaultProps of 'sm'</p>
<h2 dir="auto">Your Environment</h2>

<table role="table">
<thead>
<tr>
<th>Tech</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Material-UI</td>
<td>1.0.0-beta.26</td>
</tr>
<tr>
<td>React</td>
<td>16</td>
</tr>
<tr>
<td>browser</td>
<td>Chrome 63</td>
</tr>
<tr>
<td>etc</td>
<td></td>
</tr>
</tbody>
</table>
<p dir="auto">I am trying the following:</p>
<div class="highlight highlight-source-ts notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="const decorate = withStyles(({ palette }) =&gt; ({
  root: {
  }
}));

class MyComponent extends React.Component&lt;WithStyles&lt;'root'&gt;&gt; {

  // What should be the type of the props?
  constructor(props: WithStyles&lt;'root'&gt;) {
    super(props);
    // ... do things
  }

  render() {
    const cl = this.props.classes!;
    return &lt;div className={cl.root}&gt;hi&lt;/div&gt;;
  }
}

export default decorate&lt;{}&gt;(MyComponent);
"><pre class="notranslate"><span class="pl-k">const</span> <span class="pl-s1">decorate</span> <span class="pl-c1">=</span> <span class="pl-en">withStyles</span><span class="pl-kos">(</span><span class="pl-kos">(</span><span class="pl-kos">{</span> palette <span class="pl-kos">}</span><span class="pl-kos">)</span> <span class="pl-c1">=&gt;</span> <span class="pl-kos">(</span><span class="pl-kos">{</span>
  <span class="pl-c1">root</span>: <span class="pl-kos">{</span>
  <span class="pl-kos">}</span>
<span class="pl-kos">}</span><span class="pl-kos">)</span><span class="pl-kos">)</span><span class="pl-kos">;</span>

<span class="pl-k">class</span> <span class="pl-smi">MyComponent</span> <span class="pl-k">extends</span> <span class="pl-smi">React</span><span class="pl-kos">.</span><span class="pl-c1">Component</span><span class="pl-kos">&lt;</span><span class="pl-smi">WithStyles</span><span class="pl-kos">&lt;</span><span class="pl-s">'root'</span><span class="pl-kos">&gt;</span><span class="pl-kos">&gt;</span> <span class="pl-kos">{</span>

  <span class="pl-c">// What should be the type of the props?</span>
  <span class="pl-en">constructor</span><span class="pl-kos">(</span><span class="pl-s1">props</span>: <span class="pl-smi">WithStyles</span><span class="pl-kos">&lt;</span><span class="pl-s">'root'</span><span class="pl-kos">&gt;</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-smi">super</span><span class="pl-kos">(</span><span class="pl-s1">props</span><span class="pl-kos">)</span><span class="pl-kos">;</span>
    <span class="pl-c">// ... do things</span>
  <span class="pl-kos">}</span>

  <span class="pl-en">render</span><span class="pl-kos">(</span><span class="pl-kos">)</span> <span class="pl-kos">{</span>
    <span class="pl-k">const</span> <span class="pl-s1">cl</span> <span class="pl-c1">=</span> <span class="pl-smi">this</span><span class="pl-kos">.</span><span class="pl-c1">props</span><span class="pl-kos">.</span><span class="pl-c1">classes</span><span class="pl-c1">!</span><span class="pl-kos">;</span>
    <span class="pl-k">return</span> <span class="pl-c1">&lt;</span><span class="pl-s1">div</span> <span class="pl-smi">className</span><span class="pl-c1">=</span><span class="pl-kos">{</span><span class="pl-c1">cl</span><span class="pl-kos">.</span><span class="pl-c1">root</span><span class="pl-kos">}</span><span class="pl-c1">&gt;</span><span class="pl-s1">hi</span><span class="pl-c1">&lt;</span><span class="pl-c1">/</span>div&gt;;
  <span class="pl-kos">}</span>
<span class="pl-kos">}</span>

<span class="pl-k">export</span> <span class="pl-k">default</span> <span class="pl-en">decorate</span><span class="pl-kos">&lt;</span><span class="pl-kos">{</span><span class="pl-kos">}</span><span class="pl-kos">&gt;</span><span class="pl-kos">(</span><span class="pl-smi">MyComponent</span><span class="pl-kos">)</span><span class="pl-kos">;</span></pre></div>
<p dir="auto">However struggling to work out the right constructor props type</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="Error:(67, 29) TS2345:Argument of type 'typeof MyClass' is not assignable to parameter of type 'ComponentType&lt;WithStyles&lt;&quot;root&quot;&gt;&gt;'.
  Type 'typeof MyClass' is not assignable to type 'StatelessComponent&lt;WithStyles&lt;&quot;root&quot;&gt;&gt;'.
    Type 'typeof MyClass' provides no match for the signature '(props: WithStyles&lt;&quot;root&quot;&gt; &amp; { children?: ReactNode; }, context?: any): ReactElement&lt;any&gt; | null'."><pre class="notranslate"><code class="notranslate">Error:(67, 29) TS2345:Argument of type 'typeof MyClass' is not assignable to parameter of type 'ComponentType&lt;WithStyles&lt;"root"&gt;&gt;'.
  Type 'typeof MyClass' is not assignable to type 'StatelessComponent&lt;WithStyles&lt;"root"&gt;&gt;'.
    Type 'typeof MyClass' provides no match for the signature '(props: WithStyles&lt;"root"&gt; &amp; { children?: ReactNode; }, context?: any): ReactElement&lt;any&gt; | null'.
</code></pre></div>
<p dir="auto">The Typescript Guide in the docs doesn't provide an example to show how to type a constructor</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/callemall/material-ui/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h2 dir="auto">Your Environment</h2>

<table role="table">
<thead>
<tr>
<th>Tech</th>
<th>Version</th>
</tr>
</thead>
<tbody>
<tr>
<td>Material-UI</td>
<td>1.0.0-beta.17</td>
</tr>
<tr>
<td>React</td>
<td>16.0.0  (using <code class="notranslate">@types/react</code> 16.0.18</td>
</tr>
</tbody>
</table>