Version Compatibility
React Wheel Picker supports React 16.8 and above, including React 19. The library uses hooks and requires React 16.8+ as a minimum version.Supported React Versions
- React 16.8+
- React 17.x
- React 18.x
- React 19.x (including RC versions)
Upgrading to v1.2.0
Version 1.2.0 introduces disabled option support. This is a non-breaking change that adds new functionality.What’s New
- New
disabledproperty onWheelPickerOptiontype - Automatic skipping of disabled items during navigation
- Visual feedback via
data-disabledattribute - Smart selection of nearest enabled option
Migration Steps
const options: WheelPickerOption[] = [
{ label: "Option 1", value: "1" },
{ label: "Option 2", value: "2", disabled: true }, // Disabled
{ label: "Option 3", value: "3" },
];
[data-rwp-option][data-disabled],
[data-rwp-highlight-item][data-disabled] {
opacity: 0.4;
pointer-events: none;
}
Existing implementations continue to work without changes. All options are enabled by default.
Upgrading to v1.1.0
Version 1.1.0 introduces keyboard navigation and type-ahead search support.Breaking Changes
What’s New
- Keyboard navigation (Arrow keys, Home, End)
- Type-ahead search for quick option selection
- Focus management with visual indicators
- New
textValueproperty for custom search text - New
data-rwp-focusedattribute
Migration Steps
const options: WheelPickerOption[] = [
{
label: <span>🚀 Next.js</span>,
value: "nextjs",
textValue: "Next.js", // Used for type-ahead search
},
{
label: <span>⚡ Vite</span>,
value: "vite",
textValue: "Vite",
},
];
Upgrading to v1.0.18
Version 1.0.18 adds support for generic option values.What Changed
TheWheelPickerOption and WheelPickerProps types now support generics:
Before (v1.0.17 and earlier):
No migration needed - string values work by default. The generic type enhances TypeScript support.
Upgrading to v1.0.16
Version 1.0.16 adds thescrollSensitivity prop.
Migration Steps
Upgrading to v1.0.13
Version 1.0.13 introduces click-to-select functionality.What Changed
Users can now click directly on an option to select it. The cursor style changed fromns-resize to default.
Before (v1.0.12 and earlier):
- Only dragging/scrolling changed the selection
- Cursor showed
ns-resizeon hover
- Clicking an option scrolls and selects it
- Cursor shows
defaultfor better UX
No code changes required. This enhancement works automatically.
Upgrading to v1.0.12
Version 1.0.12 adds theoptionItemHeight prop and changes the label type to ReactNode.
What Changed
- Customizable item height: Use
optionItemHeightto adjust option spacing - ReactNode labels: Labels can now be any React element, not just strings
Migration Steps
Upgrading from v1.0.8 to v1.0.9+
Versions 1.0.8 and 1.0.9 improved scroll behavior with smooth animations.What Changed
Scroll animations are now smoother and more responsive. No code changes required.React Version Upgrades
Upgrading to React 19
React Wheel Picker is fully compatible with React 19.Upgrading to React 18
React Wheel Picker works with React 18’s concurrent features.// Before (React 17)
import ReactDOM from 'react-dom';
ReactDOM.render(<App />, document.getElementById('root'));
// After (React 18)
import { createRoot } from 'react-dom/client';
const root = createRoot(document.getElementById('root'));
root.render(<App />);
The library handles React 18’s concurrent features automatically. No special configuration needed.