Security News
ESLint is Now Language-Agnostic: Linting JSON, Markdown, and Beyond
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
react-likert-scale
Advanced tools
React Likert Scale is a React component that renders a Likert Scale. It is fully responsive, very small size (about 9kb), and the styling can be customized by providing your own CSS styles.
npm install -P react-likert-scale
import React from 'react';
import Likert from 'react-likert-scale';
export default () => {
const likertOptions = {
question: "What is your opinion of the President’s performance?",
responses: [
{ value: 1, text: "Abysmal" },
{ value: 2, text: "Poor" },
{ value: 3, text: "Average" },
{ value: 4, text: "Good" },
{ value: 5, text: "Excellent" }
],
picked: val => {
console.log(val);
}
};
return (
<Likert {...likertOptions} />
)
}
This component has three props
:
question
— (string) This is the prompt that displays above the options.responses
— (array of objects) These are your options. The value
key is what is returned to
the calling application in the picked
callback.picked
— (callback function) Optionally, you can provide a callback function that returns the
value of the option that was clicked.The top-level DOM element that gets created by this component is <fieldset class="likertScale">
.
You can override any styles by prefixing your rule with fieldset.likertScale
. For example, let’s
say you want the radio button “dots” to have a light gray background with a dark green ring.
fieldset.likertScale .likertIndicator {
border: thin solid darkGreen;
background-color: lightGray;
}
This isn’t very common, but you may want to set focus on a Likert Scale after the page renders. This
is done with React via refs
. Either create your ref with React.createRef()
or the useRef()
hook. You can then pass your ref
to the Likert component.
import React, { useRef } from 'react';
import Likert from 'react-likert-scale';
export default () => {
const likertOptions = {
question: "What is your opinion of the President’s performance?",
responses: [
{ value: 1, text: "Abysmal" },
{ value: 2, text: "Poor" },
{ value: 3, text: "Average" },
{ value: 4, text: "Good" },
{ value: 5, text: "Excellent" }
]
};
const likertRef = useRef();
return (
<Likert {...likertOptions} ref={likertRef} />
)
}
id
, class
, disabled
, data-*
, onClick
, etc.?Sure. They will be applied to the likert component’s top-level DOM element, <fieldset>
. e.g.:
<Likert {...likertOptions}
id='Q1'
className='myClass'
onClick={() => {
doThis();
andThis();
}}
/>
FAQs
A React component that makes a Likert Scale for surveys or data collection.
The npm package react-likert-scale receives a total of 341 weekly downloads. As such, react-likert-scale popularity was classified as not popular.
We found that react-likert-scale 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.
Security News
ESLint has added JSON and Markdown linting support with new officially-supported plugins, expanding its versatility beyond JavaScript.
Security News
Members Hub is conducting large-scale campaigns to artificially boost Discord server metrics, undermining community trust and platform integrity.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.