react-native-timer-picker 1.7.0 → 1.8.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.
Files changed (121) hide show
  1. package/README.md +67 -24
  2. package/dist/commonjs/assets/select_click.mp3 +0 -0
  3. package/dist/commonjs/components/{TimerPicker/DurationScroll.js → DurationScroll/index.js} +113 -63
  4. package/dist/commonjs/components/DurationScroll/index.js.map +1 -0
  5. package/dist/commonjs/components/DurationScroll/types.js +6 -0
  6. package/dist/commonjs/components/DurationScroll/types.js.map +1 -0
  7. package/dist/commonjs/components/Modal/index.js +21 -20
  8. package/dist/commonjs/components/Modal/index.js.map +1 -1
  9. package/dist/commonjs/components/Modal/{Modal.styles.js → styles.js} +1 -1
  10. package/dist/commonjs/components/Modal/styles.js.map +1 -0
  11. package/dist/commonjs/components/Modal/types.js +6 -0
  12. package/dist/commonjs/components/Modal/types.js.map +1 -0
  13. package/dist/commonjs/components/TimerPicker/index.js +57 -71
  14. package/dist/commonjs/components/TimerPicker/index.js.map +1 -1
  15. package/dist/commonjs/components/TimerPicker/{TimerPicker.styles.js → styles.js} +1 -3
  16. package/dist/commonjs/components/TimerPicker/styles.js.map +1 -0
  17. package/dist/commonjs/components/TimerPicker/types.js +6 -0
  18. package/dist/commonjs/components/TimerPicker/types.js.map +1 -0
  19. package/dist/commonjs/components/{index.js → TimerPickerModal/index.js} +35 -78
  20. package/dist/commonjs/components/TimerPickerModal/index.js.map +1 -0
  21. package/dist/commonjs/components/{TimerPickerModal.styles.js → TimerPickerModal/styles.js} +3 -5
  22. package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -0
  23. package/dist/commonjs/components/TimerPickerModal/types.js +6 -0
  24. package/dist/commonjs/components/TimerPickerModal/types.js.map +1 -0
  25. package/dist/commonjs/index.js +14 -13
  26. package/dist/commonjs/index.js.map +1 -1
  27. package/dist/commonjs/tests/DurationScroll.test.js +1 -1
  28. package/dist/commonjs/tests/DurationScroll.test.js.map +1 -1
  29. package/dist/commonjs/tests/Modal.test.js +7 -7
  30. package/dist/commonjs/tests/Modal.test.js.map +1 -1
  31. package/dist/commonjs/tests/TimerPicker.test.js.map +1 -1
  32. package/dist/commonjs/tests/TimerPickerModal.test.js +2 -2
  33. package/dist/commonjs/tests/TimerPickerModal.test.js.map +1 -1
  34. package/dist/commonjs/utils/generateNumbers.js.map +1 -1
  35. package/dist/commonjs/utils/getAdjustedLimit.js.map +1 -1
  36. package/dist/commonjs/utils/getScrollIndex.js +2 -2
  37. package/dist/commonjs/utils/getScrollIndex.js.map +1 -1
  38. package/dist/module/assets/select_click.mp3 +0 -0
  39. package/dist/module/components/{TimerPicker/DurationScroll.js → DurationScroll/index.js} +114 -64
  40. package/dist/module/components/DurationScroll/index.js.map +1 -0
  41. package/dist/module/components/DurationScroll/types.js +2 -0
  42. package/dist/module/components/DurationScroll/types.js.map +1 -0
  43. package/dist/module/components/Modal/index.js +19 -19
  44. package/dist/module/components/Modal/index.js.map +1 -1
  45. package/dist/module/components/Modal/{Modal.styles.js → styles.js} +1 -1
  46. package/dist/module/components/Modal/styles.js.map +1 -0
  47. package/dist/module/components/Modal/types.js +2 -0
  48. package/dist/module/components/Modal/types.js.map +1 -0
  49. package/dist/module/components/TimerPicker/index.js +56 -70
  50. package/dist/module/components/TimerPicker/index.js.map +1 -1
  51. package/dist/module/components/TimerPicker/{TimerPicker.styles.js → styles.js} +1 -2
  52. package/dist/module/components/TimerPicker/styles.js.map +1 -0
  53. package/dist/module/components/TimerPicker/types.js +2 -0
  54. package/dist/module/components/TimerPicker/types.js.map +1 -0
  55. package/dist/module/components/{index.js → TimerPickerModal/index.js} +34 -77
  56. package/dist/module/components/TimerPickerModal/index.js.map +1 -0
  57. package/dist/module/components/{TimerPickerModal.styles.js → TimerPickerModal/styles.js} +3 -4
  58. package/dist/module/components/TimerPickerModal/styles.js.map +1 -0
  59. package/dist/module/components/TimerPickerModal/types.js +2 -0
  60. package/dist/module/components/TimerPickerModal/types.js.map +1 -0
  61. package/dist/module/index.js +6 -4
  62. package/dist/module/index.js.map +1 -1
  63. package/dist/module/tests/DurationScroll.test.js +1 -1
  64. package/dist/module/tests/DurationScroll.test.js.map +1 -1
  65. package/dist/module/tests/Modal.test.js +1 -1
  66. package/dist/module/tests/Modal.test.js.map +1 -1
  67. package/dist/module/tests/TimerPicker.test.js.map +1 -1
  68. package/dist/module/tests/TimerPickerModal.test.js +2 -2
  69. package/dist/module/tests/TimerPickerModal.test.js.map +1 -1
  70. package/dist/module/utils/generateNumbers.js.map +1 -1
  71. package/dist/module/utils/getAdjustedLimit.js.map +1 -1
  72. package/dist/module/utils/getScrollIndex.js +2 -2
  73. package/dist/module/utils/getScrollIndex.js.map +1 -1
  74. package/dist/typescript/components/DurationScroll/index.d.ts +4 -0
  75. package/dist/typescript/components/{TimerPicker/DurationScroll.d.ts → DurationScroll/types.d.ts} +36 -29
  76. package/dist/typescript/components/Modal/index.d.ts +3 -14
  77. package/dist/typescript/components/Modal/types.d.ts +15 -0
  78. package/dist/typescript/components/TimerPicker/index.d.ts +2 -59
  79. package/dist/typescript/components/TimerPicker/styles.d.ts +1022 -0
  80. package/dist/typescript/components/TimerPicker/types.d.ts +61 -0
  81. package/dist/typescript/components/TimerPickerModal/index.d.ts +4 -0
  82. package/dist/typescript/components/TimerPickerModal/styles.d.ts +738 -0
  83. package/dist/typescript/components/{index.d.ts → TimerPickerModal/types.d.ts} +24 -26
  84. package/dist/typescript/index.d.ts +6 -4
  85. package/dist/typescript/utils/generateNumbers.d.ts +4 -4
  86. package/dist/typescript/utils/getAdjustedLimit.d.ts +1 -1
  87. package/dist/typescript/utils/getScrollIndex.d.ts +2 -2
  88. package/package.json +14 -11
  89. package/src/assets/select_click.mp3 +0 -0
  90. package/src/components/{TimerPicker/DurationScroll.tsx → DurationScroll/index.tsx} +126 -110
  91. package/src/components/DurationScroll/types.ts +63 -0
  92. package/src/components/Modal/index.tsx +20 -30
  93. package/src/components/Modal/types.ts +17 -0
  94. package/src/components/TimerPicker/index.tsx +52 -132
  95. package/src/components/TimerPicker/{TimerPicker.styles.ts → styles.ts} +11 -11
  96. package/src/components/TimerPicker/types.ts +72 -0
  97. package/src/components/{index.tsx → TimerPickerModal/index.tsx} +31 -126
  98. package/src/components/{TimerPickerModal.styles.ts → TimerPickerModal/styles.ts} +10 -9
  99. package/src/components/TimerPickerModal/types.ts +52 -0
  100. package/src/index.ts +6 -7
  101. package/src/tests/DurationScroll.test.tsx +3 -1
  102. package/src/tests/Modal.test.tsx +3 -1
  103. package/src/tests/TimerPicker.test.tsx +2 -0
  104. package/src/tests/TimerPickerModal.test.tsx +3 -1
  105. package/src/utils/generateNumbers.ts +4 -4
  106. package/src/utils/getAdjustedLimit.ts +1 -1
  107. package/src/utils/getScrollIndex.ts +3 -3
  108. package/dist/commonjs/components/Modal/Modal.styles.js.map +0 -1
  109. package/dist/commonjs/components/TimerPicker/DurationScroll.js.map +0 -1
  110. package/dist/commonjs/components/TimerPicker/TimerPicker.styles.js.map +0 -1
  111. package/dist/commonjs/components/TimerPickerModal.styles.js.map +0 -1
  112. package/dist/commonjs/components/index.js.map +0 -1
  113. package/dist/module/components/Modal/Modal.styles.js.map +0 -1
  114. package/dist/module/components/TimerPicker/DurationScroll.js.map +0 -1
  115. package/dist/module/components/TimerPicker/TimerPicker.styles.js.map +0 -1
  116. package/dist/module/components/TimerPickerModal.styles.js.map +0 -1
  117. package/dist/module/components/index.js.map +0 -1
  118. package/dist/typescript/components/TimerPicker/TimerPicker.styles.d.ts +0 -3100
  119. package/dist/typescript/components/TimerPickerModal.styles.d.ts +0 -2195
  120. /package/dist/typescript/components/Modal/{Modal.styles.d.ts → styles.d.ts} +0 -0
  121. /package/src/components/Modal/{Modal.styles.ts → styles.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","View","DurationScroll","generateStyles","TimerPicker","allowFontScaling","onDurationChange","initialValue","hideHours","hideMinutes","hideSeconds","hoursPickerIsDisabled","minutesPickerIsDisabled","secondsPickerIsDisabled","hourLimit","minuteLimit","secondLimit","hourLabel","minuteLabel","secondLabel","padWithNItems","disableInfiniteScroll","aggressivelyGetLatestDuration","use12HourPicker","amLabel","pmLabel","LinearGradient","pickerContainerProps","pickerGradientOverlayProps","topPickerGradientOverlayProps","bottomPickerGradientOverlayProps","styles","customStyles","ref","checkedPadWithNItems","Math","round","safeInitialValue","hours","minutes","seconds","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","hoursDurationScrollRef","minutesDurationScrollRef","secondsDurationScrollRef","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","_extends","style","pickerContainer","testID","numberOfItems","label","undefined","isDisabled","limit","is12HourPicker","padNumbersWithZero","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n MutableRefObject,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { View } from \"react-native\";\n\nimport DurationScroll, { DurationScrollRef, LimitType } from \"./DurationScroll\";\n\nimport { generateStyles, CustomTimerPickerStyles } from \"./TimerPicker.styles\";\nimport { LinearGradientProps } from \"./DurationScroll\";\n\nexport interface TimerPickerRef {\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n hours: number;\n minutes: number;\n seconds: number;\n },\n options?: { animated?: boolean }\n ) => void;\n latestDuration: {\n hours: MutableRefObject<number> | undefined;\n minutes: MutableRefObject<number> | undefined;\n seconds: MutableRefObject<number> | undefined;\n };\n}\n\nexport interface TimerPickerProps {\n allowFontScaling?: boolean;\n onDurationChange?: (duration: {\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n initialValue?: {\n hours?: number;\n minutes?: number;\n seconds?: number;\n };\n aggressivelyGetLatestDuration?: boolean;\n use12HourPicker?: boolean;\n amLabel?: string;\n pmLabel?: string;\n hideHours?: boolean;\n hideMinutes?: boolean;\n hideSeconds?: boolean;\n hoursPickerIsDisabled?: boolean;\n minutesPickerIsDisabled?: boolean;\n secondsPickerIsDisabled?: boolean;\n hourLimit?: LimitType;\n minuteLimit?: LimitType;\n secondLimit?: LimitType;\n hourLabel?: string | React.ReactElement;\n minuteLabel?: string | React.ReactElement;\n secondLabel?: string | React.ReactElement;\n padWithNItems?: number;\n disableInfiniteScroll?: boolean;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LinearGradient?: any;\n pickerContainerProps?: React.ComponentProps<typeof View>;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n topPickerGradientOverlayProps?: Partial<LinearGradientProps>;\n bottomPickerGradientOverlayProps?: Partial<LinearGradientProps>;\n styles?: CustomTimerPickerStyles;\n}\n\nconst TimerPicker = forwardRef<TimerPickerRef, TimerPickerProps>(\n (\n {\n allowFontScaling = false,\n onDurationChange,\n initialValue,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hoursPickerIsDisabled = false,\n minutesPickerIsDisabled = false,\n secondsPickerIsDisabled = false,\n hourLimit,\n minuteLimit,\n secondLimit,\n hourLabel,\n minuteLabel,\n secondLabel,\n padWithNItems = 1,\n disableInfiniteScroll = false,\n aggressivelyGetLatestDuration = false,\n use12HourPicker = false,\n amLabel = \"am\",\n pmLabel = \"pm\",\n LinearGradient,\n pickerContainerProps,\n pickerGradientOverlayProps,\n topPickerGradientOverlayProps,\n bottomPickerGradientOverlayProps,\n styles: customStyles,\n },\n ref\n ): React.ReactElement => {\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 numberOfItems={23}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n isDisabled={hoursPickerIsDisabled}\n initialValue={safeInitialValue.hours}\n allowFontScaling={allowFontScaling}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n onDurationChange={setSelectedHours}\n pickerGradientOverlayProps={pickerGradientOverlayProps}\n topPickerGradientOverlayProps={\n topPickerGradientOverlayProps\n }\n bottomPickerGradientOverlayProps={\n bottomPickerGradientOverlayProps\n }\n disableInfiniteScroll={disableInfiniteScroll}\n padWithNItems={checkedPadWithNItems}\n limit={hourLimit}\n LinearGradient={LinearGradient}\n is12HourPicker={use12HourPicker}\n amLabel={amLabel}\n pmLabel={pmLabel}\n styles={styles}\n testID=\"duration-scroll-hour\"\n />\n ) : null}\n {!hideMinutes ? (\n <DurationScroll\n ref={minutesDurationScrollRef}\n numberOfItems={59}\n label={minuteLabel ?? \"m\"}\n isDisabled={minutesPickerIsDisabled}\n initialValue={safeInitialValue.minutes}\n allowFontScaling={allowFontScaling}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero\n pickerGradientOverlayProps={pickerGradientOverlayProps}\n topPickerGradientOverlayProps={\n topPickerGradientOverlayProps\n }\n bottomPickerGradientOverlayProps={\n bottomPickerGradientOverlayProps\n }\n disableInfiniteScroll={disableInfiniteScroll}\n padWithNItems={checkedPadWithNItems}\n limit={minuteLimit}\n LinearGradient={LinearGradient}\n styles={styles}\n testID=\"duration-scroll-minute\"\n />\n ) : null}\n {!hideSeconds ? (\n <DurationScroll\n ref={secondsDurationScrollRef}\n numberOfItems={59}\n label={secondLabel ?? \"s\"}\n isDisabled={secondsPickerIsDisabled}\n initialValue={safeInitialValue.seconds}\n allowFontScaling={allowFontScaling}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero\n pickerGradientOverlayProps={pickerGradientOverlayProps}\n topPickerGradientOverlayProps={\n topPickerGradientOverlayProps\n }\n bottomPickerGradientOverlayProps={\n bottomPickerGradientOverlayProps\n }\n disableInfiniteScroll={disableInfiniteScroll}\n padWithNItems={checkedPadWithNItems}\n limit={secondLimit}\n LinearGradient={LinearGradient}\n styles={styles}\n testID=\"duration-scroll-second\"\n />\n ) : null}\n </View>\n );\n }\n);\n\nexport default React.memo(TimerPicker);\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","View","DurationScroll","generateStyles","TimerPicker","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","safeInitialValue","hours","minutes","seconds","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","hoursDurationScrollRef","minutesDurationScrollRef","secondsDurationScrollRef","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","_extends","style","pickerContainer","testID","is12HourPicker","isDisabled","label","undefined","limit","numberOfItems","padNumbersWithZero","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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"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import { StyleSheet } from "react-native";
3
2
  const DARK_MODE_BACKGROUND_COLOR = "#232323";
4
3
  const DARK_MODE_TEXT_COLOR = "#E9E9E9";
@@ -80,4 +79,4 @@ export const generateStyles = (customStyles, options) => {
80
79
  }
81
80
  });
