<p dir="auto">Compilation error, when:<br>
<code class="notranslate">export const Desktop = withStyles(styles)&lt;Page&gt;(DesktopComponent)</code></p>
<p dir="auto">Where:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="const styles = {
  container: {
    position: 'absolute', // &lt;-- if we will remove this line, all will be ok
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    padding: 10
  }
}"><pre class="notranslate"><code class="notranslate">const styles = {
  container: {
    position: 'absolute', // &lt;-- if we will remove this line, all will be ok
    top: 0,
    left: 0,
    right: 0,
    bottom: 0,
    padding: 10
  }
}
</code></pre></div>


<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">Expected Behavior</h2>
<p dir="auto">Looks like it's a default key, but I have an error.</p>

<h2 dir="auto">Current Behavior</h2>

<p dir="auto">Have following compilation error:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="error TS2345: Argument of type '{ container: { position: string; top: number; left: number; right: number; bottom: number; paddin...' is not assignable to parameter of type 'Record&lt;&quot;container&quot;, Partial&lt;CSSProperties&gt;&gt; | StyleRulesCallback&lt;&quot;container&quot;&gt;'.
  Type '{ container: { position: string; top: number; left: number; right: number; bottom: number; paddin...' is not assignable to type 'StyleRulesCallback&lt;&quot;container&quot;&gt;'.
    Type '{ container: { position: string; top: number; left: number; right: number; bottom: number; paddin...' provides no match for the signature '(theme: { direction: &quot;ltr&quot; | &quot;rtl&quot;; palette: Palette; typography: Typography; mixins: Mixins; breakpoints: Breakpoints; shadows: [&quot;none&quot;, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]; transitions: Transitions; spacing: Spacing; zIndex: ZIndex; }): Record&lt;&quot;container&quot;, Partial&lt;CSSProperties&gt;&gt;'."><pre class="notranslate"><code class="notranslate">error TS2345: Argument of type '{ container: { position: string; top: number; left: number; right: number; bottom: number; paddin...' is not assignable to parameter of type 'Record&lt;"container", Partial&lt;CSSProperties&gt;&gt; | StyleRulesCallback&lt;"container"&gt;'.
  Type '{ container: { position: string; top: number; left: number; right: number; bottom: number; paddin...' is not assignable to type 'StyleRulesCallback&lt;"container"&gt;'.
    Type '{ container: { position: string; top: number; left: number; right: number; bottom: number; paddin...' provides no match for the signature '(theme: { direction: "ltr" | "rtl"; palette: Palette; typography: Typography; mixins: Mixins; breakpoints: Breakpoints; shadows: ["none", string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string]; transitions: Transitions; spacing: Spacing; zIndex: ZIndex; }): Record&lt;"container", Partial&lt;CSSProperties&gt;&gt;'.
</code></pre></div>
<h2 dir="auto">Context</h2>
 
<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.19</td>
</tr>
<tr>
<td>React</td>
<td>16.0.0</td>
</tr>
<tr>
<td>browser</td>
<td>Chrome  61.0.3163.100</td>
</tr>
<tr>
<td>etc</td>
<td>Typescript template</td>
</tr>
</tbody>
</table>
<p dir="auto">If I navigate to an <code class="notranslate">IconButton</code> using <kbd>tab</kbd> and press <kbd>Enter</kbd>, if there is some handler that changes the component, then the ripple effect freezes.</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">Expected Behavior</h2>

<p dir="auto">The ripple effect should disappear, as it happens with a regular button<br>
Example with <code class="notranslate">Button</code> (expected behavior) : <a href="https://codesandbox.io/s/6km1v704k" rel="nofollow">https://codesandbox.io/s/6km1v704k</a></p>
<h2 dir="auto">Current Behavior</h2>

<p dir="auto">The ripple effect freezes and stays visible.</p>
<h2 dir="auto">Steps to Reproduce (for bugs)</h2>

<p dir="auto">Example with <code class="notranslate">IconButton</code> : <a href="https://codesandbox.io/s/2wp3yyn30" rel="nofollow">https://codesandbox.io/s/2wp3yyn30</a></p>
<ol dir="auto">
<li>Navigate using tab keys to the second icon and press enter.</li>
</ol>
<h2 dir="auto">Context</h2>
    
<p dir="auto">I'm building an application that should be mainly focused on keyboard input.<br>
The user will enter a lot of data. For a good user experience, it is important that he can do the most with the keyboard.</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.21</td>
</tr>
<tr>
<td>React</td>
<td>16.1.0</td>
</tr>
<tr>
<td>browser</td>
<td>FF 57.0 and Chromium Version 62.0.3202.89</td>
</tr>
</tbody>
</table>