react-native-timer-picker 2.3.0 → 2.4.0
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 +97 -106
- package/dist/commonjs/components/DurationScroll/DurationScroll.js +13 -27
- package/dist/commonjs/components/DurationScroll/DurationScroll.js.map +1 -1
- package/dist/commonjs/components/PickerItem/PickerItem.js +45 -0
- package/dist/commonjs/components/PickerItem/PickerItem.js.map +1 -0
- package/dist/commonjs/components/PickerItem/index.js +14 -0
- package/dist/commonjs/components/PickerItem/index.js.map +1 -0
- package/dist/commonjs/components/TimerPicker/TimerPicker.js +3 -3
- package/dist/commonjs/components/TimerPicker/TimerPicker.js.map +1 -1
- package/dist/commonjs/components/TimerPicker/styles.js +36 -18
- package/dist/commonjs/components/TimerPicker/styles.js.map +1 -1
- package/dist/commonjs/components/TimerPickerModal/styles.js +4 -15
- package/dist/commonjs/components/TimerPickerModal/styles.js.map +1 -1
- package/dist/commonjs/tests/generateNumbers.test.js +35 -35
- package/dist/commonjs/tests/generateNumbers.test.js.map +1 -1
- package/dist/commonjs/tests/padNumber.test.js +18 -18
- package/dist/commonjs/tests/padNumber.test.js.map +1 -1
- package/dist/commonjs/utils/generateNumbers.js +4 -3
- package/dist/commonjs/utils/generateNumbers.js.map +1 -1
- package/dist/commonjs/utils/padNumber.js +7 -7
- package/dist/commonjs/utils/padNumber.js.map +1 -1
- package/dist/module/components/DurationScroll/DurationScroll.js +12 -27
- package/dist/module/components/DurationScroll/DurationScroll.js.map +1 -1
- package/dist/module/components/PickerItem/PickerItem.js +38 -0
- package/dist/module/components/PickerItem/PickerItem.js.map +1 -0
- package/dist/module/components/PickerItem/index.js +2 -0
- package/dist/module/components/PickerItem/index.js.map +1 -0
- package/dist/module/components/TimerPicker/TimerPicker.js +3 -3
- package/dist/module/components/TimerPicker/TimerPicker.js.map +1 -1
- package/dist/module/components/TimerPicker/styles.js +36 -18
- package/dist/module/components/TimerPicker/styles.js.map +1 -1
- package/dist/module/components/TimerPickerModal/styles.js +4 -15
- package/dist/module/components/TimerPickerModal/styles.js.map +1 -1
- package/dist/module/tests/generateNumbers.test.js +35 -35
- package/dist/module/tests/generateNumbers.test.js.map +1 -1
- package/dist/module/tests/padNumber.test.js +18 -18
- package/dist/module/tests/padNumber.test.js.map +1 -1
- package/dist/module/utils/generateNumbers.js +4 -3
- package/dist/module/utils/generateNumbers.js.map +1 -1
- package/dist/module/utils/padNumber.js +7 -7
- package/dist/module/utils/padNumber.js.map +1 -1
- package/dist/typescript/components/PickerItem/PickerItem.d.ts +14 -0
- package/dist/typescript/components/PickerItem/index.d.ts +1 -0
- package/dist/typescript/components/TimerPicker/styles.d.ts +26 -25
- package/dist/typescript/components/TimerPickerModal/styles.d.ts +255 -254
- package/dist/typescript/utils/padNumber.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","View","getSafeInitialValue","DurationScroll","generateStyles","TimerPicker","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","dayInterval","dayLabel","dayLimit","daysPickerIsDisabled","decelerationRate","disableInfiniteScroll","hideDays","hideHours","hideMinutes","hideSeconds","hourInterval","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","maximumDays","maximumHours","maximumMinutes","maximumSeconds","minuteInterval","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padDaysWithZero","padHoursWithZero","padMinutesWithZero","padSecondsWithZero","padWithNItems","pickerContainerProps","pmLabel","repeatDayNumbersNTimes","repeatHourNumbersNTimes","repeatMinuteNumbersNTimes","repeatSecondNumbersNTimes","secondInterval","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","Audio","console","warn","Haptics","clickSoundAsset","safePadWithNItems","isNaN","maxPadWithNItems","Math","round","safeInitialValue","days","hours","minutes","seconds","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","daysDurationScrollRef","hoursDurationScrollRef","minutesDurationScrollRef","secondsDurationScrollRef","_daysDurationScrollRe3","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_daysDurationScrollRe","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_daysDurationScrollRe2","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","_extends","style","pickerContainer","testID","interval","isDisabled","label","limit","maximumValue","padNumbersWithZero","repeatNumbersNTimes","repeatNumbersNTimesNotExplicitlySet","undefined","is12HourPicker","memo"],"sources":["TimerPicker.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 { getSafeInitialValue } from \"../../utils/getSafeInitialValue\";\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll\";\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 dayInterval = 1,\n dayLabel,\n dayLimit,\n daysPickerIsDisabled = false,\n decelerationRate = 0.88,\n disableInfiniteScroll = false,\n hideDays = true,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourInterval = 1,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n maximumDays = 30,\n maximumHours = 23,\n maximumMinutes = 59,\n maximumSeconds = 59,\n minuteInterval = 1,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padDaysWithZero = false,\n padHoursWithZero = false,\n padMinutesWithZero = true,\n padSecondsWithZero = true,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n repeatDayNumbersNTimes = 3,\n repeatHourNumbersNTimes = 8,\n repeatMinuteNumbersNTimes = 3,\n repeatSecondNumbersNTimes = 3,\n secondInterval = 1,\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n useEffect(() => {\n if (otherProps.Audio) {\n console.warn(\n \"The \\\"Audio\\\" prop is deprecated and will be removed in a future version. Please use the \\\"pickerFeedback\\\" prop instead.\"\n );\n }\n if (otherProps.Haptics) {\n console.warn(\n \"The \\\"Haptics\\\" prop is deprecated and will be removed in a future version. Please use the \\\"pickerFeedback\\\" prop instead.\"\n );\n }\n if (otherProps.clickSoundAsset) {\n console.warn(\n \"The \\\"clickSoundAsset\\\" prop is deprecated and will be removed in a future version. Please use the \\\"pickerFeedback\\\" prop instead.\"\n );\n }\n }, [otherProps.Audio, otherProps.Haptics, otherProps.clickSoundAsset]);\n\n const safePadWithNItems = useMemo(() => {\n if (padWithNItems < 0 || isNaN(padWithNItems)) {\n return 0;\n }\n\n const maxPadWithNItems = hideHours ? 15 : 6;\n\n if (padWithNItems > maxPadWithNItems) {\n return maxPadWithNItems;\n }\n\n return Math.round(padWithNItems);\n }, [hideHours, padWithNItems]);\n\n const safeInitialValue = useMemo(\n () =>\n getSafeInitialValue({\n days: initialValue?.days,\n hours: initialValue?.hours,\n minutes: initialValue?.minutes,\n seconds: initialValue?.seconds,\n }),\n [\n initialValue?.days,\n initialValue?.hours,\n initialValue?.minutes,\n initialValue?.seconds,\n ]\n );\n\n const styles = useMemo(\n () => generateStyles(customStyles),\n\n [customStyles]\n );\n\n const [selectedDays, setSelectedDays] = useState(safeInitialValue.days);\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 days: selectedDays,\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedDays, selectedHours, selectedMinutes, selectedSeconds]);\n\n const daysDurationScrollRef = useRef<DurationScrollRef>(null);\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 setSelectedDays(safeInitialValue.days);\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n daysDurationScrollRef.current?.reset(options);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n if (value.days) {\n setSelectedDays(value.days);\n daysDurationScrollRef.current?.setValue(\n value.days,\n options\n );\n }\n if (value.hours) {\n setSelectedHours(value.hours);\n hoursDurationScrollRef.current?.setValue(\n value.hours,\n options\n );\n }\n if (value.minutes) {\n setSelectedMinutes(value.minutes);\n minutesDurationScrollRef.current?.setValue(\n value.minutes,\n options\n );\n }\n if (value.seconds) {\n setSelectedSeconds(value.seconds);\n secondsDurationScrollRef.current?.setValue(\n value.seconds,\n options\n );\n }\n },\n latestDuration: {\n days: daysDurationScrollRef.current?.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 {!hideDays ? (\n <DurationScroll\n ref={daysDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.days}\n interval={dayInterval}\n isDisabled={daysPickerIsDisabled}\n label={dayLabel ?? \"d\"}\n limit={dayLimit}\n maximumValue={maximumDays}\n onDurationChange={setSelectedDays}\n padNumbersWithZero={padDaysWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatDayNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatDayNumbersNTimes === undefined\n }\n styles={styles}\n testID=\"duration-scroll-day\"\n {...otherProps}\n />\n ) : null}\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n interval={hourInterval}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n limit={hourLimit}\n maximumValue={maximumHours}\n onDurationChange={setSelectedHours}\n padNumbersWithZero={padHoursWithZero}\n padWithNItems={safePadWithNItems}\n pmLabel={pmLabel}\n repeatNumbersNTimes={repeatHourNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatHourNumbersNTimes === undefined\n }\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 decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n interval={minuteInterval}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n maximumValue={maximumMinutes}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero={padMinutesWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatMinuteNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatMinuteNumbersNTimes === undefined\n }\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 decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n interval={secondInterval}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n maximumValue={maximumSeconds}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero={padSecondsWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatSecondNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatSecondNumbersNTimes === undefined\n }\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
|
+
{"version":3,"names":["React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","View","getSafeInitialValue","DurationScroll","generateStyles","TimerPicker","props","ref","aggressivelyGetLatestDuration","allowFontScaling","amLabel","dayInterval","dayLabel","dayLimit","daysPickerIsDisabled","decelerationRate","disableInfiniteScroll","hideDays","hideHours","hideMinutes","hideSeconds","hourInterval","hourLabel","hourLimit","hoursPickerIsDisabled","initialValue","maximumDays","maximumHours","maximumMinutes","maximumSeconds","minuteInterval","minuteLabel","minuteLimit","minutesPickerIsDisabled","onDurationChange","padDaysWithZero","padHoursWithZero","padMinutesWithZero","padSecondsWithZero","padWithNItems","pickerContainerProps","pmLabel","repeatDayNumbersNTimes","repeatHourNumbersNTimes","repeatMinuteNumbersNTimes","repeatSecondNumbersNTimes","secondInterval","secondLabel","secondLimit","secondsPickerIsDisabled","styles","customStyles","use12HourPicker","otherProps","Audio","console","warn","Haptics","clickSoundAsset","safePadWithNItems","isNaN","maxPadWithNItems","Math","round","safeInitialValue","days","hours","minutes","seconds","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","selectedSeconds","setSelectedSeconds","daysDurationScrollRef","hoursDurationScrollRef","minutesDurationScrollRef","secondsDurationScrollRef","_daysDurationScrollRe3","_hoursDurationScrollR3","_minutesDurationScrol3","_secondsDurationScrol3","reset","options","_daysDurationScrollRe","_hoursDurationScrollR","_minutesDurationScrol","_secondsDurationScrol","current","setValue","value","_daysDurationScrollRe2","_hoursDurationScrollR2","_minutesDurationScrol2","_secondsDurationScrol2","latestDuration","createElement","_extends","style","pickerContainer","testID","interval","isDisabled","label","limit","maximumValue","padNumbersWithZero","repeatNumbersNTimes","repeatNumbersNTimesNotExplicitlySet","undefined","is12HourPicker","memo"],"sources":["TimerPicker.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 { getSafeInitialValue } from \"../../utils/getSafeInitialValue\";\nimport DurationScroll from \"../DurationScroll\";\nimport type { DurationScrollRef } from \"../DurationScroll\";\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 dayInterval = 1,\n dayLabel,\n dayLimit,\n daysPickerIsDisabled = false,\n decelerationRate = 0.88,\n disableInfiniteScroll = false,\n hideDays = true,\n hideHours = false,\n hideMinutes = false,\n hideSeconds = false,\n hourInterval = 1,\n hourLabel,\n hourLimit,\n hoursPickerIsDisabled = false,\n initialValue,\n maximumDays = 30,\n maximumHours = 23,\n maximumMinutes = 59,\n maximumSeconds = 59,\n minuteInterval = 1,\n minuteLabel,\n minuteLimit,\n minutesPickerIsDisabled = false,\n onDurationChange,\n padDaysWithZero = false,\n padHoursWithZero = false,\n padMinutesWithZero = true,\n padSecondsWithZero = true,\n padWithNItems = 1,\n pickerContainerProps,\n pmLabel = \"pm\",\n repeatDayNumbersNTimes = 3,\n repeatHourNumbersNTimes = 8,\n repeatMinuteNumbersNTimes = 3,\n repeatSecondNumbersNTimes = 3,\n secondInterval = 1,\n secondLabel,\n secondLimit,\n secondsPickerIsDisabled = false,\n styles: customStyles,\n use12HourPicker = false,\n ...otherProps\n } = props;\n\n useEffect(() => {\n if (otherProps.Audio) {\n console.warn(\n 'The \"Audio\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (otherProps.Haptics) {\n console.warn(\n 'The \"Haptics\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n if (otherProps.clickSoundAsset) {\n console.warn(\n 'The \"clickSoundAsset\" prop is deprecated and will be removed in a future version. Please use the \"pickerFeedback\" prop instead.'\n );\n }\n }, [otherProps.Audio, otherProps.Haptics, otherProps.clickSoundAsset]);\n\n const safePadWithNItems = useMemo(() => {\n if (padWithNItems < 0 || isNaN(padWithNItems)) {\n return 0;\n }\n\n const maxPadWithNItems = hideHours ? 15 : 6;\n\n if (padWithNItems > maxPadWithNItems) {\n return maxPadWithNItems;\n }\n\n return Math.round(padWithNItems);\n }, [hideHours, padWithNItems]);\n\n const safeInitialValue = useMemo(\n () =>\n getSafeInitialValue({\n days: initialValue?.days,\n hours: initialValue?.hours,\n minutes: initialValue?.minutes,\n seconds: initialValue?.seconds,\n }),\n [\n initialValue?.days,\n initialValue?.hours,\n initialValue?.minutes,\n initialValue?.seconds,\n ]\n );\n\n const styles = useMemo(\n () => generateStyles(customStyles),\n\n [customStyles]\n );\n\n const [selectedDays, setSelectedDays] = useState(safeInitialValue.days);\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 days: selectedDays,\n hours: selectedHours,\n minutes: selectedMinutes,\n seconds: selectedSeconds,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedDays, selectedHours, selectedMinutes, selectedSeconds]);\n\n const daysDurationScrollRef = useRef<DurationScrollRef>(null);\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 setSelectedDays(safeInitialValue.days);\n setSelectedHours(safeInitialValue.hours);\n setSelectedMinutes(safeInitialValue.minutes);\n setSelectedSeconds(safeInitialValue.seconds);\n daysDurationScrollRef.current?.reset(options);\n hoursDurationScrollRef.current?.reset(options);\n minutesDurationScrollRef.current?.reset(options);\n secondsDurationScrollRef.current?.reset(options);\n },\n setValue: (value, options) => {\n if (value.days) {\n setSelectedDays(value.days);\n daysDurationScrollRef.current?.setValue(\n value.days,\n options\n );\n }\n if (value.hours) {\n setSelectedHours(value.hours);\n hoursDurationScrollRef.current?.setValue(\n value.hours,\n options\n );\n }\n if (value.minutes) {\n setSelectedMinutes(value.minutes);\n minutesDurationScrollRef.current?.setValue(\n value.minutes,\n options\n );\n }\n if (value.seconds) {\n setSelectedSeconds(value.seconds);\n secondsDurationScrollRef.current?.setValue(\n value.seconds,\n options\n );\n }\n },\n latestDuration: {\n days: daysDurationScrollRef.current?.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 {!hideDays ? (\n <DurationScroll\n ref={daysDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.days}\n interval={dayInterval}\n isDisabled={daysPickerIsDisabled}\n label={dayLabel ?? \"d\"}\n limit={dayLimit}\n maximumValue={maximumDays}\n onDurationChange={setSelectedDays}\n padNumbersWithZero={padDaysWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatDayNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatDayNumbersNTimes === undefined\n }\n styles={styles}\n testID=\"duration-scroll-day\"\n {...otherProps}\n />\n ) : null}\n {!hideHours ? (\n <DurationScroll\n ref={hoursDurationScrollRef}\n aggressivelyGetLatestDuration={\n aggressivelyGetLatestDuration\n }\n allowFontScaling={allowFontScaling}\n amLabel={amLabel}\n decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.hours}\n interval={hourInterval}\n is12HourPicker={use12HourPicker}\n isDisabled={hoursPickerIsDisabled}\n label={\n hourLabel ?? (!use12HourPicker ? \"h\" : undefined)\n }\n limit={hourLimit}\n maximumValue={maximumHours}\n onDurationChange={setSelectedHours}\n padNumbersWithZero={padHoursWithZero}\n padWithNItems={safePadWithNItems}\n pmLabel={pmLabel}\n repeatNumbersNTimes={repeatHourNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatHourNumbersNTimes === undefined\n }\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 decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.minutes}\n interval={minuteInterval}\n isDisabled={minutesPickerIsDisabled}\n label={minuteLabel ?? \"m\"}\n limit={minuteLimit}\n maximumValue={maximumMinutes}\n onDurationChange={setSelectedMinutes}\n padNumbersWithZero={padMinutesWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatMinuteNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatMinuteNumbersNTimes === undefined\n }\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 decelerationRate={decelerationRate}\n disableInfiniteScroll={disableInfiniteScroll}\n initialValue={safeInitialValue.seconds}\n interval={secondInterval}\n isDisabled={secondsPickerIsDisabled}\n label={secondLabel ?? \"s\"}\n limit={secondLimit}\n maximumValue={maximumSeconds}\n onDurationChange={setSelectedSeconds}\n padNumbersWithZero={padSecondsWithZero}\n padWithNItems={safePadWithNItems}\n repeatNumbersNTimes={repeatSecondNumbersNTimes}\n repeatNumbersNTimesNotExplicitlySet={\n props?.repeatSecondNumbersNTimes === undefined\n }\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,OAAOA,KAAK,IACRC,UAAU,EACVC,SAAS,EACTC,mBAAmB,EACnBC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACL,OAAO;AAEd,SAASC,IAAI,QAAQ,cAAc;AAEnC,SAASC,mBAAmB,QAAQ,iCAAiC;AACrE,OAAOC,cAAc,MAAM,mBAAmB;AAG9C,SAASC,cAAc,QAAQ,UAAU;AAGzC,MAAMC,WAAW,gBAAGV,UAAU,CAC1B,CAACW,KAAK,EAAEC,GAAG,KAAK;EACZ,MAAM;IACFC,6BAA6B,GAAG,KAAK;IACrCC,gBAAgB,GAAG,KAAK;IACxBC,OAAO,GAAG,IAAI;IACdC,WAAW,GAAG,CAAC;IACfC,QAAQ;IACRC,QAAQ;IACRC,oBAAoB,GAAG,KAAK;IAC5BC,gBAAgB,GAAG,IAAI;IACvBC,qBAAqB,GAAG,KAAK;IAC7BC,QAAQ,GAAG,IAAI;IACfC,SAAS,GAAG,KAAK;IACjBC,WAAW,GAAG,KAAK;IACnBC,WAAW,GAAG,KAAK;IACnBC,YAAY,GAAG,CAAC;IAChBC,SAAS;IACTC,SAAS;IACTC,qBAAqB,GAAG,KAAK;IAC7BC,YAAY;IACZC,WAAW,GAAG,EAAE;IAChBC,YAAY,GAAG,EAAE;IACjBC,cAAc,GAAG,EAAE;IACnBC,cAAc,GAAG,EAAE;IACnBC,cAAc,GAAG,CAAC;IAClBC,WAAW;IACXC,WAAW;IACXC,uBAAuB,GAAG,KAAK;IAC/BC,gBAAgB;IAChBC,eAAe,GAAG,KAAK;IACvBC,gBAAgB,GAAG,KAAK;IACxBC,kBAAkB,GAAG,IAAI;IACzBC,kBAAkB,GAAG,IAAI;IACzBC,aAAa,GAAG,CAAC;IACjBC,oBAAoB;IACpBC,OAAO,GAAG,IAAI;IACdC,sBAAsB,GAAG,CAAC;IAC1BC,uBAAuB,GAAG,CAAC;IAC3BC,yBAAyB,GAAG,CAAC;IAC7BC,yBAAyB,GAAG,CAAC;IAC7BC,cAAc,GAAG,CAAC;IAClBC,WAAW;IACXC,WAAW;IACXC,uBAAuB,GAAG,KAAK;IAC/BC,MAAM,EAAEC,YAAY;IACpBC,eAAe,GAAG,KAAK;IACvB,GAAGC;EACP,CAAC,GAAG/C,KAAK;EAETV,SAAS,CAAC,MAAM;IACZ,IAAIyD,UAAU,CAACC,KAAK,EAAE;MAClBC,OAAO,CAACC,IAAI,CACR,uHACJ,CAAC;IACL;IACA,IAAIH,UAAU,CAACI,OAAO,EAAE;MACpBF,OAAO,CAACC,IAAI,CACR,yHACJ,CAAC;IACL;IACA,IAAIH,UAAU,CAACK,eAAe,EAAE;MAC5BH,OAAO,CAACC,IAAI,CACR,iIACJ,CAAC;IACL;EACJ,CAAC,EAAE,CAACH,UAAU,CAACC,KAAK,EAAED,UAAU,CAACI,OAAO,EAAEJ,UAAU,CAACK,eAAe,CAAC,CAAC;EAEtE,MAAMC,iBAAiB,GAAG7D,OAAO,CAAC,MAAM;IACpC,IAAIyC,aAAa,GAAG,CAAC,IAAIqB,KAAK,CAACrB,aAAa,CAAC,EAAE;MAC3C,OAAO,CAAC;IACZ;IAEA,MAAMsB,gBAAgB,GAAG3C,SAAS,GAAG,EAAE,GAAG,CAAC;IAE3C,IAAIqB,aAAa,GAAGsB,gBAAgB,EAAE;MAClC,OAAOA,gBAAgB;IAC3B;IAEA,OAAOC,IAAI,CAACC,KAAK,CAACxB,aAAa,CAAC;EACpC,CAAC,EAAE,CAACrB,SAAS,EAAEqB,aAAa,CAAC,CAAC;EAE9B,MAAMyB,gBAAgB,GAAGlE,OAAO,CAC5B,MACII,mBAAmB,CAAC;IAChB+D,IAAI,EAAExC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEwC,IAAI;IACxBC,KAAK,EAAEzC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEyC,KAAK;IAC1BC,OAAO,EAAE1C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE0C,OAAO;IAC9BC,OAAO,EAAE3C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE2C;EAC3B,CAAC,CAAC,EACN,CACI3C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEwC,IAAI,EAClBxC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEyC,KAAK,EACnBzC,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE0C,OAAO,EACrB1C,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAE2C,OAAO,CAE7B,CAAC;EAED,MAAMlB,MAAM,GAAGpD,OAAO,CAClB,MAAMM,cAAc,CAAC+C,YAAY,CAAC,EAElC,CAACA,YAAY,CACjB,CAAC;EAED,MAAM,CAACkB,YAAY,EAAEC,eAAe,CAAC,GAAGtE,QAAQ,CAACgE,gBAAgB,CAACC,IAAI,CAAC;EACvE,MAAM,CAACM,aAAa,EAAEC,gBAAgB,CAAC,GAAGxE,QAAQ,CAC9CgE,gBAAgB,CAACE,KACrB,CAAC;EACD,MAAM,CAACO,eAAe,EAAEC,kBAAkB,CAAC,GAAG1E,QAAQ,CAClDgE,gBAAgB,CAACG,OACrB,CAAC;EACD,MAAM,CAACQ,eAAe,EAAEC,kBAAkB,CAAC,GAAG5E,QAAQ,CAClDgE,gBAAgB,CAACI,OACrB,CAAC;EAEDxE,SAAS,CAAC,MAAM;IACZsC,gBAAgB,aAAhBA,gBAAgB,eAAhBA,gBAAgB,CAAG;MACf+B,IAAI,EAAEI,YAAY;MAClBH,KAAK,EAAEK,aAAa;MACpBJ,OAAO,EAAEM,eAAe;MACxBL,OAAO,EAAEO;IACb,CAAC,CAAC;IACF;EACJ,CAAC,EAAE,CAACN,YAAY,EAAEE,aAAa,EAAEE,eAAe,EAAEE,eAAe,CAAC,CAAC;EAEnE,MAAME,qBAAqB,GAAG9E,MAAM,CAAoB,IAAI,CAAC;EAC7D,MAAM+E,sBAAsB,GAAG/E,MAAM,CAAoB,IAAI,CAAC;EAC9D,MAAMgF,wBAAwB,GAAGhF,MAAM,CAAoB,IAAI,CAAC;EAChE,MAAMiF,wBAAwB,GAAGjF,MAAM,CAAoB,IAAI,CAAC;EAEhEF,mBAAmB,CAACU,GAAG,EAAE;IAAA,IAAA0E,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IAAA,OAAO;MAC5BC,KAAK,EAAGC,OAAO,IAAK;QAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;QAChBpB,eAAe,CAACN,gBAAgB,CAACC,IAAI,CAAC;QACtCO,gBAAgB,CAACR,gBAAgB,CAACE,KAAK,CAAC;QACxCQ,kBAAkB,CAACV,gBAAgB,CAACG,OAAO,CAAC;QAC5CS,kBAAkB,CAACZ,gBAAgB,CAACI,OAAO,CAAC;QAC5C,CAAAmB,qBAAA,GAAAV,qBAAqB,CAACc,OAAO,cAAAJ,qBAAA,eAA7BA,qBAAA,CAA+BF,KAAK,CAACC,OAAO,CAAC;QAC7C,CAAAE,qBAAA,GAAAV,sBAAsB,CAACa,OAAO,cAAAH,qBAAA,eAA9BA,qBAAA,CAAgCH,KAAK,CAACC,OAAO,CAAC;QAC9C,CAAAG,qBAAA,GAAAV,wBAAwB,CAACY,OAAO,cAAAF,qBAAA,eAAhCA,qBAAA,CAAkCJ,KAAK,CAACC,OAAO,CAAC;QAChD,CAAAI,qBAAA,GAAAV,wBAAwB,CAACW,OAAO,cAAAD,qBAAA,eAAhCA,qBAAA,CAAkCL,KAAK,CAACC,OAAO,CAAC;MACpD,CAAC;MACDM,QAAQ,EAAEA,CAACC,KAAK,EAAEP,OAAO,KAAK;QAC1B,IAAIO,KAAK,CAAC5B,IAAI,EAAE;UAAA,IAAA6B,sBAAA;UACZxB,eAAe,CAACuB,KAAK,CAAC5B,IAAI,CAAC;UAC3B,CAAA6B,sBAAA,GAAAjB,qBAAqB,CAACc,OAAO,cAAAG,sBAAA,eAA7BA,sBAAA,CAA+BF,QAAQ,CACnCC,KAAK,CAAC5B,IAAI,EACVqB,OACJ,CAAC;QACL;QACA,IAAIO,KAAK,CAAC3B,KAAK,EAAE;UAAA,IAAA6B,sBAAA;UACbvB,gBAAgB,CAACqB,KAAK,CAAC3B,KAAK,CAAC;UAC7B,CAAA6B,sBAAA,GAAAjB,sBAAsB,CAACa,OAAO,cAAAI,sBAAA,eAA9BA,sBAAA,CAAgCH,QAAQ,CACpCC,KAAK,CAAC3B,KAAK,EACXoB,OACJ,CAAC;QACL;QACA,IAAIO,KAAK,CAAC1B,OAAO,EAAE;UAAA,IAAA6B,sBAAA;UACftB,kBAAkB,CAACmB,KAAK,CAAC1B,OAAO,CAAC;UACjC,CAAA6B,sBAAA,GAAAjB,wBAAwB,CAACY,OAAO,cAAAK,sBAAA,eAAhCA,sBAAA,CAAkCJ,QAAQ,CACtCC,KAAK,CAAC1B,OAAO,EACbmB,OACJ,CAAC;QACL;QACA,IAAIO,KAAK,CAACzB,OAAO,EAAE;UAAA,IAAA6B,sBAAA;UACfrB,kBAAkB,CAACiB,KAAK,CAACzB,OAAO,CAAC;UACjC,CAAA6B,sBAAA,GAAAjB,wBAAwB,CAACW,OAAO,cAAAM,sBAAA,eAAhCA,sBAAA,CAAkCL,QAAQ,CACtCC,KAAK,CAACzB,OAAO,EACbkB,OACJ,CAAC;QACL;MACJ,CAAC;MACDY,cAAc,EAAE;QACZjC,IAAI,GAAAgB,sBAAA,GAAEJ,qBAAqB,CAACc,OAAO,cAAAV,sBAAA,uBAA7BA,sBAAA,CAA+BiB,cAAc;QACnDhC,KAAK,GAAAgB,sBAAA,GAAEJ,sBAAsB,CAACa,OAAO,cAAAT,sBAAA,uBAA9BA,sBAAA,CAAgCgB,cAAc;QACrD/B,OAAO,GAAAgB,sBAAA,GAAEJ,wBAAwB,CAACY,OAAO,cAAAR,sBAAA,uBAAhCA,sBAAA,CAAkCe,cAAc;QACzD9B,OAAO,GAAAgB,sBAAA,GAAEJ,wBAAwB,CAACW,OAAO,cAAAP,sBAAA,uBAAhCA,sBAAA,CAAkCc;MAC/C;IACJ,CAAC;EAAA,CAAC,CAAC;EAEH,oBACIxG,KAAA,CAAAyG,aAAA,CAAClG,IAAI,EAAAmG,QAAA,KACG5D,oBAAoB;IACxB6D,KAAK,EAAEnD,MAAM,CAACoD,eAAgB;IAC9BC,MAAM,EAAC;EAAc,IACpB,CAACtF,QAAQ,gBACNvB,KAAA,CAAAyG,aAAA,CAAChG,cAAc,EAAAiG,QAAA;IACX7F,GAAG,EAAEsE,qBAAsB;IAC3BrE,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCO,qBAAqB,EAAEA,qBAAsB;IAC7CS,YAAY,EAAEuC,gBAAgB,CAACC,IAAK;IACpCuC,QAAQ,EAAE7F,WAAY;IACtB8F,UAAU,EAAE3F,oBAAqB;IACjC4F,KAAK,EAAE9F,QAAQ,IAAI,GAAI;IACvB+F,KAAK,EAAE9F,QAAS;IAChB+F,YAAY,EAAElF,WAAY;IAC1BQ,gBAAgB,EAAEoC,eAAgB;IAClCuC,kBAAkB,EAAE1E,eAAgB;IACpCI,aAAa,EAAEoB,iBAAkB;IACjCmD,mBAAmB,EAAEpE,sBAAuB;IAC5CqE,mCAAmC,EAC/B,CAAAzG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEoC,sBAAsB,MAAKsE,SACrC;IACD9D,MAAM,EAAEA,MAAO;IACfqD,MAAM,EAAC;EAAqB,GACxBlD,UAAU,CACjB,CAAC,GACF,IAAI,EACP,CAACnC,SAAS,gBACPxB,KAAA,CAAAyG,aAAA,CAAChG,cAAc,EAAAiG,QAAA;IACX7F,GAAG,EAAEuE,sBAAuB;IAC5BtE,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCC,OAAO,EAAEA,OAAQ;IACjBK,gBAAgB,EAAEA,gBAAiB;IACnCC,qBAAqB,EAAEA,qBAAsB;IAC7CS,YAAY,EAAEuC,gBAAgB,CAACE,KAAM;IACrCsC,QAAQ,EAAEnF,YAAa;IACvB4F,cAAc,EAAE7D,eAAgB;IAChCqD,UAAU,EAAEjF,qBAAsB;IAClCkF,KAAK,EACDpF,SAAS,KAAK,CAAC8B,eAAe,GAAG,GAAG,GAAG4D,SAAS,CACnD;IACDL,KAAK,EAAEpF,SAAU;IACjBqF,YAAY,EAAEjF,YAAa;IAC3BO,gBAAgB,EAAEsC,gBAAiB;IACnCqC,kBAAkB,EAAEzE,gBAAiB;IACrCG,aAAa,EAAEoB,iBAAkB;IACjClB,OAAO,EAAEA,OAAQ;IACjBqE,mBAAmB,EAAEnE,uBAAwB;IAC7CoE,mCAAmC,EAC/B,CAAAzG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqC,uBAAuB,MAAKqE,SACtC;IACD9D,MAAM,EAAEA,MAAO;IACfqD,MAAM,EAAC;EAAsB,GACzBlD,UAAU,CACjB,CAAC,GACF,IAAI,EACP,CAAClC,WAAW,gBACTzB,KAAA,CAAAyG,aAAA,CAAChG,cAAc,EAAAiG,QAAA;IACX7F,GAAG,EAAEwE,wBAAyB;IAC9BvE,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCM,gBAAgB,EAAEA,gBAAiB;IACnCC,qBAAqB,EAAEA,qBAAsB;IAC7CS,YAAY,EAAEuC,gBAAgB,CAACG,OAAQ;IACvCqC,QAAQ,EAAE1E,cAAe;IACzB2E,UAAU,EAAExE,uBAAwB;IACpCyE,KAAK,EAAE3E,WAAW,IAAI,GAAI;IAC1B4E,KAAK,EAAE3E,WAAY;IACnB4E,YAAY,EAAEhF,cAAe;IAC7BM,gBAAgB,EAAEwC,kBAAmB;IACrCmC,kBAAkB,EAAExE,kBAAmB;IACvCE,aAAa,EAAEoB,iBAAkB;IACjCmD,mBAAmB,EAAElE,yBAA0B;IAC/CmE,mCAAmC,EAC/B,CAAAzG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsC,yBAAyB,MAAKoE,SACxC;IACD9D,MAAM,EAAEA,MAAO;IACfqD,MAAM,EAAC;EAAwB,GAC3BlD,UAAU,CACjB,CAAC,GACF,IAAI,EACP,CAACjC,WAAW,gBACT1B,KAAA,CAAAyG,aAAA,CAAChG,cAAc,EAAAiG,QAAA;IACX7F,GAAG,EAAEyE,wBAAyB;IAC9BxE,6BAA6B,EACzBA,6BACH;IACDC,gBAAgB,EAAEA,gBAAiB;IACnCM,gBAAgB,EAAEA,gBAAiB;IACnCC,qBAAqB,EAAEA,qBAAsB;IAC7CS,YAAY,EAAEuC,gBAAgB,CAACI,OAAQ;IACvCoC,QAAQ,EAAE1D,cAAe;IACzB2D,UAAU,EAAExD,uBAAwB;IACpCyD,KAAK,EAAE3D,WAAW,IAAI,GAAI;IAC1B4D,KAAK,EAAE3D,WAAY;IACnB4D,YAAY,EAAE/E,cAAe;IAC7BK,gBAAgB,EAAE0C,kBAAmB;IACrCiC,kBAAkB,EAAEvE,kBAAmB;IACvCC,aAAa,EAAEoB,iBAAkB;IACjCmD,mBAAmB,EAAEjE,yBAA0B;IAC/CkE,mCAAmC,EAC/B,CAAAzG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuC,yBAAyB,MAAKmE,SACxC;IACD9D,MAAM,EAAEA,MAAO;IACfqD,MAAM,EAAC;EAAwB,GAC3BlD,UAAU,CACjB,CAAC,GACF,IACF,CAAC;AAEf,CACJ,CAAC;AAED,4BAAe3D,KAAK,CAACwH,IAAI,CAAC7G,WAAW,CAAC","ignoreList":[]}
|
|
@@ -4,28 +4,44 @@ const DARK_MODE_TEXT_COLOR = "#E9E9E9";
|
|
|
4
4
|
const LIGHT_MODE_BACKGROUND_COLOR = "#F1F1F1";
|
|
5
5
|
const LIGHT_MODE_TEXT_COLOR = "#1B1B1B";
|
|
6
6
|
export const generateStyles = customStyles => {
|
|
7
|
-
var _customStyles$pickerL, _customStyles$text, _customStyles$
|
|
7
|
+
var _customStyles$pickerL, _customStyles$text, _customStyles$pickerA, _customStyles$pickerL2, _customStyles$text2, _customStyles$pickerI, _customStyles$text3;
|
|
8
|
+
const 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);
|
|
9
|
+
const textColor = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR;
|
|
10
|
+
const pickerLabelFontSize = (customStyles === null || customStyles === void 0 || (_customStyles$pickerL = customStyles.pickerLabel) === null || _customStyles$pickerL === void 0 ? void 0 : _customStyles$pickerL.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$text = customStyles.text) === null || _customStyles$text === void 0 ? void 0 : _customStyles$text.fontSize) ?? 18;
|
|
11
|
+
const pickerAmPmFontSize = (customStyles === null || customStyles === void 0 || (_customStyles$pickerA = customStyles.pickerAmPmLabel) === null || _customStyles$pickerA === void 0 ? void 0 : _customStyles$pickerA.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$pickerL2 = customStyles.pickerLabel) === null || _customStyles$pickerL2 === void 0 ? void 0 : _customStyles$pickerL2.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$text2 = customStyles.text) === null || _customStyles$text2 === void 0 ? void 0 : _customStyles$text2.fontSize) ?? 18;
|
|
12
|
+
const pickerItemFontSize = (customStyles === null || customStyles === void 0 || (_customStyles$pickerI = customStyles.pickerItem) === null || _customStyles$pickerI === void 0 ? void 0 : _customStyles$pickerI.fontSize) ?? (customStyles === null || customStyles === void 0 || (_customStyles$text3 = customStyles.text) === null || _customStyles$text3 === void 0 ? void 0 : _customStyles$text3.fontSize) ?? 25;
|
|
13
|
+
|
|
14
|
+
// This offset makes the picker label appear to be aligned with the picker item
|
|
15
|
+
// despite them having different font sizes
|
|
16
|
+
const pickerLabelVerticalOffset = pickerItemFontSize - pickerLabelFontSize - 1;
|
|
17
|
+
const pickerAmPmVerticalOffset = pickerItemFontSize - pickerAmPmFontSize - 1;
|
|
18
|
+
|
|
19
|
+
// The label is absolutely positioned, so we need to offset it for it to appear
|
|
20
|
+
// in the correct position. We offset it to the left of the container so that
|
|
21
|
+
// the width of the label doesn't impact its position.
|
|
22
|
+
const extraLabelOffsetPercentage = (customStyles === null || customStyles === void 0 ? void 0 : customStyles.labelOffsetPercentage) ?? 8;
|
|
23
|
+
const baseLeftOffsetPercentage = 70;
|
|
24
|
+
const labelOffsetPercentage = baseLeftOffsetPercentage + extraLabelOffsetPercentage;
|
|
8
25
|
return StyleSheet.create({
|
|
9
26
|
pickerContainer: {
|
|
10
27
|
flexDirection: "row",
|
|
11
|
-
|
|
12
|
-
|
|
28
|
+
backgroundColor,
|
|
29
|
+
width: "100%",
|
|
13
30
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerContainer)
|
|
14
31
|
},
|
|
15
32
|
pickerLabelContainer: {
|
|
16
33
|
position: "absolute",
|
|
17
|
-
right: 4,
|
|
18
34
|
top: 0,
|
|
19
35
|
bottom: 0,
|
|
36
|
+
left: `${labelOffsetPercentage}%`,
|
|
20
37
|
justifyContent: "center",
|
|
21
|
-
|
|
38
|
+
marginTop: pickerLabelVerticalOffset,
|
|
22
39
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer)
|
|
23
40
|
},
|
|
24
41
|
pickerLabel: {
|
|
25
42
|
fontSize: 18,
|
|
26
43
|
fontWeight: "bold",
|
|
27
|
-
|
|
28
|
-
color: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
|
|
44
|
+
color: textColor,
|
|
29
45
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
|
|
30
46
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel)
|
|
31
47
|
},
|
|
@@ -34,30 +50,30 @@ export const generateStyles = customStyles => {
|
|
|
34
50
|
height: 50,
|
|
35
51
|
justifyContent: "center",
|
|
36
52
|
alignItems: "center",
|
|
37
|
-
width: ((customStyles === null || customStyles === void 0 || (_customStyles$pickerI2 = customStyles.pickerItem) === null || _customStyles$pickerI2 === void 0 ? void 0 : _customStyles$pickerI2.fontSize) ?? 25) * 3.6,
|
|
38
53
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItemContainer)
|
|
39
54
|
},
|
|
40
55
|
pickerItem: {
|
|
41
56
|
textAlignVertical: "center",
|
|
42
57
|
fontSize: 25,
|
|
43
|
-
|
|
58
|
+
overflow: "visible",
|
|
59
|
+
color: textColor,
|
|
44
60
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
|
|
45
61
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerItem)
|
|
46
62
|
},
|
|
47
63
|
pickerAmPmContainer: {
|
|
48
64
|
position: "absolute",
|
|
49
|
-
right: 0,
|
|
50
65
|
top: 0,
|
|
51
66
|
bottom: 0,
|
|
67
|
+
left: `${labelOffsetPercentage}%`,
|
|
52
68
|
justifyContent: "center",
|
|
69
|
+
marginTop: pickerAmPmVerticalOffset,
|
|
53
70
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabelContainer),
|
|
54
71
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerAmPmContainer)
|
|
55
72
|
},
|
|
56
73
|
pickerAmPmLabel: {
|
|
57
74
|
fontSize: 18,
|
|
58
75
|
fontWeight: "bold",
|
|
59
|
-
|
|
60
|
-
color: (customStyles === null || customStyles === void 0 ? void 0 : customStyles.theme) === "dark" ? DARK_MODE_TEXT_COLOR : LIGHT_MODE_TEXT_COLOR,
|
|
76
|
+
color: textColor,
|
|
61
77
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.text),
|
|
62
78
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerLabel),
|
|
63
79
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerAmPmLabel)
|
|
@@ -79,15 +95,17 @@ export const generateStyles = customStyles => {
|
|
|
79
95
|
height: "100%",
|
|
80
96
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.pickerGradientOverlay)
|
|
81
97
|
},
|
|
82
|
-
durationScrollFlatList: {
|
|
83
|
-
minWidth: 1,
|
|
84
|
-
width: "300%",
|
|
85
|
-
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatList)
|
|
86
|
-
},
|
|
87
98
|
durationScrollFlatListContainer: {
|
|
88
|
-
|
|
99
|
+
flex: 1,
|
|
89
100
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContainer)
|
|
90
101
|
},
|
|
102
|
+
durationScrollFlatList: {
|
|
103
|
+
// These paddings allow the inner am/pm label to
|
|
104
|
+
// spill out of the flatlist
|
|
105
|
+
paddingRight: "25%",
|
|
106
|
+
marginRight: "-25%",
|
|
107
|
+
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatList)
|
|
108
|
+
},
|
|
91
109
|
durationScrollFlatListContentContainer: {
|
|
92
110
|
...(customStyles === null || customStyles === void 0 ? void 0 : customStyles.durationScrollFlatListContentContainer)
|
|
93
111
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","_customStyles$pickerL","_customStyles$text","_customStyles$pickerI","_customStyles$text2","_customStyles$pickerI2","_customStyles$pickerI3","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","maskedView","flex","pickerGradientOverlay","durationScrollFlatList","durationScrollFlatListContainer","overflow","durationScrollFlatListContentContainer"],"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 durationScrollFlatList?: ViewStyle;\n durationScrollFlatListContainer?: ViewStyle;\n durationScrollFlatListContentContainer?: ViewStyle;\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) =>\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 maskedView: {\n flex: 1,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n ...customStyles?.pickerGradientOverlay,\n },\n durationScrollFlatList: {\n minWidth: 1,\n width: \"300%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContainer: {\n overflow: \"visible\",\n ...customStyles?.durationScrollFlatListContainer,\n },\n durationScrollFlatListContentContainer: {\n ...customStyles?.durationScrollFlatListContentContainer,\n },\n });\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["StyleSheet","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","_customStyles$pickerL","_customStyles$text","_customStyles$pickerA","_customStyles$pickerL2","_customStyles$text2","_customStyles$pickerI","_customStyles$text3","backgroundColor","theme","textColor","pickerLabelFontSize","pickerLabel","fontSize","text","pickerAmPmFontSize","pickerAmPmLabel","pickerItemFontSize","pickerItem","pickerLabelVerticalOffset","pickerAmPmVerticalOffset","extraLabelOffsetPercentage","labelOffsetPercentage","baseLeftOffsetPercentage","create","pickerContainer","flexDirection","width","pickerLabelContainer","position","top","bottom","left","justifyContent","marginTop","fontWeight","color","pickerItemContainer","height","alignItems","textAlignVertical","overflow","pickerAmPmContainer","disabledPickerContainer","opacity","disabledPickerItem","maskedView","flex","pickerGradientOverlay","durationScrollFlatListContainer","durationScrollFlatList","paddingRight","marginRight","durationScrollFlatListContentContainer"],"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 durationScrollFlatList?: ViewStyle;\n durationScrollFlatListContainer?: ViewStyle;\n durationScrollFlatListContentContainer?: ViewStyle;\n labelOffsetPercentage?: number;\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) => {\n const backgroundColor =\n customStyles?.backgroundColor ??\n (customStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR);\n\n const textColor =\n customStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR;\n\n const pickerLabelFontSize =\n customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 18;\n const pickerAmPmFontSize =\n customStyles?.pickerAmPmLabel?.fontSize ??\n customStyles?.pickerLabel?.fontSize ??\n customStyles?.text?.fontSize ??\n 18;\n const pickerItemFontSize =\n customStyles?.pickerItem?.fontSize ??\n customStyles?.text?.fontSize ??\n 25;\n\n // This offset makes the picker label appear to be aligned with the picker item\n // despite them having different font sizes\n const pickerLabelVerticalOffset =\n pickerItemFontSize - pickerLabelFontSize - 1;\n const pickerAmPmVerticalOffset =\n pickerItemFontSize - pickerAmPmFontSize - 1;\n\n // The label is absolutely positioned, so we need to offset it for it to appear\n // in the correct position. We offset it to the left of the container so that\n // the width of the label doesn't impact its position.\n const extraLabelOffsetPercentage = customStyles?.labelOffsetPercentage ?? 8;\n const baseLeftOffsetPercentage = 70;\n const labelOffsetPercentage =\n baseLeftOffsetPercentage + extraLabelOffsetPercentage;\n\n return StyleSheet.create({\n pickerContainer: {\n flexDirection: \"row\",\n backgroundColor,\n width: \"100%\",\n ...customStyles?.pickerContainer,\n },\n pickerLabelContainer: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: `${labelOffsetPercentage}%`,\n justifyContent: \"center\",\n marginTop: pickerLabelVerticalOffset,\n ...customStyles?.pickerLabelContainer,\n },\n pickerLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: textColor,\n ...customStyles?.text,\n ...customStyles?.pickerLabel,\n },\n pickerItemContainer: {\n flexDirection: \"row\",\n height: 50,\n justifyContent: \"center\",\n alignItems: \"center\",\n ...customStyles?.pickerItemContainer,\n },\n pickerItem: {\n textAlignVertical: \"center\",\n fontSize: 25,\n overflow: \"visible\",\n color: textColor,\n ...customStyles?.text,\n ...customStyles?.pickerItem,\n },\n pickerAmPmContainer: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: `${labelOffsetPercentage}%`,\n justifyContent: \"center\",\n marginTop: pickerAmPmVerticalOffset,\n ...customStyles?.pickerLabelContainer,\n ...customStyles?.pickerAmPmContainer,\n },\n pickerAmPmLabel: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: textColor,\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 maskedView: {\n flex: 1,\n },\n pickerGradientOverlay: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n ...customStyles?.pickerGradientOverlay,\n },\n durationScrollFlatListContainer: {\n flex: 1,\n ...customStyles?.durationScrollFlatListContainer,\n },\n durationScrollFlatList: {\n // These paddings allow the inner am/pm label to\n // spill out of the flatlist\n paddingRight: \"25%\",\n marginRight: \"-25%\",\n ...customStyles?.durationScrollFlatList,\n },\n durationScrollFlatListContentContainer: {\n ...customStyles?.durationScrollFlatListContentContainer,\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,11 +18,7 @@ export const generateStyles = (customStyles, variables) => {
|
|
|
18
18
|
container: {
|
|
19
19
|
justifyContent: "center",
|
|
20
20
|
overflow: "hidden",
|
|
21
|
-
...customContainerStyle
|
|
22
|
-
// disable setting alignItems here because it can affect
|
|
23
|
-
// the FlatList's ability to calculate its layout, which can
|
|
24
|
-
// stop snapToOffsets working properly
|
|
25
|
-
alignItems: undefined
|
|
21
|
+
...customContainerStyle
|
|
26
22
|
},
|
|
27
23
|
contentContainer: {
|
|
28
24
|
backgroundColor: (customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.backgroundColor) ?? ((customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.theme) === "dark" ? DARK_MODE_BACKGROUND_COLOR : LIGHT_MODE_BACKGROUND_COLOR),
|
|
@@ -30,12 +26,8 @@ export const generateStyles = (customStyles, variables) => {
|
|
|
30
26
|
alignItems: "center",
|
|
31
27
|
borderRadius: 20,
|
|
32
28
|
overflow: "hidden",
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// the FlatList's ability to calculate its layout, which can
|
|
36
|
-
// stop snapToOffsets working properly
|
|
37
|
-
paddingHorizontal: 0,
|
|
38
|
-
paddingVertical: 0
|
|
29
|
+
paddingHorizontal: 20,
|
|
30
|
+
...customContentContainerStyle
|
|
39
31
|
},
|
|
40
32
|
buttonContainer: {
|
|
41
33
|
flexDirection: "row",
|
|
@@ -80,10 +72,7 @@ export const generateStyles = (customStyles, variables) => {
|
|
|
80
72
|
timerPickerStyles: {
|
|
81
73
|
...customTimerPickerStyles,
|
|
82
74
|
pickerContainer: {
|
|
83
|
-
|
|
84
|
-
// the FlatList's ability to calculate its layout, which can
|
|
85
|
-
// stop snapToOffsets working properly
|
|
86
|
-
paddingHorizontal: 20,
|
|
75
|
+
marginRight: "8%",
|
|
87
76
|
paddingTop: !(variables !== null && variables !== void 0 && variables.hasModalTitle) ? 20 : 0,
|
|
88
77
|
...((customTimerPickerStyles === null || customTimerPickerStyles === void 0 ? void 0 : customTimerPickerStyles.pickerContainer) ?? {})
|
|
89
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","variables","button","customButtonStyle","buttonContainer","customButtonContainerStyle","cancelButton","customCancelButtonStyle","confirmButton","customConfirmButtonStyle","container","customContainerStyle","contentContainer","customContentContainerStyle","modalTitle","customModalTitleStyle","customTimerPickerStyles","create","justifyContent","overflow","
|
|
1
|
+
{"version":3,"names":["StyleSheet","DARK_MODE_BACKGROUND_COLOR","DARK_MODE_TEXT_COLOR","LIGHT_MODE_BACKGROUND_COLOR","LIGHT_MODE_TEXT_COLOR","generateStyles","customStyles","variables","button","customButtonStyle","buttonContainer","customButtonContainerStyle","cancelButton","customCancelButtonStyle","confirmButton","customConfirmButtonStyle","container","customContainerStyle","contentContainer","customContentContainerStyle","modalTitle","customModalTitleStyle","customTimerPickerStyles","create","justifyContent","overflow","backgroundColor","theme","alignItems","borderRadius","paddingHorizontal","flexDirection","marginTop","marginBottom","marginHorizontal","paddingVertical","borderWidth","fontSize","text","borderColor","color","undefined","fontWeight","timerPickerStyles","pickerContainer","marginRight","paddingTop","hasModalTitle"],"sources":["styles.ts"],"sourcesContent":["import { StyleSheet } from \"react-native\";\nimport type { DimensionValue, 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 variables?: {\n hasModalTitle: boolean;\n }\n) => {\n const {\n button: customButtonStyle,\n buttonContainer: customButtonContainerStyle,\n cancelButton: customCancelButtonStyle,\n confirmButton: customConfirmButtonStyle,\n container: customContainerStyle,\n contentContainer: customContentContainerStyle,\n modalTitle: customModalTitleStyle,\n ...customTimerPickerStyles\n } = customStyles ?? {};\n\n return StyleSheet.create({\n container: {\n justifyContent: \"center\",\n overflow: \"hidden\",\n ...customContainerStyle,\n },\n contentContainer: {\n backgroundColor:\n customTimerPickerStyles?.backgroundColor ??\n (customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_BACKGROUND_COLOR\n : LIGHT_MODE_BACKGROUND_COLOR),\n justifyContent: \"center\",\n alignItems: \"center\",\n borderRadius: 20,\n overflow: \"hidden\",\n paddingHorizontal: 20,\n ...customContentContainerStyle,\n },\n buttonContainer: {\n flexDirection: \"row\",\n marginTop: 25,\n marginBottom: 20,\n ...customButtonContainerStyle,\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 ...customTimerPickerStyles?.text,\n ...customButtonStyle,\n },\n cancelButton: {\n borderColor: \"gray\",\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : \"gray\",\n backgroundColor:\n customTimerPickerStyles?.theme === \"dark\" ? \"gray\" : undefined,\n ...customTimerPickerStyles?.text,\n ...customCancelButtonStyle,\n },\n confirmButton: {\n borderColor: \"green\",\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : \"green\",\n backgroundColor:\n customTimerPickerStyles?.theme === \"dark\" ? \"green\" : undefined,\n ...customTimerPickerStyles?.text,\n ...customConfirmButtonStyle,\n },\n modalTitle: {\n fontSize: 24,\n fontWeight: \"600\",\n marginTop: 20,\n marginBottom: 15,\n color:\n customTimerPickerStyles?.theme === \"dark\"\n ? DARK_MODE_TEXT_COLOR\n : LIGHT_MODE_TEXT_COLOR,\n ...customTimerPickerStyles?.text,\n ...customModalTitleStyle,\n },\n timerPickerStyles: {\n ...customTimerPickerStyles,\n pickerContainer: {\n marginRight: \"8%\" as DimensionValue,\n paddingTop: !variables?.hasModalTitle ? 20 : 0,\n ...(customTimerPickerStyles?.pickerContainer ?? {}),\n },\n },\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@ describe("generateNumbers", () => {
|
|
|
17
17
|
repeatNTimes: 1,
|
|
18
18
|
disableInfiniteScroll: true
|
|
19
19
|
});
|
|
20
|
-
expect(result).toEqual(["
|
|
20
|
+
expect(result).toEqual(["\u20070", "\u20072", "\u20074", "\u20076", "\u20078"]);
|
|
21
21
|
});
|
|
22
22
|
it("generates numbers with interval of 5", () => {
|
|
23
23
|
const result = generateNumbers(4, {
|
|
@@ -26,7 +26,7 @@ describe("generateNumbers", () => {
|
|
|
26
26
|
repeatNTimes: 1,
|
|
27
27
|
disableInfiniteScroll: true
|
|
28
28
|
});
|
|
29
|
-
expect(result).toEqual(["
|
|
29
|
+
expect(result).toEqual(["\u20070", "\u20075", "10", "15"]);
|
|
30
30
|
});
|
|
31
31
|
it("returns empty array when numberOfItems is 0", () => {
|
|
32
32
|
const result = generateNumbers(0, {
|
|
@@ -77,7 +77,7 @@ describe("generateNumbers", () => {
|
|
|
77
77
|
padNumbersWithZero: false,
|
|
78
78
|
disableInfiniteScroll: true
|
|
79
79
|
});
|
|
80
|
-
expect(result).toEqual(["
|
|
80
|
+
expect(result).toEqual(["\u20070", "\u20071", "\u20072", "\u20073", "\u20074"]);
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
83
|
describe("padding with empty items", () => {
|
|
@@ -88,7 +88,7 @@ describe("generateNumbers", () => {
|
|
|
88
88
|
repeatNTimes: 1,
|
|
89
89
|
disableInfiniteScroll: true
|
|
90
90
|
});
|
|
91
|
-
expect(result).toEqual(["", "", "
|
|
91
|
+
expect(result).toEqual(["", "", "\u20070", "\u20071", "\u20072", "", ""]);
|
|
92
92
|
expect(result).toHaveLength(7);
|
|
93
93
|
});
|
|
94
94
|
it("adds padding with 1 item", () => {
|
|
@@ -98,7 +98,7 @@ describe("generateNumbers", () => {
|
|
|
98
98
|
repeatNTimes: 1,
|
|
99
99
|
disableInfiniteScroll: true
|
|
100
100
|
});
|
|
101
|
-
expect(result).toEqual(["", "
|
|
101
|
+
expect(result).toEqual(["", "\u20070", "\u20071", "\u20072", ""]);
|
|
102
102
|
});
|
|
103
103
|
it("adds padding with 3 items", () => {
|
|
104
104
|
const result = generateNumbers(2, {
|
|
@@ -107,7 +107,7 @@ describe("generateNumbers", () => {
|
|
|
107
107
|
repeatNTimes: 1,
|
|
108
108
|
disableInfiniteScroll: true
|
|
109
109
|
});
|
|
110
|
-
expect(result).toEqual(["", "", "", "
|
|
110
|
+
expect(result).toEqual(["", "", "", "\u20070", "\u20071", "", "", ""]);
|
|
111
111
|
});
|
|
112
112
|
});
|
|
113
113
|
describe("number repetition", () => {
|
|
@@ -118,7 +118,7 @@ describe("generateNumbers", () => {
|
|
|
118
118
|
repeatNTimes: 2,
|
|
119
119
|
disableInfiniteScroll: false
|
|
120
120
|
});
|
|
121
|
-
expect(result).toEqual(["
|
|
121
|
+
expect(result).toEqual(["\u20070", "\u20071", "\u20072", "\u20070", "\u20071", "\u20072"]);
|
|
122
122
|
});
|
|
123
123
|
it("repeats numbers when repeatNTimes is 3", () => {
|
|
124
124
|
const result = generateNumbers(2, {
|
|
@@ -127,7 +127,7 @@ describe("generateNumbers", () => {
|
|
|
127
127
|
repeatNTimes: 3,
|
|
128
128
|
disableInfiniteScroll: false
|
|
129
129
|
});
|
|
130
|
-
expect(result).toEqual(["
|
|
130
|
+
expect(result).toEqual(["\u20070", "\u20071", "\u20070", "\u20071", "\u20070", "\u20071"]);
|
|
131
131
|
});
|
|
132
132
|
});
|
|
133
133
|
describe("combined options", () => {
|
|
@@ -172,7 +172,7 @@ describe("generate12HourNumbers", () => {
|
|
|
172
172
|
disableInfiniteScroll: false
|
|
173
173
|
});
|
|
174
174
|
expect(result).toHaveLength(24);
|
|
175
|
-
expect(result[0]).toBe("
|
|
175
|
+
expect(result[0]).toBe("12 AM");
|
|
176
176
|
expect(result[11]).toBe("11 AM");
|
|
177
177
|
expect(result[12]).toBe("12 PM");
|
|
178
178
|
expect(result[23]).toBe("11 PM");
|
|
@@ -184,7 +184,7 @@ describe("generate12HourNumbers", () => {
|
|
|
184
184
|
disableInfiniteScroll: false
|
|
185
185
|
});
|
|
186
186
|
expect(result).toHaveLength(12);
|
|
187
|
-
expect(result[0]).toBe("
|
|
187
|
+
expect(result[0]).toBe("12 AM");
|
|
188
188
|
expect(result[5]).toBe("10 AM");
|
|
189
189
|
expect(result[6]).toBe("12 PM");
|
|
190
190
|
expect(result[11]).toBe("10 PM");
|
|
@@ -196,10 +196,10 @@ describe("generate12HourNumbers", () => {
|
|
|
196
196
|
disableInfiniteScroll: false
|
|
197
197
|
});
|
|
198
198
|
expect(result).toHaveLength(8);
|
|
199
|
-
expect(result[0]).toBe("
|
|
200
|
-
expect(result[3]).toBe("
|
|
199
|
+
expect(result[0]).toBe("12 AM");
|
|
200
|
+
expect(result[3]).toBe("\u20079 AM");
|
|
201
201
|
expect(result[4]).toBe("12 PM");
|
|
202
|
-
expect(result[7]).toBe("
|
|
202
|
+
expect(result[7]).toBe("\u20079 PM");
|
|
203
203
|
});
|
|
204
204
|
it("generates hours with 4-hour interval", () => {
|
|
205
205
|
const result = generate12HourNumbers({
|
|
@@ -208,10 +208,10 @@ describe("generate12HourNumbers", () => {
|
|
|
208
208
|
disableInfiniteScroll: false
|
|
209
209
|
});
|
|
210
210
|
expect(result).toHaveLength(6);
|
|
211
|
-
expect(result[0]).toBe("
|
|
212
|
-
expect(result[2]).toBe("
|
|
211
|
+
expect(result[0]).toBe("12 AM");
|
|
212
|
+
expect(result[2]).toBe("\u20078 AM");
|
|
213
213
|
expect(result[3]).toBe("12 PM");
|
|
214
|
-
expect(result[5]).toBe("
|
|
214
|
+
expect(result[5]).toBe("\u20078 PM");
|
|
215
215
|
});
|
|
216
216
|
it("generates hours with 6-hour interval", () => {
|
|
217
217
|
const result = generate12HourNumbers({
|
|
@@ -220,10 +220,10 @@ describe("generate12HourNumbers", () => {
|
|
|
220
220
|
disableInfiniteScroll: false
|
|
221
221
|
});
|
|
222
222
|
expect(result).toHaveLength(4);
|
|
223
|
-
expect(result[0]).toBe("
|
|
224
|
-
expect(result[1]).toBe("
|
|
223
|
+
expect(result[0]).toBe("12 AM");
|
|
224
|
+
expect(result[1]).toBe("\u20076 AM");
|
|
225
225
|
expect(result[2]).toBe("12 PM");
|
|
226
|
-
expect(result[3]).toBe("
|
|
226
|
+
expect(result[3]).toBe("\u20076 PM");
|
|
227
227
|
});
|
|
228
228
|
});
|
|
229
229
|
describe("padding with zeros", () => {
|
|
@@ -234,7 +234,7 @@ describe("generate12HourNumbers", () => {
|
|
|
234
234
|
padNumbersWithZero: true,
|
|
235
235
|
disableInfiniteScroll: false
|
|
236
236
|
});
|
|
237
|
-
expect(result[0]).toBe("
|
|
237
|
+
expect(result[0]).toBe("12 AM");
|
|
238
238
|
expect(result[1]).toBe("01 AM");
|
|
239
239
|
expect(result[9]).toBe("09 AM");
|
|
240
240
|
expect(result[10]).toBe("10 AM");
|
|
@@ -260,10 +260,10 @@ describe("generate12HourNumbers", () => {
|
|
|
260
260
|
});
|
|
261
261
|
expect(result[0]).toBe("");
|
|
262
262
|
expect(result[1]).toBe("");
|
|
263
|
-
expect(result[2]).toBe("
|
|
264
|
-
expect(result[3]).toBe("
|
|
263
|
+
expect(result[2]).toBe("12 AM");
|
|
264
|
+
expect(result[3]).toBe("\u20076 AM");
|
|
265
265
|
expect(result[4]).toBe("12 PM");
|
|
266
|
-
expect(result[5]).toBe("
|
|
266
|
+
expect(result[5]).toBe("\u20076 PM");
|
|
267
267
|
expect(result[6]).toBe("");
|
|
268
268
|
expect(result[7]).toBe("");
|
|
269
269
|
expect(result).toHaveLength(8);
|
|
@@ -274,8 +274,8 @@ describe("generate12HourNumbers", () => {
|
|
|
274
274
|
padWithNItems: 2,
|
|
275
275
|
disableInfiniteScroll: false
|
|
276
276
|
});
|
|
277
|
-
expect(result[0]).toBe("
|
|
278
|
-
expect(result[3]).toBe("
|
|
277
|
+
expect(result[0]).toBe("12 AM");
|
|
278
|
+
expect(result[3]).toBe("\u20076 PM");
|
|
279
279
|
expect(result).toHaveLength(4);
|
|
280
280
|
});
|
|
281
281
|
});
|
|
@@ -288,10 +288,10 @@ describe("generate12HourNumbers", () => {
|
|
|
288
288
|
disableInfiniteScroll: false
|
|
289
289
|
});
|
|
290
290
|
expect(result).toHaveLength(8);
|
|
291
|
-
expect(result[0]).toBe("
|
|
292
|
-
expect(result[3]).toBe("
|
|
293
|
-
expect(result[4]).toBe("
|
|
294
|
-
expect(result[7]).toBe("
|
|
291
|
+
expect(result[0]).toBe("12 AM");
|
|
292
|
+
expect(result[3]).toBe("\u20076 PM");
|
|
293
|
+
expect(result[4]).toBe("12 AM");
|
|
294
|
+
expect(result[7]).toBe("\u20076 PM");
|
|
295
295
|
});
|
|
296
296
|
it("repeats hours when repeatNTimes is 3", () => {
|
|
297
297
|
const result = generate12HourNumbers({
|
|
@@ -301,11 +301,11 @@ describe("generate12HourNumbers", () => {
|
|
|
301
301
|
disableInfiniteScroll: false
|
|
302
302
|
});
|
|
303
303
|
expect(result).toHaveLength(6);
|
|
304
|
-
expect(result[0]).toBe("
|
|
304
|
+
expect(result[0]).toBe("12 AM");
|
|
305
305
|
expect(result[1]).toBe("12 PM");
|
|
306
|
-
expect(result[2]).toBe("
|
|
306
|
+
expect(result[2]).toBe("12 AM");
|
|
307
307
|
expect(result[3]).toBe("12 PM");
|
|
308
|
-
expect(result[4]).toBe("
|
|
308
|
+
expect(result[4]).toBe("12 AM");
|
|
309
309
|
expect(result[5]).toBe("12 PM");
|
|
310
310
|
});
|
|
311
311
|
it("defaults to repeatNTimes of 1 when not provided", () => {
|
|
@@ -325,7 +325,7 @@ describe("generate12HourNumbers", () => {
|
|
|
325
325
|
padNumbersWithZero: true,
|
|
326
326
|
disableInfiniteScroll: true
|
|
327
327
|
});
|
|
328
|
-
expect(result).toEqual(["", "
|
|
328
|
+
expect(result).toEqual(["", "12 AM", "12 PM", ""]);
|
|
329
329
|
});
|
|
330
330
|
it("combines all options", () => {
|
|
331
331
|
const result = generate12HourNumbers({
|
|
@@ -336,11 +336,11 @@ describe("generate12HourNumbers", () => {
|
|
|
336
336
|
disableInfiniteScroll: false
|
|
337
337
|
});
|
|
338
338
|
expect(result).toHaveLength(8);
|
|
339
|
-
expect(result[0]).toBe("
|
|
339
|
+
expect(result[0]).toBe("12 AM");
|
|
340
340
|
expect(result[1]).toBe("06 AM");
|
|
341
341
|
expect(result[2]).toBe("12 PM");
|
|
342
342
|
expect(result[3]).toBe("06 PM");
|
|
343
|
-
expect(result[4]).toBe("
|
|
343
|
+
expect(result[4]).toBe("12 AM");
|
|
344
344
|
expect(result[7]).toBe("06 PM");
|
|
345
345
|
});
|
|
346
346
|
});
|