react-native-timer-picker 1.8.2 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -9
- package/dist/commonjs/components/DurationScroll/index.js +5 -3
- package/dist/commonjs/components/DurationScroll/index.js.map +1 -1
- package/dist/commonjs/components/DurationScroll/types.js.map +1 -1
- package/dist/commonjs/components/Modal/index.js +2 -2
- package/dist/commonjs/components/Modal/index.js.map +1 -1
- package/dist/commonjs/components/Modal/styles.js.map +1 -1
- package/dist/commonjs/components/Modal/types.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/index.js +3 -3
- package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/types.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/index.js +3 -3
- package/dist/commonjs/components/TimerPickerModal/index.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -1
- package/dist/commonjs/index.js +1 -1
- package/dist/commonjs/index.js.map +1 -1
- package/dist/commonjs/tests/DurationScroll.test.js +9 -2
- package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
- package/dist/commonjs/tests/Modal.test.js +1 -1
- package/dist/commonjs/tests/Modal.test.js.map +1 -1
- package/dist/commonjs/tests/TimerPicker.test.js +15 -1
- package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
- package/dist/commonjs/tests/TimerPickerModal.test.js +9 -9
- package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
- package/dist/commonjs/utils/colorToRgba.js.map +1 -1
- package/dist/commonjs/utils/generateNumbers.js.map +1 -1
- package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
- package/dist/commonjs/utils/getScrollIndex.js.map +1 -1
- package/dist/commonjs/utils/padNumber.js.map +1 -1
- package/dist/module/components/DurationScroll/index.js +4 -2
- package/dist/module/components/DurationScroll/index.js.map +1 -1
- package/dist/module/components/DurationScroll/types.js.map +1 -1
- package/dist/module/components/Modal/index.js +1 -1
- package/dist/module/components/Modal/index.js.map +1 -1
- package/dist/module/components/Modal/styles.js.map +1 -1
- package/dist/module/components/Modal/types.js.map +1 -1
- package/dist/module/components/TimerPicker/index.js +1 -1
- package/dist/module/components/TimerPicker/index.js.map +1 -1
- package/dist/module/components/TimerPicker/styles.js.map +1 -1
- package/dist/module/components/TimerPicker/types.js.map +1 -1
- package/dist/module/components/TimerPickerModal/index.js +1 -1
- package/dist/module/components/TimerPickerModal/index.js.map +1 -1
- package/dist/module/components/TimerPickerModal/styles.js.map +1 -1
- package/dist/module/components/TimerPickerModal/types.js.map +1 -1
- package/dist/module/index.js.map +1 -1
- package/dist/module/tests/DurationScroll.test.js +8 -1
- package/dist/module/tests/DurationScroll.test.js.map +1 -1
- package/dist/module/tests/Modal.test.js.map +1 -1
- package/dist/module/tests/TimerPicker.test.js +14 -0
- package/dist/module/tests/TimerPicker.test.js.map +1 -1
- package/dist/module/tests/TimerPickerModal.test.js +2 -2
- package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
- package/dist/module/utils/colorToRgba.js.map +1 -1
- package/dist/module/utils/generateNumbers.js.map +1 -1
- package/dist/module/utils/getAdjustedLimit.js.map +1 -1
- package/dist/module/utils/getScrollIndex.js.map +1 -1
- package/dist/module/utils/padNumber.js.map +1 -1
- package/dist/typescript/components/DurationScroll/types.d.ts +3 -1
- package/dist/typescript/components/TimerPicker/types.d.ts +2 -1
- package/package.json +4 -1
- package/src/components/DurationScroll/index.tsx +4 -2
- package/src/components/DurationScroll/types.ts +13 -1
- package/src/components/TimerPicker/types.ts +2 -0
- package/src/tests/DurationScroll.test.tsx +10 -3
- package/src/tests/TimerPicker.test.tsx +12 -0
- package/src/tests/TimerPickerModal.test.tsx +1 -1
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ Includes iOS-style haptic and audio feedback 🍏
|
|
|
27
27
|
- [Props 💅](#props-)
|
|
28
28
|
- [TimerPicker ⏲️](#timerpicker-️)
|
|
29
29
|
- [Custom Styles 👗](#custom-styles-)
|
|
30
|
+
- [Custom FlatList](#custom-flatlist)
|
|
30
31
|
- [TimerPickerModal ⏰](#timerpickermodal-)
|
|
31
32
|
- [Custom Styles 👕](#custom-styles--1)
|
|
32
33
|
- [Methods 🔄](#methods-)
|
|
@@ -123,6 +124,30 @@ const [alarmString, setAlarmString] = useState<
|
|
|
123
124
|
string | null
|
|
124
125
|
>(null);
|
|
125
126
|
|
|
127
|
+
const formatTime = ({
|
|
128
|
+
hours,
|
|
129
|
+
minutes,
|
|
130
|
+
seconds,
|
|
131
|
+
}: {
|
|
132
|
+
hours?: number;
|
|
133
|
+
minutes?: number;
|
|
134
|
+
seconds?: number;
|
|
135
|
+
}) => {
|
|
136
|
+
const timeParts = [];
|
|
137
|
+
|
|
138
|
+
if (hours !== undefined) {
|
|
139
|
+
timeParts.push(hours.toString().padStart(2, "0"));
|
|
140
|
+
}
|
|
141
|
+
if (minutes !== undefined) {
|
|
142
|
+
timeParts.push(minutes.toString().padStart(2, "0"));
|
|
143
|
+
}
|
|
144
|
+
if (seconds !== undefined) {
|
|
145
|
+
timeParts.push(seconds.toString().padStart(2, "0"));
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
return timeParts.join(":");
|
|
149
|
+
};
|
|
150
|
+
|
|
126
151
|
return (
|
|
127
152
|
<View style={{backgroundColor: "#514242", alignItems: "center", justifyContent: "center"}}>
|
|
128
153
|
<Text style={{fontSize: 18, color: "#F1F1F1"}}>
|
|
@@ -201,6 +226,30 @@ const [alarmString, setAlarmString] = useState<
|
|
|
201
226
|
string | null
|
|
202
227
|
>(null);
|
|
203
228
|
|
|
229
|
+
const formatTime = ({
|
|
230
|
+
hours,
|
|
231
|
+
minutes,
|
|
232
|
+
seconds,
|
|
233
|
+
}: {
|
|
234
|
+
hours?: number;
|
|
235
|
+
minutes?: number;
|
|
236
|
+
seconds?: number;
|
|
237
|
+
}) => {
|
|
238
|
+
const timeParts = [];
|
|
239
|
+
|
|
240
|
+
if (hours !== undefined) {
|
|
241
|
+
timeParts.push(hours.toString().padStart(2, "0"));
|
|
242
|
+
}
|
|
243
|
+
if (minutes !== undefined) {
|
|
244
|
+
timeParts.push(minutes.toString().padStart(2, "0"));
|
|
245
|
+
}
|
|
246
|
+
if (seconds !== undefined) {
|
|
247
|
+
timeParts.push(seconds.toString().padStart(2, "0"));
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
return timeParts.join(":");
|
|
251
|
+
};
|
|
252
|
+
|
|
204
253
|
return (
|
|
205
254
|
<View style={{backgroundColor: "#F1F1F1", alignItems: "center", justifyContent: "center"}}>
|
|
206
255
|
<Text style={{fontSize: 18, color: "#202020"}}>
|
|
@@ -400,6 +449,7 @@ return (
|
|
|
400
449
|
| LinearGradient | Linear Gradient Component | [expo-linear-gradient](https://www.npmjs.com/package/expo-linear-gradient).LinearGradient or [react-native-linear-gradient](https://www.npmjs.com/package/react-native-linear-gradient).default | - | false |
|
|
401
450
|
| Haptics | Haptics Namespace (required for Haptic feedback) | [expo-haptics](https://www.npmjs.com/package/expo-haptics) | - | false |
|
|
402
451
|
| Audio | Audio Class (required for audio feedback i.e. click sound) | [expo-av](https://www.npmjs.com/package/expo-av).Audio | - | false |
|
|
452
|
+
| FlatList | FlatList component used internally to implement each picker (hour, minutes and seconds). More info [below](#custom-flatlist) | [react-native](https://reactnative.dev/docs/flatlist).FlatList | `FlatList` from `react-native` | false |
|
|
403
453
|
| clickSoundAsset | Custom sound asset for click sound (required for offline click sound - download default [here](https://drive.google.com/uc?export=download&id=10e1YkbNsRh-vGx1jmS1Nntz8xzkBp4_I)) | require(.../somefolderpath) or {uri: www.someurl} | - | false |
|
|
404
454
|
| pickerContainerProps | Props for the picker container | `React.ComponentProps<typeof View>` | - | false |
|
|
405
455
|
| pickerGradientOverlayProps | Props for both gradient overlays | `Partial<LinearGradientProps>` | - | false |
|
|
@@ -429,6 +479,29 @@ The following custom styles can be supplied to re-style the component in any way
|
|
|
429
479
|
|
|
430
480
|
Note the minor limitations to the allowed styles for `pickerContainer` and `pickerItemContainer`. These are made because these styles are used for internal calculations and all possible `backgroundColor`/`height` types are not supported.
|
|
431
481
|
|
|
482
|
+
|
|
483
|
+
#### Custom FlatList
|
|
484
|
+
|
|
485
|
+
The library offers the ability to provide a custom component for the `<FlatList />`, instead of the default React Native component. This allows for more flexibility and integration with libraries like [react-native-gesture-handler](react-native-gesture-handler) or other components built on top of it, like [https://ui.gorhom.dev/components/bottom-sheet](https://ui.gorhom.dev/components/bottom-sheet).
|
|
486
|
+
|
|
487
|
+
E.g. if you want to place the timer picker within that bottom-sheet component, the scrolling detection from the bottom-sheet [would interfere](https://ui.gorhom.dev/components/bottom-sheet/troubleshooting#adding-horizontal-flatlist-or-scrollview-is-not-working-properly-on-android) with the one inside the timer picker, but it can be easily solved by providing the `FlatList` component from `react-native-gesture-handler` like this:
|
|
488
|
+
|
|
489
|
+
```Jsx
|
|
490
|
+
import { FlatList } from 'react-native-gesture-handler';
|
|
491
|
+
import { TimerPicker } from "react-native-timer-picker";
|
|
492
|
+
|
|
493
|
+
// ...
|
|
494
|
+
|
|
495
|
+
<TimerPicker
|
|
496
|
+
{...props}
|
|
497
|
+
FlatList={FlatList}
|
|
498
|
+
/>
|
|
499
|
+
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
**Important**:
|
|
503
|
+
The custom component needs to have the same interface as React Native's `<FlatList />` in order for it to work as expected. A complete reference of the current usage can be found [here](/src/components/DurationScroll/index.tsx)
|
|
504
|
+
|
|
432
505
|
### TimerPickerModal ⏰
|
|
433
506
|
|
|
434
507
|
The TimerPickerModal component accepts all [TimerPicker props](#timerpicker-️), and the below additional props.
|
|
@@ -520,9 +593,16 @@ Contributions to this project are more than welcome.
|
|
|
520
593
|
To get this project running locally:
|
|
521
594
|
|
|
522
595
|
1. Clone the Git repo.
|
|
523
|
-
2. Run `yarn
|
|
524
|
-
3. Run `yarn
|
|
525
|
-
4.
|
|
596
|
+
2. Run `yarn` to install the base dependencies
|
|
597
|
+
3. Run `yarn setup` from the project root (this installs the example's additional dependencies)
|
|
598
|
+
4. Run `yarn start` to start the example in Expo Go.
|
|
599
|
+
5. Start adding cool stuff! Your changes should be immediately reflected in the Expo Go app.
|
|
600
|
+
|
|
601
|
+
You can also run the library in bare React Native:
|
|
602
|
+
1. Clone the Git repo.
|
|
603
|
+
2. Run `yarn` to install the base dependencies
|
|
604
|
+
3. Run `yarn setup-dev`.
|
|
605
|
+
4. Run `yarn start-bare:android` or `start-bare:ios` to start the project on an emulator/device.
|
|
526
606
|
|
|
527
607
|
### GitHub Guidelines
|
|
528
608
|
|
|
@@ -534,12 +614,6 @@ There are two permenant branches: `main` and `develop`. You should never work di
|
|
|
534
614
|
|
|
535
615
|
<br>
|
|
536
616
|
|
|
537
|
-
## Limitations ⚠
|
|
538
|
-
|
|
539
|
-
Nesting the `TimerPicker` component inside a vertical ScrollView is not supported. React Native will throw an error and the picker will not be scrollable. The modal component works fine in this scenario however.
|
|
540
|
-
|
|
541
|
-
<br>
|
|
542
|
-
|
|
543
617
|
## License 📝
|
|
544
618
|
|
|
545
619
|
This project is licensed under the [MIT License](LICENSE).
|
|
@@ -11,8 +11,8 @@ var _generateNumbers = require("../../utils/generateNumbers");
|
|
|
11
11
|
var _getAdjustedLimit = require("../../utils/getAdjustedLimit");
|
|
12
12
|
var _getScrollIndex = require("../../utils/getScrollIndex");
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
15
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16
16
|
const DurationScroll = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
17
17
|
const {
|
|
18
18
|
aggressivelyGetLatestDuration,
|
|
@@ -22,6 +22,7 @@ const DurationScroll = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
|
22
22
|
bottomPickerGradientOverlayProps,
|
|
23
23
|
clickSoundAsset,
|
|
24
24
|
disableInfiniteScroll = false,
|
|
25
|
+
FlatList = _reactNative.FlatList,
|
|
25
26
|
Haptics,
|
|
26
27
|
initialValue = 0,
|
|
27
28
|
is12HourPicker,
|
|
@@ -241,13 +242,14 @@ const DurationScroll = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
|
241
242
|
overflow: "visible"
|
|
242
243
|
}, isDisabled && styles.disabledPickerContainer],
|
|
243
244
|
testID: testID
|
|
244
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
245
|
+
}, /*#__PURE__*/_react.default.createElement(FlatList, {
|
|
245
246
|
ref: flatListRef,
|
|
246
247
|
data: data,
|
|
247
248
|
decelerationRate: 0.88,
|
|
248
249
|
getItemLayout: getItemLayout,
|
|
249
250
|
initialScrollIndex: initialScrollIndex,
|
|
250
251
|
keyExtractor: (_, index) => index.toString(),
|
|
252
|
+
nestedScrollEnabled: true,
|
|
251
253
|
onMomentumScrollEnd: onMomentumScrollEnd,
|
|
252
254
|
onScroll: onScroll,
|
|
253
255
|
renderItem: renderItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colorToRgba","_generateNumbers","_getAdjustedLimit","_getScrollIndex","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","DurationScroll","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","Audio","bottomPickerGradientOverlayProps","clickSoundAsset","disableInfiniteScroll","Haptics","initialValue","is12HourPicker","isDisabled","label","limit","LinearGradient","numberOfItems","onDurationChange","padNumbersWithZero","padWithNItems","pickerGradientOverlayProps","pmLabel","styles","testID","topPickerGradientOverlayProps","data","generateNumbers","repeatNTimes","generate12HourNumbers","numberOfItemsToShow","adjustedLimited","getAdjustedLimit","initialScrollIndex","getScrollIndex","value","latestDuration","useRef","lastFeedbackIndex","flatListRef","clickSound","setClickSound","useState","useEffect","loadSound","sound","Sound","createAsync","uri","shouldPlay","unloadAsync","useImperativeHandle","reset","options","_flatListRef$current","current","scrollToIndex","animated","index","setValue","_flatListRef$current2","renderItem","useCallback","item","stringItem","intItem","isAm","parseInt","includes","replace","createElement","View","style","pickerItemContainer","Text","pickerItem","max","min","disabledPickerItem","pointerEvents","pickerAmPmContainer","pickerAmPmLabel","onScroll","newIndex","Math","round","nativeEvent","contentOffset","y","height","newDuration","feedbackIndex","selectionAsync","replayAsync","onMomentumScrollEnd","_flatListRef$current3","targetScrollIndex","_flatListRef$current4","onViewableItemsChanged","viewableItems","_viewableItems$","_viewableItems$2","_flatListRef$current5","_flatListRef$current6","getItemLayout","_","offset","viewabilityConfigCallbackPairs","viewabilityConfig","viewAreaCoveragePercentThreshold","undefined","overflow","disabledPickerContainer","FlatList","decelerationRate","keyExtractor","toString","scrollEnabled","scrollEventThrottle","showsVerticalScrollIndicator","snapToAlignment","snapToOffsets","Array","map","windowSize","pickerLabelContainer","pickerLabel","Fragment","colors","pickerContainer","backgroundColor","colorToRgba","color","opacity","end","x","start","pickerGradientOverlay","top","bottom","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n useRef,\n useCallback,\n forwardRef,\n useImperativeHandle,\n useState,\n useEffect,\n} from \"react\";\n\nimport { View, Text, FlatList } from \"react-native\";\nimport type {\n ViewabilityConfigCallbackPairs,\n ViewToken,\n NativeSyntheticEvent,\n NativeScrollEvent,\n} from \"react-native\";\n\nimport { colorToRgba } from \"../../utils/colorToRgba\";\nimport {\n generate12HourNumbers,\n generateNumbers,\n} from \"../../utils/generateNumbers\";\nimport { getAdjustedLimit } from \"../../utils/getAdjustedLimit\";\nimport { getScrollIndex } from \"../../utils/getScrollIndex\";\n\nimport type { DurationScrollProps, DurationScrollRef } from \"./types\";\n\nconst DurationScroll = forwardRef<DurationScrollRef, DurationScrollProps>(\n (props, ref) => {\n const {\n aggressivelyGetLatestDuration,\n allowFontScaling = false,\n amLabel,\n Audio,\n bottomPickerGradientOverlayProps,\n clickSoundAsset,\n disableInfiniteScroll = false,\n Haptics,\n initialValue = 0,\n is12HourPicker,\n isDisabled,\n label,\n limit,\n LinearGradient,\n numberOfItems,\n onDurationChange,\n padNumbersWithZero = false,\n padWithNItems,\n pickerGradientOverlayProps,\n pmLabel,\n styles,\n testID,\n topPickerGradientOverlayProps,\n } = props;\n\n const data = !is12HourPicker\n ? generateNumbers(numberOfItems, {\n padNumbersWithZero,\n repeatNTimes: 3,\n disableInfiniteScroll,\n padWithNItems,\n })\n : generate12HourNumbers({\n padNumbersWithZero,\n repeatNTimes: 3,\n disableInfiniteScroll,\n padWithNItems,\n });\n\n const numberOfItemsToShow = 1 + padWithNItems * 2;\n\n const adjustedLimited = getAdjustedLimit(limit, numberOfItems);\n\n const initialScrollIndex = getScrollIndex({\n value: initialValue,\n numberOfItems,\n padWithNItems,\n disableInfiniteScroll,\n });\n\n // keep track of the latest duration as it scrolls\n const latestDuration = useRef(0);\n // keep track of the last index scrolled past for haptic/audio feedback\n const lastFeedbackIndex = useRef(0);\n\n const flatListRef = useRef<FlatList | null>(null);\n\n const [clickSound, setClickSound] = useState<\n | {\n replayAsync: () => Promise<void>;\n unloadAsync: () => Promise<void>;\n }\n | undefined\n >();\n\n // Preload the sound when the component mounts\n useEffect(() => {\n const loadSound = async () => {\n if (Audio) {\n const { sound } = await Audio.Sound.createAsync(\n clickSoundAsset ?? {\n // use a hosted sound as a fallback (do not use local asset due to loader issues\n // in some environments when including mp3 in library)\n uri: \"https://drive.google.com/uc?export=download&id=10e1YkbNsRh-vGx1jmS1Nntz8xzkBp4_I\",\n },\n { shouldPlay: false }\n );\n setClickSound(sound);\n }\n };\n loadSound();\n\n // Unload sound when component unmounts\n return () => {\n clickSound?.unloadAsync();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [Audio]);\n\n useImperativeHandle(ref, () => ({\n reset: (options) => {\n flatListRef.current?.scrollToIndex({\n animated: options?.animated ?? false,\n index: initialScrollIndex,\n });\n },\n setValue: (value, options) => {\n flatListRef.current?.scrollToIndex({\n animated: options?.animated ?? false,\n index: getScrollIndex({\n value: value,\n numberOfItems,\n padWithNItems,\n disableInfiniteScroll,\n }),\n });\n },\n latestDuration: latestDuration,\n }));\n\n const renderItem = useCallback(\n ({ item }: { item: string }) => {\n let stringItem = item;\n let intItem: number;\n let isAm: boolean | undefined;\n\n if (!is12HourPicker) {\n intItem = parseInt(item);\n } else {\n isAm = item.includes(\"AM\");\n stringItem = item.replace(/\\s[AP]M/g, \"\");\n intItem = parseInt(stringItem);\n }\n\n return (\n <View\n key={item}\n style={styles.pickerItemContainer}\n testID=\"picker-item\">\n <Text\n allowFontScaling={allowFontScaling}\n style={[\n styles.pickerItem,\n intItem > adjustedLimited.max ||\n intItem < adjustedLimited.min\n ? styles.disabledPickerItem\n : {},\n ]}>\n {stringItem}\n </Text>\n {is12HourPicker ? (\n <View\n pointerEvents=\"none\"\n style={styles.pickerAmPmContainer}>\n <Text\n allowFontScaling={allowFontScaling}\n style={[styles.pickerAmPmLabel]}>\n {isAm ? amLabel : pmLabel}\n </Text>\n </View>\n ) : null}\n </View>\n );\n },\n [\n adjustedLimited.max,\n adjustedLimited.min,\n allowFontScaling,\n amLabel,\n is12HourPicker,\n pmLabel,\n styles.disabledPickerItem,\n styles.pickerAmPmContainer,\n styles.pickerAmPmLabel,\n styles.pickerItem,\n styles.pickerItemContainer,\n ]\n );\n\n const onScroll = useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n // this function is only used when the picker is in a modal and/or has Haptic/Audio feedback\n // it is used to ensure that the modal gets the latest duration on clicking\n // the confirm button, even if the scrollview is still scrolling\n if (!aggressivelyGetLatestDuration && !Haptics && !Audio) {\n return;\n }\n\n if (aggressivelyGetLatestDuration) {\n const newIndex = Math.round(\n e.nativeEvent.contentOffset.y /\n styles.pickerItemContainer.height\n );\n let newDuration =\n (disableInfiniteScroll\n ? newIndex\n : newIndex + padWithNItems) %\n (numberOfItems + 1);\n\n if (newDuration !== latestDuration.current) {\n // check limits\n if (newDuration > adjustedLimited.max) {\n newDuration = adjustedLimited.max;\n } else if (newDuration < adjustedLimited.min) {\n newDuration = adjustedLimited.min;\n }\n\n latestDuration.current = newDuration;\n }\n }\n\n if (Haptics || Audio) {\n const feedbackIndex = Math.round(\n (e.nativeEvent.contentOffset.y +\n styles.pickerItemContainer.height / 2) /\n styles.pickerItemContainer.height\n );\n\n if (feedbackIndex !== lastFeedbackIndex.current) {\n // this check stops the feedback firing when the component mounts\n if (lastFeedbackIndex.current) {\n // fire haptic feedback if available\n Haptics?.selectionAsync();\n\n // play click sound if available\n clickSound?.replayAsync();\n }\n\n lastFeedbackIndex.current = feedbackIndex;\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n adjustedLimited.max,\n adjustedLimited.min,\n aggressivelyGetLatestDuration,\n clickSound,\n disableInfiniteScroll,\n numberOfItems,\n padWithNItems,\n styles.pickerItemContainer.height,\n ]\n );\n\n const onMomentumScrollEnd = useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n const newIndex = Math.round(\n e.nativeEvent.contentOffset.y /\n styles.pickerItemContainer.height\n );\n let newDuration =\n (disableInfiniteScroll\n ? newIndex\n : newIndex + padWithNItems) %\n (numberOfItems + 1);\n\n // check limits\n if (newDuration > adjustedLimited.max) {\n const targetScrollIndex =\n newIndex - (newDuration - adjustedLimited.max);\n flatListRef.current?.scrollToIndex({\n animated: true,\n index:\n // guard against scrolling beyond end of list\n targetScrollIndex >= 0\n ? targetScrollIndex\n : adjustedLimited.max - 1,\n }); // scroll down to max\n newDuration = adjustedLimited.max;\n } else if (newDuration < adjustedLimited.min) {\n const targetScrollIndex =\n newIndex + (adjustedLimited.min - newDuration);\n flatListRef.current?.scrollToIndex({\n animated: true,\n index:\n // guard against scrolling beyond end of list\n targetScrollIndex <= data.length - 1\n ? targetScrollIndex\n : adjustedLimited.min,\n }); // scroll up to min\n newDuration = adjustedLimited.min;\n }\n\n onDurationChange(newDuration);\n },\n [\n adjustedLimited.max,\n adjustedLimited.min,\n data.length,\n disableInfiniteScroll,\n numberOfItems,\n onDurationChange,\n padWithNItems,\n styles.pickerItemContainer.height,\n ]\n );\n\n const onViewableItemsChanged = useCallback(\n ({ viewableItems }: { viewableItems: ViewToken[] }) => {\n if (\n viewableItems[0]?.index &&\n viewableItems[0].index < numberOfItems * 0.5\n ) {\n flatListRef.current?.scrollToIndex({\n animated: false,\n index: viewableItems[0].index + numberOfItems,\n });\n } else if (\n viewableItems[0]?.index &&\n viewableItems[0].index >= numberOfItems * 2.5\n ) {\n flatListRef.current?.scrollToIndex({\n animated: false,\n index: viewableItems[0].index - numberOfItems,\n });\n }\n },\n [numberOfItems]\n );\n\n const getItemLayout = useCallback(\n (_: ArrayLike<string> | null | undefined, index: number) => ({\n length: styles.pickerItemContainer.height,\n offset: styles.pickerItemContainer.height * index,\n index,\n }),\n [styles.pickerItemContainer.height]\n );\n\n const viewabilityConfigCallbackPairs =\n useRef<ViewabilityConfigCallbackPairs>([\n {\n viewabilityConfig: { viewAreaCoveragePercentThreshold: 25 },\n onViewableItemsChanged: onViewableItemsChanged,\n },\n ]);\n\n return (\n <View\n pointerEvents={isDisabled ? \"none\" : undefined}\n style={[\n {\n height:\n styles.pickerItemContainer.height *\n numberOfItemsToShow,\n overflow: \"visible\",\n },\n isDisabled && styles.disabledPickerContainer,\n ]}\n testID={testID}>\n <FlatList\n ref={flatListRef}\n data={data}\n decelerationRate={0.88}\n getItemLayout={getItemLayout}\n initialScrollIndex={initialScrollIndex}\n keyExtractor={(_, index) => index.toString()}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScroll={onScroll}\n renderItem={renderItem}\n scrollEnabled={!isDisabled}\n scrollEventThrottle={16}\n showsVerticalScrollIndicator={false}\n snapToAlignment=\"start\"\n // used in place of snapToOffset due to bug on Android\n snapToOffsets={[...Array(data.length)].map(\n (_, i) => i * styles.pickerItemContainer.height\n )}\n testID=\"duration-scroll-flatlist\"\n viewabilityConfigCallbackPairs={\n !disableInfiniteScroll\n ? viewabilityConfigCallbackPairs?.current\n : undefined\n }\n windowSize={numberOfItemsToShow}\n />\n <View pointerEvents=\"none\" style={styles.pickerLabelContainer}>\n {typeof label === \"string\" ? (\n <Text\n allowFontScaling={allowFontScaling}\n style={styles.pickerLabel}>\n {label}\n </Text>\n ) : (\n label ?? null\n )}\n </View>\n {LinearGradient ? (\n <>\n <LinearGradient\n colors={[\n styles.pickerContainer.backgroundColor ??\n \"white\",\n colorToRgba({\n color:\n styles.pickerContainer\n .backgroundColor ?? \"white\",\n opacity: 0,\n }),\n ]}\n end={{ x: 1, y: 1 }}\n pointerEvents=\"none\"\n start={{ x: 1, y: 0.3 }}\n {...pickerGradientOverlayProps}\n {...topPickerGradientOverlayProps}\n style={[styles.pickerGradientOverlay, { top: 0 }]}\n />\n <LinearGradient\n colors={[\n colorToRgba({\n color:\n styles.pickerContainer\n .backgroundColor ?? \"white\",\n opacity: 0,\n }),\n styles.pickerContainer.backgroundColor ??\n \"white\",\n ]}\n end={{ x: 1, y: 0.7 }}\n pointerEvents=\"none\"\n start={{ x: 1, y: 0 }}\n {...pickerGradientOverlayProps}\n {...bottomPickerGradientOverlayProps}\n style={[\n styles.pickerGradientOverlay,\n { bottom: -1 },\n ]}\n />\n </>\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(DurationScroll);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_colorToRgba","_generateNumbers","_getAdjustedLimit","_getScrollIndex","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","DurationScroll","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","Audio","bottomPickerGradientOverlayProps","clickSoundAsset","disableInfiniteScroll","FlatList","RNFlatList","Haptics","initialValue","is12HourPicker","isDisabled","label","limit","LinearGradient","numberOfItems","onDurationChange","padNumbersWithZero","padWithNItems","pickerGradientOverlayProps","pmLabel","styles","testID","topPickerGradientOverlayProps","data","generateNumbers","repeatNTimes","generate12HourNumbers","numberOfItemsToShow","adjustedLimited","getAdjustedLimit","initialScrollIndex","getScrollIndex","value","latestDuration","useRef","lastFeedbackIndex","flatListRef","clickSound","setClickSound","useState","useEffect","loadSound","sound","Sound","createAsync","uri","shouldPlay","unloadAsync","useImperativeHandle","reset","options","_flatListRef$current","current","scrollToIndex","animated","index","setValue","_flatListRef$current2","renderItem","useCallback","item","stringItem","intItem","isAm","parseInt","includes","replace","createElement","View","key","style","pickerItemContainer","Text","pickerItem","max","min","disabledPickerItem","pointerEvents","pickerAmPmContainer","pickerAmPmLabel","onScroll","newIndex","Math","round","nativeEvent","contentOffset","y","height","newDuration","feedbackIndex","selectionAsync","replayAsync","onMomentumScrollEnd","_flatListRef$current3","targetScrollIndex","_flatListRef$current4","onViewableItemsChanged","viewableItems","_viewableItems$","_viewableItems$2","_flatListRef$current5","_flatListRef$current6","getItemLayout","_","offset","viewabilityConfigCallbackPairs","viewabilityConfig","viewAreaCoveragePercentThreshold","undefined","overflow","disabledPickerContainer","decelerationRate","keyExtractor","toString","nestedScrollEnabled","scrollEnabled","scrollEventThrottle","showsVerticalScrollIndicator","snapToAlignment","snapToOffsets","Array","map","windowSize","pickerLabelContainer","pickerLabel","Fragment","colors","pickerContainer","backgroundColor","colorToRgba","color","opacity","end","x","start","pickerGradientOverlay","top","bottom","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n useRef,\n useCallback,\n forwardRef,\n useImperativeHandle,\n useState,\n useEffect,\n} from \"react\";\n\nimport { View, Text, FlatList as RNFlatList } from \"react-native\";\nimport type {\n ViewabilityConfigCallbackPairs,\n ViewToken,\n NativeSyntheticEvent,\n NativeScrollEvent,\n} from \"react-native\";\n\nimport { colorToRgba } from \"../../utils/colorToRgba\";\nimport {\n generate12HourNumbers,\n generateNumbers,\n} from \"../../utils/generateNumbers\";\nimport { getAdjustedLimit } from \"../../utils/getAdjustedLimit\";\nimport { getScrollIndex } from \"../../utils/getScrollIndex\";\n\nimport type { DurationScrollProps, DurationScrollRef } from \"./types\";\n\nconst DurationScroll = forwardRef<DurationScrollRef, DurationScrollProps>(\n (props, ref) => {\n const {\n aggressivelyGetLatestDuration,\n allowFontScaling = false,\n amLabel,\n Audio,\n bottomPickerGradientOverlayProps,\n clickSoundAsset,\n disableInfiniteScroll = false,\n FlatList = RNFlatList,\n Haptics,\n initialValue = 0,\n is12HourPicker,\n isDisabled,\n label,\n limit,\n LinearGradient,\n numberOfItems,\n onDurationChange,\n padNumbersWithZero = false,\n padWithNItems,\n pickerGradientOverlayProps,\n pmLabel,\n styles,\n testID,\n topPickerGradientOverlayProps,\n } = props;\n\n const data = !is12HourPicker\n ? generateNumbers(numberOfItems, {\n padNumbersWithZero,\n repeatNTimes: 3,\n disableInfiniteScroll,\n padWithNItems,\n })\n : generate12HourNumbers({\n padNumbersWithZero,\n repeatNTimes: 3,\n disableInfiniteScroll,\n padWithNItems,\n });\n\n const numberOfItemsToShow = 1 + padWithNItems * 2;\n\n const adjustedLimited = getAdjustedLimit(limit, numberOfItems);\n\n const initialScrollIndex = getScrollIndex({\n value: initialValue,\n numberOfItems,\n padWithNItems,\n disableInfiniteScroll,\n });\n\n // keep track of the latest duration as it scrolls\n const latestDuration = useRef(0);\n // keep track of the last index scrolled past for haptic/audio feedback\n const lastFeedbackIndex = useRef(0);\n\n const flatListRef = useRef<RNFlatList | null>(null);\n\n const [clickSound, setClickSound] = useState<\n | {\n replayAsync: () => Promise<void>;\n unloadAsync: () => Promise<void>;\n }\n | undefined\n >();\n\n // Preload the sound when the component mounts\n useEffect(() => {\n const loadSound = async () => {\n if (Audio) {\n const { sound } = await Audio.Sound.createAsync(\n clickSoundAsset ?? {\n // use a hosted sound as a fallback (do not use local asset due to loader issues\n // in some environments when including mp3 in library)\n uri: \"https://drive.google.com/uc?export=download&id=10e1YkbNsRh-vGx1jmS1Nntz8xzkBp4_I\",\n },\n { shouldPlay: false }\n );\n setClickSound(sound);\n }\n };\n loadSound();\n\n // Unload sound when component unmounts\n return () => {\n clickSound?.unloadAsync();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [Audio]);\n\n useImperativeHandle(ref, () => ({\n reset: (options) => {\n flatListRef.current?.scrollToIndex({\n animated: options?.animated ?? false,\n index: initialScrollIndex,\n });\n },\n setValue: (value, options) => {\n flatListRef.current?.scrollToIndex({\n animated: options?.animated ?? false,\n index: getScrollIndex({\n value: value,\n numberOfItems,\n padWithNItems,\n disableInfiniteScroll,\n }),\n });\n },\n latestDuration: latestDuration,\n }));\n\n const renderItem = useCallback(\n ({ item }: { item: string }) => {\n let stringItem = item;\n let intItem: number;\n let isAm: boolean | undefined;\n\n if (!is12HourPicker) {\n intItem = parseInt(item);\n } else {\n isAm = item.includes(\"AM\");\n stringItem = item.replace(/\\s[AP]M/g, \"\");\n intItem = parseInt(stringItem);\n }\n\n return (\n <View\n key={item}\n style={styles.pickerItemContainer}\n testID=\"picker-item\">\n <Text\n allowFontScaling={allowFontScaling}\n style={[\n styles.pickerItem,\n intItem > adjustedLimited.max ||\n intItem < adjustedLimited.min\n ? styles.disabledPickerItem\n : {},\n ]}>\n {stringItem}\n </Text>\n {is12HourPicker ? (\n <View\n pointerEvents=\"none\"\n style={styles.pickerAmPmContainer}>\n <Text\n allowFontScaling={allowFontScaling}\n style={[styles.pickerAmPmLabel]}>\n {isAm ? amLabel : pmLabel}\n </Text>\n </View>\n ) : null}\n </View>\n );\n },\n [\n adjustedLimited.max,\n adjustedLimited.min,\n allowFontScaling,\n amLabel,\n is12HourPicker,\n pmLabel,\n styles.disabledPickerItem,\n styles.pickerAmPmContainer,\n styles.pickerAmPmLabel,\n styles.pickerItem,\n styles.pickerItemContainer,\n ]\n );\n\n const onScroll = useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n // this function is only used when the picker is in a modal and/or has Haptic/Audio feedback\n // it is used to ensure that the modal gets the latest duration on clicking\n // the confirm button, even if the scrollview is still scrolling\n if (!aggressivelyGetLatestDuration && !Haptics && !Audio) {\n return;\n }\n\n if (aggressivelyGetLatestDuration) {\n const newIndex = Math.round(\n e.nativeEvent.contentOffset.y /\n styles.pickerItemContainer.height\n );\n let newDuration =\n (disableInfiniteScroll\n ? newIndex\n : newIndex + padWithNItems) %\n (numberOfItems + 1);\n\n if (newDuration !== latestDuration.current) {\n // check limits\n if (newDuration > adjustedLimited.max) {\n newDuration = adjustedLimited.max;\n } else if (newDuration < adjustedLimited.min) {\n newDuration = adjustedLimited.min;\n }\n\n latestDuration.current = newDuration;\n }\n }\n\n if (Haptics || Audio) {\n const feedbackIndex = Math.round(\n (e.nativeEvent.contentOffset.y +\n styles.pickerItemContainer.height / 2) /\n styles.pickerItemContainer.height\n );\n\n if (feedbackIndex !== lastFeedbackIndex.current) {\n // this check stops the feedback firing when the component mounts\n if (lastFeedbackIndex.current) {\n // fire haptic feedback if available\n Haptics?.selectionAsync();\n\n // play click sound if available\n clickSound?.replayAsync();\n }\n\n lastFeedbackIndex.current = feedbackIndex;\n }\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n adjustedLimited.max,\n adjustedLimited.min,\n aggressivelyGetLatestDuration,\n clickSound,\n disableInfiniteScroll,\n numberOfItems,\n padWithNItems,\n styles.pickerItemContainer.height,\n ]\n );\n\n const onMomentumScrollEnd = useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n const newIndex = Math.round(\n e.nativeEvent.contentOffset.y /\n styles.pickerItemContainer.height\n );\n let newDuration =\n (disableInfiniteScroll\n ? newIndex\n : newIndex + padWithNItems) %\n (numberOfItems + 1);\n\n // check limits\n if (newDuration > adjustedLimited.max) {\n const targetScrollIndex =\n newIndex - (newDuration - adjustedLimited.max);\n flatListRef.current?.scrollToIndex({\n animated: true,\n index:\n // guard against scrolling beyond end of list\n targetScrollIndex >= 0\n ? targetScrollIndex\n : adjustedLimited.max - 1,\n }); // scroll down to max\n newDuration = adjustedLimited.max;\n } else if (newDuration < adjustedLimited.min) {\n const targetScrollIndex =\n newIndex + (adjustedLimited.min - newDuration);\n flatListRef.current?.scrollToIndex({\n animated: true,\n index:\n // guard against scrolling beyond end of list\n targetScrollIndex <= data.length - 1\n ? targetScrollIndex\n : adjustedLimited.min,\n }); // scroll up to min\n newDuration = adjustedLimited.min;\n }\n\n onDurationChange(newDuration);\n },\n [\n adjustedLimited.max,\n adjustedLimited.min,\n data.length,\n disableInfiniteScroll,\n numberOfItems,\n onDurationChange,\n padWithNItems,\n styles.pickerItemContainer.height,\n ]\n );\n\n const onViewableItemsChanged = useCallback(\n ({ viewableItems }: { viewableItems: ViewToken[] }) => {\n if (\n viewableItems[0]?.index &&\n viewableItems[0].index < numberOfItems * 0.5\n ) {\n flatListRef.current?.scrollToIndex({\n animated: false,\n index: viewableItems[0].index + numberOfItems,\n });\n } else if (\n viewableItems[0]?.index &&\n viewableItems[0].index >= numberOfItems * 2.5\n ) {\n flatListRef.current?.scrollToIndex({\n animated: false,\n index: viewableItems[0].index - numberOfItems,\n });\n }\n },\n [numberOfItems]\n );\n\n const getItemLayout = useCallback(\n (_: ArrayLike<string> | null | undefined, index: number) => ({\n length: styles.pickerItemContainer.height,\n offset: styles.pickerItemContainer.height * index,\n index,\n }),\n [styles.pickerItemContainer.height]\n );\n\n const viewabilityConfigCallbackPairs =\n useRef<ViewabilityConfigCallbackPairs>([\n {\n viewabilityConfig: { viewAreaCoveragePercentThreshold: 25 },\n onViewableItemsChanged: onViewableItemsChanged,\n },\n ]);\n\n return (\n <View\n pointerEvents={isDisabled ? \"none\" : undefined}\n style={[\n {\n height:\n styles.pickerItemContainer.height *\n numberOfItemsToShow,\n overflow: \"visible\",\n },\n isDisabled && styles.disabledPickerContainer,\n ]}\n testID={testID}>\n <FlatList\n ref={flatListRef}\n data={data}\n decelerationRate={0.88}\n getItemLayout={getItemLayout}\n initialScrollIndex={initialScrollIndex}\n keyExtractor={(_, index) => index.toString()}\n nestedScrollEnabled\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScroll={onScroll}\n renderItem={renderItem}\n scrollEnabled={!isDisabled}\n scrollEventThrottle={16}\n showsVerticalScrollIndicator={false}\n snapToAlignment=\"start\"\n // used in place of snapToOffset due to bug on Android\n snapToOffsets={[...Array(data.length)].map(\n (_, i) => i * styles.pickerItemContainer.height\n )}\n testID=\"duration-scroll-flatlist\"\n viewabilityConfigCallbackPairs={\n !disableInfiniteScroll\n ? viewabilityConfigCallbackPairs?.current\n : undefined\n }\n windowSize={numberOfItemsToShow}\n />\n <View pointerEvents=\"none\" style={styles.pickerLabelContainer}>\n {typeof label === \"string\" ? (\n <Text\n allowFontScaling={allowFontScaling}\n style={styles.pickerLabel}>\n {label}\n </Text>\n ) : (\n label ?? null\n )}\n </View>\n {LinearGradient ? (\n <>\n <LinearGradient\n colors={[\n styles.pickerContainer.backgroundColor ??\n \"white\",\n colorToRgba({\n color:\n styles.pickerContainer\n .backgroundColor ?? \"white\",\n opacity: 0,\n }),\n ]}\n end={{ x: 1, y: 1 }}\n pointerEvents=\"none\"\n start={{ x: 1, y: 0.3 }}\n {...pickerGradientOverlayProps}\n {...topPickerGradientOverlayProps}\n style={[styles.pickerGradientOverlay, { top: 0 }]}\n />\n <LinearGradient\n colors={[\n colorToRgba({\n color:\n styles.pickerContainer\n .backgroundColor ?? \"white\",\n opacity: 0,\n }),\n styles.pickerContainer.backgroundColor ??\n \"white\",\n ]}\n end={{ x: 1, y: 0.7 }}\n pointerEvents=\"none\"\n start={{ x: 1, y: 0 }}\n {...pickerGradientOverlayProps}\n {...bottomPickerGradientOverlayProps}\n style={[\n styles.pickerGradientOverlay,\n { bottom: -1 },\n ]}\n />\n </>\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(DurationScroll);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { MutableRefObject } from \"react\";\n\nimport type {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport type { MutableRefObject } from \"react\";\n\nimport type {\n View,\n FlatList as RNFlatList,\n FlatListProps as RNFlatListProps,\n} from \"react-native\";\n\nimport type { generateStyles } from \"../TimerPicker/styles\";\n\nexport type CustomFlatList = <ItemT = any>(\n props: React.PropsWithChildren<\n RNFlatListProps<ItemT> & React.RefAttributes<RNFlatList<ItemT>>\n >,\n ref: React.ForwardedRef<RNFlatList<ItemT>>\n) => React.ReactElement | null;\n\nexport interface DurationScrollProps {\n Audio?: any;\n FlatList?: CustomFlatList;\n Haptics?: any;\n LinearGradient?: any;\n aggressivelyGetLatestDuration: boolean;\n allowFontScaling?: boolean;\n amLabel?: string;\n bottomPickerGradientOverlayProps?: Partial<LinearGradientProps>;\n clickSoundAsset?: SoundAssetType;\n disableInfiniteScroll?: boolean;\n initialValue?: number;\n is12HourPicker?: boolean;\n isDisabled?: boolean;\n label?: string | React.ReactElement;\n limit?: LimitType;\n numberOfItems: number;\n onDurationChange: (duration: number) => void;\n padNumbersWithZero?: boolean;\n padWithNItems: number;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n pmLabel?: string;\n styles: ReturnType<typeof generateStyles>;\n testID?: string;\n topPickerGradientOverlayProps?: Partial<LinearGradientProps>;\n}\n\nexport interface DurationScrollRef {\n latestDuration: MutableRefObject<number>;\n reset: (options?: { animated?: boolean }) => void;\n setValue: (value: number, options?: { animated?: boolean }) => void;\n}\n\ntype LinearGradientPoint = {\n x: number;\n y: number;\n};\n\nexport type LinearGradientProps = React.ComponentProps<typeof View> & {\n colors: string[];\n end?: LinearGradientPoint | null;\n locations?: number[] | null;\n start?: LinearGradientPoint | null;\n};\n\nexport type LimitType = {\n max?: number;\n min?: number;\n};\n\nexport type SoundAssetType =\n | number\n | {\n headers?: Record<string, string>;\n overrideFileExtensionAndroid?: string;\n uri: string;\n };\n"],"mappings":"","ignoreList":[]}
|
|
@@ -8,8 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _styles = require("./styles");
|
|
10
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
12
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
13
13
|
const Modal = props => {
|
|
14
14
|
const {
|
|
15
15
|
animationDuration = 300,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","Modal","props","animationDuration","children","contentStyle","isVisible","modalProps","onHide","onOverlayPress","overlayOpacity","overlayStyle","testID","height","screenHeight","width","screenWidth","useWindowDimensions","isMounted","useRef","animatedOpacity","Animated","Value","useEffect","current","show","backdropAnimatedStyle","opacity","interpolate","inputRange","outputRange","contentAnimatedStyle","transform","translateY","extrapolate","useCallback","timing","easing","Easing","inOut","quad","useNativeDriver","duration","toValue","start","hide","createElement","animationType","transparent","visible","TouchableWithoutFeedback","onPress","View","style","styles","backdrop","pointerEvents","content","exports","_default","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\n\nimport {\n Animated,\n Easing,\n Modal as ReactNativeModal,\n TouchableWithoutFeedback,\n useWindowDimensions,\n} from \"react-native\";\n\nimport { styles } from \"./styles\";\nimport type { ModalProps } from \"./types\";\n\nexport const Modal = (props: ModalProps) => {\n const {\n animationDuration = 300,\n children,\n contentStyle,\n isVisible = false,\n modalProps,\n onHide,\n onOverlayPress,\n overlayOpacity = 0.4,\n overlayStyle,\n testID = \"modal\",\n } = props;\n\n const { height: screenHeight, width: screenWidth } = useWindowDimensions();\n\n const isMounted = useRef(false);\n const animatedOpacity = useRef(new Animated.Value(0));\n\n useEffect(() => {\n isMounted.current = true;\n if (isVisible) {\n show();\n }\n\n return () => {\n isMounted.current = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const backdropAnimatedStyle = {\n opacity: animatedOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [0, overlayOpacity],\n }),\n };\n const contentAnimatedStyle = {\n transform: [\n {\n translateY: animatedOpacity.current.interpolate({\n inputRange: [0, 1],\n outputRange: [screenHeight, 0],\n extrapolate: \"clamp\",\n }),\n },\n ],\n };\n\n const show = useCallback(() => {\n Animated.timing(animatedOpacity.current, {\n easing: Easing.inOut(Easing.quad),\n // Using native driver in the modal makes the content flash\n useNativeDriver: true,\n duration: animationDuration,\n toValue: 1,\n }).start();\n }, [animationDuration]);\n\n const hide = useCallback(() => {\n Animated.timing(animatedOpacity.current, {\n easing: Easing.inOut(Easing.quad),\n // Using native driver in the modal makes the content flash\n useNativeDriver: true,\n duration: animationDuration,\n toValue: 0,\n }).start(() => {\n if (isMounted.current) {\n onHide?.();\n }\n });\n }, [animationDuration, onHide]);\n\n useEffect(() => {\n if (isVisible) {\n show();\n } else {\n hide();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isVisible]);\n\n return (\n <ReactNativeModal\n animationType=\"fade\"\n transparent\n visible={isVisible}\n {...modalProps}\n testID={testID}>\n <TouchableWithoutFeedback\n onPress={onOverlayPress}\n testID=\"modal-backdrop\">\n <Animated.View\n style={[\n styles.backdrop,\n backdropAnimatedStyle,\n { width: screenWidth, height: screenHeight },\n overlayStyle,\n ]}\n />\n </TouchableWithoutFeedback>\n <Animated.View\n pointerEvents=\"box-none\"\n style={[styles.content, contentAnimatedStyle, contentStyle]}>\n {children}\n </Animated.View>\n </ReactNativeModal>\n );\n};\n\nexport default React.memo(Modal);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","styles","exports","StyleSheet","create","container","position","top","left","right","bottom","backdrop","backgroundColor","opacity","content","flex","justifyContent","alignItems","zIndex"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\n\nexport const styles = StyleSheet.create({\n container: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n backdrop: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: \"black\",\n opacity: 0,\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1,\n },\n});"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAGE,uBAAU,CAACC,MAAM,CAAC;EACpCC,SAAS,EAAE;IACPC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACNL,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNG,MAAM,EAAE,CAAC;IACTF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRG,eAAe,EAAE,OAAO;IACxBC,OAAO,EAAE;EACb,CAAC;EACDC,OAAO,EAAE;IACLC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE;EACZ;AACJ,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","styles","exports","StyleSheet","create","container","position","top","left","right","bottom","backdrop","backgroundColor","opacity","content","flex","justifyContent","alignItems","zIndex"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\n\nexport const styles = StyleSheet.create({\n container: {\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n },\n backdrop: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n backgroundColor: \"black\",\n opacity: 0,\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n alignItems: \"center\",\n zIndex: 1,\n },\n});"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEO,MAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAGE,uBAAU,CAACC,MAAM,CAAC;EACpCC,SAAS,EAAE;IACPC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACZ,CAAC;EACDC,QAAQ,EAAE;IACNL,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNG,MAAM,EAAE,CAAC;IACTF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRG,eAAe,EAAE,OAAO;IACxBC,OAAO,EAAE;EACb,CAAC;EACDC,OAAO,EAAE;IACLC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE;EACZ;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport type { ViewStyle } from \"react-native\";\nimport type { Modal as ReactNativeModal } from \"react-native\";\n\nexport interface ModalProps {\n animationDuration?: number;\n children?: React.ReactElement;\n contentStyle?: ViewStyle;\n isVisible?: boolean;\n modalProps?: ComponentProps<typeof ReactNativeModal>;\n onHide?: () => void;\n onOverlayPress?: () => void;\n overlayOpacity?: number;\n overlayStyle?: ViewStyle;\n testID?: string;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { ComponentProps } from \"react\";\n\nimport type { ViewStyle } from \"react-native\";\nimport type { Modal as ReactNativeModal } from \"react-native\";\n\nexport interface ModalProps {\n animationDuration?: number;\n children?: React.ReactElement;\n contentStyle?: ViewStyle;\n isVisible?: boolean;\n modalProps?: ComponentProps<typeof ReactNativeModal>;\n onHide?: () => void;\n onOverlayPress?: () => void;\n overlayOpacity?: number;\n overlayStyle?: ViewStyle;\n testID?: string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -8,10 +8,10 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _DurationScroll = _interopRequireDefault(require("../DurationScroll"));
|
|
10
10
|
var _styles = require("./styles");
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
14
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
15
15
|
const TimerPicker = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
16
16
|
const {
|
|
17
17
|
aggressivelyGetLatestDuration = false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_DurationScroll","_interopRequireDefault","_styles","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","TimerPicker","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","disableInfiniteScroll","hideHours","hideMinutes","hideSeconds","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padWithNItems","pickerContainerProps","pmLabel","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","checkedPadWithNItems","Math","round","useMemo","generateStyles","safeInitialValue","hours","minutes","seconds","selectedHours","setSelectedHours","useState","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","useEffect","hoursDurationScrollRef","useRef","minutesDurationScrollRef","secondsDurationScrollRef","useImperativeHandle","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","View","style","pickerContainer","testID","is12HourPicker","isDisabled","label","undefined","limit","numberOfItems","padNumbersWithZero","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { View } from \"react-native\";\n\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll/types\";\n\nimport { generateStyles } from \"./styles\";\nimport type { TimerPickerProps, TimerPickerRef } from \"./types\";\n\nconst TimerPicker = forwardRef<TimerPickerRef, TimerPickerProps>(\n (props, ref) => {\n const {\n aggressivelyGetLatestDuration = false,\n allowFontScaling = false,\n amLabel = \"am\",\n disableInfiniteScroll = false,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n const checkedPadWithNItems =\n padWithNItems >= 0 ? Math.round(padWithNItems) : 0;\n\n const styles = useMemo(\n () =>\n generateStyles(customStyles, {\n padWithNItems: checkedPadWithNItems,\n }),\n\n [checkedPadWithNItems, customStyles]\n );\n\n const safeInitialValue = {\n hours: initialValue?.hours ?? 0,\n minutes: initialValue?.minutes ?? 0,\n seconds: initialValue?.seconds ?? 0,\n };\n\n const [selectedHours, setSelectedHours] = useState(\n safeInitialValue.hours\n );\n const [selectedMinutes, setSelectedMinutes] = useState(\n safeInitialValue.minutes\n );\n const [selectedSeconds, setSelectedSeconds] = useState(\n safeInitialValue.seconds\n );\n\n useEffect(() => {\n onDurationChange?.({\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedHours, selectedMinutes, selectedSeconds]);\n\n const hoursDurationScrollRef = useRef<DurationScrollRef>(null);\n const minutesDurationScrollRef = useRef<DurationScrollRef>(null);\n const secondsDurationScrollRef = useRef<DurationScrollRef>(null);\n\n useImperativeHandle(ref, () => ({\n reset: (options) => {\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n setSelectedHours(value.hours);\n setSelectedMinutes(value.minutes);\n setSelectedSeconds(value.seconds);\n hoursDurationScrollRef.current?.setValue(value.hours, options);\n minutesDurationScrollRef.current?.setValue(\n value.minutes,\n options\n );\n secondsDurationScrollRef.current?.setValue(\n value.seconds,\n options\n );\n },\n latestDuration: {\n hours: hoursDurationScrollRef.current?.latestDuration,\n minutes: minutesDurationScrollRef.current?.latestDuration,\n seconds: secondsDurationScrollRef.current?.latestDuration,\n },\n }));\n\n return (\n <View\n {...pickerContainerProps}\n style={styles.pickerContainer}\n testID=\"timer-picker\">\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n limit={hourLimit}\n numberOfItems={23}\n onDurationChange={setSelectedHours}\n padWithNItems={checkedPadWithNItems}\n pmLabel={pmLabel}\n styles={styles}\n testID=\"duration-scroll-hour\"\n {...otherProps}\n />\n ) : null}\n {!hideMinutes ? (\n <DurationScroll\n ref={minutesDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n numberOfItems={59}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero\n padWithNItems={checkedPadWithNItems}\n styles={styles}\n testID=\"duration-scroll-minute\"\n {...otherProps}\n />\n ) : null}\n {!hideSeconds ? (\n <DurationScroll\n ref={secondsDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n numberOfItems={59}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero\n padWithNItems={checkedPadWithNItems}\n styles={styles}\n testID=\"duration-scroll-second\"\n {...otherProps}\n />\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(TimerPicker);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,eAAA,GAAAC,sBAAA,CAAAH,OAAA;AAGA,IAAAI,OAAA,GAAAJ,OAAA;AAA0C,SAAAG,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAAA,SAAAY,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAL,CAAA,MAAAA,CAAA,GAAAM,SAAA,CAAAC,MAAA,EAAAP,CAAA,UAAAQ,MAAA,GAAAF,SAAA,CAAAN,CAAA,YAAAS,GAAA,IAAAD,MAAA,QAAAf,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAC,GAAA,KAAAJ,MAAA,CAAAI,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAJ,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAJ,SAAA;AAG1C,MAAMK,WAAW,gBAAG,IAAAC,iBAAU,EAC1B,CAACC,KAAK,EAAEC,GAAG,KAAK;EACZ,MAAM;IACFC,6BAA6B,GAAG,KAAK;IACrCC,gBAAgB,GAAG,KAAK;IACxBC,OAAO,GAAG,IAAI;IACdC,qBAAqB,GAAG,KAAK;IAC7BC,SAAS,GAAG,KAAK;IACjBC,WAAW,GAAG,KAAK;IACnBC,WAAW,GAAG,KAAK;IACnBC,SAAS;IACTC,SAAS;IACTC,qBAAqB,GAAG,KAAK;IAC7BC,YAAY;IACZC,WAAW;IACXC,WAAW;IACXC,uBAAuB,GAAG,KAAK;IAC/BC,gBAAgB;IAChBC,aAAa,GAAG,CAAC;IACjBC,oBAAoB;IACpBC,OAAO,GAAG,IAAI;IACdC,WAAW;IACXC,WAAW;IACXC,uBAAuB,GAAG,KAAK;IAC/BC,MAAM,EAAEC,YAAY;IACpBC,eAAe,GAAG,KAAK;IACvB,GAAGC;EACP,CAAC,GAAG1B,KAAK;EAET,MAAM2B,oBAAoB,GACtBV,aAAa,IAAI,CAAC,GAAGW,IAAI,CAACC,KAAK,CAACZ,aAAa,CAAC,GAAG,CAAC;EAEtD,MAAMM,MAAM,GAAG,IAAAO,cAAO,EAClB,MACI,IAAAC,sBAAc,EAACP,YAAY,EAAE;IACzBP,aAAa,EAAEU;EACnB,CAAC,CAAC,EAEN,CAACA,oBAAoB,EAAEH,YAAY,CACvC,CAAC;EAED,MAAMQ,gBAAgB,GAAG;IACrBC,KAAK,EAAE,CAAArB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEqB,KAAK,KAAI,CAAC;IAC/BC,OAAO,EAAE,CAAAtB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEsB,OAAO,KAAI,CAAC;IACnCC,OAAO,EAAE,CAAAvB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEuB,OAAO,KAAI;EACtC,CAAC;EAED,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAC9CN,gBAAgB,CAACC,KACrB,CAAC;EACD,MAAM,CAACM,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAF,eAAQ,EAClDN,gBAAgB,CAACE,OACrB,CAAC;EACD,MAAM,CAACO,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAJ,eAAQ,EAClDN,gBAAgB,CAACG,OACrB,CAAC;EAED,IAAAQ,gBAAS,EAAC,MAAM;IACZ3B,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAG;MACfiB,KAAK,EAAEG,aAAa;MACpBF,OAAO,EAAEK,eAAe;MACxBJ,OAAO,EAAEM;IACb,CAAC,CAAC;IACF;EACJ,CAAC,EAAE,CAACL,aAAa,EAAEG,eAAe,EAAEE,eAAe,CAAC,CAAC;EAErD,MAAMG,sBAAsB,GAAG,IAAAC,aAAM,EAAoB,IAAI,CAAC;EAC9D,MAAMC,wBAAwB,GAAG,IAAAD,aAAM,EAAoB,IAAI,CAAC;EAChE,MAAME,wBAAwB,GAAG,IAAAF,aAAM,EAAoB,IAAI,CAAC;EAEhE,IAAAG,0BAAmB,EAAC/C,GAAG,EAAE;IAAA,IAAAgD,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAO;MAC5BC,KAAK,EAAGC,OAAO,IAAK;QAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;QAChBnB,gBAAgB,CAACL,gBAAgB,CAACC,KAAK,CAAC;QACxCO,kBAAkB,CAACR,gBAAgB,CAACE,OAAO,CAAC;QAC5CQ,kBAAkB,CAACV,gBAAgB,CAACG,OAAO,CAAC;QAC5C,CAAAmB,qBAAA,GAAAV,sBAAsB,CAACa,OAAO,cAAAH,qBAAA,eAA9BA,qBAAA,CAAgCF,KAAK,CAACC,OAAO,CAAC;QAC9C,CAAAE,qBAAA,GAAAT,wBAAwB,CAACW,OAAO,cAAAF,qBAAA,eAAhCA,qBAAA,CAAkCH,KAAK,CAACC,OAAO,CAAC;QAChD,CAAAG,qBAAA,GAAAT,wBAAwB,CAACU,OAAO,cAAAD,qBAAA,eAAhCA,qBAAA,CAAkCJ,KAAK,CAACC,OAAO,CAAC;MACpD,CAAC;MACDK,QAAQ,EAAEA,CAACC,KAAK,EAAEN,OAAO,KAAK;QAAA,IAAAO,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;QAC1BzB,gBAAgB,CAACsB,KAAK,CAAC1B,KAAK,CAAC;QAC7BO,kBAAkB,CAACmB,KAAK,CAACzB,OAAO,CAAC;QACjCQ,kBAAkB,CAACiB,KAAK,CAACxB,OAAO,CAAC;QACjC,CAAAyB,sBAAA,GAAAhB,sBAAsB,CAACa,OAAO,cAAAG,sBAAA,eAA9BA,sBAAA,CAAgCF,QAAQ,CAACC,KAAK,CAAC1B,KAAK,EAAEoB,OAAO,CAAC;QAC9D,CAAAQ,sBAAA,GAAAf,wBAAwB,CAACW,OAAO,cAAAI,sBAAA,eAAhCA,sBAAA,CAAkCH,QAAQ,CACtCC,KAAK,CAACzB,OAAO,EACbmB,OACJ,CAAC;QACD,CAAAS,sBAAA,GAAAf,wBAAwB,CAACU,OAAO,cAAAK,sBAAA,eAAhCA,sBAAA,CAAkCJ,QAAQ,CACtCC,KAAK,CAACxB,OAAO,EACbkB,OACJ,CAAC;MACL,CAAC;MACDU,cAAc,EAAE;QACZ9B,KAAK,GAAAgB,sBAAA,GAAEL,sBAAsB,CAACa,OAAO,cAAAR,sBAAA,uBAA9BA,sBAAA,CAAgCc,cAAc;QACrD7B,OAAO,GAAAgB,sBAAA,GAAEJ,wBAAwB,CAACW,OAAO,cAAAP,sBAAA,uBAAhCA,sBAAA,CAAkCa,cAAc;QACzD5B,OAAO,GAAAgB,sBAAA,GAAEJ,wBAAwB,CAACU,OAAO,cAAAN,sBAAA,uBAAhCA,sBAAA,CAAkCY;MAC/C;IACJ,CAAC;EAAA,CAAC,CAAC;EAEH,oBACIvG,MAAA,CAAAS,OAAA,CAAA+F,aAAA,CAACrG,YAAA,CAAAsG,IAAI,EAAA5E,QAAA,KACG6B,oBAAoB;IACxBgD,KAAK,EAAE3C,MAAM,CAAC4C,eAAgB;IAC9BC,MAAM,EAAC;EAAc,IACpB,CAAC9D,SAAS,gBACP9C,MAAA,CAAAS,OAAA,CAAA+F,aAAA,CAACpG,eAAA,CAAAK,OAAc,EAAAoB,QAAA;IACXY,GAAG,EAAE2C,sBAAuB;IAC5B1C,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCC,OAAO,EAAEA,OAAQ;IACjBC,qBAAqB,EAAEA,qBAAsB;IAC7CO,YAAY,EAAEoB,gBAAgB,CAACC,KAAM;IACrCoC,cAAc,EAAE5C,eAAgB;IAChC6C,UAAU,EAAE3D,qBAAsB;IAClC4D,KAAK,EACD9D,SAAS,KAAK,CAACgB,eAAe,GAAG,GAAG,GAAG+C,SAAS,CACnD;IACDC,KAAK,EAAE/D,SAAU;IACjBgE,aAAa,EAAE,EAAG;IAClB1D,gBAAgB,EAAEqB,gBAAiB;IACnCpB,aAAa,EAAEU,oBAAqB;IACpCR,OAAO,EAAEA,OAAQ;IACjBI,MAAM,EAAEA,MAAO;IACf6C,MAAM,EAAC;EAAsB,GACzB1C,UAAU,CACjB,CAAC,GACF,IAAI,EACP,CAACnB,WAAW,gBACT/C,MAAA,CAAAS,OAAA,CAAA+F,aAAA,CAACpG,eAAA,CAAAK,OAAc,EAAAoB,QAAA;IACXY,GAAG,EAAE6C,wBAAyB;IAC9B5C,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCE,qBAAqB,EAAEA,qBAAsB;IAC7CO,YAAY,EAAEoB,gBAAgB,CAACE,OAAQ;IACvCoC,UAAU,EAAEvD,uBAAwB;IACpCwD,KAAK,EAAE1D,WAAW,IAAI,GAAI;IAC1B4D,KAAK,EAAE3D,WAAY;IACnB4D,aAAa,EAAE,EAAG;IAClB1D,gBAAgB,EAAEwB,kBAAmB;IACrCmC,kBAAkB;IAClB1D,aAAa,EAAEU,oBAAqB;IACpCJ,MAAM,EAAEA,MAAO;IACf6C,MAAM,EAAC;EAAwB,GAC3B1C,UAAU,CACjB,CAAC,GACF,IAAI,EACP,CAAClB,WAAW,gBACThD,MAAA,CAAAS,OAAA,CAAA+F,aAAA,CAACpG,eAAA,CAAAK,OAAc,EAAAoB,QAAA;IACXY,GAAG,EAAE8C,wBAAyB;IAC9B7C,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCE,qBAAqB,EAAEA,qBAAsB;IAC7CO,YAAY,EAAEoB,gBAAgB,CAACG,OAAQ;IACvCmC,UAAU,EAAEhD,uBAAwB;IACpCiD,KAAK,EAAEnD,WAAW,IAAI,GAAI;IAC1BqD,KAAK,EAAEpD,WAAY;IACnBqD,aAAa,EAAE,EAAG;IAClB1D,gBAAgB,EAAE0B,kBAAmB;IACrCiC,kBAAkB;IAClB1D,aAAa,EAAEU,oBAAqB;IACpCJ,MAAM,EAAEA,MAAO;IACf6C,MAAM,EAAC;EAAwB,GAC3B1C,UAAU,CACjB,CAAC,GACF,IACF,CAAC;AAEf,CACJ,CAAC;AAAC,IAAAkD,QAAA,GAAAC,OAAA,CAAA5G,OAAA,gBAEa6G,cAAK,CAACC,IAAI,CAACjF,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_DurationScroll","_interopRequireDefault","_styles","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","TimerPicker","forwardRef","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","disableInfiniteScroll","hideHours","hideMinutes","hideSeconds","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padWithNItems","pickerContainerProps","pmLabel","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","checkedPadWithNItems","Math","round","useMemo","generateStyles","safeInitialValue","hours","minutes","seconds","selectedHours","setSelectedHours","useState","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","useEffect","hoursDurationScrollRef","useRef","minutesDurationScrollRef","secondsDurationScrollRef","useImperativeHandle","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","View","style","pickerContainer","testID","is12HourPicker","isDisabled","label","undefined","limit","numberOfItems","padNumbersWithZero","_default","exports","React","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { View } from \"react-native\";\n\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll/types\";\n\nimport { generateStyles } from \"./styles\";\nimport type { TimerPickerProps, TimerPickerRef } from \"./types\";\n\nconst TimerPicker = forwardRef<TimerPickerRef, TimerPickerProps>(\n (props, ref) => {\n const {\n aggressivelyGetLatestDuration = false,\n allowFontScaling = false,\n amLabel = \"am\",\n disableInfiniteScroll = false,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n const checkedPadWithNItems =\n padWithNItems >= 0 ? Math.round(padWithNItems) : 0;\n\n const styles = useMemo(\n () =>\n generateStyles(customStyles, {\n padWithNItems: checkedPadWithNItems,\n }),\n\n [checkedPadWithNItems, customStyles]\n );\n\n const safeInitialValue = {\n hours: initialValue?.hours ?? 0,\n minutes: initialValue?.minutes ?? 0,\n seconds: initialValue?.seconds ?? 0,\n };\n\n const [selectedHours, setSelectedHours] = useState(\n safeInitialValue.hours\n );\n const [selectedMinutes, setSelectedMinutes] = useState(\n safeInitialValue.minutes\n );\n const [selectedSeconds, setSelectedSeconds] = useState(\n safeInitialValue.seconds\n );\n\n useEffect(() => {\n onDurationChange?.({\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedHours, selectedMinutes, selectedSeconds]);\n\n const hoursDurationScrollRef = useRef<DurationScrollRef>(null);\n const minutesDurationScrollRef = useRef<DurationScrollRef>(null);\n const secondsDurationScrollRef = useRef<DurationScrollRef>(null);\n\n useImperativeHandle(ref, () => ({\n reset: (options) => {\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n setSelectedHours(value.hours);\n setSelectedMinutes(value.minutes);\n setSelectedSeconds(value.seconds);\n hoursDurationScrollRef.current?.setValue(value.hours, options);\n minutesDurationScrollRef.current?.setValue(\n value.minutes,\n options\n );\n secondsDurationScrollRef.current?.setValue(\n value.seconds,\n options\n );\n },\n latestDuration: {\n hours: hoursDurationScrollRef.current?.latestDuration,\n minutes: minutesDurationScrollRef.current?.latestDuration,\n seconds: secondsDurationScrollRef.current?.latestDuration,\n },\n }));\n\n return (\n <View\n {...pickerContainerProps}\n style={styles.pickerContainer}\n testID=\"timer-picker\">\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n limit={hourLimit}\n numberOfItems={23}\n onDurationChange={setSelectedHours}\n padWithNItems={checkedPadWithNItems}\n pmLabel={pmLabel}\n styles={styles}\n testID=\"duration-scroll-hour\"\n {...otherProps}\n />\n ) : null}\n {!hideMinutes ? (\n <DurationScroll\n ref={minutesDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n numberOfItems={59}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero\n padWithNItems={checkedPadWithNItems}\n styles={styles}\n testID=\"duration-scroll-minute\"\n {...otherProps}\n />\n ) : null}\n {!hideSeconds ? (\n <DurationScroll\n ref={secondsDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n numberOfItems={59}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero\n padWithNItems={checkedPadWithNItems}\n styles={styles}\n testID=\"duration-scroll-second\"\n {...otherProps}\n />\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(TimerPicker);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","options","_customStyles$pickerL","_customStyles$text","_customStyles$pickerI","_customStyles$text2","_customStyles$pickerI2","_customStyles$pickerI3","_customStyles$pickerI4","StyleSheet","create","pickerContainer","flexDirection","marginRight","backgroundColor","theme","pickerLabelContainer","position","right","top","bottom","justifyContent","minWidth","pickerLabel","fontSize","text","fontWeight","marginTop","pickerItem","color","pickerItemContainer","height","alignItems","width","textAlignVertical","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","opacity","disabledPickerItem","pickerGradientOverlay","left","padWithNItems","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nexport interface CustomTimerPickerStyles {\n backgroundColor?: string;\n disabledPickerContainer?: ViewStyle;\n disabledPickerItem?: TextStyle;\n pickerAmPmContainer?: ViewStyle;\n pickerAmPmLabel?: TextStyle;\n pickerContainer?: ViewStyle & { backgroundColor?: string };\n pickerGradientOverlay?: ViewStyle;\n pickerItem?: TextStyle;\n pickerItemContainer?: ViewStyle & { height?: number };\n pickerLabel?: TextStyle;\n pickerLabelContainer?: ViewStyle;\n text?: TextStyle;\n theme?: \"light\" | \"dark\";\n}\n\nconst DARK_MODE_BACKGROUND_COLOR = \"#232323\";\nconst DARK_MODE_TEXT_COLOR = \"#E9E9E9\";\nconst LIGHT_MODE_BACKGROUND_COLOR = \"#F1F1F1\";\nconst LIGHT_MODE_TEXT_COLOR = \"#1B1B1B\";\n\nexport const generateStyles = (\n customStyles: CustomTimerPickerStyles | undefined,\n options: { padWithNItems: number }\n) =>\n StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n marginRight: \"8%\",\n backgroundColor:\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n right: 4,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n minWidth:\n (customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) * 0.65,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop:\n (customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n width: (customStyles?.pickerItem?.fontSize ?? 25) * 3.6,\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop: (customStyles?.pickerItem?.fontSize ?? 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n ...customStyles?.pickerAmPmLabel,\n },\n disabledPickerContainer: {\n opacity: 0.4,\n ...customStyles?.disabledPickerContainer,\n },\n disabledPickerItem: {\n opacity: 0.2,\n ...customStyles?.disabledPickerItem,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n left: 0,\n right: 0,\n height:\n options.padWithNItems === 0\n ? \"30%\"\n : (customStyles?.pickerItemContainer?.height ?? 50) * 0.8,\n ...customStyles?.pickerGradientOverlay,\n },\n });\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","options","_customStyles$pickerL","_customStyles$text","_customStyles$pickerI","_customStyles$text2","_customStyles$pickerI2","_customStyles$pickerI3","_customStyles$pickerI4","StyleSheet","create","pickerContainer","flexDirection","marginRight","backgroundColor","theme","pickerLabelContainer","position","right","top","bottom","justifyContent","minWidth","pickerLabel","fontSize","text","fontWeight","marginTop","pickerItem","color","pickerItemContainer","height","alignItems","width","textAlignVertical","pickerAmPmContainer","pickerAmPmLabel","disabledPickerContainer","opacity","disabledPickerItem","pickerGradientOverlay","left","padWithNItems","exports"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nexport interface CustomTimerPickerStyles {\n backgroundColor?: string;\n disabledPickerContainer?: ViewStyle;\n disabledPickerItem?: TextStyle;\n pickerAmPmContainer?: ViewStyle;\n pickerAmPmLabel?: TextStyle;\n pickerContainer?: ViewStyle & { backgroundColor?: string };\n pickerGradientOverlay?: ViewStyle;\n pickerItem?: TextStyle;\n pickerItemContainer?: ViewStyle & { height?: number };\n pickerLabel?: TextStyle;\n pickerLabelContainer?: ViewStyle;\n text?: TextStyle;\n theme?: \"light\" | \"dark\";\n}\n\nconst DARK_MODE_BACKGROUND_COLOR = \"#232323\";\nconst DARK_MODE_TEXT_COLOR = \"#E9E9E9\";\nconst LIGHT_MODE_BACKGROUND_COLOR = \"#F1F1F1\";\nconst LIGHT_MODE_TEXT_COLOR = \"#1B1B1B\";\n\nexport const generateStyles = (\n customStyles: CustomTimerPickerStyles | undefined,\n options: { padWithNItems: number }\n) =>\n StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n marginRight: \"8%\",\n backgroundColor:\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n right: 4,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n minWidth:\n (customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) * 0.65,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop:\n (customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n width: (customStyles?.pickerItem?.fontSize ?? 25) * 3.6,\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n right: 0,\n top: 0,\n bottom: 0,\n justifyContent: \"center\",\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n marginTop: (customStyles?.pickerItem?.fontSize ?? 25) / 6,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n ...customStyles?.pickerAmPmLabel,\n },\n disabledPickerContainer: {\n opacity: 0.4,\n ...customStyles?.disabledPickerContainer,\n },\n disabledPickerItem: {\n opacity: 0.2,\n ...customStyles?.disabledPickerItem,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n left: 0,\n right: 0,\n height:\n options.padWithNItems === 0\n ? \"30%\"\n : (customStyles?.pickerItemContainer?.height ?? 50) * 0.8,\n ...customStyles?.pickerGradientOverlay,\n },\n });\n"],"mappings":"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","ignoreList":[]}
|