82
81
  };
83
- //# sourceMappingURL=TimerPicker.styles.js.map
82
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","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","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"],"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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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\n\nimport type { View } from \"react-native\";\n\nimport type {\n LinearGradientProps,\n SoundAssetType,\n LimitType,\n} from \"../DurationScroll/types\";\n\nimport type { CustomTimerPickerStyles } from \"./styles\";\n\nexport interface TimerPickerRef {\n latestDuration: {\n hours: MutableRefObject<number> | undefined;\n minutes: MutableRefObject<number> | undefined;\n seconds: MutableRefObject<number> | undefined;\n };\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n hours: number;\n minutes: number;\n seconds: number;\n },\n options?: { animated?: boolean }\n ) => void;\n}\n\nexport interface TimerPickerProps {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Audio?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Haptics?: any;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n LinearGradient?: any;\n aggressivelyGetLatestDuration?: boolean;\n allowFontScaling?: boolean;\n amLabel?: string;\n bottomPickerGradientOverlayProps?: Partial<LinearGradientProps>;\n clickSoundAsset?: SoundAssetType;\n disableInfiniteScroll?: boolean;\n hideHours?: boolean;\n hideMinutes?: boolean;\n hideSeconds?: boolean;\n hourLabel?: string | React.ReactElement;\n hourLimit?: LimitType;\n hoursPickerIsDisabled?: boolean;\n initialValue?: {\n hours?: number;\n minutes?: number;\n seconds?: number;\n };\n minuteLabel?: string | React.ReactElement;\n minuteLimit?: LimitType;\n minutesPickerIsDisabled?: boolean;\n onDurationChange?: (duration: {\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n padWithNItems?: number;\n pickerContainerProps?: React.ComponentProps<typeof View>;\n pickerGradientOverlayProps?: Partial<LinearGradientProps>;\n pmLabel?: string;\n secondLabel?: string | React.ReactElement;\n secondLimit?: LimitType;\n secondsPickerIsDisabled?: boolean;\n styles?: CustomTimerPickerStyles;\n topPickerGradientOverlayProps?: Partial<LinearGradientProps>;\n use12HourPicker?: boolean;\n}\n"],"mappings":""}
@@ -1,52 +1,31 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from "react";
3
3
  import { View, Text, TouchableOpacity } from "react-native";
4
- import TimerPicker from "./TimerPicker";
5
- import Modal from "./Modal";
6
- import { generateStyles } from "./TimerPickerModal.styles";
7
- const TimerPickerModal = /*#__PURE__*/forwardRef(({
8
- visible,
9
- setIsVisible,
10
- onConfirm,
11
- onCancel,
12
- onDurationChange,
13
- closeOnOverlayPress,
14
- initialValue,
15
- hideHours = false,
16
- hideMinutes = false,
17
- hideSeconds = false,
18
- hoursPickerIsDisabled = false,
19
- minutesPickerIsDisabled = false,
20
- secondsPickerIsDisabled = false,
21
- hourLimit,
22
- minuteLimit,
23
- secondLimit,
24
- hourLabel,
25
- minuteLabel,
26
- secondLabel,
27
- padWithNItems = 1,
28
- disableInfiniteScroll = false,
29
- allowFontScaling = false,
30
- use12HourPicker,
31
- amLabel,
32
- pmLabel,
33
- hideCancelButton = false,
34
- confirmButtonText = "Confirm",
35
- cancelButtonText = "Cancel",
36
- modalTitle,
37
- LinearGradient,
38
- modalProps,
39
- containerProps,
40
- contentContainerProps,
41
- pickerContainerProps,
42
- buttonContainerProps,
43
- buttonTouchableOpacityProps,
44
- modalTitleProps,
45
- pickerGradientOverlayProps,
46
- topPickerGradientOverlayProps,
47
- bottomPickerGradientOverlayProps,
48
- styles: customStyles
49
- }, ref) => {
4
+ import Modal from "../Modal";
5
+ import TimerPicker from "../TimerPicker";
6
+ import { generateStyles } from "./styles";
7
+ const TimerPickerModal = /*#__PURE__*/forwardRef((props, ref) => {
8
+ const {
9
+ buttonContainerProps,
10
+ buttonTouchableOpacityProps,
11
+ cancelButtonText = "Cancel",
12
+ closeOnOverlayPress,
13
+ confirmButtonText = "Confirm",
14
+ containerProps,
15
+ contentContainerProps,
16
+ hideCancelButton = false,
17
+ initialValue,
18
+ modalProps,
19
+ modalTitle,
20
+ modalTitleProps,
21
+ onCancel,
22
+ onConfirm,
23
+ onDurationChange,
24
+ setIsVisible,
25
+ styles: customStyles,
26
+ visible,
27
+ ...otherProps
28
+ } = props;
50
29
  const styles = generateStyles(customStyles);
51
30
  const timerPickerRef = useRef(null);
52
31
  const safeInitialValue = {
@@ -126,44 +105,22 @@ const TimerPickerModal = /*#__PURE__*/forwardRef(({
126
105
  style: styles.contentContainer
127
106
  }), modalTitle ? /*#__PURE__*/React.createElement(Text, _extends({}, modalTitleProps, {
128
107
  style: styles.modalTitle
129
- }), modalTitle) : null, /*#__PURE__*/React.createElement(TimerPicker, {
108
+ }), modalTitle) : null, /*#__PURE__*/React.createElement(TimerPicker, _extends({
130
109
  ref: timerPickerRef,
131
- onDurationChange: durationChangeHandler,
132
- initialValue: confirmedDuration,
110
+ initialValue: confirmedDuration
111
+ }, otherProps, {
133
112
  aggressivelyGetLatestDuration: true,
134
- hideHours: hideHours,
135
- hideMinutes: hideMinutes,
136
- hideSeconds: hideSeconds,
137
- hoursPickerIsDisabled: hoursPickerIsDisabled,
138
- minutesPickerIsDisabled: minutesPickerIsDisabled,
139
- secondsPickerIsDisabled: secondsPickerIsDisabled,
140
- hourLimit: hourLimit,
141
- minuteLimit: minuteLimit,
142
- secondLimit: secondLimit,
143
- hourLabel: hourLabel,
144
- minuteLabel: minuteLabel,
145
- secondLabel: secondLabel,
146
- padWithNItems: padWithNItems,
147
- disableInfiniteScroll: disableInfiniteScroll,
148
- allowFontScaling: allowFontScaling,
149
- use12HourPicker: use12HourPicker,
150
- amLabel: amLabel,
151
- pmLabel: pmLabel,
152
- LinearGradient: LinearGradient,
153
- pickerContainerProps: pickerContainerProps,
154
- pickerGradientOverlayProps: pickerGradientOverlayProps,
155
- topPickerGradientOverlayProps: topPickerGradientOverlayProps,
156
- bottomPickerGradientOverlayProps: bottomPickerGradientOverlayProps,
113
+ onDurationChange: durationChangeHandler,
157
114
  styles: customStyles
158
- }), /*#__PURE__*/React.createElement(View, _extends({}, buttonContainerProps, {
115
+ })), /*#__PURE__*/React.createElement(View, _extends({}, buttonContainerProps, {
159
116
  style: styles.buttonContainer
160
- }), !hideCancelButton ? /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
117
+ }), !hideCancelButton ? /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
161
118
  onPress: cancelHandler
162
- }, buttonTouchableOpacityProps), /*#__PURE__*/React.createElement(Text, {
119
+ }), /*#__PURE__*/React.createElement(Text, {
163
120
  style: [styles.button, styles.cancelButton]
164
- }, cancelButtonText)) : null, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
121
+ }, cancelButtonText)) : null, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, buttonTouchableOpacityProps, {
165
122
  onPress: confirmHandler
166
- }, buttonTouchableOpacityProps), /*#__PURE__*/React.createElement(Text, {
123
+ }), /*#__PURE__*/React.createElement(Text, {
167
124
  style: [styles.button, styles.confirmButton]
168
125
  }, confirmButtonText))))));
