boundless-button
v1.1.0
Published
A control with "pressed" state support.
Downloads
19
Maintainers
Readme
THIS IS AN AUTOGENERATED FILE. EDIT INDEX.JS INSTEAD.
Button
A control with "pressed" state support.
Button has two modes of operation:
stateless (like a normal
<button>
)<Button onPressed={doSomething}>foo</Button>
Note that instead of
onClick
, Button usesonPressed
. This is because the component also listens for keyboard Enter events, soonClick
only tells half the story. You can still bind to that particular React event though if there's a need to tell the difference between clicks and Enter presses.stateful (like a toggle, e.g. bold-mode in a rich text editor)
"stateful" mode is triggered by passing a boolean to
pressed
. This enables the button to act like a controlled component. TheonUnpressed
event callback will also now be fired when appropriate.<Button pressed={true} onPressed={doSomething} onUnpressed={doSomethingElse}> foo </Button>
Props
Note: only top-level props are in the README, for the full list check out the website.
Required Props
There are no required props.
Optional Props
<tr>
<td>children</td>
<td><pre><code>any renderable</code></pre></td>
<td><pre><code class="language-js">null</code></pre></td>
<td></td>
</tr>
<tr>
<td>component</td>
<td><pre><code>string or function</code></pre></td>
<td><pre><code class="language-js">'button'</code></pre></td>
<td>Any valid HTML tag name or a React component factory, anything that can be passed as the first argument to `React.createElement`</td>
</tr>
<tr>
<td>onClick</td>
<td><pre><code>function</code></pre></td>
<td><pre><code class="language-js">noop</code></pre></td>
<td></td>
</tr>
<tr>
<td>onPressed</td>
<td><pre><code>function</code></pre></td>
<td><pre><code class="language-js">noop</code></pre></td>
<td>called when the element becomes "pressed" or triggered by the user (mouse or keyboard); backing data must be updated to persist the state change; this function will still be called if `props.pressed` is not passed</td>
</tr>
<tr>
<td>onUnpressed</td>
<td><pre><code>function</code></pre></td>
<td><pre><code class="language-js">noop</code></pre></td>
<td>called when the element becomes "unpressed"; backing data must be updated to persist the state change</td>
</tr>
<tr>
<td>pressed</td>
<td><pre><code>bool</code></pre></td>
<td><pre><code class="language-js">undefined</code></pre></td>
<td>enables "pressed" support and adds the `aria-pressed` attribute to the `.b-button` node; essentially a "stateful" button (see the "unpressed/pressed" example demo above)</td>
</tr>