A react select element that provides the elements and logic only - no built-in styling.
With npm:
npm install react-option-picker
To use:
import { useState } from "react";
import Select from "react-option-picker";
export const App = () => {
const [number, setNumber] = useState(null);
const options = [
{id: 1, label: "one"},
{id: 2, label: "two"},
{id: 3, label: "three"},
{id: 4, label: "four"},
]
return (
<div>
<Select
options={options}
value={number}
setValue={setNumber}
className="big-text"
inputClassName="small-text"
/>
</div>
)
}
The Select
is made of various sub-components, each of which can have style applied directly - either by using its built-in class name or by applying your own class name.
- has
option-picker
class. - also has
option-picker-open
class when theSelect
is showing options. -
className
prop to apply your own class name. -
openClassName
prop to apply classes whenSelect
is showing options.
This displays whatever the currently selected value is.
- has
option-picker-input
class. - also has
option-picker-input-open
class when theSelect
is showing options. -
inputClassName
prop to apply your own class name. -
openInputClassName
prop to apply classes whenSelect
is showing options.
This contains the list of selectable options.
- has
option-picker-options
class. -
optionsClassName
prop to apply your own class name.
This shows a single selectable option
- has
option-picker-option
class. - has
option-picker-option-selected
class when it is the current selected item. -
optionClassName
prop to apply your own class name. -
selectedPptionClassName
prop to apply your own class name when it is the current selected item.
Rollup is used to build the package to dist/index.js
. To install the tools needed for this:
npm install --legacy-peer-deps
This option is used because some of the dev dependencies have react as a peer dependency, and it is important that this does not get installed as it prevents the library from being installed locally.
To continuously build while developing:
npm run dev
To make a final, publishable build:
npm run build
3 June 2023
- Initial Select component with static options.
- Initial styling system.