Releases: troberts-28/react-native-timer-picker
Releases · troberts-28/react-native-timer-picker
Release v2.0.1
🐛 Bug Fixes
- Fixed an issue that saw one of the pickers not always snapping to values inside
TimerPickerModal
. This was caused by a slight change in RN's FlatList betweenv0.74
andv0.76
. The previous default styling led to the FlatList not always being able to accurately calculate its layout, which stopped thesnapToOffsets
prop working. The default styling has been altered and safeguards put in place to avoid people introducing the same issue with thecustomStyles
prop. - Safeguarded against NaN inputs to initial values (and other variables). This previously caused a crash.
Release v2.0.0
⚠️ Breaking Changes
- Increased package peer dependency versions of React Native and React to
>=v0.72.0
and>=18.2.0
, respectively, to reflect an incompatibility with prior React Native versions (#32)
✨ Features
- Tested and working on the new architecture in both Expo and bare React Native projects (#37)
- Introduced
maximumHours
,maximumMinutes
andmaximumSeconds
props to adjust the maximum possible value in each picker (#42) @makowskimichal - Added
hourInterval
,minuteInterval
andsecondInterval
props to adjust the interval between values in each picker (#39) @OmerToledo - Made it possible to use any type of audio/haptic library for picker feedback (previously only
expo-av
andexpo-haptics
were supported) with the generic feedback callbackpickerFeedback
(#41) @danielreuterwall
⚙️ Dev Setup Modifications
- Migrated the project to Yarn
v3.6.4
and configured the two examples as workspaces within the outer project.
Thanks @makowskimichal, @OmerToledo and @danielreuterwall for your contributions 👏👏👏
Release v1.10.3
- Fix various initial scroll position issues introduced by the
repeatNumbersNTimes
prop #35 - Put in various safeguards to ensure that the
padWithNItems
andrepeatNumbersNTimes
props cannot be set to values that break the picker. - Change default
repeatHourNumbersNTimes
to 7 for better consistency with minutes/seconds pickers. - Attempted to safeguard against reported error: "this.props" should not be accessed during state updates #32
Release v1.10.2
- The
DurationScroll
component repeats the list of numbers a given number of times to avoid auto-scrolling every time you hit the end of the list. Previously, this was hard-coded as 3 repetitions. Have now added props to configure the number of repititions for each picker:repeatHourNumbersNTimes
,repeatMinuteNumbersNTimes
andrepeatSecondNumbersNTimes
. Note that these have a performance trade-off: higher values mean the picker has to auto-scroll less to maintain the infinite scroll, but has to render a longer list of numbers. By default, the props are set to 6, 3 and 3, respectively, which balances that trade-off effectively. #33 #34 - Improved the auto-scroll behaviour to avoid jumping to the next number whens scrolling slowly. #33
- Modified the initial scroll index behaviour to ensure it starts on zero in the case where infinite scroll is disabled and the picker is set to one repetition. #34
Release v1.10.1
- Fix entrypoint issue caused by removing
src
folder from bundle.
Release v1.10.0
- Add props to configure whether to pad single-digit hours/minutes/seconds in the picker with a zero:
padHoursWithZero
,padMinutesWithZero
,padSecondsWithZero
#31 - Remove
src
folder from npm bundle to reduce package size. Please note that there was an initial with the way this was done, please usev1.10.1
instead of this version.
Release v1.9.1
- Fix custom
FlatList
prop not being passed down properly @giovanniRodighiero #30
Release v1.9.0
- Made it possible to supply a custom
FlatList
component to be used internally by the picker #27 @giovanniRodighiero 👏 - Made
TimerPicker
scrollable when nested inside a verticalScrollView
#23 - Added formatTime to README examples #28 @callum-gander
Patch v1.8.2
- Removed default click sound asset from library to ensure compatibility with all environments (switched to a hosted asset instead).
Patch v1.8.1
- Fix
onConfirm
not receiving picked duration #26 - Minor styling logic fix for content background colour when background colour style not supplied