Product
Introducing SSO
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
boundless-radio
Advanced tools
Readme
Radio is implemented as a "controlled input", meaning it is a direct representation of the model data passed inside. User interaction will bubble changes in the form of onSelected
that a controller view must intercept and apply against the data provider.
npm i boundless-radio --save
Then use it like:
/** @jsx createElement */
import { createElement, PureComponent } from 'react';
import Radio from 'boundless-radio';
export default class RadioDemo extends PureComponent {
state = {
options: [ {
labelContent: 'Business',
name: 'major',
selected: false,
value: 'bus',
}, {
labelContent: 'Engineering',
name: 'major',
selected: true,
value: 'eng',
}, {
labelContent: 'Physical Sciences',
name: 'major',
selected: false,
value: 'phys-sci',
}, {
labelContent: 'Psychology',
name: 'major',
selected: false,
value: 'psy',
}, {
labelContent: 'Law',
name: 'major',
selected: false,
value: 'law',
} ],
}
handleInteraction(code) {
// eslint-disable-next-line no-alert
alert(`${code} selected!\n\nThe input will now revert to its previous state because this demo does not persist model changes.`);
}
render() {
return (
<div>
<p>What is your academic major?</p>
<div className='spread'>
{this.state.options.map((definition) => {
let boundFunc = this.handleInteraction.bind(this, definition.value);
return (
<Radio {...definition}
key={definition.value}
labelContent={definition.labelContent}
onSelected={boundFunc} />
);
})}
</div>
</div>
);
}
}
Radio can also just be directly used from the main Boundless library. This is recommended when you're getting started to avoid maintaining the package versions of several components:
npm i boundless --save
the ES6 import
statement then becomes like:
import { Radio } from 'boundless';
Note: only top-level props are in the README, for the full list check out the website.
name
· passthrough to the HTML name
attribute on the .b-radio
node
Expects | Default Value |
---|---|
string | '' |
value
· passthrough to the HTML value
attribute on the .b-radio
node
Expects | Default Value |
---|---|
string | '' |
*
· any React-supported attribute
Expects | Default Value |
---|---|
any | n/a |
component
· override the wrapper component HTML element tag if desired
Expects | Default Value |
---|---|
string | 'div' |
inputProps
Expects | Default Value |
---|---|
object | {} |
labelContent
· any React-renderable content
Expects | Default Value |
---|---|
any renderable or arrayOf(any renderable) | null |
labelProps
Expects | Default Value |
---|---|
object | {} |
onSelected
· called when the element becomes selected; backing data must be updated to persist the state change
Expects | Default Value |
---|---|
function | () => {} |
selected
· determines the activation state of the radio control, see React "controlled inputs")
Expects | Default Value |
---|---|
bool | false |
You can see what variables are available to override in variables.styl.
// Redefine any variables as desired, e.g:
color-accent = royalblue
// Bring in the component styles; they will be autoconfigured based on the above
@require "node_modules/boundless-radio/style"
If desired, a precompiled plain CSS stylesheet is available for customization at /build/style.css
, based on Boundless's default variables.
FAQs
An accessible radio form control.
The npm package boundless-radio receives a total of 12 weekly downloads. As such, boundless-radio popularity was classified as not popular.
We found that boundless-radio demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Streamline your login process and enhance security by enabling Single Sign-On (SSO) on the Socket platform, now available for all customers on the Enterprise plan, supporting 20+ identity providers.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.