169
126
  });
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useCallback","useEffect","useImperativeHandle","useRef","useState","View","Text","TouchableOpacity","Modal","TimerPicker","generateStyles","TimerPickerModal","props","ref","buttonContainerProps","buttonTouchableOpacityProps","cancelButtonText","closeOnOverlayPress","confirmButtonText","containerProps","contentContainerProps","hideCancelButton","initialValue","modalProps","modalTitle","modalTitleProps","onCancel","onConfirm","onDurationChange","setIsVisible","styles","customStyles","visible","otherProps","timerPickerRef","safeInitialValue","hours","minutes","seconds","selectedDuration","setSelectedDuration","confirmedDuration","setConfirmedDuration","reset","options","_timerPickerRef$curre","current","hideModalHandler","confirmHandler","_timerPickerRef$curre2","_latestDuration$hours","_latestDuration$minut","_latestDuration$secon","latestDuration","newDuration","cancelHandler","durationChangeHandler","duration","_timerPickerRef$curre4","_timerPickerRef$curre5","_timerPickerRef$curre6","setValue","value","_timerPickerRef$curre3","createElement","_extends","isVisible","onOverlayPress","undefined","testID","style","container","contentContainer","aggressivelyGetLatestDuration","buttonContainer","onPress","button","cancelButton","confirmButton","memo"],"sources":["index.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\n\nimport { View, Text, TouchableOpacity } from \"react-native\";\n\nimport Modal from \"../Modal\";\nimport TimerPicker from \"../TimerPicker\";\nimport type { TimerPickerRef } from \"../TimerPicker/types\";\n\nimport { generateStyles } from \"./styles\";\nimport type { TimerPickerModalRef, TimerPickerModalProps } from \"./types\";\n\nconst TimerPickerModal = forwardRef<TimerPickerModalRef, TimerPickerModalProps>(\n (props, ref) => {\n const {\n buttonContainerProps,\n buttonTouchableOpacityProps,\n cancelButtonText = \"Cancel\",\n closeOnOverlayPress,\n confirmButtonText = \"Confirm\",\n containerProps,\n contentContainerProps,\n hideCancelButton = false,\n initialValue,\n modalProps,\n modalTitle,\n modalTitleProps,\n onCancel,\n onConfirm,\n onDurationChange,\n setIsVisible,\n styles: customStyles,\n visible,\n ...otherProps\n } = props;\n\n const styles = generateStyles(customStyles);\n\n const timerPickerRef = useRef<TimerPickerRef>(null);\n\n const safeInitialValue = {\n hours: initialValue?.hours ?? 0,\n minutes: initialValue?.minutes ?? 0,\n seconds: initialValue?.seconds ?? 0,\n };\n\n const [selectedDuration, setSelectedDuration] =\n useState(safeInitialValue);\n const [confirmedDuration, setConfirmedDuration] =\n useState(safeInitialValue);\n\n const reset = (options?: { animated?: boolean }) => {\n setSelectedDuration(safeInitialValue);\n setConfirmedDuration(safeInitialValue);\n timerPickerRef.current?.reset(options);\n };\n\n // reset state if the initial value changes\n useEffect(() => {\n reset();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n safeInitialValue.hours,\n safeInitialValue.minutes,\n safeInitialValue.seconds,\n ]);\n\n const hideModalHandler = () => {\n setSelectedDuration({\n hours: confirmedDuration.hours,\n minutes: confirmedDuration.minutes,\n seconds: confirmedDuration.seconds,\n });\n setIsVisible(false);\n };\n\n const confirmHandler = () => {\n const latestDuration = timerPickerRef.current?.latestDuration;\n\n const newDuration = {\n hours: latestDuration?.hours?.current ?? selectedDuration.hours,\n minutes:\n latestDuration?.minutes?.current ??\n selectedDuration.minutes,\n seconds:\n latestDuration?.seconds?.current ??\n selectedDuration.seconds,\n };\n setConfirmedDuration(newDuration);\n onConfirm(newDuration);\n };\n\n const cancelHandler = () => {\n setIsVisible(false);\n setSelectedDuration(confirmedDuration);\n onCancel?.();\n };\n\n // wrapped in useCallback to avoid unnecessary re-renders of TimerPicker\n const durationChangeHandler = useCallback(\n (duration: { hours: number; minutes: number; seconds: number }) => {\n setSelectedDuration(duration);\n onDurationChange?.(duration);\n },\n [onDurationChange]\n );\n\n useImperativeHandle(ref, () => ({\n reset,\n setValue: (value, options) => {\n setSelectedDuration(value);\n setConfirmedDuration(value);\n timerPickerRef.current?.setValue(value, options);\n },\n latestDuration: {\n hours: timerPickerRef.current?.latestDuration?.hours,\n minutes: timerPickerRef.current?.latestDuration?.minutes,\n seconds: timerPickerRef.current?.latestDuration?.seconds,\n },\n }));\n\n return (\n <Modal\n isVisible={visible}\n onOverlayPress={\n closeOnOverlayPress ? hideModalHandler : undefined\n }\n {...modalProps}\n testID=\"timer-picker-modal\">\n <View {...containerProps} style={styles.container}>\n <View\n {...contentContainerProps}\n style={styles.contentContainer}>\n {modalTitle ? (\n <Text\n {...modalTitleProps}\n style={styles.modalTitle}>\n {modalTitle}\n </Text>\n ) : null}\n <TimerPicker\n ref={timerPickerRef}\n initialValue={confirmedDuration}\n {...otherProps}\n aggressivelyGetLatestDuration\n onDurationChange={durationChangeHandler}\n styles={customStyles}\n />\n <View\n {...buttonContainerProps}\n style={styles.buttonContainer}>\n {!hideCancelButton ? (\n <TouchableOpacity\n {...buttonTouchableOpacityProps}\n onPress={cancelHandler}>\n <Text\n style={[\n styles.button,\n styles.cancelButton,\n ]}>\n {cancelButtonText}\n </Text>\n </TouchableOpacity>\n ) : null}\n <TouchableOpacity\n {...buttonTouchableOpacityProps}\n onPress={confirmHandler}>\n <Text\n style={[\n styles.button,\n styles.confirmButton,\n ]}>\n {confirmButtonText}\n </Text>\n </TouchableOpacity>\n </View>\n </View>\n </View>\n </Modal>\n );\n }\n);\n\nexport default React.memo(TimerPickerModal);\n"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
1
  import { StyleSheet } from "react-native";
3
2
  const DARK_MODE_BACKGROUND_COLOR = "#232323";
4
3
  const DARK_MODE_TEXT_COLOR = "#E9E9E9";
@@ -12,7 +11,7 @@ export const generateStyles = customStyles => StyleSheet.create({
12
11
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.container)
13
12
  },
14
13
  contentContainer: {
15
- backgroundColor: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.backgroundColor) ?? (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR,
14
+ backgroundColor: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.backgroundColor) ?? ((customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR),
16
15
  justifyContent: "center",
17
16
  alignItems: "center",
18
17
  borderRadius: 20,
@@ -51,11 +50,11 @@ export const generateStyles = customStyles => StyleSheet.create({
51
50
  },
52
51
  modalTitle: {
53
52
  fontSize: 24,
54
- fontWeight: "bold",
53
+ fontWeight: "600",
55
54
  marginBottom: 15,
56
55
  color: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
57
56
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
58
57
  ...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.modalTitle)
59
58
  }
60
59
  });
61
- //# sourceMappingURL=TimerPickerModal.styles.js.map
60
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","create","container","justifyContent","alignItems","overflow","contentContainer","backgroundColor","theme","borderRadius","padding","buttonContainer","flexDirection","marginTop","button","marginHorizontal","paddingVertical","paddingHorizontal","borderWidth","fontSize","text","cancelButton","borderColor","color","undefined","confirmButton","modalTitle","fontWeight","marginBottom"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { TextStyle, ViewStyle } from \"react-native\";\n\nimport type { CustomTimerPickerStyles } from \"../TimerPicker/styles\";\n\nexport interface CustomTimerPickerModalStyles extends CustomTimerPickerStyles {\n button?: TextStyle;\n buttonContainer?: ViewStyle;\n cancelButton?: TextStyle;\n confirmButton?: TextStyle;\n container?: ViewStyle;\n contentContainer?: ViewStyle;\n modalTitle?: TextStyle;\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: CustomTimerPickerModalStyles | undefined\n) =>\n StyleSheet.create({\n container: {\n justifyContent: \"center\",\n alignItems: \"center\",\n overflow: \"hidden\",\n ...customStyles?.container,\n },\n contentContainer: {\n backgroundColor:\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: 20,\n padding: 20,\n ...customStyles?.contentContainer,\n },\n buttonContainer: {\n flexDirection: \"row\",\n marginTop: 25,\n ...customStyles?.buttonContainer,\n },\n button: {\n marginHorizontal: 12,\n paddingVertical: 10,\n paddingHorizontal: 20,\n borderWidth: 1,\n borderRadius: 10,\n fontSize: 16,\n overflow: \"hidden\",\n ...customStyles?.text,\n ...customStyles?.button,\n },\n cancelButton: {\n borderColor: \"gray\",\n color:\n customStyles?.theme === \"dark\" ? DARK_MODE_TEXT_COLOR : \"gray\",\n backgroundColor:\n customStyles?.theme === \"dark\" ? \"gray\" : undefined,\n ...customStyles?.text,\n ...customStyles?.cancelButton,\n },\n confirmButton: {\n borderColor: \"green\",\n color:\n customStyles?.theme === \"dark\" ? DARK_MODE_TEXT_COLOR : \"green\",\n backgroundColor:\n customStyles?.theme === \"dark\" ? \"green\" : undefined,\n ...customStyles?.text,\n ...customStyles?.confirmButton,\n },\n modalTitle: {\n fontSize: 24,\n fontWeight: \"600\",\n marginBottom: 15,\n color:\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customStyles?.text,\n ...customStyles?.modalTitle,\n },\n });\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { MutableRefObject } from \"react\";\n\nimport type { View, TouchableOpacity, Text } from \"react-native\";\n\nimport type Modal from \"../Modal\";\nimport type { TimerPickerProps } from \"../TimerPicker/types\";\n\nimport type { CustomTimerPickerModalStyles } from \"./styles\";\n\nexport interface TimerPickerModalRef {\n latestDuration: {\n hours: MutableRefObject<number> | undefined;\n minutes: MutableRefObject<number> | undefined;\n seconds: MutableRefObject<number> | undefined;\n };\n reset: (options?: { animated?: boolean }) => void;\n setValue: (\n value: {\n hours: number;\n minutes: number;\n seconds: number;\n },\n options?: { animated?: boolean }\n ) => void;\n}\n\nexport interface TimerPickerModalProps extends TimerPickerProps {\n buttonContainerProps?: React.ComponentProps<typeof View>;\n buttonTouchableOpacityProps?: React.ComponentProps<typeof TouchableOpacity>;\n cancelButtonText?: string;\n closeOnOverlayPress?: boolean;\n confirmButtonText?: string;\n containerProps?: React.ComponentProps<typeof View>;\n contentContainerProps?: React.ComponentProps<typeof View>;\n hideCancelButton?: boolean;\n modalProps?: React.ComponentProps<typeof Modal>;\n modalTitle?: string;\n modalTitleProps?: React.ComponentProps<typeof Text>;\n onCancel?: () => void;\n onConfirm: ({\n hours,\n minutes,\n seconds,\n }: {\n hours: number;\n minutes: number;\n seconds: number;\n }) => void;\n setIsVisible: (isVisible: boolean) => void;\n styles?: CustomTimerPickerModalStyles;\n visible: boolean;\n}\n"],"mappings":""}
@@ -1,5 +1,7 @@
1
- export { default as TimerPickerModal, TimerPickerModalProps, TimerPickerModalRef } from "./components";
2
- export { default as TimerPicker, TimerPickerProps, TimerPickerRef } from "./components/TimerPicker";
3
- export { CustomTimerPickerModalStyles } from "./components/TimerPickerModal.styles";
4
- export { CustomTimerPickerStyles } from "./components/TimerPicker/TimerPicker.styles";
1
+ export { default as TimerPickerModal } from "./components/TimerPickerModal";
2
+ export { TimerPickerModalProps, TimerPickerModalRef } from "./components/TimerPickerModal/types";
3
+ export { CustomTimerPickerModalStyles } from "./components/TimerPickerModal/styles";
4
+ export { default as TimerPicker } from "./components/TimerPicker";
5
+ export { TimerPickerProps, TimerPickerRef } from "./components/TimerPicker/types";
6
+ export { CustomTimerPickerStyles } from "./components/TimerPicker/styles";
5
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["default","TimerPickerModal","TimerPickerModalProps","TimerPickerModalRef","TimerPicker","TimerPickerProps","TimerPickerRef","CustomTimerPickerModalStyles","CustomTimerPickerStyles"],"sources":["index.ts"],"sourcesContent":["export {\n default as TimerPickerModal,\n TimerPickerModalProps,\n TimerPickerModalRef,\n} from \"./components\";\n\nexport {\n default as TimerPicker,\n TimerPickerProps,\n TimerPickerRef,\n} from \"./components/TimerPicker\";\n\nexport { CustomTimerPickerModalStyles } from \"./components/TimerPickerModal.styles\";\nexport { CustomTimerPickerStyles } from \"./components/TimerPicker/TimerPicker.styles\";\n"],"mappings":"AAAA,SACIA,OAAO,IAAIC,gBAAgB,EAC3BC,qBAAqB,EACrBC,mBAAmB,QAChB,cAAc;AAErB,SACIH,OAAO,IAAII,WAAW,EACtBC,gBAAgB,EAChBC,cAAc,QACX,0BAA0B;AAEjC,SAASC,4BAA4B,QAAQ,sCAAsC;AACnF,SAASC,uBAAuB,QAAQ,6CAA6C"}
1
+ {"version":3,"names":["default","TimerPickerModal","TimerPickerModalProps","TimerPickerModalRef","CustomTimerPickerModalStyles","TimerPicker","TimerPickerProps","TimerPickerRef","CustomTimerPickerStyles"],"sources":["index.ts"],"sourcesContent":["export { default as TimerPickerModal } from \"./components/TimerPickerModal\";\nexport {\n TimerPickerModalProps,\n TimerPickerModalRef,\n} from \"./components/TimerPickerModal/types\";\nexport { CustomTimerPickerModalStyles } from \"./components/TimerPickerModal/styles\";\n\nexport { default as TimerPicker } from \"./components/TimerPicker\";\nexport {\n TimerPickerProps,\n TimerPickerRef,\n} from \"./components/TimerPicker/types\";\nexport { CustomTimerPickerStyles } from \"./components/TimerPicker/styles\";\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,gBAAgB,QAAQ,+BAA+B;AAC3E,SACIC,qBAAqB,EACrBC,mBAAmB,QAChB,qCAAqC;AAC5C,SAASC,4BAA4B,QAAQ,sCAAsC;AAEnF,SAASJ,OAAO,IAAIK,WAAW,QAAQ,0BAA0B;AACjE,SACIC,gBAAgB,EAChBC,cAAc,QACX,gCAAgC;AACvC,SAASC,uBAAuB,QAAQ,iCAAiC"}
@@ -40,8 +40,8 @@ describe("DurationScroll", () => {
40
40
  const {
41
41
  getByText
42
42
  } = render( /*#__PURE__*/React.createElement(DurationScroll, {
43
- numberOfItems: 59,
44
43
  label: "Duration",
44
+ numberOfItems: 59,
45
45
  onDurationChange: onDurationChangeMock,
46
46
  padWithNItems: 1,
47
47
  styles: emptyStyles
@@ -1 +1 @@
1
- {"version":3,"names":["React","render","DurationScroll","describe","onDurationChangeMock","jest","fn","emptyStyles","pickerContainer","pickerLabelContainer","pickerLabel","pickerItemContainer","pickerItem","pickerGradientOverlay","it","getByTestId","createElement","numberOfItems","onDurationChange","padWithNItems","styles","testID","component","expect","toBeDefined","getAllByTestId","items","toHaveLength","getByText","label"],"sources":["DurationScroll.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { render } from \"@testing-library/react-native\";\nimport DurationScroll from \"../components/TimerPicker/DurationScroll\";\n\ndescribe(\"DurationScroll\", () => {\n const onDurationChangeMock = jest.fn();\n const emptyStyles = {\n pickerContainer: {},\n pickerLabelContainer: {},\n pickerLabel: {},\n pickerItemContainer: {},\n pickerItem: {},\n pickerGradientOverlay: {},\n };\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(\n <DurationScroll\n numberOfItems={1}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"renders the correct number of items\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n numberOfItems={2}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toHaveLength(7);\n });\n\n it(\"renders the label if provided\", () => {\n const { getByText } = render(\n <DurationScroll\n numberOfItems={59}\n label=\"Duration\"\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n styles={emptyStyles}\n />\n );\n const label = getByText(\"Duration\");\n expect(label).toBeDefined();\n });\n\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,+BAA+B;AACtD,OAAOC,cAAc,MAAM,0CAA0C;AAErEC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;EAC7B,MAAMC,oBAAoB,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACtC,MAAMC,WAAW,GAAG;IAChBC,eAAe,EAAE,CAAC,CAAC;IACnBC,oBAAoB,EAAE,CAAC,CAAC;IACxBC,WAAW,EAAE,CAAC,CAAC;IACfC,mBAAmB,EAAE,CAAC,CAAC;IACvBC,UAAU,EAAE,CAAC,CAAC;IACdC,qBAAqB,EAAE,CAAC;EAC5B,CAAC;EAEDC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGd,MAAM,eAC1BD,KAAA,CAAAgB,aAAA,CAACd,cAAc;MACXe,aAAa,EAAE,CAAE;MACjBC,gBAAgB,EAAEd,oBAAqB;MACvCe,aAAa,EAAE,CAAE;MACjBC,MAAM,EAAEb,WAAY;MACpBc,MAAM,EAAC;IAAiB,CAC3B,CACL,CAAC;IACD,MAAMC,SAAS,GAAGP,WAAW,CAAC,iBAAiB,CAAC;IAChDQ,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFV,EAAE,CAAC,qCAAqC,EAAE,MAAM;IAC5C,MAAM;MAAEW;IAAe,CAAC,GAAGxB,MAAM,eAC7BD,KAAA,CAAAgB,aAAA,CAACd,cAAc;MACXe,aAAa,EAAE,CAAE;MACjBC,gBAAgB,EAAEd,oBAAqB;MACvCe,aAAa,EAAE,CAAE;MACjBC,MAAM,EAAEb;IAAY,CACvB,CACL,CAAC;IACD,MAAMmB,KAAK,GAAGD,cAAc,CAAC,aAAa,CAAC;IAC3CF,MAAM,CAACG,KAAK,CAAC,CAACC,YAAY,CAAC,CAAC,CAAC;EACjC,CAAC,CAAC;EAEFb,EAAE,CAAC,+BAA+B,EAAE,MAAM;IACtC,MAAM;MAAEc;IAAU,CAAC,GAAG3B,MAAM,eACxBD,KAAA,CAAAgB,aAAA,CAACd,cAAc;MACXe,aAAa,EAAE,EAAG;MAClBY,KAAK,EAAC,UAAU;MAChBX,gBAAgB,EAAEd,oBAAqB;MACvCe,aAAa,EAAE,CAAE;MACjBC,MAAM,EAAEb;IAAY,CACvB,CACL,CAAC;IACD,MAAMsB,KAAK,GAAGD,SAAS,CAAC,UAAU,CAAC;IACnCL,MAAM,CAACM,KAAK,CAAC,CAACL,WAAW,CAAC,CAAC;EAC/B,CAAC,CAAC;AAEN,CAAC,CAAC"}
1
+ {"version":3,"names":["React","render","DurationScroll","describe","onDurationChangeMock","jest","fn","emptyStyles","pickerContainer","pickerLabelContainer","pickerLabel","pickerItemContainer","pickerItem","pickerGradientOverlay","it","getByTestId","createElement","numberOfItems","onDurationChange","padWithNItems","styles","testID","component","expect","toBeDefined","getAllByTestId","items","toHaveLength","getByText","label"],"sources":["DurationScroll.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render } from \"@testing-library/react-native\";\n\nimport DurationScroll from \"../components/TimerPicker/DurationScroll\";\n\ndescribe(\"DurationScroll\", () => {\n const onDurationChangeMock = jest.fn();\n const emptyStyles = {\n pickerContainer: {},\n pickerLabelContainer: {},\n pickerLabel: {},\n pickerItemContainer: {},\n pickerItem: {},\n pickerGradientOverlay: {},\n };\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(\n <DurationScroll\n numberOfItems={1}\n onDurationChange={onDurationChangeMock}\n padWithNItems={0}\n styles={emptyStyles}\n testID=\"duration-scroll\"\n />\n );\n const component = getByTestId(\"duration-scroll\");\n expect(component).toBeDefined();\n });\n\n it(\"renders the correct number of items\", () => {\n const { getAllByTestId } = render(\n <DurationScroll\n numberOfItems={2}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n styles={emptyStyles}\n />\n );\n const items = getAllByTestId(\"picker-item\");\n expect(items).toHaveLength(7);\n });\n\n it(\"renders the label if provided\", () => {\n const { getByText } = render(\n <DurationScroll\n label=\"Duration\"\n numberOfItems={59}\n onDurationChange={onDurationChangeMock}\n padWithNItems={1}\n styles={emptyStyles}\n />\n );\n const label = getByText(\"Duration\");\n expect(label).toBeDefined();\n });\n\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAOC,cAAc,MAAM,0CAA0C;AAErEC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;EAC7B,MAAMC,oBAAoB,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACtC,MAAMC,WAAW,GAAG;IAChBC,eAAe,EAAE,CAAC,CAAC;IACnBC,oBAAoB,EAAE,CAAC,CAAC;IACxBC,WAAW,EAAE,CAAC,CAAC;IACfC,mBAAmB,EAAE,CAAC,CAAC;IACvBC,UAAU,EAAE,CAAC,CAAC;IACdC,qBAAqB,EAAE,CAAC;EAC5B,CAAC;EAEDC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGd,MAAM,eAC1BD,KAAA,CAAAgB,aAAA,CAACd,cAAc;MACXe,aAAa,EAAE,CAAE;MACjBC,gBAAgB,EAAEd,oBAAqB;MACvCe,aAAa,EAAE,CAAE;MACjBC,MAAM,EAAEb,WAAY;MACpBc,MAAM,EAAC;IAAiB,CAC3B,CACL,CAAC;IACD,MAAMC,SAAS,GAAGP,WAAW,CAAC,iBAAiB,CAAC;IAChDQ,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFV,EAAE,CAAC,qCAAqC,EAAE,MAAM;IAC5C,MAAM;MAAEW;IAAe,CAAC,GAAGxB,MAAM,eAC7BD,KAAA,CAAAgB,aAAA,CAACd,cAAc;MACXe,aAAa,EAAE,CAAE;MACjBC,gBAAgB,EAAEd,oBAAqB;MACvCe,aAAa,EAAE,CAAE;MACjBC,MAAM,EAAEb;IAAY,CACvB,CACL,CAAC;IACD,MAAMmB,KAAK,GAAGD,cAAc,CAAC,aAAa,CAAC;IAC3CF,MAAM,CAACG,KAAK,CAAC,CAACC,YAAY,CAAC,CAAC,CAAC;EACjC,CAAC,CAAC;EAEFb,EAAE,CAAC,+BAA+B,EAAE,MAAM;IACtC,MAAM;MAAEc;IAAU,CAAC,GAAG3B,MAAM,eACxBD,KAAA,CAAAgB,aAAA,CAACd,cAAc;MACX2B,KAAK,EAAC,UAAU;MAChBZ,aAAa,EAAE,EAAG;MAClBC,gBAAgB,EAAEd,oBAAqB;MACvCe,aAAa,EAAE,CAAE;MACjBC,MAAM,EAAEb;IAAY,CACvB,CACL,CAAC;IACD,MAAMsB,KAAK,GAAGD,SAAS,CAAC,UAAU,CAAC;IACnCL,MAAM,CAACM,KAAK,CAAC,CAACL,WAAW,CAAC,CAAC;EAC/B,CAAC,CAAC;AAEN,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { Text } from "react-native";
3
2
  import { render, fireEvent } from "@testing-library/react-native";
3
+ import { Text } from "react-native";
4
4
  import Modal from "../components/Modal";
5
5
  describe("Modal", () => {
6
6
  it("renders without crashing", () => {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","render","fireEvent","Modal","describe","it","getByTestId","createElement","isVisible","component","expect","toBeDefined","getByText","content","onOverlayPressMock","jest","fn","onOverlayPress","overlay","press","toHaveBeenCalled"],"sources":["Modal.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"react-native\";\nimport { render, fireEvent } from \"@testing-library/react-native\";\nimport Modal from \"../components/Modal\";\n\ndescribe(\"Modal\", () => {\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<Modal isVisible/>);\n const component = getByTestId(\"modal\");\n expect(component).toBeDefined();\n });\n\n it(\"renders children when visible\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Modal Content\"}</Text>\n </Modal>\n );\n const content = getByText(\"Modal Content\");\n expect(content).toBeDefined();\n });\n\n it(\"calls onOverlayPress when overlay is pressed\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalled();\n });\n\n // Add more test cases to cover different interactions, scenarios, and edge cases\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,OAAOC,KAAK,MAAM,qBAAqB;AAEvCC,QAAQ,CAAC,OAAO,EAAE,MAAM;EACpBC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGL,MAAM,eAACF,KAAA,CAAAQ,aAAA,CAACJ,KAAK;MAACK,SAAS;IAAA,CAAC,CAAC,CAAC;IAClD,MAAMC,SAAS,GAAGH,WAAW,CAAC,OAAO,CAAC;IACtCI,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFN,EAAE,CAAC,+BAA+B,EAAE,MAAM;IACtC,MAAM;MAAEO;IAAU,CAAC,GAAGX,MAAM,eACxBF,KAAA,CAAAQ,aAAA,CAACJ,KAAK;MAACK,SAAS;IAAA,gBACZT,KAAA,CAAAQ,aAAA,CAACP,IAAI,QAAE,eAAsB,CAC1B,CACX,CAAC;IACD,MAAMa,OAAO,GAAGD,SAAS,CAAC,eAAe,CAAC;IAC1CF,MAAM,CAACG,OAAO,CAAC,CAACF,WAAW,CAAC,CAAC;EACjC,CAAC,CAAC;EAEFN,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACrD,MAAMS,kBAAkB,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IACpC,MAAM;MAAEV;IAAY,CAAC,GAAGL,MAAM,eAC1BF,KAAA,CAAAQ,aAAA,CAACJ,KAAK;MAACK,SAAS;MAACS,cAAc,EAAEH;IAAmB,CAAE,CAC1D,CAAC;IACD,MAAMI,OAAO,GAAGZ,WAAW,CAAC,gBAAgB,CAAC;IAC7CJ,SAAS,CAACiB,KAAK,CAACD,OAAO,CAAC;IACxBR,MAAM,CAACI,kBAAkB,CAAC,CAACM,gBAAgB,CAAC,CAAC;EACjD,CAAC,CAAC;;EAEF;AACJ,CAAC,CAAC"}
1
+ {"version":3,"names":["React","render","fireEvent","Text","Modal","describe","it","getByTestId","createElement","isVisible","component","expect","toBeDefined","getByText","content","onOverlayPressMock","jest","fn","onOverlayPress","overlay","press","toHaveBeenCalled"],"sources":["Modal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent } from \"@testing-library/react-native\";\nimport { Text } from \"react-native\";\n\nimport Modal from \"../components/Modal\";\n\ndescribe(\"Modal\", () => {\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<Modal isVisible/>);\n const component = getByTestId(\"modal\");\n expect(component).toBeDefined();\n });\n\n it(\"renders children when visible\", () => {\n const { getByText } = render(\n <Modal isVisible>\n <Text>{\"Modal Content\"}</Text>\n </Modal>\n );\n const content = getByText(\"Modal Content\");\n expect(content).toBeDefined();\n });\n\n it(\"calls onOverlayPress when overlay is pressed\", () => {\n const onOverlayPressMock = jest.fn();\n const { getByTestId } = render(\n <Modal isVisible onOverlayPress={onOverlayPressMock} />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(onOverlayPressMock).toHaveBeenCalled();\n });\n\n // Add more test cases to cover different interactions, scenarios, and edge cases\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,IAAI,QAAQ,cAAc;AAEnC,OAAOC,KAAK,MAAM,qBAAqB;AAEvCC,QAAQ,CAAC,OAAO,EAAE,MAAM;EACpBC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGN,MAAM,eAACD,KAAA,CAAAQ,aAAA,CAACJ,KAAK;MAACK,SAAS;IAAA,CAAC,CAAC,CAAC;IAClD,MAAMC,SAAS,GAAGH,WAAW,CAAC,OAAO,CAAC;IACtCI,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFN,EAAE,CAAC,+BAA+B,EAAE,MAAM;IACtC,MAAM;MAAEO;IAAU,CAAC,GAAGZ,MAAM,eACxBD,KAAA,CAAAQ,aAAA,CAACJ,KAAK;MAACK,SAAS;IAAA,gBACZT,KAAA,CAAAQ,aAAA,CAACL,IAAI,QAAE,eAAsB,CAC1B,CACX,CAAC;IACD,MAAMW,OAAO,GAAGD,SAAS,CAAC,eAAe,CAAC;IAC1CF,MAAM,CAACG,OAAO,CAAC,CAACF,WAAW,CAAC,CAAC;EACjC,CAAC,CAAC;EAEFN,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACrD,MAAMS,kBAAkB,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;IACpC,MAAM;MAAEV;IAAY,CAAC,GAAGN,MAAM,eAC1BD,KAAA,CAAAQ,aAAA,CAACJ,KAAK;MAACK,SAAS;MAACS,cAAc,EAAEH;IAAmB,CAAE,CAC1D,CAAC;IACD,MAAMI,OAAO,GAAGZ,WAAW,CAAC,gBAAgB,CAAC;IAC7CL,SAAS,CAACkB,KAAK,CAACD,OAAO,CAAC;IACxBR,MAAM,CAACI,kBAAkB,CAAC,CAACM,gBAAgB,CAAC,CAAC;EACjD,CAAC,CAAC;;EAEF;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["React","render","TimerPicker","describe","it","getByTestId","createElement","component","expect","toBeDefined","padWithNItems","queryByTestId","hideMinutes","hideSeconds","minutePicker","secondPicker","toBeNull"],"sources":["TimerPicker.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { render } from \"@testing-library/react-native\";\nimport TimerPicker from \"../components/TimerPicker\";\n\ndescribe(\"TimerPicker\", () => {\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPicker />);\n const component = getByTestId(\"timer-picker\");\n expect(component).toBeDefined();\n });\n\n it(\"renders without crashing with negative padWithNItems\", () => {\n const { getByTestId } = render(<TimerPicker padWithNItems={-1} />);\n const component = getByTestId(\"timer-picker\");\n expect(component).toBeDefined();\n });\n\n it(\"hides minutes and seconds when respective hide props are provided\", () => {\n const { queryByTestId } = render(\n <TimerPicker hideMinutes hideSeconds />\n );\n const minutePicker = queryByTestId(\"duration-scroll-minute\");\n const secondPicker = queryByTestId(\"duration-scroll-second\");\n expect(minutePicker).toBeNull();\n expect(secondPicker).toBeNull();\n });\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,+BAA+B;AACtD,OAAOC,WAAW,MAAM,2BAA2B;AAEnDC,QAAQ,CAAC,aAAa,EAAE,MAAM;EAC1BC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGJ,MAAM,eAACD,KAAA,CAAAM,aAAA,CAACJ,WAAW,MAAE,CAAC,CAAC;IAC/C,MAAMK,SAAS,GAAGF,WAAW,CAAC,cAAc,CAAC;IAC7CG,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFL,EAAE,CAAC,sDAAsD,EAAE,MAAM;IAC7D,MAAM;MAAEC;IAAY,CAAC,GAAGJ,MAAM,eAACD,KAAA,CAAAM,aAAA,CAACJ,WAAW;MAACQ,aAAa,EAAE,CAAC;IAAE,CAAE,CAAC,CAAC;IAClE,MAAMH,SAAS,GAAGF,WAAW,CAAC,cAAc,CAAC;IAC7CG,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFL,EAAE,CAAC,mEAAmE,EAAE,MAAM;IAC1E,MAAM;MAAEO;IAAc,CAAC,GAAGV,MAAM,eAC5BD,KAAA,CAAAM,aAAA,CAACJ,WAAW;MAACU,WAAW;MAACC,WAAW;IAAA,CAAE,CAC1C,CAAC;IACD,MAAMC,YAAY,GAAGH,aAAa,CAAC,wBAAwB,CAAC;IAC5D,MAAMI,YAAY,GAAGJ,aAAa,CAAC,wBAAwB,CAAC;IAC5DH,MAAM,CAACM,YAAY,CAAC,CAACE,QAAQ,CAAC,CAAC;IAC/BR,MAAM,CAACO,YAAY,CAAC,CAACC,QAAQ,CAAC,CAAC;EACnC,CAAC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"names":["React","render","TimerPicker","describe","it","getByTestId","createElement","component","expect","toBeDefined","padWithNItems","queryByTestId","hideMinutes","hideSeconds","minutePicker","secondPicker","toBeNull"],"sources":["TimerPicker.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render } from \"@testing-library/react-native\";\n\nimport TimerPicker from \"../components/TimerPicker\";\n\ndescribe(\"TimerPicker\", () => {\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPicker />);\n const component = getByTestId(\"timer-picker\");\n expect(component).toBeDefined();\n });\n\n it(\"renders without crashing with negative padWithNItems\", () => {\n const { getByTestId } = render(<TimerPicker padWithNItems={-1} />);\n const component = getByTestId(\"timer-picker\");\n expect(component).toBeDefined();\n });\n\n it(\"hides minutes and seconds when respective hide props are provided\", () => {\n const { queryByTestId } = render(\n <TimerPicker hideMinutes hideSeconds />\n );\n const minutePicker = queryByTestId(\"duration-scroll-minute\");\n const secondPicker = queryByTestId(\"duration-scroll-second\");\n expect(minutePicker).toBeNull();\n expect(secondPicker).toBeNull();\n });\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,QAAQ,+BAA+B;AAEtD,OAAOC,WAAW,MAAM,2BAA2B;AAEnDC,QAAQ,CAAC,aAAa,EAAE,MAAM;EAC1BC,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGJ,MAAM,eAACD,KAAA,CAAAM,aAAA,CAACJ,WAAW,MAAE,CAAC,CAAC;IAC/C,MAAMK,SAAS,GAAGF,WAAW,CAAC,cAAc,CAAC;IAC7CG,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFL,EAAE,CAAC,sDAAsD,EAAE,MAAM;IAC7D,MAAM;MAAEC;IAAY,CAAC,GAAGJ,MAAM,eAACD,KAAA,CAAAM,aAAA,CAACJ,WAAW;MAACQ,aAAa,EAAE,CAAC;IAAE,CAAE,CAAC,CAAC;IAClE,MAAMH,SAAS,GAAGF,WAAW,CAAC,cAAc,CAAC;IAC7CG,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFL,EAAE,CAAC,mEAAmE,EAAE,MAAM;IAC1E,MAAM;MAAEO;IAAc,CAAC,GAAGV,MAAM,eAC5BD,KAAA,CAAAM,aAAA,CAACJ,WAAW;MAACU,WAAW;MAACC,WAAW;IAAA,CAAE,CAC1C,CAAC;IACD,MAAMC,YAAY,GAAGH,aAAa,CAAC,wBAAwB,CAAC;IAC5D,MAAMI,YAAY,GAAGJ,aAAa,CAAC,wBAAwB,CAAC;IAC5DH,MAAM,CAACM,YAAY,CAAC,CAACE,QAAQ,CAAC,CAAC;IAC/BR,MAAM,CAACO,YAAY,CAAC,CAACC,QAAQ,CAAC,CAAC;EACnC,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -50,8 +50,8 @@ describe("TimerPickerModal", () => {
50
50
  const {
51
51
  getByTestId
52
52
  } = render( /*#__PURE__*/React.createElement(TimerPickerModal, _extends({}, defaultProps, {
53
- setIsVisible: setIsVisibleMock,
54
- closeOnOverlayPress: true
53
+ closeOnOverlayPress: true,
54
+ setIsVisible: setIsVisibleMock
55
55
  })));
56
56
  const overlay = getByTestId("modal-backdrop");
57
57
  fireEvent.press(overlay);
@@ -1 +1 @@
1
- {"version":3,"names":["React","render","fireEvent","TimerPickerModal","describe","mockOnConfirm","jest","fn","mockOnCancel","defaultProps","visible","setIsVisible","onConfirm","onCancel","it","getByTestId","createElement","component","expect","toBeDefined","getByText","confirmButton","press","toHaveBeenCalled","cancelButton","setIsVisibleMock","_extends","toHaveBeenCalledWith","closeOnOverlayPress","overlay","objectContaining"],"sources":["TimerPickerModal.test.tsx"],"sourcesContent":["import React from \"react\";\nimport { render, fireEvent } from \"@testing-library/react-native\";\nimport TimerPickerModal from \"../components\";\n\ndescribe(\"TimerPickerModal\", () => {\n const mockOnConfirm = jest.fn();\n const mockOnCancel = jest.fn();\n\n const defaultProps = {\n visible: true,\n setIsVisible: jest.fn(),\n onConfirm: mockOnConfirm,\n onCancel: mockOnCancel,\n };\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPickerModal {...defaultProps} />);\n const component = getByTestId(\"timer-picker-modal\");\n expect(component).toBeDefined();\n });\n\n it(\"calls onConfirm when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalled();\n });\n\n it(\"calls onCancel when Cancel button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(mockOnCancel).toHaveBeenCalled();\n });\n\n it(\"hides the modal when Cancel button is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByText } = render(\n <TimerPickerModal\n {...defaultProps}\n setIsVisible={setIsVisibleMock}\n />\n );\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"hides the modal when overlay is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n setIsVisible={setIsVisibleMock}\n closeOnOverlayPress\n />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"calls onConfirm with selected duration when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n // Select duration in TimerPicker, assuming its interaction is tested separately\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalledWith(expect.objectContaining({}));\n });\n});\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,OAAOC,gBAAgB,MAAM,eAAe;AAE5CC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EAC/B,MAAMC,aAAa,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EAC/B,MAAMC,YAAY,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;EAE9B,MAAME,YAAY,GAAG;IACjBC,OAAO,EAAE,IAAI;IACbC,YAAY,EAAEL,IAAI,CAACC,EAAE,CAAC,CAAC;IACvBK,SAAS,EAAEP,aAAa;IACxBQ,QAAQ,EAAEL;EACd,CAAC;EAEDM,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGd,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACtE,MAAMQ,SAAS,GAAGF,WAAW,CAAC,oBAAoB,CAAC;IACnDG,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFL,EAAE,CAAC,gDAAgD,EAAE,MAAM;IACvD,MAAM;MAAEM;IAAU,CAAC,GAAGnB,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACpE,MAAMY,aAAa,GAAGD,SAAS,CAAC,SAAS,CAAC;IAC1ClB,SAAS,CAACoB,KAAK,CAACD,aAAa,CAAC;IAC9BH,MAAM,CAACb,aAAa,CAAC,CAACkB,gBAAgB,CAAC,CAAC;EAC5C,CAAC,CAAC;EAEFT,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACrD,MAAM;MAAEM;IAAU,CAAC,GAAGnB,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACpE,MAAMe,YAAY,GAAGJ,SAAS,CAAC,QAAQ,CAAC;IACxClB,SAAS,CAACoB,KAAK,CAACE,YAAY,CAAC;IAC7BN,MAAM,CAACV,YAAY,CAAC,CAACe,gBAAgB,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEFT,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACtD,MAAMW,gBAAgB,GAAGnB,IAAI,CAACC,EAAE,CAAC,CAAC;IAClC,MAAM;MAAEa;IAAU,CAAC,GAAGnB,MAAM,eACxBD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAAuB,QAAA,KACTjB,YAAY;MAChBE,YAAY,EAAEc;IAAiB,EAClC,CACL,CAAC;IACD,MAAMD,YAAY,GAAGJ,SAAS,CAAC,QAAQ,CAAC;IACxClB,SAAS,CAACoB,KAAK,CAACE,YAAY,CAAC;IAC7BN,MAAM,CAACO,gBAAgB,CAAC,CAACE,oBAAoB,CAAC,KAAK,CAAC;EACxD,CAAC,CAAC;EAEFb,EAAE,CAAC,yCAAyC,EAAE,MAAM;IAChD,MAAMW,gBAAgB,GAAGnB,IAAI,CAACC,EAAE,CAAC,CAAC;IAClC,MAAM;MAAEQ;IAAY,CAAC,GAAGd,MAAM,eAC1BD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAAuB,QAAA,KACTjB,YAAY;MAChBE,YAAY,EAAEc,gBAAiB;MAC/BG,mBAAmB;IAAA,EACtB,CACL,CAAC;IACD,MAAMC,OAAO,GAAGd,WAAW,CAAC,gBAAgB,CAAC;IAC7Cb,SAAS,CAACoB,KAAK,CAACO,OAAO,CAAC;IACxBX,MAAM,CAACO,gBAAgB,CAAC,CAACE,oBAAoB,CAAC,KAAK,CAAC;EACxD,CAAC,CAAC;EAEFb,EAAE,CAAC,uEAAuE,EAAE,MAAM;IAC9E,MAAM;MAAEM;IAAU,CAAC,GAAGnB,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACpE;IACA,MAAMY,aAAa,GAAGD,SAAS,CAAC,SAAS,CAAC;IAC1ClB,SAAS,CAACoB,KAAK,CAACD,aAAa,CAAC;IAC9BH,MAAM,CAACb,aAAa,CAAC,CAACsB,oBAAoB,CAACT,MAAM,CAACY,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"names":["React","render","fireEvent","TimerPickerModal","describe","mockOnConfirm","jest","fn","mockOnCancel","defaultProps","visible","setIsVisible","onConfirm","onCancel","it","getByTestId","createElement","component","expect","toBeDefined","getByText","confirmButton","press","toHaveBeenCalled","cancelButton","setIsVisibleMock","_extends","toHaveBeenCalledWith","closeOnOverlayPress","overlay","objectContaining"],"sources":["TimerPickerModal.test.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { render, fireEvent } from \"@testing-library/react-native\";\n\nimport TimerPickerModal from \"../components\";\n\ndescribe(\"TimerPickerModal\", () => {\n const mockOnConfirm = jest.fn();\n const mockOnCancel = jest.fn();\n\n const defaultProps = {\n visible: true,\n setIsVisible: jest.fn(),\n onConfirm: mockOnConfirm,\n onCancel: mockOnCancel,\n };\n\n it(\"renders without crashing\", () => {\n const { getByTestId } = render(<TimerPickerModal {...defaultProps} />);\n const component = getByTestId(\"timer-picker-modal\");\n expect(component).toBeDefined();\n });\n\n it(\"calls onConfirm when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalled();\n });\n\n it(\"calls onCancel when Cancel button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(mockOnCancel).toHaveBeenCalled();\n });\n\n it(\"hides the modal when Cancel button is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByText } = render(\n <TimerPickerModal\n {...defaultProps}\n setIsVisible={setIsVisibleMock}\n />\n );\n const cancelButton = getByText(\"Cancel\");\n fireEvent.press(cancelButton);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"hides the modal when overlay is pressed\", () => {\n const setIsVisibleMock = jest.fn();\n const { getByTestId } = render(\n <TimerPickerModal\n {...defaultProps}\n closeOnOverlayPress\n setIsVisible={setIsVisibleMock}\n />\n );\n const overlay = getByTestId(\"modal-backdrop\");\n fireEvent.press(overlay);\n expect(setIsVisibleMock).toHaveBeenCalledWith(false);\n });\n\n it(\"calls onConfirm with selected duration when Confirm button is pressed\", () => {\n const { getByText } = render(<TimerPickerModal {...defaultProps} />);\n // Select duration in TimerPicker, assuming its interaction is tested separately\n const confirmButton = getByText(\"Confirm\");\n fireEvent.press(confirmButton);\n expect(mockOnConfirm).toHaveBeenCalledWith(expect.objectContaining({}));\n });\n});\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AAEjE,OAAOC,gBAAgB,MAAM,eAAe;AAE5CC,QAAQ,CAAC,kBAAkB,EAAE,MAAM;EAC/B,MAAMC,aAAa,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EAC/B,MAAMC,YAAY,GAAGF,IAAI,CAACC,EAAE,CAAC,CAAC;EAE9B,MAAME,YAAY,GAAG;IACjBC,OAAO,EAAE,IAAI;IACbC,YAAY,EAAEL,IAAI,CAACC,EAAE,CAAC,CAAC;IACvBK,SAAS,EAAEP,aAAa;IACxBQ,QAAQ,EAAEL;EACd,CAAC;EAEDM,EAAE,CAAC,0BAA0B,EAAE,MAAM;IACjC,MAAM;MAAEC;IAAY,CAAC,GAAGd,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACtE,MAAMQ,SAAS,GAAGF,WAAW,CAAC,oBAAoB,CAAC;IACnDG,MAAM,CAACD,SAAS,CAAC,CAACE,WAAW,CAAC,CAAC;EACnC,CAAC,CAAC;EAEFL,EAAE,CAAC,gDAAgD,EAAE,MAAM;IACvD,MAAM;MAAEM;IAAU,CAAC,GAAGnB,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACpE,MAAMY,aAAa,GAAGD,SAAS,CAAC,SAAS,CAAC;IAC1ClB,SAAS,CAACoB,KAAK,CAACD,aAAa,CAAC;IAC9BH,MAAM,CAACb,aAAa,CAAC,CAACkB,gBAAgB,CAAC,CAAC;EAC5C,CAAC,CAAC;EAEFT,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACrD,MAAM;MAAEM;IAAU,CAAC,GAAGnB,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACpE,MAAMe,YAAY,GAAGJ,SAAS,CAAC,QAAQ,CAAC;IACxClB,SAAS,CAACoB,KAAK,CAACE,YAAY,CAAC;IAC7BN,MAAM,CAACV,YAAY,CAAC,CAACe,gBAAgB,CAAC,CAAC;EAC3C,CAAC,CAAC;EAEFT,EAAE,CAAC,+CAA+C,EAAE,MAAM;IACtD,MAAMW,gBAAgB,GAAGnB,IAAI,CAACC,EAAE,CAAC,CAAC;IAClC,MAAM;MAAEa;IAAU,CAAC,GAAGnB,MAAM,eACxBD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAAuB,QAAA,KACTjB,YAAY;MAChBE,YAAY,EAAEc;IAAiB,EAClC,CACL,CAAC;IACD,MAAMD,YAAY,GAAGJ,SAAS,CAAC,QAAQ,CAAC;IACxClB,SAAS,CAACoB,KAAK,CAACE,YAAY,CAAC;IAC7BN,MAAM,CAACO,gBAAgB,CAAC,CAACE,oBAAoB,CAAC,KAAK,CAAC;EACxD,CAAC,CAAC;EAEFb,EAAE,CAAC,yCAAyC,EAAE,MAAM;IAChD,MAAMW,gBAAgB,GAAGnB,IAAI,CAACC,EAAE,CAAC,CAAC;IAClC,MAAM;MAAEQ;IAAY,CAAC,GAAGd,MAAM,eAC1BD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAAuB,QAAA,KACTjB,YAAY;MAChBmB,mBAAmB;MACnBjB,YAAY,EAAEc;IAAiB,EAClC,CACL,CAAC;IACD,MAAMI,OAAO,GAAGd,WAAW,CAAC,gBAAgB,CAAC;IAC7Cb,SAAS,CAACoB,KAAK,CAACO,OAAO,CAAC;IACxBX,MAAM,CAACO,gBAAgB,CAAC,CAACE,oBAAoB,CAAC,KAAK,CAAC;EACxD,CAAC,CAAC;EAEFb,EAAE,CAAC,uEAAuE,EAAE,MAAM;IAC9E,MAAM;MAAEM;IAAU,CAAC,GAAGnB,MAAM,eAACD,KAAA,CAAAgB,aAAA,CAACb,gBAAgB,EAAKM,YAAe,CAAC,CAAC;IACpE;IACA,MAAMY,aAAa,GAAGD,SAAS,CAAC,SAAS,CAAC;IAC1ClB,SAAS,CAACoB,KAAK,CAACD,aAAa,CAAC;IAC9BH,MAAM,CAACb,aAAa,CAAC,CAACsB,oBAAoB,CAACT,MAAM,CAACY,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;EAC3E,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["padNumber","generateNumbers","numberOfItems","options","numbers","i","push","padWithZero","padNumbersWithZero","repeatNTimes","Array","fill","flat","disableInfiniteScroll","padWithNItems","unshift","generate12HourNumbers","hour"],"sources":["generateNumbers.ts"],"sourcesContent":["import { padNumber } from \"./padNumber\";\n\nexport const generateNumbers = (\n numberOfItems: number,\n options: {\n repeatNTimes?: number;\n padNumbersWithZero?: boolean;\n disableInfiniteScroll?: boolean;\n padWithNItems: number;\n }\n) => {\n if (numberOfItems <= 0) {\n return [];\n }\n\n let numbers: string[] = [];\n for (let i = 0; i <= numberOfItems; i++) {\n numbers.push(padNumber(i, { padWithZero: options.padNumbersWithZero }));\n }\n\n if ((options.repeatNTimes ?? 1) > 1) {\n numbers = Array(options.repeatNTimes).fill(numbers).flat();\n }\n if (options.disableInfiniteScroll) {\n numbers.push(...Array(options.padWithNItems).fill(\"\"));\n numbers.unshift(...Array(options.padWithNItems).fill(\"\"));\n }\n return numbers;\n};\n\nexport const generate12HourNumbers = (options: {\n repeatNTimes?: number;\n padNumbersWithZero?: boolean;\n disableInfiniteScroll?: boolean;\n padWithNItems: number;\n}) => {\n let numbers: string[] = [];\n\n // Generate numbers from 0 to 11 for AM\n for (let i = 0; i <= 11; i++) {\n numbers.push(\n `${padNumber(i, { padWithZero: options.padNumbersWithZero })} AM`\n );\n }\n\n // Generate numbers from 12 to 11 for PM\n for (let i = 12; i <= 23; i++) {\n const hour = i > 12 ? i - 12 : i;\n numbers.push(\n `${padNumber(hour, { padWithZero: options.padNumbersWithZero })} PM`\n );\n }\n\n if ((options.repeatNTimes ?? 1) > 1) {\n numbers = Array(options.repeatNTimes).fill(numbers).flat();\n }\n\n if (options.disableInfiniteScroll) {\n numbers.push(...Array(options.padWithNItems).fill(\"\"));\n numbers.unshift(...Array(options.padWithNItems).fill(\"\"));\n }\n\n return numbers;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,aAAa;AAEvC,OAAO,MAAMC,eAAe,GAAGA,CAC3BC,aAAqB,EACrBC,OAKC,KACA;EACD,IAAID,aAAa,IAAI,CAAC,EAAE;IACpB,OAAO,EAAE;EACb;EAEA,IAAIE,OAAiB,GAAG,EAAE;EAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,aAAa,EAAEG,CAAC,EAAE,EAAE;IACrCD,OAAO,CAACE,IAAI,CAACN,SAAS,CAACK,CAAC,EAAE;MAAEE,WAAW,EAAEJ,OAAO,CAACK;IAAmB,CAAC,CAAC,CAAC;EAC3E;EAEA,IAAI,CAACL,OAAO,CAACM,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE;IACjCL,OAAO,GAAGM,KAAK,CAACP,OAAO,CAACM,YAAY,CAAC,CAACE,IAAI,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,CAAC;EAC9D;EACA,IAAIT,OAAO,CAACU,qBAAqB,EAAE;IAC/BT,OAAO,CAACE,IAAI,CAAC,GAAGI,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACtDP,OAAO,CAACW,OAAO,CAAC,GAAGL,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;EAC7D;EACA,OAAOP,OAAO;AAClB,CAAC;AAED,OAAO,MAAMY,qBAAqB,GAAIb,OAKrC,IAAK;EACF,IAAIC,OAAiB,GAAG,EAAE;;EAE1B;EACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;IAC1BD,OAAO,CAACE,IAAI,CACP,GAAEN,SAAS,CAACK,CAAC,EAAE;MAAEE,WAAW,EAAEJ,OAAO,CAACK;IAAmB,CAAC,CAAE,KACjE,CAAC;EACL;;EAEA;EACA,KAAK,IAAIH,CAAC,GAAG,EAAE,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;IAC3B,MAAMY,IAAI,GAAGZ,CAAC,GAAG,EAAE,GAAGA,CAAC,GAAG,EAAE,GAAGA,CAAC;IAChCD,OAAO,CAACE,IAAI,CACP,GAAEN,SAAS,CAACiB,IAAI,EAAE;MAAEV,WAAW,EAAEJ,OAAO,CAACK;IAAmB,CAAC,CAAE,KACpE,CAAC;EACL;EAEA,IAAI,CAACL,OAAO,CAACM,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE;IACjCL,OAAO,GAAGM,KAAK,CAACP,OAAO,CAACM,YAAY,CAAC,CAACE,IAAI,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,CAAC;EAC9D;EAEA,IAAIT,OAAO,CAACU,qBAAqB,EAAE;IAC/BT,OAAO,CAACE,IAAI,CAAC,GAAGI,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACtDP,OAAO,CAACW,OAAO,CAAC,GAAGL,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;EAC7D;EAEA,OAAOP,OAAO;AAClB,CAAC"}
1
+ {"version":3,"names":["padNumber","generateNumbers","numberOfItems","options","numbers","i","push","padWithZero","padNumbersWithZero","repeatNTimes","Array","fill","flat","disableInfiniteScroll","padWithNItems","unshift","generate12HourNumbers","hour"],"sources":["generateNumbers.ts"],"sourcesContent":["import { padNumber } from \"./padNumber\";\n\nexport const generateNumbers = (\n numberOfItems: number,\n options: {\n disableInfiniteScroll?: boolean;\n padNumbersWithZero?: boolean;\n padWithNItems: number;\n repeatNTimes?: number;\n }\n) => {\n if (numberOfItems <= 0) {\n return [];\n }\n\n let numbers: string[] = [];\n for (let i = 0; i <= numberOfItems; i++) {\n numbers.push(padNumber(i, { padWithZero: options.padNumbersWithZero }));\n }\n\n if ((options.repeatNTimes ?? 1) > 1) {\n numbers = Array(options.repeatNTimes).fill(numbers).flat();\n }\n if (options.disableInfiniteScroll) {\n numbers.push(...Array(options.padWithNItems).fill(\"\"));\n numbers.unshift(...Array(options.padWithNItems).fill(\"\"));\n }\n return numbers;\n};\n\nexport const generate12HourNumbers = (options: {\n disableInfiniteScroll?: boolean;\n padNumbersWithZero?: boolean;\n padWithNItems: number;\n repeatNTimes?: number;\n}) => {\n let numbers: string[] = [];\n\n // Generate numbers from 0 to 11 for AM\n for (let i = 0; i <= 11; i++) {\n numbers.push(\n `${padNumber(i, { padWithZero: options.padNumbersWithZero })} AM`\n );\n }\n\n // Generate numbers from 12 to 11 for PM\n for (let i = 12; i <= 23; i++) {\n const hour = i > 12 ? i - 12 : i;\n numbers.push(\n `${padNumber(hour, { padWithZero: options.padNumbersWithZero })} PM`\n );\n }\n\n if ((options.repeatNTimes ?? 1) > 1) {\n numbers = Array(options.repeatNTimes).fill(numbers).flat();\n }\n\n if (options.disableInfiniteScroll) {\n numbers.push(...Array(options.padWithNItems).fill(\"\"));\n numbers.unshift(...Array(options.padWithNItems).fill(\"\"));\n }\n\n return numbers;\n};\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,aAAa;AAEvC,OAAO,MAAMC,eAAe,GAAGA,CAC3BC,aAAqB,EACrBC,OAKC,KACA;EACD,IAAID,aAAa,IAAI,CAAC,EAAE;IACpB,OAAO,EAAE;EACb;EAEA,IAAIE,OAAiB,GAAG,EAAE;EAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIH,aAAa,EAAEG,CAAC,EAAE,EAAE;IACrCD,OAAO,CAACE,IAAI,CAACN,SAAS,CAACK,CAAC,EAAE;MAAEE,WAAW,EAAEJ,OAAO,CAACK;IAAmB,CAAC,CAAC,CAAC;EAC3E;EAEA,IAAI,CAACL,OAAO,CAACM,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE;IACjCL,OAAO,GAAGM,KAAK,CAACP,OAAO,CAACM,YAAY,CAAC,CAACE,IAAI,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,CAAC;EAC9D;EACA,IAAIT,OAAO,CAACU,qBAAqB,EAAE;IAC/BT,OAAO,CAACE,IAAI,CAAC,GAAGI,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACtDP,OAAO,CAACW,OAAO,CAAC,GAAGL,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;EAC7D;EACA,OAAOP,OAAO;AAClB,CAAC;AAED,OAAO,MAAMY,qBAAqB,GAAIb,OAKrC,IAAK;EACF,IAAIC,OAAiB,GAAG,EAAE;;EAE1B;EACA,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;IAC1BD,OAAO,CAACE,IAAI,CACP,GAAEN,SAAS,CAACK,CAAC,EAAE;MAAEE,WAAW,EAAEJ,OAAO,CAACK;IAAmB,CAAC,CAAE,KACjE,CAAC;EACL;;EAEA;EACA,KAAK,IAAIH,CAAC,GAAG,EAAE,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;IAC3B,MAAMY,IAAI,GAAGZ,CAAC,GAAG,EAAE,GAAGA,CAAC,GAAG,EAAE,GAAGA,CAAC;IAChCD,OAAO,CAACE,IAAI,CACP,GAAEN,SAAS,CAACiB,IAAI,EAAE;MAAEV,WAAW,EAAEJ,OAAO,CAACK;IAAmB,CAAC,CAAE,KACpE,CAAC;EACL;EAEA,IAAI,CAACL,OAAO,CAACM,YAAY,IAAI,CAAC,IAAI,CAAC,EAAE;IACjCL,OAAO,GAAGM,KAAK,CAACP,OAAO,CAACM,YAAY,CAAC,CAACE,IAAI,CAACP,OAAO,CAAC,CAACQ,IAAI,CAAC,CAAC;EAC9D;EAEA,IAAIT,OAAO,CAACU,qBAAqB,EAAE;IAC/BT,OAAO,CAACE,IAAI,CAAC,GAAGI,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;IACtDP,OAAO,CAACW,OAAO,CAAC,GAAGL,KAAK,CAACP,OAAO,CAACW,aAAa,CAAC,CAACH,IAAI,CAAC,EAAE,CAAC,CAAC;EAC7D;EAEA,OAAOP,OAAO;AAClB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["getAdjustedLimit","limit","numberOfItems","max","min","adjustedMaxLimit","Math","adjustedMinLimit"],"sources":["getAdjustedLimit.ts"],"sourcesContent":["import type { LimitType } from \"../components/TimerPicker/DurationScroll\";\n\nexport const getAdjustedLimit = (\n limit: LimitType | undefined,\n numberOfItems: number\n): {\n max: number;\n min: number;\n} => {\n if (!limit || (!limit.max && !limit.min)) {\n return {\n max: numberOfItems,\n min: 0,\n };\n }\n\n // guard against limits that are out of bounds\n const adjustedMaxLimit = limit.max\n ? Math.min(limit.max, numberOfItems)\n : numberOfItems;\n const adjustedMinLimit = limit.min ? Math.max(limit.min, 0) : 0;\n\n // guard against invalid limits\n if (adjustedMaxLimit < adjustedMinLimit) {\n return {\n max: numberOfItems,\n min: 0,\n };\n }\n\n return {\n max: adjustedMaxLimit,\n min: adjustedMinLimit,\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,GAAGA,CAC5BC,KAA4B,EAC5BC,aAAqB,KAIpB;EACD,IAAI,CAACD,KAAK,IAAK,CAACA,KAAK,CAACE,GAAG,IAAI,CAACF,KAAK,CAACG,GAAI,EAAE;IACtC,OAAO;MACHD,GAAG,EAAED,aAAa;MAClBE,GAAG,EAAE;IACT,CAAC;EACL;;EAEA;EACA,MAAMC,gBAAgB,GAAGJ,KAAK,CAACE,GAAG,GAC5BG,IAAI,CAACF,GAAG,CAACH,KAAK,CAACE,GAAG,EAAED,aAAa,CAAC,GAClCA,aAAa;EACnB,MAAMK,gBAAgB,GAAGN,KAAK,CAACG,GAAG,GAAGE,IAAI,CAACH,GAAG,CAACF,KAAK,CAACG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;;EAE/D;EACA,IAAIC,gBAAgB,GAAGE,gBAAgB,EAAE;IACrC,OAAO;MACHJ,GAAG,EAAED,aAAa;MAClBE,GAAG,EAAE;IACT,CAAC;EACL;EAEA,OAAO;IACHD,GAAG,EAAEE,gBAAgB;IACrBD,GAAG,EAAEG;EACT,CAAC;AACL,CAAC"}
1
+ {"version":3,"names":["getAdjustedLimit","limit","numberOfItems","max","min","adjustedMaxLimit","Math","adjustedMinLimit"],"sources":["getAdjustedLimit.ts"],"sourcesContent":["import type { LimitType } from \"../components/DurationScroll/types\";\n\nexport const getAdjustedLimit = (\n limit: LimitType | undefined,\n numberOfItems: number\n): {\n max: number;\n min: number;\n} => {\n if (!limit || (!limit.max && !limit.min)) {\n return {\n max: numberOfItems,\n min: 0,\n };\n }\n\n // guard against limits that are out of bounds\n const adjustedMaxLimit = limit.max\n ? Math.min(limit.max, numberOfItems)\n : numberOfItems;\n const adjustedMinLimit = limit.min ? Math.max(limit.min, 0) : 0;\n\n // guard against invalid limits\n if (adjustedMaxLimit < adjustedMinLimit) {\n return {\n max: numberOfItems,\n min: 0,\n };\n }\n\n return {\n max: adjustedMaxLimit,\n min: adjustedMinLimit,\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,GAAGA,CAC5BC,KAA4B,EAC5BC,aAAqB,KAIpB;EACD,IAAI,CAACD,KAAK,IAAK,CAACA,KAAK,CAACE,GAAG,IAAI,CAACF,KAAK,CAACG,GAAI,EAAE;IACtC,OAAO;MACHD,GAAG,EAAED,aAAa;MAClBE,GAAG,EAAE;IACT,CAAC;EACL;;EAEA;EACA,MAAMC,gBAAgB,GAAGJ,KAAK,CAACE,GAAG,GAC5BG,IAAI,CAACF,GAAG,CAACH,KAAK,CAACE,GAAG,EAAED,aAAa,CAAC,GAClCA,aAAa;EACnB,MAAMK,gBAAgB,GAAGN,KAAK,CAACG,GAAG,GAAGE,IAAI,CAACH,GAAG,CAACF,KAAK,CAACG,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;;EAE/D;EACA,IAAIC,gBAAgB,GAAGE,gBAAgB,EAAE;IACrC,OAAO;MACHJ,GAAG,EAAED,aAAa;MAClBE,GAAG,EAAE;IACT,CAAC;EACL;EAEA,OAAO;IACHD,GAAG,EAAEE,gBAAgB;IACrBD,GAAG,EAAEG;EACT,CAAC;AACL,CAAC"}
@@ -1,9 +1,9 @@
1
1
  export const getScrollIndex = variables => {
2
2
  const {
3
- value,
3
+ disableInfiniteScroll,
4
4
  numberOfItems,
5
5
  padWithNItems,
6
- disableInfiniteScroll
6
+ value
7
7
  } = variables;
8
8
  return (value + numberOfItems) % (numberOfItems * 3) + (disableInfiniteScroll ? padWithNItems : 0) - (padWithNItems - 1);
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"names":["getScrollIndex","variables","value","numberOfItems","padWithNItems","disableInfiniteScroll"],"sources":["getScrollIndex.ts"],"sourcesContent":["export const getScrollIndex = (variables: {\n value: number;\n numberOfItems: number;\n padWithNItems: number;\n disableInfiniteScroll?: boolean;\n}) => {\n const { value, numberOfItems, padWithNItems, disableInfiniteScroll } =\n variables;\n\n return (\n ((value + numberOfItems) % (numberOfItems * 3)) +\n (disableInfiniteScroll ? padWithNItems : 0) -\n (padWithNItems - 1)\n );\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAIC,SAK9B,IAAK;EACF,MAAM;IAAEC,KAAK;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAsB,CAAC,GAChEJ,SAAS;EAEb,OACK,CAACC,KAAK,GAAGC,aAAa,KAAKA,aAAa,GAAG,CAAC,CAAC,IAC7CE,qBAAqB,GAAGD,aAAa,GAAG,CAAC,CAAC,IAC1CA,aAAa,GAAG,CAAC,CAAC;AAE3B,CAAC"}
1
+ {"version":3,"names":["getScrollIndex","variables","disableInfiniteScroll","numberOfItems","padWithNItems","value"],"sources":["getScrollIndex.ts"],"sourcesContent":["export const getScrollIndex = (variables: {\n disableInfiniteScroll?: boolean;\n numberOfItems: number;\n padWithNItems: number;\n value: number;\n}) => {\n const { disableInfiniteScroll, numberOfItems, padWithNItems, value } =\n variables;\n\n return (\n ((value + numberOfItems) % (numberOfItems * 3)) +\n (disableInfiniteScroll ? padWithNItems : 0) -\n (padWithNItems - 1)\n );\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAIC,SAK9B,IAAK;EACF,MAAM;IAAEC,qBAAqB;IAAEC,aAAa;IAAEC,aAAa;IAAEC;EAAM,CAAC,GAChEJ,SAAS;EAEb,OACK,CAACI,KAAK,GAAGF,aAAa,KAAKA,aAAa,GAAG,CAAC,CAAC,IAC7CD,qBAAqB,GAAGE,aAAa,GAAG,CAAC,CAAC,IAC1CA,aAAa,GAAG,CAAC,CAAC;AAE3B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import type { DurationScrollProps, DurationScrollRef } from "./types";
3
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<DurationScrollProps & React.RefAttributes<DurationScrollRef>>>;
4
+ export default _default;