react-native-paper-dates 0.11.15 → 0.14.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.
Files changed (108) hide show
  1. package/lib/commonjs/Date/CalendarEdit.js +8 -4
  2. package/lib/commonjs/Date/CalendarEdit.js.map +1 -1
  3. package/lib/commonjs/Date/DatePickerInput.js +4 -2
  4. package/lib/commonjs/Date/DatePickerInput.js.map +1 -1
  5. package/lib/commonjs/Date/DatePickerInput.shared.js.map +1 -1
  6. package/lib/commonjs/Date/DatePickerInputWithoutModal.js +14 -1
  7. package/lib/commonjs/Date/DatePickerInputWithoutModal.js.map +1 -1
  8. package/lib/commonjs/Date/DatePickerModal.js +2 -0
  9. package/lib/commonjs/Date/DatePickerModal.js.map +1 -1
  10. package/lib/commonjs/Date/DatePickerModalContent.js +4 -2
  11. package/lib/commonjs/Date/DatePickerModalContent.js.map +1 -1
  12. package/lib/commonjs/Date/DatePickerModalContentHeader.js +6 -4
  13. package/lib/commonjs/Date/DatePickerModalContentHeader.js.map +1 -1
  14. package/lib/commonjs/Date/Swiper.js +6 -4
  15. package/lib/commonjs/Date/Swiper.js.map +1 -1
  16. package/lib/commonjs/Date/Swiper.native.js +2 -1
  17. package/lib/commonjs/Date/Swiper.native.js.map +1 -1
  18. package/lib/commonjs/Date/YearPicker.js +3 -0
  19. package/lib/commonjs/Date/YearPicker.js.map +1 -1
  20. package/lib/commonjs/TextInputMask.js +2 -0
  21. package/lib/commonjs/TextInputMask.js.map +1 -1
  22. package/lib/commonjs/Time/AnalogClock.js +7 -3
  23. package/lib/commonjs/Time/AnalogClock.js.map +1 -1
  24. package/lib/commonjs/Time/AnalogClockHours.js +4 -9
  25. package/lib/commonjs/Time/AnalogClockHours.js.map +1 -1
  26. package/lib/commonjs/Time/TimeInput.js +2 -1
  27. package/lib/commonjs/Time/TimeInput.js.map +1 -1
  28. package/lib/commonjs/Time/TimeInputs.js +4 -1
  29. package/lib/commonjs/Time/TimeInputs.js.map +1 -1
  30. package/lib/commonjs/Time/TimePicker.js +9 -2
  31. package/lib/commonjs/Time/TimePicker.js.map +1 -1
  32. package/lib/commonjs/Time/TimePickerModal.js +5 -1
  33. package/lib/commonjs/Time/TimePickerModal.js.map +1 -1
  34. package/lib/commonjs/index.js +9 -0
  35. package/lib/commonjs/index.js.map +1 -1
  36. package/lib/commonjs/translations/he.js +25 -0
  37. package/lib/commonjs/translations/he.js.map +1 -0
  38. package/lib/module/Date/CalendarEdit.js +8 -4
  39. package/lib/module/Date/CalendarEdit.js.map +1 -1
  40. package/lib/module/Date/DatePickerInput.js +4 -2
  41. package/lib/module/Date/DatePickerInput.js.map +1 -1
  42. package/lib/module/Date/DatePickerInput.shared.js.map +1 -1
  43. package/lib/module/Date/DatePickerInputWithoutModal.js +14 -1
  44. package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
  45. package/lib/module/Date/DatePickerModal.js +2 -0
  46. package/lib/module/Date/DatePickerModal.js.map +1 -1
  47. package/lib/module/Date/DatePickerModalContent.js +4 -2
  48. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  49. package/lib/module/Date/DatePickerModalContentHeader.js +6 -4
  50. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  51. package/lib/module/Date/Swiper.js +6 -4
  52. package/lib/module/Date/Swiper.js.map +1 -1
  53. package/lib/module/Date/Swiper.native.js +2 -1
  54. package/lib/module/Date/Swiper.native.js.map +1 -1
  55. package/lib/module/Date/YearPicker.js +4 -1
  56. package/lib/module/Date/YearPicker.js.map +1 -1
  57. package/lib/module/TextInputMask.js +2 -0
  58. package/lib/module/TextInputMask.js.map +1 -1
  59. package/lib/module/Time/AnalogClock.js +7 -3
  60. package/lib/module/Time/AnalogClock.js.map +1 -1
  61. package/lib/module/Time/AnalogClockHours.js +4 -8
  62. package/lib/module/Time/AnalogClockHours.js.map +1 -1
  63. package/lib/module/Time/TimeInput.js +2 -1
  64. package/lib/module/Time/TimeInput.js.map +1 -1
  65. package/lib/module/Time/TimeInputs.js +4 -1
  66. package/lib/module/Time/TimeInputs.js.map +1 -1
  67. package/lib/module/Time/TimePicker.js +9 -2
  68. package/lib/module/Time/TimePicker.js.map +1 -1
  69. package/lib/module/Time/TimePickerModal.js +5 -1
  70. package/lib/module/Time/TimePickerModal.js.map +1 -1
  71. package/lib/module/index.js +1 -0
  72. package/lib/module/index.js.map +1 -1
  73. package/lib/module/translations/he.js +18 -0
  74. package/lib/module/translations/he.js.map +1 -0
  75. package/lib/typescript/Date/CalendarEdit.d.ts +2 -1
  76. package/lib/typescript/Date/DatePickerInput.d.ts +1 -1
  77. package/lib/typescript/Date/DatePickerInput.shared.d.ts +2 -1
  78. package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +8 -7
  79. package/lib/typescript/Date/DatePickerModal.d.ts +1 -0
  80. package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
  81. package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +2 -0
  82. package/lib/typescript/TextInputMask.d.ts +5 -6
  83. package/lib/typescript/Time/TimeInput.d.ts +1 -0
  84. package/lib/typescript/Time/TimeInputs.d.ts +2 -1
  85. package/lib/typescript/Time/TimePicker.d.ts +3 -1
  86. package/lib/typescript/Time/TimePickerModal.d.ts +3 -1
  87. package/lib/typescript/index.d.ts +1 -0
  88. package/lib/typescript/translations/he.d.ts +3 -0
  89. package/package.json +26 -25
  90. package/src/Date/CalendarEdit.tsx +5 -0
  91. package/src/Date/DatePickerInput.shared.tsx +2 -1
  92. package/src/Date/DatePickerInput.tsx +2 -0
  93. package/src/Date/DatePickerInputWithoutModal.tsx +14 -0
  94. package/src/Date/DatePickerModal.tsx +3 -0
  95. package/src/Date/DatePickerModalContent.tsx +3 -0
  96. package/src/Date/DatePickerModalContentHeader.tsx +9 -3
  97. package/src/Date/Swiper.native.tsx +1 -0
  98. package/src/Date/Swiper.tsx +3 -1
  99. package/src/Date/YearPicker.tsx +4 -1
  100. package/src/TextInputMask.tsx +2 -0
  101. package/src/Time/AnalogClock.tsx +7 -6
  102. package/src/Time/AnalogClockHours.tsx +10 -6
  103. package/src/Time/TimeInput.tsx +3 -1
  104. package/src/Time/TimeInputs.tsx +4 -0
  105. package/src/Time/TimePicker.tsx +9 -1
  106. package/src/Time/TimePickerModal.tsx +6 -0
  107. package/src/index.tsx +1 -0
  108. package/src/translations/he.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"names":["styles","StyleSheet","create","viewPager","flex","inner","position","getVisibleArray","i","isHorizontal","height","Swiper","props","width","SwiperInner","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","idx","React","useRef","visibleIndexes","setVisibleIndexes","useState","parentRef","scrollTo","useCallback","index","animated","current","offset","getHorizontalMonthOffset","getVerticalMonthsOffset","montHeaderHeight","y","x","onPrev","onNext","scrollToInitial","onMomentumScrollEnd","e","contentOffset","nativeEvent","viewSize","layoutMeasurement","newIndex","Math","floor","getIndexFromVerticalOffset","beginOffset","renderProps","useYearChange","currentIndexRef","estimatedMonthHeight","totalMonths","Array","length","fill","undefined","map","_","vi","top","left","right","bottom","getMonthHeight","memo"],"sources":["Swiper.native.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n StyleSheet,\n View,\n} from 'react-native'\nimport {\n getHorizontalMonthOffset,\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { SwiperProps, useYearChange } from './SwiperUtils'\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport AutoSizer from './AutoSizer'\n\nconst styles = StyleSheet.create({\n viewPager: {\n flex: 1,\n },\n inner: {\n position: 'relative',\n },\n})\n\nfunction getVisibleArray(\n i: number,\n { isHorizontal, height }: { isHorizontal: boolean; height: number }\n) {\n if (isHorizontal || height < 700) {\n return [i - 1, i, i + 1]\n }\n return [i - 2, i - 1, i, i + 1, i + 2]\n}\n\nfunction Swiper(props: SwiperProps) {\n return (\n <AutoSizer>\n {({ width, height }) => (\n <SwiperInner {...props} width={width} height={height} />\n )}\n </AutoSizer>\n )\n}\n\nfunction SwiperInner({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n width,\n height,\n}: SwiperProps & { width: number; height: number }) {\n const idx = React.useRef<number>(initialIndex)\n const isHorizontal = scrollMode === 'horizontal'\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n getVisibleArray(initialIndex, { isHorizontal, height })\n )\n\n const parentRef = React.useRef<ScrollView | null>(null)\n\n const scrollTo = React.useCallback(\n (index: number, animated: boolean) => {\n idx.current = index\n setVisibleIndexes(getVisibleArray(index, { isHorizontal, height }))\n\n if (!parentRef.current) {\n return\n }\n const offset = isHorizontal\n ? getHorizontalMonthOffset(index, width)\n : getVerticalMonthsOffset(index) - montHeaderHeight\n\n if (isHorizontal) {\n parentRef.current.scrollTo({\n y: 0,\n x: offset,\n animated,\n })\n } else {\n parentRef.current.scrollTo({\n y: offset,\n x: 0,\n animated,\n })\n }\n },\n [parentRef, isHorizontal, width, height]\n )\n\n const onPrev = React.useCallback(() => {\n scrollTo(idx.current - 1, true)\n }, [scrollTo, idx])\n\n const onNext = React.useCallback(() => {\n scrollTo(idx.current + 1, true)\n }, [scrollTo, idx])\n\n const scrollToInitial = React.useCallback(() => {\n scrollTo(idx.current, false)\n }, [scrollTo])\n\n const onMomentumScrollEnd = React.useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffset = e.nativeEvent.contentOffset\n const viewSize = e.nativeEvent.layoutMeasurement\n const newIndex = isHorizontal\n ? Math.floor(contentOffset.x / viewSize.width)\n : getIndexFromVerticalOffset(contentOffset.y - beginOffset)\n\n if (newIndex === 0) {\n return\n }\n\n if (idx.current !== newIndex) {\n idx.current = newIndex\n setVisibleIndexes(getVisibleArray(newIndex, { isHorizontal, height }))\n }\n },\n [idx, height, isHorizontal]\n )\n\n const renderProps = {\n index: 0,\n onPrev,\n onNext,\n }\n\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n scrollTo(newIndex, false)\n }\n },\n {\n selectedYear,\n currentIndexRef: idx,\n }\n )\n\n return (\n <>\n <ScrollView\n scrollsToTop={false}\n ref={parentRef}\n horizontal={isHorizontal}\n pagingEnabled={isHorizontal}\n style={styles.viewPager}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onMomentumScrollEnd}\n onLayout={scrollToInitial}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n decelerationRate=\"fast\"\n scrollEventThrottle={10}\n >\n <View\n style={[\n styles.inner,\n {\n height: isHorizontal\n ? height\n : estimatedMonthHeight * totalMonths,\n width: isHorizontal ? width * totalMonths : width,\n },\n ]}\n >\n {visibleIndexes\n ? new Array(visibleIndexes.length).fill(undefined).map((_, vi) => (\n <View\n key={vi}\n style={{\n top: isHorizontal\n ? 0\n : getVerticalMonthsOffset(visibleIndexes[vi]),\n left: isHorizontal\n ? getHorizontalMonthOffset(visibleIndexes[vi], width)\n : 0,\n right: isHorizontal ? undefined : 0,\n bottom: isHorizontal ? 0 : undefined,\n position: 'absolute',\n width: isHorizontal ? width : undefined,\n height: isHorizontal\n ? undefined\n : getMonthHeight(scrollMode, visibleIndexes[vi]),\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: onPrev,\n onNext: onNext,\n })}\n </View>\n ))\n : null}\n </View>\n </ScrollView>\n {renderHeader && renderHeader(renderProps)}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nexport default React.memo(Swiper)\n"],"mappings":"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"}
1
+ {"version":3,"names":["styles","StyleSheet","create","viewPager","flex","inner","position","getVisibleArray","i","isHorizontal","height","Swiper","props","width","SwiperInner","scrollMode","renderItem","renderHeader","renderFooter","selectedYear","initialIndex","idx","React","useRef","visibleIndexes","setVisibleIndexes","useState","parentRef","scrollTo","useCallback","index","animated","current","offset","getHorizontalMonthOffset","getVerticalMonthsOffset","montHeaderHeight","y","x","onPrev","onNext","scrollToInitial","onMomentumScrollEnd","e","contentOffset","nativeEvent","viewSize","layoutMeasurement","newIndex","Math","floor","getIndexFromVerticalOffset","beginOffset","renderProps","useYearChange","currentIndexRef","estimatedMonthHeight","totalMonths","Array","length","fill","undefined","map","_","vi","top","left","right","bottom","getMonthHeight","memo"],"sources":["Swiper.native.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n ScrollView,\n StyleSheet,\n View,\n} from 'react-native'\nimport {\n getHorizontalMonthOffset,\n getIndexFromVerticalOffset,\n getMonthHeight,\n getVerticalMonthsOffset,\n montHeaderHeight,\n} from './Month'\n\nimport { SwiperProps, useYearChange } from './SwiperUtils'\nimport { beginOffset, estimatedMonthHeight, totalMonths } from './dateUtils'\nimport AutoSizer from './AutoSizer'\n\nconst styles = StyleSheet.create({\n viewPager: {\n flex: 1,\n },\n inner: {\n position: 'relative',\n },\n})\n\nfunction getVisibleArray(\n i: number,\n { isHorizontal, height }: { isHorizontal: boolean; height: number }\n) {\n if (isHorizontal || height < 700) {\n return [i - 1, i, i + 1]\n }\n return [i - 2, i - 1, i, i + 1, i + 2]\n}\n\nfunction Swiper(props: SwiperProps) {\n return (\n <AutoSizer>\n {({ width, height }) => (\n <SwiperInner {...props} width={width} height={height} />\n )}\n </AutoSizer>\n )\n}\n\nfunction SwiperInner({\n scrollMode,\n renderItem,\n renderHeader,\n renderFooter,\n selectedYear,\n initialIndex,\n width,\n height,\n}: SwiperProps & { width: number; height: number }) {\n const idx = React.useRef<number>(initialIndex)\n const isHorizontal = scrollMode === 'horizontal'\n const [visibleIndexes, setVisibleIndexes] = React.useState<number[]>(\n getVisibleArray(initialIndex, { isHorizontal, height })\n )\n\n const parentRef = React.useRef<ScrollView | null>(null)\n\n const scrollTo = React.useCallback(\n (index: number, animated: boolean) => {\n idx.current = index\n setVisibleIndexes(getVisibleArray(index, { isHorizontal, height }))\n\n if (!parentRef.current) {\n return\n }\n const offset = isHorizontal\n ? getHorizontalMonthOffset(index, width)\n : getVerticalMonthsOffset(index) - montHeaderHeight\n\n if (isHorizontal) {\n parentRef.current.scrollTo({\n y: 0,\n x: offset,\n animated,\n })\n } else {\n parentRef.current.scrollTo({\n y: offset,\n x: 0,\n animated,\n })\n }\n },\n [parentRef, isHorizontal, width, height]\n )\n\n const onPrev = React.useCallback(() => {\n scrollTo(idx.current - 1, true)\n }, [scrollTo, idx])\n\n const onNext = React.useCallback(() => {\n scrollTo(idx.current + 1, true)\n }, [scrollTo, idx])\n\n const scrollToInitial = React.useCallback(() => {\n scrollTo(idx.current, false)\n }, [scrollTo])\n\n const onMomentumScrollEnd = React.useCallback(\n (e: NativeSyntheticEvent<NativeScrollEvent>) => {\n const contentOffset = e.nativeEvent.contentOffset\n const viewSize = e.nativeEvent.layoutMeasurement\n const newIndex = isHorizontal\n ? Math.floor(contentOffset.x / viewSize.width)\n : getIndexFromVerticalOffset(contentOffset.y - beginOffset)\n\n if (newIndex === 0) {\n return\n }\n\n if (idx.current !== newIndex) {\n idx.current = newIndex\n setVisibleIndexes(getVisibleArray(newIndex, { isHorizontal, height }))\n }\n },\n [idx, height, isHorizontal]\n )\n\n const renderProps = {\n index: 0,\n onPrev,\n onNext,\n }\n\n useYearChange(\n (newIndex) => {\n if (newIndex) {\n scrollTo(newIndex, false)\n }\n },\n {\n selectedYear,\n currentIndexRef: idx,\n }\n )\n\n return (\n <>\n <ScrollView\n scrollsToTop={false}\n ref={parentRef}\n horizontal={isHorizontal}\n pagingEnabled={isHorizontal}\n style={styles.viewPager}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onScrollEndDrag={onMomentumScrollEnd}\n onLayout={scrollToInitial}\n showsHorizontalScrollIndicator={false}\n showsVerticalScrollIndicator={false}\n decelerationRate=\"fast\"\n scrollEventThrottle={10}\n >\n <View\n style={[\n styles.inner,\n {\n height: isHorizontal\n ? height\n : estimatedMonthHeight * totalMonths,\n width: isHorizontal ? width * totalMonths : width,\n },\n ]}\n >\n {visibleIndexes\n ? new Array(visibleIndexes.length).fill(undefined).map((_, vi) => (\n <View\n key={vi}\n // eslint-disable-next-line react-native/no-inline-styles\n style={{\n top: isHorizontal\n ? 0\n : getVerticalMonthsOffset(visibleIndexes[vi]),\n left: isHorizontal\n ? getHorizontalMonthOffset(visibleIndexes[vi], width)\n : 0,\n right: isHorizontal ? undefined : 0,\n bottom: isHorizontal ? 0 : undefined,\n position: 'absolute',\n width: isHorizontal ? width : undefined,\n height: isHorizontal\n ? undefined\n : getMonthHeight(scrollMode, visibleIndexes[vi]),\n }}\n >\n {renderItem({\n index: visibleIndexes[vi],\n onPrev: onPrev,\n onNext: onNext,\n })}\n </View>\n ))\n : null}\n </View>\n </ScrollView>\n {renderHeader && renderHeader(renderProps)}\n {renderFooter && renderFooter(renderProps)}\n </>\n )\n}\n\nexport default React.memo(Swiper)\n"],"mappings":"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"}
@@ -49,6 +49,9 @@ function YearPicker(_ref) {
49
49
  ref: flatList,
50
50
  style: styles.list,
51
51
  data: years,
52
+ renderScrollComponent: sProps => {
53
+ return /*#__PURE__*/React.createElement(_reactNative.ScrollView, sProps);
54
+ },
52
55
  renderItem: _ref2 => {
53
56
  let {
54
57
  item
@@ -1 +1 @@
1
- {"version":3,"names":["ITEM_HEIGHT","YearPicker","selectedYear","selectingYear","onPressYear","startYear","endYear","theme","useTheme","flatList","React","useRef","years","range","isNaN","useEffect","current","indexToGo","scrollToOffset","offset","animated","StyleSheet","absoluteFill","styles","root","backgroundColor","colors","surface","opacity1","opacity0","list","item","YearPure","year","selected","textFont","isV3","fonts","bodyLarge","medium","String","yearButton","yearInner","primary","yearLabel","color","onPrimary","onSurfaceVariant","undefined","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","borderRadius","overflow","alignItems","fontSize","opacity"],"sources":["YearPicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { MD2Theme, Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { range } from '../utils'\n\nconst ITEM_HEIGHT = 62\n\nexport default function YearPicker({\n selectedYear,\n selectingYear,\n onPressYear,\n startYear,\n endYear,\n}: {\n selectedYear: number | undefined\n selectingYear: boolean\n onPressYear: (year: number) => any\n startYear: number\n endYear: number\n}) {\n const theme = useTheme()\n const flatList = React.useRef<FlatList<number> | null>(null)\n const years = range(\n isNaN(startYear) ? 1800 : startYear,\n isNaN(endYear) ? 2200 : endYear\n )\n\n // scroll to selected year\n React.useEffect(() => {\n if (flatList.current && selectedYear) {\n const indexToGo = selectedYear - startYear\n flatList.current.scrollToOffset({\n offset: (indexToGo / 3) * ITEM_HEIGHT - ITEM_HEIGHT,\n animated: false,\n })\n }\n }, [flatList, selectedYear, startYear])\n\n return (\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.root,\n { backgroundColor: theme.colors.surface },\n selectingYear ? styles.opacity1 : styles.opacity0,\n ]}\n pointerEvents={selectingYear ? 'auto' : 'none'}\n >\n <FlatList<number>\n ref={flatList}\n style={styles.list}\n data={years}\n renderItem={({ item }) => (\n <Year\n year={item}\n selected={selectedYear === item}\n onPressYear={onPressYear}\n />\n )}\n keyExtractor={(item) => `${item}`}\n numColumns={3}\n />\n </View>\n )\n}\n\nfunction YearPure({\n year,\n selected,\n onPressYear,\n}: {\n year: number\n selected: boolean\n onPressYear: (newYear: number) => any\n}) {\n const theme = useTheme()\n\n let textFont = theme?.isV3\n ? theme.fonts.bodyLarge\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.year}>\n <TouchableRipple\n onPress={() => onPressYear(year)}\n accessibilityRole=\"button\"\n accessibilityLabel={String(year)}\n style={styles.yearButton}\n >\n <View\n style={[\n styles.yearInner,\n selected ? { backgroundColor: theme.colors.primary } : null,\n ]}\n >\n <Text\n style={[\n styles.yearLabel,\n selected\n ? // eslint-disable-next-line react-native/no-inline-styles\n { color: theme.isV3 ? theme.colors.onPrimary : '#fff' }\n : {\n color: theme.isV3\n ? theme.colors.onSurfaceVariant\n : undefined,\n },\n { ...textFont },\n ]}\n selectable={false}\n >\n {year}\n </Text>\n </View>\n </TouchableRipple>\n </View>\n )\n}\nconst Year = React.memo(YearPure)\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n top: 56,\n zIndex: 100,\n },\n\n list: {\n flex: 1,\n },\n year: {\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n height: ITEM_HEIGHT,\n justifyContent: 'center',\n },\n yearButton: {\n borderRadius: 46 / 2,\n overflow: 'hidden',\n },\n yearInner: {\n borderRadius: 46 / 2,\n height: 46,\n alignItems: 'center',\n justifyContent: 'center',\n },\n yearLabel: {\n fontSize: 16,\n },\n opacity0: {\n opacity: 0,\n },\n opacity1: {\n opacity: 1,\n },\n})\n"],"mappings":"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"}
1
+ {"version":3,"names":["ITEM_HEIGHT","YearPicker","selectedYear","selectingYear","onPressYear","startYear","endYear","theme","useTheme","flatList","React","useRef","years","range","isNaN","useEffect","current","indexToGo","scrollToOffset","offset","animated","StyleSheet","absoluteFill","styles","root","backgroundColor","colors","surface","opacity1","opacity0","list","sProps","item","YearPure","year","selected","textFont","isV3","fonts","bodyLarge","medium","String","yearButton","yearInner","primary","yearLabel","color","onPrimary","onSurfaceVariant","undefined","Year","memo","create","flex","top","zIndex","marginLeft","marginRight","height","justifyContent","borderRadius","overflow","alignItems","fontSize","opacity"],"sources":["YearPicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { FlatList, StyleSheet, View, ScrollView } from 'react-native'\nimport { MD2Theme, Text, TouchableRipple, useTheme } from 'react-native-paper'\nimport { range } from '../utils'\n\nconst ITEM_HEIGHT = 62\n\nexport default function YearPicker({\n selectedYear,\n selectingYear,\n onPressYear,\n startYear,\n endYear,\n}: {\n selectedYear: number | undefined\n selectingYear: boolean\n onPressYear: (year: number) => any\n startYear: number\n endYear: number\n}) {\n const theme = useTheme()\n const flatList = React.useRef<FlatList<number> | null>(null)\n const years = range(\n isNaN(startYear) ? 1800 : startYear,\n isNaN(endYear) ? 2200 : endYear\n )\n\n // scroll to selected year\n React.useEffect(() => {\n if (flatList.current && selectedYear) {\n const indexToGo = selectedYear - startYear\n flatList.current.scrollToOffset({\n offset: (indexToGo / 3) * ITEM_HEIGHT - ITEM_HEIGHT,\n animated: false,\n })\n }\n }, [flatList, selectedYear, startYear])\n\n return (\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.root,\n { backgroundColor: theme.colors.surface },\n selectingYear ? styles.opacity1 : styles.opacity0,\n ]}\n pointerEvents={selectingYear ? 'auto' : 'none'}\n >\n <FlatList<number>\n ref={flatList}\n style={styles.list}\n data={years}\n renderScrollComponent={(sProps) => {\n return <ScrollView {...sProps} />\n }}\n renderItem={({ item }) => (\n <Year\n year={item}\n selected={selectedYear === item}\n onPressYear={onPressYear}\n />\n )}\n keyExtractor={(item) => `${item}`}\n numColumns={3}\n />\n </View>\n )\n}\n\nfunction YearPure({\n year,\n selected,\n onPressYear,\n}: {\n year: number\n selected: boolean\n onPressYear: (newYear: number) => any\n}) {\n const theme = useTheme()\n\n let textFont = theme?.isV3\n ? theme.fonts.bodyLarge\n : (theme as any as MD2Theme).fonts.medium\n\n return (\n <View style={styles.year}>\n <TouchableRipple\n onPress={() => onPressYear(year)}\n accessibilityRole=\"button\"\n accessibilityLabel={String(year)}\n style={styles.yearButton}\n >\n <View\n style={[\n styles.yearInner,\n selected ? { backgroundColor: theme.colors.primary } : null,\n ]}\n >\n <Text\n style={[\n styles.yearLabel,\n selected\n ? // eslint-disable-next-line react-native/no-inline-styles\n { color: theme.isV3 ? theme.colors.onPrimary : '#fff' }\n : {\n color: theme.isV3\n ? theme.colors.onSurfaceVariant\n : undefined,\n },\n { ...textFont },\n ]}\n selectable={false}\n >\n {year}\n </Text>\n </View>\n </TouchableRipple>\n </View>\n )\n}\nconst Year = React.memo(YearPure)\n\nconst styles = StyleSheet.create({\n root: {\n flex: 1,\n top: 56,\n zIndex: 100,\n },\n\n list: {\n flex: 1,\n },\n year: {\n flex: 1,\n marginLeft: 16,\n marginRight: 16,\n height: ITEM_HEIGHT,\n justifyContent: 'center',\n },\n yearButton: {\n borderRadius: 46 / 2,\n overflow: 'hidden',\n },\n yearInner: {\n borderRadius: 46 / 2,\n height: 46,\n alignItems: 'center',\n justifyContent: 'center',\n },\n yearLabel: {\n fontSize: 16,\n },\n opacity0: {\n opacity: 0,\n },\n opacity1: {\n opacity: 1,\n },\n})\n"],"mappings":"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"}
@@ -73,6 +73,7 @@ function TextInputWithMask(_ref, ref) {
73
73
  onChange,
74
74
  value,
75
75
  mask,
76
+ disabled,
76
77
  ...rest
77
78
  } = _ref;
78
79
  const [controlledValue, setControlledValue] = React.useState(value || '');
@@ -96,6 +97,7 @@ function TextInputWithMask(_ref, ref) {
96
97
  return /*#__PURE__*/React.createElement(_reactNativePaper.TextInput, _extends({
97
98
  ref: ref
98
99
  }, rest, {
100
+ disabled: disabled,
99
101
  value: controlledValue,
100
102
  onChangeText: onInnerChange,
101
103
  onChange: e => {
@@ -1 +1 @@
1
- {"version":3,"names":["splitCharacters","detectCharacter","mask","c","find","ch","includes","enhanceTextWithMask","text","previousValue","isBackSpace","length","splitCharacter","maskParts","split","textParts","finalString","maskPartIndex","partString","maskPart","textPart","maskDigitIndex","currentCharacter","undefined","character","push","join","lastPart","lastMaskPart","TextInputWithMask","ref","onChangeText","onChange","value","rest","controlledValue","setControlledValue","React","useState","onInnerChange","onInnerBlur","enhancedText","useEffect","e","forwardRef"],"sources":["TextInputMask.tsx"],"sourcesContent":["import * as React from 'react'\nimport { TextInput } from 'react-native-paper'\n\nconst splitCharacters = ['-', '/', '.', '年', ' ']\nfunction detectCharacter(mask: string): string {\n const c = splitCharacters.find((ch) => mask.includes(ch))\n return c || ''\n}\n\nfunction enhanceTextWithMask(\n text: string,\n mask: string,\n previousValue: string\n): string {\n const isBackSpace = previousValue.length > text.length\n const splitCharacter = detectCharacter(mask)\n\n const maskParts = mask.split(splitCharacter)\n const textParts = text.split(splitCharacter)\n\n let finalString: string[] = []\n for (let maskPartIndex = 0; maskPartIndex < mask.length; maskPartIndex++) {\n let partString: string[] = []\n\n const maskPart = maskParts[maskPartIndex]\n const textPart = textParts[maskPartIndex]\n if (!textPart) {\n continue\n }\n\n for (\n let maskDigitIndex = 0;\n maskDigitIndex < maskPart.length;\n maskDigitIndex++\n ) {\n const currentCharacter = textPart[maskDigitIndex]\n\n if (isBackSpace && currentCharacter === undefined) {\n continue\n }\n\n const character = textPart[maskDigitIndex]\n\n if (character !== undefined) {\n partString.push(character)\n }\n }\n\n finalString.push(partString.join(''))\n }\n\n const lastPart = finalString[finalString.length - 1]\n const lastMaskPart = maskParts[finalString.length - 1]\n if (\n // if mask is completed\n finalString.length !== maskParts.length &&\n // or ...\n lastPart &&\n lastMaskPart &&\n lastPart.length === lastMaskPart.length\n ) {\n return (\n finalString.join(splitCharacter) + (isBackSpace ? '' : splitCharacter)\n )\n }\n return finalString.join(splitCharacter)\n}\n\nfunction TextInputWithMask(\n {\n onChangeText,\n onChange,\n value,\n mask,\n ...rest\n }: React.ComponentProps<typeof TextInput> & { mask: string; value: string },\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n value || ''\n )\n\n const onInnerChange = (text: string) => {\n if (text.length === mask.length) {\n onChangeText && onChangeText(text)\n }\n setControlledValue(text)\n }\n\n const onInnerBlur = () => {\n const enhancedText = enhanceTextWithMask(value, mask, controlledValue)\n setControlledValue(enhancedText)\n }\n\n React.useEffect(() => {\n setControlledValue(value || '')\n }, [value])\n\n return (\n <TextInput\n ref={ref}\n {...rest}\n value={controlledValue}\n onChangeText={onInnerChange}\n onChange={(e) => {\n onChange && onChange(e)\n }}\n onBlur={onInnerBlur}\n />\n )\n}\n\nexport default React.forwardRef(TextInputWithMask)\n"],"mappings":"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"}
1
+ {"version":3,"names":["splitCharacters","detectCharacter","mask","c","find","ch","includes","enhanceTextWithMask","text","previousValue","isBackSpace","length","splitCharacter","maskParts","split","textParts","finalString","maskPartIndex","partString","maskPart","textPart","maskDigitIndex","currentCharacter","undefined","character","push","join","lastPart","lastMaskPart","TextInputWithMask","ref","onChangeText","onChange","value","disabled","rest","controlledValue","setControlledValue","React","useState","onInnerChange","onInnerBlur","enhancedText","useEffect","e","forwardRef"],"sources":["TextInputMask.tsx"],"sourcesContent":["import * as React from 'react'\nimport { TextInput } from 'react-native-paper'\n\nconst splitCharacters = ['-', '/', '.', '年', ' ']\nfunction detectCharacter(mask: string): string {\n const c = splitCharacters.find((ch) => mask.includes(ch))\n return c || ''\n}\n\nfunction enhanceTextWithMask(\n text: string,\n mask: string,\n previousValue: string\n): string {\n const isBackSpace = previousValue.length > text.length\n const splitCharacter = detectCharacter(mask)\n\n const maskParts = mask.split(splitCharacter)\n const textParts = text.split(splitCharacter)\n\n let finalString: string[] = []\n for (let maskPartIndex = 0; maskPartIndex < mask.length; maskPartIndex++) {\n let partString: string[] = []\n\n const maskPart = maskParts[maskPartIndex]\n const textPart = textParts[maskPartIndex]\n if (!textPart) {\n continue\n }\n\n for (\n let maskDigitIndex = 0;\n maskDigitIndex < maskPart.length;\n maskDigitIndex++\n ) {\n const currentCharacter = textPart[maskDigitIndex]\n\n if (isBackSpace && currentCharacter === undefined) {\n continue\n }\n\n const character = textPart[maskDigitIndex]\n\n if (character !== undefined) {\n partString.push(character)\n }\n }\n\n finalString.push(partString.join(''))\n }\n\n const lastPart = finalString[finalString.length - 1]\n const lastMaskPart = maskParts[finalString.length - 1]\n if (\n // if mask is completed\n finalString.length !== maskParts.length &&\n // or ...\n lastPart &&\n lastMaskPart &&\n lastPart.length === lastMaskPart.length\n ) {\n return (\n finalString.join(splitCharacter) + (isBackSpace ? '' : splitCharacter)\n )\n }\n return finalString.join(splitCharacter)\n}\n\nfunction TextInputWithMask(\n {\n onChangeText,\n onChange,\n value,\n mask,\n disabled,\n ...rest\n }: React.ComponentProps<typeof TextInput> & { mask: string; value: string },\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n value || ''\n )\n\n const onInnerChange = (text: string) => {\n if (text.length === mask.length) {\n onChangeText && onChangeText(text)\n }\n setControlledValue(text)\n }\n\n const onInnerBlur = () => {\n const enhancedText = enhanceTextWithMask(value, mask, controlledValue)\n setControlledValue(enhancedText)\n }\n\n React.useEffect(() => {\n setControlledValue(value || '')\n }, [value])\n\n return (\n <TextInput\n ref={ref}\n {...rest}\n disabled={disabled}\n value={controlledValue}\n onChangeText={onInnerChange}\n onChange={(e) => {\n onChange && onChange(e)\n }}\n onBlur={onInnerBlur}\n />\n )\n}\n\nexport default React.forwardRef(TextInputWithMask)\n"],"mappings":"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"}
@@ -46,7 +46,7 @@ function AnalogClock(_ref) {
46
46
  mode
47
47
  } = React.useContext(_TimePicker.DisplayModeContext); // used to make pointer shorter if hours are selected and above 12
48
48
 
49
- const shortPointer = (hours === 0 || hours > 12) && is24Hour;
49
+ const shortPointer = hours >= 12 && is24Hour;
50
50
  const clockRef = React.useRef(null); // Hooks are nice, sometimes... :-)..
51
51
  // We need the latest values, since the onPointerMove uses a closure to the function
52
52
 
@@ -74,14 +74,18 @@ function AnalogClock(_ref) {
74
74
  pickedHours += 12;
75
75
  }
76
76
 
77
- if (modeRef.current === 'AM' && pickedHours === 12) {
77
+ if ((modeRef.current === 'AM' || hours24) && pickedHours === 12) {
78
78
  pickedHours = 0;
79
79
  }
80
80
 
81
- if (!hours24 && modeRef.current === 'AM' && pickedHours === 12 || pickedHours === 24) {
81
+ if (!hours24 && modeRef.current === 'AM' && pickedHours === 12) {
82
82
  pickedHours = 0;
83
83
  }
84
84
 
85
+ if (pickedHours === 24) {
86
+ pickedHours = 12;
87
+ }
88
+
85
89
  if (hoursRef.current !== pickedHours || final) {
86
90
  onChangeRef.current({
87
91
  hours: pickedHours,
@@ -1 +1 @@
1
- {"version":3,"names":["AnalogClock","hours","minutes","focused","is24Hour","onChange","theme","useTheme","mode","React","useContext","DisplayModeContext","shortPointer","clockRef","useRef","hoursRef","useLatest","onChangeRef","minutesRef","focusedRef","is24HourRef","modeRef","onPointerMove","useCallback","e","final","x","nativeEvent","locationX","y","locationY","angle","getAngle","circleSize","current","clockTypes","hours24","previousHourType","getHourType","pickedHours","getHours","hours12AndPm","hourTypeFromOffset","getHourTypeFromOffset","hours24AndPM","hourTypes","pm","undefined","pickedMinutes","getMinutes","panResponder","PanResponder","create","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onStartShouldSetPanResponder","returnTrue","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderTerminationRequest","onShouldBlockNativeResponder","dynamicSize","pointerNumber","degreesPerNumber","panHandlers","styles","clock","backgroundColor","isV3","colors","surfaceVariant","dark","Color","surface","lighten","hex","darken","line","primary","transform","rotate","translateX","width","endPoint","StyleSheet","absoluteFill","center","middlePoint","height","position","justifyContent","alignItems","borderRadius","right","bottom","memo"],"sources":["AnalogClock.tsx"],"sourcesContent":["import Color from 'color'\nimport {\n GestureResponderEvent,\n PanResponder,\n StyleSheet,\n View,\n} from 'react-native'\nimport { useTheme } from 'react-native-paper'\nimport {\n circleSize,\n clockTypes,\n getAngle,\n getHours,\n getHourType,\n getHourTypeFromOffset,\n getMinutes,\n hourTypes,\n PossibleClockTypes,\n} from './timeUtils'\nimport * as React from 'react'\nimport { useLatest } from '../utils'\nimport AnalogClockHours from './AnalogClockHours'\nimport AnimatedClockSwitcher from './AnimatedClockSwitcher'\nimport AnalogClockMinutes from './AnalogClockMinutes'\nimport { DisplayModeContext } from './TimePicker'\nfunction AnalogClock({\n hours,\n minutes,\n focused,\n is24Hour,\n onChange,\n}: {\n hours: number\n minutes: number\n focused: PossibleClockTypes\n is24Hour: boolean\n onChange: (hoursMinutesAndFocused: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n }) => any\n}) {\n const theme = useTheme()\n const { mode } = React.useContext(DisplayModeContext)\n // used to make pointer shorter if hours are selected and above 12\n const shortPointer = (hours === 0 || hours > 12) && is24Hour\n const clockRef = React.useRef<View | null>(null)\n // Hooks are nice, sometimes... :-)..\n // We need the latest values, since the onPointerMove uses a closure to the function\n const hoursRef = useLatest(hours)\n const onChangeRef = useLatest(onChange)\n const minutesRef = useLatest(minutes)\n const focusedRef = useLatest(focused)\n const is24HourRef = useLatest(is24Hour)\n const modeRef = useLatest(mode)\n const onPointerMove = React.useCallback(\n (e: GestureResponderEvent, final: boolean) => {\n let x = e.nativeEvent.locationX\n let y = e.nativeEvent.locationY\n let angle = getAngle(x, y, circleSize)\n if (focusedRef.current === clockTypes.hours) {\n let hours24 = is24HourRef.current\n let previousHourType = getHourType(hoursRef.current)\n let pickedHours = getHours(angle, previousHourType)\n\n let hours12AndPm = !hours24 && modeRef.current === 'PM'\n\n let hourTypeFromOffset = getHourTypeFromOffset(x, y, circleSize)\n let hours24AndPM = hours24 && hourTypeFromOffset === hourTypes.pm\n\n // Avoiding the \"24h\"\n // Should be 12h for 12 hours and PM mode\n\n if (hours12AndPm || hours24AndPM) {\n pickedHours += 12\n }\n if (modeRef.current === 'AM' && pickedHours === 12) {\n pickedHours = 0\n }\n\n if (\n (!hours24 && modeRef.current === 'AM' && pickedHours === 12) ||\n pickedHours === 24\n ) {\n pickedHours = 0\n }\n\n if (hoursRef.current !== pickedHours || final) {\n onChangeRef.current({\n hours: pickedHours,\n minutes: minutesRef.current,\n focused: final ? clockTypes.minutes : undefined,\n })\n }\n } else if (focusedRef.current === clockTypes.minutes) {\n let pickedMinutes = getMinutes(angle)\n if (minutesRef.current !== pickedMinutes) {\n onChangeRef.current({\n hours: hoursRef.current,\n minutes: pickedMinutes,\n })\n }\n }\n },\n [focusedRef, is24HourRef, hoursRef, onChangeRef, minutesRef, modeRef]\n )\n const panResponder = React.useRef(\n PanResponder.create({\n onPanResponderGrant: (e) => onPointerMove(e, false),\n onPanResponderMove: (e) => onPointerMove(e, false),\n onPanResponderRelease: (e) => onPointerMove(e, true),\n onStartShouldSetPanResponder: returnTrue,\n onStartShouldSetPanResponderCapture: () => false,\n onMoveShouldSetPanResponder: returnTrue,\n onMoveShouldSetPanResponderCapture: returnTrue,\n onPanResponderTerminationRequest: returnTrue,\n onShouldBlockNativeResponder: returnTrue,\n })\n ).current\n const dynamicSize = focused === clockTypes.hours && shortPointer ? 33 : 0\n const pointerNumber = focused === clockTypes.hours ? hours : minutes\n const degreesPerNumber = focused === clockTypes.hours ? 30 : 6\n return (\n <View\n ref={clockRef}\n {...panResponder.panHandlers}\n style={[\n styles.clock,\n {\n backgroundColor: theme.isV3\n ? theme.colors.surfaceVariant\n : theme.dark\n ? Color(theme.colors.surface).lighten(1.4).hex()\n : Color(theme.colors.surface).darken(0.1).hex(),\n },\n ]}\n // @ts-ignore -> https://github.com/necolas/react-native-web/issues/506\n cursor={'pointer'}\n >\n <View\n style={[\n styles.line,\n {\n backgroundColor: theme.colors.primary,\n transform: [\n { rotate: -90 + pointerNumber * degreesPerNumber + 'deg' },\n {\n translateX:\n circleSize / 4 -\n (focused === clockTypes.hours &&\n pointerNumber >= 0 &&\n pointerNumber < 13\n ? 0\n : 4) +\n (focused === clockTypes.minutes ? 4 : 0) -\n dynamicSize / 2,\n },\n ],\n width: circleSize / 2 - 4 - dynamicSize,\n },\n ]}\n pointerEvents=\"none\"\n >\n <View\n style={[styles.endPoint, { backgroundColor: theme.colors.primary }]}\n />\n </View>\n <View\n style={[StyleSheet.absoluteFill, styles.center]}\n pointerEvents=\"none\"\n >\n <View\n style={[\n styles.middlePoint,\n {\n backgroundColor: theme.colors.primary,\n },\n ]}\n />\n </View>\n <AnimatedClockSwitcher\n focused={focused}\n hours={<AnalogClockHours is24Hour={is24Hour} hours={hours} />}\n minutes={<AnalogClockMinutes minutes={minutes} />}\n />\n </View>\n )\n}\nconst styles = StyleSheet.create({\n clock: {\n height: circleSize,\n width: circleSize,\n position: 'relative',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: circleSize / 2,\n },\n middlePoint: {\n borderRadius: 4,\n height: 8,\n width: 8,\n },\n center: { justifyContent: 'center', alignItems: 'center' },\n endPoint: {\n borderRadius: 24,\n height: 48,\n width: 48,\n position: 'absolute',\n right: 0,\n bottom: -23,\n },\n line: {\n position: 'absolute',\n height: 2,\n borderRadius: 4,\n },\n})\nfunction returnTrue() {\n return true\n}\nexport default React.memo(AnalogClock)\n"],"mappings":"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"}
1
+ {"version":3,"names":["AnalogClock","hours","minutes","focused","is24Hour","onChange","theme","useTheme","mode","React","useContext","DisplayModeContext","shortPointer","clockRef","useRef","hoursRef","useLatest","onChangeRef","minutesRef","focusedRef","is24HourRef","modeRef","onPointerMove","useCallback","e","final","x","nativeEvent","locationX","y","locationY","angle","getAngle","circleSize","current","clockTypes","hours24","previousHourType","getHourType","pickedHours","getHours","hours12AndPm","hourTypeFromOffset","getHourTypeFromOffset","hours24AndPM","hourTypes","pm","undefined","pickedMinutes","getMinutes","panResponder","PanResponder","create","onPanResponderGrant","onPanResponderMove","onPanResponderRelease","onStartShouldSetPanResponder","returnTrue","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponder","onMoveShouldSetPanResponderCapture","onPanResponderTerminationRequest","onShouldBlockNativeResponder","dynamicSize","pointerNumber","degreesPerNumber","panHandlers","styles","clock","backgroundColor","isV3","colors","surfaceVariant","dark","Color","surface","lighten","hex","darken","line","primary","transform","rotate","translateX","width","endPoint","StyleSheet","absoluteFill","center","middlePoint","height","position","justifyContent","alignItems","borderRadius","right","bottom","memo"],"sources":["AnalogClock.tsx"],"sourcesContent":["import Color from 'color'\nimport {\n GestureResponderEvent,\n PanResponder,\n StyleSheet,\n View,\n} from 'react-native'\nimport { useTheme } from 'react-native-paper'\nimport {\n circleSize,\n clockTypes,\n getAngle,\n getHours,\n getHourType,\n getHourTypeFromOffset,\n getMinutes,\n hourTypes,\n PossibleClockTypes,\n} from './timeUtils'\nimport * as React from 'react'\nimport { useLatest } from '../utils'\nimport AnalogClockHours from './AnalogClockHours'\nimport AnimatedClockSwitcher from './AnimatedClockSwitcher'\nimport AnalogClockMinutes from './AnalogClockMinutes'\nimport { DisplayModeContext } from './TimePicker'\nfunction AnalogClock({\n hours,\n minutes,\n focused,\n is24Hour,\n onChange,\n}: {\n hours: number\n minutes: number\n focused: PossibleClockTypes\n is24Hour: boolean\n onChange: (hoursMinutesAndFocused: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n }) => any\n}) {\n const theme = useTheme()\n const { mode } = React.useContext(DisplayModeContext)\n // used to make pointer shorter if hours are selected and above 12\n const shortPointer = hours >= 12 && is24Hour\n const clockRef = React.useRef<View | null>(null)\n // Hooks are nice, sometimes... :-)..\n // We need the latest values, since the onPointerMove uses a closure to the function\n const hoursRef = useLatest(hours)\n const onChangeRef = useLatest(onChange)\n const minutesRef = useLatest(minutes)\n const focusedRef = useLatest(focused)\n const is24HourRef = useLatest(is24Hour)\n const modeRef = useLatest(mode)\n const onPointerMove = React.useCallback(\n (e: GestureResponderEvent, final: boolean) => {\n let x = e.nativeEvent.locationX\n let y = e.nativeEvent.locationY\n let angle = getAngle(x, y, circleSize)\n if (focusedRef.current === clockTypes.hours) {\n let hours24 = is24HourRef.current\n let previousHourType = getHourType(hoursRef.current)\n let pickedHours = getHours(angle, previousHourType)\n\n let hours12AndPm = !hours24 && modeRef.current === 'PM'\n\n let hourTypeFromOffset = getHourTypeFromOffset(x, y, circleSize)\n let hours24AndPM = hours24 && hourTypeFromOffset === hourTypes.pm\n\n // Avoiding the \"24h\"\n // Should be 12h for 12 hours and PM mode\n\n if (hours12AndPm || hours24AndPM) {\n pickedHours += 12\n }\n if ((modeRef.current === 'AM' || hours24) && pickedHours === 12) {\n pickedHours = 0\n }\n\n if (!hours24 && modeRef.current === 'AM' && pickedHours === 12) {\n pickedHours = 0\n }\n\n if (pickedHours === 24) {\n pickedHours = 12\n }\n\n if (hoursRef.current !== pickedHours || final) {\n onChangeRef.current({\n hours: pickedHours,\n minutes: minutesRef.current,\n focused: final ? clockTypes.minutes : undefined,\n })\n }\n } else if (focusedRef.current === clockTypes.minutes) {\n let pickedMinutes = getMinutes(angle)\n if (minutesRef.current !== pickedMinutes) {\n onChangeRef.current({\n hours: hoursRef.current,\n minutes: pickedMinutes,\n })\n }\n }\n },\n [focusedRef, is24HourRef, hoursRef, onChangeRef, minutesRef, modeRef]\n )\n const panResponder = React.useRef(\n PanResponder.create({\n onPanResponderGrant: (e) => onPointerMove(e, false),\n onPanResponderMove: (e) => onPointerMove(e, false),\n onPanResponderRelease: (e) => onPointerMove(e, true),\n onStartShouldSetPanResponder: returnTrue,\n onStartShouldSetPanResponderCapture: () => false,\n onMoveShouldSetPanResponder: returnTrue,\n onMoveShouldSetPanResponderCapture: returnTrue,\n onPanResponderTerminationRequest: returnTrue,\n onShouldBlockNativeResponder: returnTrue,\n })\n ).current\n const dynamicSize = focused === clockTypes.hours && shortPointer ? 33 : 0\n const pointerNumber = focused === clockTypes.hours ? hours : minutes\n const degreesPerNumber = focused === clockTypes.hours ? 30 : 6\n return (\n <View\n ref={clockRef}\n {...panResponder.panHandlers}\n style={[\n styles.clock,\n {\n backgroundColor: theme.isV3\n ? theme.colors.surfaceVariant\n : theme.dark\n ? Color(theme.colors.surface).lighten(1.4).hex()\n : Color(theme.colors.surface).darken(0.1).hex(),\n },\n ]}\n // @ts-ignore -> https://github.com/necolas/react-native-web/issues/506\n cursor={'pointer'}\n >\n <View\n style={[\n styles.line,\n {\n backgroundColor: theme.colors.primary,\n transform: [\n { rotate: -90 + pointerNumber * degreesPerNumber + 'deg' },\n {\n translateX:\n circleSize / 4 -\n (focused === clockTypes.hours &&\n pointerNumber >= 0 &&\n pointerNumber < 13\n ? 0\n : 4) +\n (focused === clockTypes.minutes ? 4 : 0) -\n dynamicSize / 2,\n },\n ],\n width: circleSize / 2 - 4 - dynamicSize,\n },\n ]}\n pointerEvents=\"none\"\n >\n <View\n style={[styles.endPoint, { backgroundColor: theme.colors.primary }]}\n />\n </View>\n <View\n style={[StyleSheet.absoluteFill, styles.center]}\n pointerEvents=\"none\"\n >\n <View\n style={[\n styles.middlePoint,\n {\n backgroundColor: theme.colors.primary,\n },\n ]}\n />\n </View>\n <AnimatedClockSwitcher\n focused={focused}\n hours={<AnalogClockHours is24Hour={is24Hour} hours={hours} />}\n minutes={<AnalogClockMinutes minutes={minutes} />}\n />\n </View>\n )\n}\nconst styles = StyleSheet.create({\n clock: {\n height: circleSize,\n width: circleSize,\n position: 'relative',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: circleSize / 2,\n },\n middlePoint: {\n borderRadius: 4,\n height: 8,\n width: 8,\n },\n center: { justifyContent: 'center', alignItems: 'center' },\n endPoint: {\n borderRadius: 24,\n height: 48,\n width: 48,\n position: 'absolute',\n right: 0,\n bottom: -23,\n },\n line: {\n position: 'absolute',\n height: 2,\n borderRadius: 4,\n },\n})\nfunction returnTrue() {\n return true\n}\nexport default React.memo(AnalogClock)\n"],"mappings":"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"}
@@ -15,8 +15,6 @@ var _timeUtils = require("./timeUtils");
15
15
 
16
16
  var _utils = require("../utils");
17
17
 
18
- var _TimePicker = require("./TimePicker");
19
-
20
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
19
 
22
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -26,9 +24,6 @@ function AnalogClockHours(_ref) {
26
24
  is24Hour,
27
25
  hours
28
26
  } = _ref;
29
- const {
30
- mode
31
- } = React.useContext(_TimePicker.DisplayModeContext);
32
27
  const outerRange = getHourNumbers(false, _timeUtils.circleSize, 12, 12);
33
28
  const innerRange = getHourNumbers(true, _timeUtils.circleSize, 12, 12);
34
29
  const color = (0, _utils.useTextColorOnPrimary)();
@@ -42,12 +37,12 @@ function AnalogClockHours(_ref) {
42
37
  }, /*#__PURE__*/React.createElement(_reactNative.View, {
43
38
  style: styles.outerHourInner
44
39
  }, /*#__PURE__*/React.createElement(_reactNativePaper.Text, {
45
- style: hours === i + 1 ? {
40
+ style: !is24Hour && i + 1 === hours || hours === i + 1 && hours !== 12 || i + 1 === 12 && hours === 0 ? {
46
41
  color
47
42
  } : null,
48
43
  variant: "bodyLarge",
49
44
  selectable: false
50
- }, mode === 'AM' && is24Hour && i + 1 === 12 ? '00' : i + 1)))), is24Hour ? innerRange.map((a, i) => /*#__PURE__*/React.createElement(_reactNative.View, {
45
+ }, is24Hour && i + 1 === 12 ? '00' : i + 1)))), is24Hour ? innerRange.map((a, i) => /*#__PURE__*/React.createElement(_reactNative.View, {
51
46
  key: i,
52
47
  pointerEvents: "none",
53
48
  style: [styles.innerHourRoot, {
@@ -58,11 +53,11 @@ function AnalogClockHours(_ref) {
58
53
  style: styles.innerHourInner
59
54
  }, /*#__PURE__*/React.createElement(_reactNativePaper.Text, {
60
55
  selectable: false,
61
- style: [i + 13 === hours || i + 13 === 24 && hours === 0 ? {
56
+ style: [i + 13 === hours || i + 13 === 24 && hours === 12 ? {
62
57
  color
63
58
  } : null],
64
59
  variant: "bodyLarge"
65
- }, i + 13 === 24 ? '00' : i + 13)))) : null);
60
+ }, i + 13 === 24 ? '12' : i + 13)))) : null);
66
61
  }
67
62
 
68
63
  const styles = _reactNative.StyleSheet.create({
@@ -1 +1 @@
1
- {"version":3,"names":["AnalogClockHours","is24Hour","hours","mode","React","useContext","DisplayModeContext","outerRange","getHourNumbers","circleSize","innerRange","color","useTextColorOnPrimary","map","a","i","styles","outerHourRoot","top","left","outerHourInner","innerHourRoot","innerHourInner","StyleSheet","create","position","justifyContent","alignItems","zIndex","width","height","marginLeft","marginTop","borderRadius","size","count","arrayLength","angle","step","Math","PI","radius","Array","fill","x","round","cos","y","sin","memo"],"sources":["AnalogClockHours.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { Text } from 'react-native-paper'\nimport { circleSize } from './timeUtils'\nimport { useTextColorOnPrimary } from '../utils'\nimport { DisplayModeContext } from './TimePicker'\n\nfunction AnalogClockHours({\n is24Hour,\n hours,\n}: {\n is24Hour: boolean\n hours: number\n}) {\n const { mode } = React.useContext(DisplayModeContext)\n const outerRange = getHourNumbers(false, circleSize, 12, 12)\n const innerRange = getHourNumbers(true, circleSize, 12, 12)\n const color = useTextColorOnPrimary()\n\n return (\n <>\n {outerRange.map((a, i) => (\n <View\n key={i}\n pointerEvents=\"none\"\n style={[\n styles.outerHourRoot,\n {\n top: a[1] || 0,\n left: a[0] || 0,\n },\n ]}\n >\n <View style={styles.outerHourInner}>\n {/* Display 00 instead of 12 for AM hours */}\n <Text\n style={hours === i + 1 ? { color } : null}\n variant=\"bodyLarge\"\n selectable={false}\n >\n {mode === 'AM' && is24Hour && i + 1 === 12 ? '00' : i + 1}\n </Text>\n </View>\n </View>\n ))}\n {is24Hour\n ? innerRange.map((a, i) => (\n <View\n key={i}\n pointerEvents=\"none\"\n style={[\n styles.innerHourRoot,\n {\n top: a[1] || 0,\n left: a[0] || 0,\n },\n ]}\n >\n <View style={styles.innerHourInner}>\n <Text\n selectable={false}\n style={[\n i + 13 === hours || (i + 13 === 24 && hours === 0)\n ? { color }\n : null,\n ]}\n variant=\"bodyLarge\"\n >\n {i + 13 === 24 ? '00' : i + 13}\n </Text>\n </View>\n </View>\n ))\n : null}\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n outerHourRoot: {\n position: 'absolute',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 20,\n width: 48,\n height: 48,\n marginLeft: -24,\n marginTop: -24,\n borderRadius: 24,\n },\n outerHourInner: { borderRadius: 24 },\n innerHourRoot: {\n position: 'absolute',\n zIndex: 20,\n justifyContent: 'center',\n alignItems: 'center',\n width: 48,\n height: 48,\n marginLeft: -24,\n marginTop: -24,\n borderRadius: 24,\n },\n innerHourInner: { borderRadius: 24 },\n})\n\nfunction getHourNumbers(\n is24Hour: boolean,\n size: number,\n count: number,\n arrayLength: number\n) {\n let angle = 0\n let step = (2 * Math.PI) / count\n let radius = size / (is24Hour ? 4 : 2.5)\n\n angle = (-90 * Math.PI) / 180 + Math.PI / 6\n\n return Array(arrayLength)\n .fill(true)\n .map(() => {\n let x = Math.round(size / 2 + radius * Math.cos(angle))\n let y = Math.round(size / 2 + radius * Math.sin(angle))\n angle += step\n return [x, y]\n })\n}\n\nexport default React.memo(AnalogClockHours)\n"],"mappings":"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"}
1
+ {"version":3,"names":["AnalogClockHours","is24Hour","hours","outerRange","getHourNumbers","circleSize","innerRange","color","useTextColorOnPrimary","map","a","i","styles","outerHourRoot","top","left","outerHourInner","innerHourRoot","innerHourInner","StyleSheet","create","position","justifyContent","alignItems","zIndex","width","height","marginLeft","marginTop","borderRadius","size","count","arrayLength","angle","step","Math","PI","radius","Array","fill","x","round","cos","y","sin","React","memo"],"sources":["AnalogClockHours.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { Text } from 'react-native-paper'\nimport { circleSize } from './timeUtils'\nimport { useTextColorOnPrimary } from '../utils'\n\nfunction AnalogClockHours({\n is24Hour,\n hours,\n}: {\n is24Hour: boolean\n hours: number\n}) {\n const outerRange = getHourNumbers(false, circleSize, 12, 12)\n const innerRange = getHourNumbers(true, circleSize, 12, 12)\n const color = useTextColorOnPrimary()\n\n return (\n <>\n {outerRange.map((a, i) => (\n <View\n key={i}\n pointerEvents=\"none\"\n style={[\n styles.outerHourRoot,\n {\n top: a[1] || 0,\n left: a[0] || 0,\n },\n ]}\n >\n <View style={styles.outerHourInner}>\n {/* Display 00 instead of 12 for AM hours */}\n <Text\n style={\n (!is24Hour && i + 1 === hours) ||\n (hours === i + 1 && hours !== 12) ||\n (i + 1 === 12 && hours === 0)\n ? { color }\n : null\n }\n variant=\"bodyLarge\"\n selectable={false}\n >\n {is24Hour && i + 1 === 12 ? '00' : i + 1}\n </Text>\n </View>\n </View>\n ))}\n {is24Hour\n ? innerRange.map((a, i) => (\n <View\n key={i}\n pointerEvents=\"none\"\n style={[\n styles.innerHourRoot,\n {\n top: a[1] || 0,\n left: a[0] || 0,\n },\n ]}\n >\n <View style={styles.innerHourInner}>\n <Text\n selectable={false}\n style={[\n i + 13 === hours || (i + 13 === 24 && hours === 12)\n ? { color }\n : null,\n ]}\n variant=\"bodyLarge\"\n >\n {i + 13 === 24 ? '12' : i + 13}\n </Text>\n </View>\n </View>\n ))\n : null}\n </>\n )\n}\n\nconst styles = StyleSheet.create({\n outerHourRoot: {\n position: 'absolute',\n justifyContent: 'center',\n alignItems: 'center',\n zIndex: 20,\n width: 48,\n height: 48,\n marginLeft: -24,\n marginTop: -24,\n borderRadius: 24,\n },\n outerHourInner: { borderRadius: 24 },\n innerHourRoot: {\n position: 'absolute',\n zIndex: 20,\n justifyContent: 'center',\n alignItems: 'center',\n width: 48,\n height: 48,\n marginLeft: -24,\n marginTop: -24,\n borderRadius: 24,\n },\n innerHourInner: { borderRadius: 24 },\n})\n\nfunction getHourNumbers(\n is24Hour: boolean,\n size: number,\n count: number,\n arrayLength: number\n) {\n let angle = 0\n let step = (2 * Math.PI) / count\n let radius = size / (is24Hour ? 4 : 2.5)\n\n angle = (-90 * Math.PI) / 180 + Math.PI / 6\n\n return Array(arrayLength)\n .fill(true)\n .map(() => {\n let x = Math.round(size / 2 + radius * Math.cos(angle))\n let y = Math.round(size / 2 + radius * Math.sin(angle))\n angle += step\n return [x, y]\n })\n}\n\nexport default React.memo(AnalogClockHours)\n"],"mappings":"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"}
@@ -31,6 +31,7 @@ function TimeInput(_ref, ref) {
31
31
  onPress,
32
32
  onChanged,
33
33
  inputType,
34
+ inputFontSize = 57,
34
35
  ...rest
35
36
  } = _ref;
36
37
  const [controlledValue, setControlledValue] = React.useState(`${value}`);
@@ -66,6 +67,7 @@ function TimeInput(_ref, ref) {
66
67
  style: [styles.input, // eslint-disable-next-line react-native/no-inline-styles
67
68
  {
68
69
  color,
70
+ fontSize: inputFontSize,
69
71
  backgroundColor,
70
72
  borderRadius: theme.roundness * 2,
71
73
  borderColor: theme.isV3 && highlighted ? theme.colors.onPrimaryContainer : undefined,
@@ -96,7 +98,6 @@ const styles = _reactNative.StyleSheet.create({
96
98
  width: 96
97
99
  },
98
100
  input: {
99
- fontSize: 57,
100
101
  textAlign: 'center',
101
102
  textAlignVertical: 'center',
102
103
  width: 96
@@ -1 +1 @@
1
- {"version":3,"names":["TimeInput","ref","value","clockType","pressed","onPress","onChanged","inputType","rest","controlledValue","setControlledValue","React","useState","onInnerChange","text","Number","useEffect","theme","useTheme","inputFocused","setInputFocused","highlighted","inputTypes","picker","color","backgroundColor","useInputColors","formattedValue","length","styles","root","input","borderRadius","roundness","borderColor","isV3","colors","onPrimaryContainer","undefined","borderWidth","height","keyboard","dark","StyleSheet","absoluteFill","buttonOverlay","Platform","OS","Color","onSurface","fade","hex","create","position","width","fontSize","textAlign","textAlignVertical","overflow","forwardRef"],"sources":["TimeInput.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n TextInput,\n TextInputProps,\n StyleSheet,\n Platform,\n} from 'react-native'\nimport { useTheme, TouchableRipple } from 'react-native-paper'\n\nimport Color from 'color'\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n useInputColors,\n} from './timeUtils'\n\ninterface TimeInputProps\n extends Omit<Omit<TextInputProps, 'value'>, 'onFocus'> {\n value: number\n clockType: PossibleClockTypes\n onPress?: (type: PossibleClockTypes) => any\n pressed: boolean\n onChanged: (n: number) => any\n inputType: PossibleInputTypes\n}\n\nfunction TimeInput(\n {\n value,\n clockType,\n pressed,\n onPress,\n onChanged,\n inputType,\n ...rest\n }: TimeInputProps,\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n `${value}`\n )\n\n const onInnerChange = (text: string) => {\n setControlledValue(text)\n if (text !== '' && text !== '0') {\n onChanged(Number(text))\n }\n }\n\n React.useEffect(() => {\n setControlledValue(`${value}`)\n }, [value])\n\n const theme = useTheme()\n const [inputFocused, setInputFocused] = React.useState<boolean>(false)\n\n const highlighted = inputType === inputTypes.picker ? pressed : inputFocused\n\n const { color, backgroundColor } = useInputColors(highlighted)\n\n let formattedValue = controlledValue\n if (!inputFocused) {\n formattedValue =\n controlledValue.length === 1\n ? `0${controlledValue}`\n : `${controlledValue}`\n }\n\n return (\n <View style={styles.root}>\n <TextInput\n ref={ref}\n style={[\n styles.input,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n color,\n backgroundColor,\n borderRadius: theme.roundness * 2,\n borderColor:\n theme.isV3 && highlighted\n ? theme.colors.onPrimaryContainer\n : undefined,\n borderWidth: theme.isV3 && highlighted ? 2 : 0,\n height: inputType === inputTypes.keyboard ? 72 : 80,\n },\n ]}\n value={formattedValue}\n maxLength={2}\n onFocus={() => setInputFocused(true)}\n onBlur={() => setInputFocused(false)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n keyboardType=\"number-pad\"\n onChangeText={onInnerChange}\n {...rest}\n />\n {onPress && inputType === inputTypes.picker ? (\n <TouchableRipple\n style={[\n StyleSheet.absoluteFill,\n styles.buttonOverlay,\n {\n borderRadius: theme.roundness,\n },\n ]}\n rippleColor={\n Platform.OS !== 'ios'\n ? Color(theme.colors.onSurface).fade(0.7).hex()\n : undefined\n }\n onPress={() => onPress(clockType)}\n borderless={true}\n >\n <View />\n </TouchableRipple>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { position: 'relative', height: 80, width: 96 },\n input: {\n fontSize: 57,\n textAlign: 'center',\n textAlignVertical: 'center',\n width: 96,\n },\n buttonOverlay: { overflow: 'hidden' },\n})\n\nexport default React.forwardRef(TimeInput)\n"],"mappings":"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"}
1
+ {"version":3,"names":["TimeInput","ref","value","clockType","pressed","onPress","onChanged","inputType","inputFontSize","rest","controlledValue","setControlledValue","React","useState","onInnerChange","text","Number","useEffect","theme","useTheme","inputFocused","setInputFocused","highlighted","inputTypes","picker","color","backgroundColor","useInputColors","formattedValue","length","styles","root","input","fontSize","borderRadius","roundness","borderColor","isV3","colors","onPrimaryContainer","undefined","borderWidth","height","keyboard","dark","StyleSheet","absoluteFill","buttonOverlay","Platform","OS","Color","onSurface","fade","hex","create","position","width","textAlign","textAlignVertical","overflow","forwardRef"],"sources":["TimeInput.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n TextInput,\n TextInputProps,\n StyleSheet,\n Platform,\n} from 'react-native'\nimport { useTheme, TouchableRipple } from 'react-native-paper'\n\nimport Color from 'color'\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n useInputColors,\n} from './timeUtils'\n\ninterface TimeInputProps\n extends Omit<Omit<TextInputProps, 'value'>, 'onFocus'> {\n value: number\n clockType: PossibleClockTypes\n onPress?: (type: PossibleClockTypes) => any\n pressed: boolean\n onChanged: (n: number) => any\n inputType: PossibleInputTypes\n inputFontSize?: number\n}\n\nfunction TimeInput(\n {\n value,\n clockType,\n pressed,\n onPress,\n onChanged,\n inputType,\n inputFontSize = 57,\n ...rest\n }: TimeInputProps,\n ref: any\n) {\n const [controlledValue, setControlledValue] = React.useState<string>(\n `${value}`\n )\n\n const onInnerChange = (text: string) => {\n setControlledValue(text)\n if (text !== '' && text !== '0') {\n onChanged(Number(text))\n }\n }\n\n React.useEffect(() => {\n setControlledValue(`${value}`)\n }, [value])\n\n const theme = useTheme()\n const [inputFocused, setInputFocused] = React.useState<boolean>(false)\n\n const highlighted = inputType === inputTypes.picker ? pressed : inputFocused\n\n const { color, backgroundColor } = useInputColors(highlighted)\n\n let formattedValue = controlledValue\n if (!inputFocused) {\n formattedValue =\n controlledValue.length === 1\n ? `0${controlledValue}`\n : `${controlledValue}`\n }\n\n return (\n <View style={styles.root}>\n <TextInput\n ref={ref}\n style={[\n styles.input,\n // eslint-disable-next-line react-native/no-inline-styles\n {\n color,\n fontSize: inputFontSize,\n backgroundColor,\n borderRadius: theme.roundness * 2,\n borderColor:\n theme.isV3 && highlighted\n ? theme.colors.onPrimaryContainer\n : undefined,\n borderWidth: theme.isV3 && highlighted ? 2 : 0,\n height: inputType === inputTypes.keyboard ? 72 : 80,\n },\n ]}\n value={formattedValue}\n maxLength={2}\n onFocus={() => setInputFocused(true)}\n onBlur={() => setInputFocused(false)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n keyboardType=\"number-pad\"\n onChangeText={onInnerChange}\n {...rest}\n />\n {onPress && inputType === inputTypes.picker ? (\n <TouchableRipple\n style={[\n StyleSheet.absoluteFill,\n styles.buttonOverlay,\n {\n borderRadius: theme.roundness,\n },\n ]}\n rippleColor={\n Platform.OS !== 'ios'\n ? Color(theme.colors.onSurface).fade(0.7).hex()\n : undefined\n }\n onPress={() => onPress(clockType)}\n borderless={true}\n >\n <View />\n </TouchableRipple>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { position: 'relative', height: 80, width: 96 },\n input: {\n textAlign: 'center',\n textAlignVertical: 'center',\n width: 96,\n },\n buttonOverlay: { overflow: 'hidden' },\n})\n\nexport default React.forwardRef(TimeInput)\n"],"mappings":"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"}
@@ -35,7 +35,8 @@ function TimeInputs(_ref) {
35
35
  focused,
36
36
  inputType,
37
37
  onChange,
38
- is24Hour
38
+ is24Hour,
39
+ inputFontSize
39
40
  } = _ref;
40
41
  const startInput = React.useRef(null);
41
42
  const endInput = React.useRef(null);
@@ -63,6 +64,7 @@ function TimeInputs(_ref) {
63
64
  style: styles.column
64
65
  }, /*#__PURE__*/React.createElement(_TimeInput.default, {
65
66
  ref: startInput,
67
+ inputFontSize: inputFontSize,
66
68
  placeholder: '00',
67
69
  value: (0, _timeUtils.toHourInputFormat)(hours, is24Hour),
68
70
  clockType: _timeUtils.clockTypes.hours,
@@ -110,6 +112,7 @@ function TimeInputs(_ref) {
110
112
  style: styles.column
111
113
  }, /*#__PURE__*/React.createElement(_TimeInput.default, {
112
114
  ref: endInput,
115
+ inputFontSize: inputFontSize,
113
116
  placeholder: '00',
114
117
  value: minutes,
115
118
  clockType: _timeUtils.clockTypes.minutes,
@@ -1 +1 @@
1
- {"version":3,"names":["TimeInputs","hours","minutes","onFocusInput","focused","inputType","onChange","is24Hour","startInput","React","useRef","endInput","dimensions","useWindowDimensions","isLandscape","width","height","theme","useTheme","onSubmitStartInput","useCallback","current","focus","onSubmitEndInput","minutesRef","useLatest","onChangeHours","newHours","clockTypes","styles","inputContainer","inputContainerLandscape","column","toHourInputFormat","dark","Color","colors","primary","darken","hex","newHoursFromInput","toHourOutputFormat","hoursAndMinutesSeparator","marginBottom","spaceDot","dot","backgroundColor","isV3","onSurface","text","betweenDot","newMinutesFromInput","newMinutes","spaceBetweenInputsAndSwitcher","StyleSheet","create","flexDirection","alignItems","flex","fontSize","borderRadius","memo"],"sources":["TimeInputs.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n useWindowDimensions,\n TextInput as TextInputNative,\n} from 'react-native'\nimport { MD2Theme, Text, useTheme } from 'react-native-paper'\n\nimport {\n clockTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\nimport TimeInput from './TimeInput'\nimport AmPmSwitcher from './AmPmSwitcher'\nimport { useLatest } from '../utils'\nimport Color from 'color'\n\nfunction TimeInputs({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n is24Hour,\n}: {\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: (hoursMinutesAndFocused: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n }) => any\n is24Hour: boolean\n}) {\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n const theme = useTheme()\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist time\n }, [])\n\n const minutesRef = useLatest(minutes)\n const onChangeHours = React.useCallback(\n (newHours: number) => {\n onChange({\n hours: newHours,\n minutes: minutesRef.current,\n focused: clockTypes.hours,\n })\n },\n [onChange, minutesRef]\n )\n\n return (\n <View\n style={[\n styles.inputContainer,\n isLandscape && styles.inputContainerLandscape,\n ]}\n >\n <View style={styles.column}>\n <TimeInput\n ref={startInput}\n placeholder={'00'}\n value={toHourInputFormat(hours, is24Hour)}\n clockType={clockTypes.hours}\n pressed={focused === clockTypes.hours}\n onPress={onFocusInput}\n inputType={inputType}\n selectionColor={\n theme.dark\n ? Color(theme.colors.primary).darken(0.2).hex()\n : theme.colors.primary\n }\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n blurOnSubmit={false}\n onChanged={(newHoursFromInput) => {\n let newHours = toHourOutputFormat(\n newHoursFromInput,\n hours,\n is24Hour\n )\n if (newHoursFromInput > 24) {\n newHours = 24\n }\n onChange({\n hours: newHours,\n minutes,\n })\n }}\n />\n {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Hour</Text>\n ) : null}\n </View>\n <View\n style={[\n styles.hoursAndMinutesSeparator,\n // eslint-disable-next-line react-native/no-inline-styles\n { marginBottom: inputType === 'keyboard' ? 24 : 0 },\n ]}\n >\n <View style={styles.spaceDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onSurface\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.betweenDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onSurface\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.spaceDot} />\n </View>\n <View style={styles.column}>\n <TimeInput\n ref={endInput}\n placeholder={'00'}\n value={minutes}\n clockType={clockTypes.minutes}\n pressed={focused === clockTypes.minutes}\n onPress={onFocusInput}\n inputType={inputType}\n selectionColor={\n theme.dark\n ? Color(theme.colors.primary).darken(0.2).hex()\n : theme.colors.primary\n }\n onSubmitEditing={onSubmitEndInput}\n onChanged={(newMinutesFromInput) => {\n let newMinutes = newMinutesFromInput\n if (newMinutesFromInput > 59) {\n newMinutes = 59\n }\n onChange({\n hours,\n minutes: newMinutes,\n })\n }}\n />\n {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Minute</Text>\n ) : null}\n </View>\n {!is24Hour && (\n <>\n <View style={styles.spaceBetweenInputsAndSwitcher} />\n <AmPmSwitcher\n hours={hours}\n onChange={onChangeHours}\n inputType={inputType}\n />\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n column: {\n flexDirection: 'column',\n },\n spaceBetweenInputsAndSwitcher: { width: 12 },\n inputContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n inputContainerLandscape: {\n flex: 1,\n },\n hoursAndMinutesSeparator: {\n fontSize: 65,\n width: 24,\n alignItems: 'center',\n },\n spaceDot: {\n flex: 1,\n },\n dot: {\n width: 7,\n height: 7,\n borderRadius: 7 / 2,\n },\n betweenDot: {\n height: 12,\n },\n})\n\nexport default React.memo(TimeInputs)\n"],"mappings":"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"}
1
+ {"version":3,"names":["TimeInputs","hours","minutes","onFocusInput","focused","inputType","onChange","is24Hour","inputFontSize","startInput","React","useRef","endInput","dimensions","useWindowDimensions","isLandscape","width","height","theme","useTheme","onSubmitStartInput","useCallback","current","focus","onSubmitEndInput","minutesRef","useLatest","onChangeHours","newHours","clockTypes","styles","inputContainer","inputContainerLandscape","column","toHourInputFormat","dark","Color","colors","primary","darken","hex","newHoursFromInput","toHourOutputFormat","hoursAndMinutesSeparator","marginBottom","spaceDot","dot","backgroundColor","isV3","onSurface","text","betweenDot","newMinutesFromInput","newMinutes","spaceBetweenInputsAndSwitcher","StyleSheet","create","flexDirection","alignItems","flex","fontSize","borderRadius","memo"],"sources":["TimeInputs.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n useWindowDimensions,\n TextInput as TextInputNative,\n} from 'react-native'\nimport { MD2Theme, Text, useTheme } from 'react-native-paper'\n\nimport {\n clockTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\nimport TimeInput from './TimeInput'\nimport AmPmSwitcher from './AmPmSwitcher'\nimport { useLatest } from '../utils'\nimport Color from 'color'\n\nfunction TimeInputs({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n is24Hour,\n inputFontSize,\n}: {\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: (hoursMinutesAndFocused: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n }) => any\n is24Hour: boolean\n inputFontSize?: number\n}) {\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n const theme = useTheme()\n\n const onSubmitStartInput = React.useCallback(() => {\n if (endInput.current) {\n endInput.current.focus()\n }\n }, [endInput])\n\n const onSubmitEndInput = React.useCallback(() => {\n // TODO: close modal and persist time\n }, [])\n\n const minutesRef = useLatest(minutes)\n const onChangeHours = React.useCallback(\n (newHours: number) => {\n onChange({\n hours: newHours,\n minutes: minutesRef.current,\n focused: clockTypes.hours,\n })\n },\n [onChange, minutesRef]\n )\n\n return (\n <View\n style={[\n styles.inputContainer,\n isLandscape && styles.inputContainerLandscape,\n ]}\n >\n <View style={styles.column}>\n <TimeInput\n ref={startInput}\n inputFontSize={inputFontSize}\n placeholder={'00'}\n value={toHourInputFormat(hours, is24Hour)}\n clockType={clockTypes.hours}\n pressed={focused === clockTypes.hours}\n onPress={onFocusInput}\n inputType={inputType}\n selectionColor={\n theme.dark\n ? Color(theme.colors.primary).darken(0.2).hex()\n : theme.colors.primary\n }\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n blurOnSubmit={false}\n onChanged={(newHoursFromInput) => {\n let newHours = toHourOutputFormat(\n newHoursFromInput,\n hours,\n is24Hour\n )\n if (newHoursFromInput > 24) {\n newHours = 24\n }\n onChange({\n hours: newHours,\n minutes,\n })\n }}\n />\n {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Hour</Text>\n ) : null}\n </View>\n <View\n style={[\n styles.hoursAndMinutesSeparator,\n // eslint-disable-next-line react-native/no-inline-styles\n { marginBottom: inputType === 'keyboard' ? 24 : 0 },\n ]}\n >\n <View style={styles.spaceDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onSurface\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.betweenDot} />\n <View\n style={[\n styles.dot,\n {\n backgroundColor: theme?.isV3\n ? theme.colors.onSurface\n : (theme as any as MD2Theme).colors.text,\n },\n ]}\n />\n <View style={styles.spaceDot} />\n </View>\n <View style={styles.column}>\n <TimeInput\n ref={endInput}\n inputFontSize={inputFontSize}\n placeholder={'00'}\n value={minutes}\n clockType={clockTypes.minutes}\n pressed={focused === clockTypes.minutes}\n onPress={onFocusInput}\n inputType={inputType}\n selectionColor={\n theme.dark\n ? Color(theme.colors.primary).darken(0.2).hex()\n : theme.colors.primary\n }\n onSubmitEditing={onSubmitEndInput}\n onChanged={(newMinutesFromInput) => {\n let newMinutes = newMinutesFromInput\n if (newMinutesFromInput > 59) {\n newMinutes = 59\n }\n onChange({\n hours,\n minutes: newMinutes,\n })\n }}\n />\n {inputType === 'keyboard' ? (\n <Text variant=\"bodySmall\">Minute</Text>\n ) : null}\n </View>\n {!is24Hour && (\n <>\n <View style={styles.spaceBetweenInputsAndSwitcher} />\n <AmPmSwitcher\n hours={hours}\n onChange={onChangeHours}\n inputType={inputType}\n />\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n column: {\n flexDirection: 'column',\n },\n spaceBetweenInputsAndSwitcher: { width: 12 },\n inputContainer: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n inputContainerLandscape: {\n flex: 1,\n },\n hoursAndMinutesSeparator: {\n fontSize: 65,\n width: 24,\n alignItems: 'center',\n },\n spaceDot: {\n flex: 1,\n },\n dot: {\n width: 7,\n height: 7,\n borderRadius: 7 / 2,\n },\n betweenDot: {\n height: 12,\n },\n})\n\nexport default React.memo(TimeInputs)\n"],"mappings":"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"}
@@ -35,13 +35,19 @@ function TimePicker(_ref) {
35
35
  focused,
36
36
  inputType,
37
37
  onChange,
38
- locale
38
+ locale,
39
+ use24HourClock,
40
+ inputFontSize
39
41
  } = _ref;
40
42
  const [displayMode, setDisplayMode] = React.useState(undefined);
41
43
  const dimensions = (0, _reactNative.useWindowDimensions)();
42
44
  const isLandscape = dimensions.width > dimensions.height; // method to check whether we have 24 hours in clock or 12
43
45
 
44
46
  const is24Hour = React.useMemo(() => {
47
+ if (use24HourClock !== undefined) {
48
+ return use24HourClock;
49
+ }
50
+
45
51
  const formatter = new Intl.DateTimeFormat(locale, {
46
52
  hour: '2-digit',
47
53
  minute: '2-digit',
@@ -49,7 +55,7 @@ function TimePicker(_ref) {
49
55
  });
50
56
  const formatted = formatter.format(new Date(Date.UTC(2020, 1, 1, 23)));
51
57
  return formatted.includes('23');
52
- }, [locale]); // Initialize display Mode according the hours value
58
+ }, [locale, use24HourClock]); // Initialize display Mode according the hours value
53
59
 
54
60
  React.useEffect(() => {
55
61
  if (hours >= 12) {
@@ -74,6 +80,7 @@ function TimePicker(_ref) {
74
80
  }] : styles.rootPortrait
75
81
  }, /*#__PURE__*/React.createElement(_TimeInputs.default, {
76
82
  inputType: inputType,
83
+ inputFontSize: inputFontSize,
77
84
  hours: hours,
78
85
  minutes: minutes,
79
86
  is24Hour: is24Hour,
@@ -1 +1 @@
1
- {"version":3,"names":["DisplayModeContext","React","createContext","mode","setMode","TimePicker","hours","minutes","onFocusInput","focused","inputType","onChange","locale","displayMode","setDisplayMode","useState","undefined","dimensions","useWindowDimensions","isLandscape","width","height","is24Hour","useMemo","formatter","Intl","DateTimeFormat","hour","minute","timeZone","formatted","format","Date","UTC","includes","useEffect","onInnerChange","useCallback","params","toHourOutputFormat","styles","rootLandscape","inputTypes","picker","circleSize","rootPortrait","clockContainer","toHourInputFormat","StyleSheet","create","flexDirection","alignItems","justifyContent","paddingTop","paddingLeft","paddingRight","memo"],"sources":["TimePicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet, useWindowDimensions } from 'react-native'\n\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\n\nimport AnalogClock from './AnalogClock'\nimport { circleSize } from './timeUtils'\nimport TimeInputs from './TimeInputs'\n\nexport const DisplayModeContext = React.createContext<{\n mode: 'AM' | 'PM' | undefined\n setMode: React.Dispatch<React.SetStateAction<'AM' | 'PM' | undefined>>\n}>({ mode: 'AM', setMode: () => {} })\n\ntype onChangeFunc = ({\n hours,\n minutes,\n focused,\n}: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n}) => any\n\nfunction TimePicker({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n locale,\n}: {\n locale?: undefined | string\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: onChangeFunc\n}) {\n const [displayMode, setDisplayMode] = React.useState<'AM' | 'PM' | undefined>(\n undefined\n )\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n\n // method to check whether we have 24 hours in clock or 12\n const is24Hour = React.useMemo(() => {\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC',\n })\n const formatted = formatter.format(new Date(Date.UTC(2020, 1, 1, 23)))\n return formatted.includes('23')\n }, [locale])\n\n // Initialize display Mode according the hours value\n React.useEffect(() => {\n if (hours >= 12) {\n setDisplayMode('PM')\n } else {\n setDisplayMode('AM')\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onInnerChange = React.useCallback<onChangeFunc>(\n (params) => {\n params.hours = toHourOutputFormat(params.hours, hours, is24Hour)\n onChange(params)\n },\n [onChange, hours, is24Hour]\n )\n\n return (\n <DisplayModeContext.Provider\n value={{ mode: displayMode, setMode: setDisplayMode }}\n >\n <View\n style={\n isLandscape\n ? [\n styles.rootLandscape,\n {\n width:\n 24 * 3 +\n 96 * 2 +\n 52 +\n (inputType === inputTypes.picker\n ? circleSize\n : -circleSize),\n },\n ]\n : styles.rootPortrait\n }\n >\n <TimeInputs\n inputType={inputType}\n hours={hours}\n minutes={minutes}\n is24Hour={is24Hour}\n onChange={onChange}\n onFocusInput={onFocusInput}\n focused={focused}\n />\n {inputType === inputTypes.picker ? (\n <View style={styles.clockContainer}>\n <AnalogClock\n hours={toHourInputFormat(hours, is24Hour)}\n minutes={minutes}\n focused={focused}\n is24Hour={is24Hour}\n onChange={onInnerChange}\n />\n </View>\n ) : null}\n </View>\n </DisplayModeContext.Provider>\n )\n}\n\nconst styles = StyleSheet.create({\n rootLandscape: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n rootPortrait: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n clockContainer: { paddingTop: 36, paddingLeft: 12, paddingRight: 12 },\n})\n\nexport default React.memo(TimePicker)\n"],"mappings":"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"}
1
+ {"version":3,"names":["DisplayModeContext","React","createContext","mode","setMode","TimePicker","hours","minutes","onFocusInput","focused","inputType","onChange","locale","use24HourClock","inputFontSize","displayMode","setDisplayMode","useState","undefined","dimensions","useWindowDimensions","isLandscape","width","height","is24Hour","useMemo","formatter","Intl","DateTimeFormat","hour","minute","timeZone","formatted","format","Date","UTC","includes","useEffect","onInnerChange","useCallback","params","toHourOutputFormat","styles","rootLandscape","inputTypes","picker","circleSize","rootPortrait","clockContainer","toHourInputFormat","StyleSheet","create","flexDirection","alignItems","justifyContent","paddingTop","paddingLeft","paddingRight","memo"],"sources":["TimePicker.tsx"],"sourcesContent":["import * as React from 'react'\nimport { View, StyleSheet, useWindowDimensions } from 'react-native'\n\nimport {\n inputTypes,\n PossibleClockTypes,\n PossibleInputTypes,\n toHourInputFormat,\n toHourOutputFormat,\n} from './timeUtils'\n\nimport AnalogClock from './AnalogClock'\nimport { circleSize } from './timeUtils'\nimport TimeInputs from './TimeInputs'\n\nexport const DisplayModeContext = React.createContext<{\n mode: 'AM' | 'PM' | undefined\n setMode: React.Dispatch<React.SetStateAction<'AM' | 'PM' | undefined>>\n}>({ mode: 'AM', setMode: () => {} })\n\ntype onChangeFunc = ({\n hours,\n minutes,\n focused,\n}: {\n hours: number\n minutes: number\n focused?: undefined | PossibleClockTypes\n}) => any\n\nfunction TimePicker({\n hours,\n minutes,\n onFocusInput,\n focused,\n inputType,\n onChange,\n locale,\n use24HourClock,\n inputFontSize,\n}: {\n locale?: undefined | string\n inputType: PossibleInputTypes\n focused: PossibleClockTypes\n hours: number\n minutes: number\n onFocusInput: (type: PossibleClockTypes) => any\n onChange: onChangeFunc\n use24HourClock?: boolean\n inputFontSize?: number\n}) {\n const [displayMode, setDisplayMode] = React.useState<'AM' | 'PM' | undefined>(\n undefined\n )\n const dimensions = useWindowDimensions()\n const isLandscape = dimensions.width > dimensions.height\n\n // method to check whether we have 24 hours in clock or 12\n const is24Hour = React.useMemo(() => {\n if (use24HourClock !== undefined) {\n return use24HourClock\n }\n const formatter = new Intl.DateTimeFormat(locale, {\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC',\n })\n const formatted = formatter.format(new Date(Date.UTC(2020, 1, 1, 23)))\n return formatted.includes('23')\n }, [locale, use24HourClock])\n\n // Initialize display Mode according the hours value\n React.useEffect(() => {\n if (hours >= 12) {\n setDisplayMode('PM')\n } else {\n setDisplayMode('AM')\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n const onInnerChange = React.useCallback<onChangeFunc>(\n (params) => {\n params.hours = toHourOutputFormat(params.hours, hours, is24Hour)\n onChange(params)\n },\n [onChange, hours, is24Hour]\n )\n\n return (\n <DisplayModeContext.Provider\n value={{ mode: displayMode, setMode: setDisplayMode }}\n >\n <View\n style={\n isLandscape\n ? [\n styles.rootLandscape,\n {\n width:\n 24 * 3 +\n 96 * 2 +\n 52 +\n (inputType === inputTypes.picker\n ? circleSize\n : -circleSize),\n },\n ]\n : styles.rootPortrait\n }\n >\n <TimeInputs\n inputType={inputType}\n inputFontSize={inputFontSize}\n hours={hours}\n minutes={minutes}\n is24Hour={is24Hour}\n onChange={onChange}\n onFocusInput={onFocusInput}\n focused={focused}\n />\n {inputType === inputTypes.picker ? (\n <View style={styles.clockContainer}>\n <AnalogClock\n hours={toHourInputFormat(hours, is24Hour)}\n minutes={minutes}\n focused={focused}\n is24Hour={is24Hour}\n onChange={onInnerChange}\n />\n </View>\n ) : null}\n </View>\n </DisplayModeContext.Provider>\n )\n}\n\nconst styles = StyleSheet.create({\n rootLandscape: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n rootPortrait: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n clockContainer: { paddingTop: 36, paddingLeft: 12, paddingRight: 12 },\n})\n\nexport default React.memo(TimePicker)\n"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;AAQA;;AAEA;;;;;;;;AAEO,MAAMA,kBAAkB,gBAAGC,KAAK,CAACC,aAAN,CAG/B;EAAEC,IAAI,EAAE,IAAR;EAAcC,OAAO,EAAE,MAAM,CAAE;AAA/B,CAH+B,CAA3B;;;AAeP,SAASC,UAAT,OAoBG;EAAA,IApBiB;IAClBC,KADkB;IAElBC,OAFkB;IAGlBC,YAHkB;IAIlBC,OAJkB;IAKlBC,SALkB;IAMlBC,QANkB;IAOlBC,MAPkB;IAQlBC,cARkB;IASlBC;EATkB,CAoBjB;EACD,MAAM,CAACC,WAAD,EAAcC,cAAd,IAAgCf,KAAK,CAACgB,QAAN,CACpCC,SADoC,CAAtC;EAGA,MAAMC,UAAU,GAAG,IAAAC,gCAAA,GAAnB;EACA,MAAMC,WAAW,GAAGF,UAAU,CAACG,KAAX,GAAmBH,UAAU,CAACI,MAAlD,CALC,CAOD;;EACA,MAAMC,QAAQ,GAAGvB,KAAK,CAACwB,OAAN,CAAc,MAAM;IACnC,IAAIZ,cAAc,KAAKK,SAAvB,EAAkC;MAChC,OAAOL,cAAP;IACD;;IACD,MAAMa,SAAS,GAAG,IAAIC,IAAI,CAACC,cAAT,CAAwBhB,MAAxB,EAAgC;MAChDiB,IAAI,EAAE,SAD0C;MAEhDC,MAAM,EAAE,SAFwC;MAGhDC,QAAQ,EAAE;IAHsC,CAAhC,CAAlB;IAKA,MAAMC,SAAS,GAAGN,SAAS,CAACO,MAAV,CAAiB,IAAIC,IAAJ,CAASA,IAAI,CAACC,GAAL,CAAS,IAAT,EAAe,CAAf,EAAkB,CAAlB,EAAqB,EAArB,CAAT,CAAjB,CAAlB;IACA,OAAOH,SAAS,CAACI,QAAV,CAAmB,IAAnB,CAAP;EACD,CAXgB,EAWd,CAACxB,MAAD,EAASC,cAAT,CAXc,CAAjB,CARC,CAqBD;;EACAZ,KAAK,CAACoC,SAAN,CAAgB,MAAM;IACpB,IAAI/B,KAAK,IAAI,EAAb,EAAiB;MACfU,cAAc,CAAC,IAAD,CAAd;IACD,CAFD,MAEO;MACLA,cAAc,CAAC,IAAD,CAAd;IACD,CALmB,CAMpB;;EACD,CAPD,EAOG,EAPH;EASA,MAAMsB,aAAa,GAAGrC,KAAK,CAACsC,WAAN,CACnBC,MAAD,IAAY;IACVA,MAAM,CAAClC,KAAP,GAAe,IAAAmC,6BAAA,EAAmBD,MAAM,CAAClC,KAA1B,EAAiCA,KAAjC,EAAwCkB,QAAxC,CAAf;IACAb,QAAQ,CAAC6B,MAAD,CAAR;EACD,CAJmB,EAKpB,CAAC7B,QAAD,EAAWL,KAAX,EAAkBkB,QAAlB,CALoB,CAAtB;EAQA,oBACE,oBAAC,kBAAD,CAAoB,QAApB;IACE,KAAK,EAAE;MAAErB,IAAI,EAAEY,WAAR;MAAqBX,OAAO,EAAEY;IAA9B;EADT,gBAGE,oBAAC,iBAAD;IACE,KAAK,EACHK,WAAW,GACP,CACEqB,MAAM,CAACC,aADT,EAEE;MACErB,KAAK,EACH,KAAK,CAAL,GACA,KAAK,CADL,GAEA,EAFA,IAGCZ,SAAS,KAAKkC,qBAAA,CAAWC,MAAzB,GACGC,qBADH,GAEG,CAACA,qBALL;IAFJ,CAFF,CADO,GAaPJ,MAAM,CAACK;EAff,gBAkBE,oBAAC,mBAAD;IACE,SAAS,EAAErC,SADb;IAEE,aAAa,EAAEI,aAFjB;IAGE,KAAK,EAAER,KAHT;IAIE,OAAO,EAAEC,OAJX;IAKE,QAAQ,EAAEiB,QALZ;IAME,QAAQ,EAAEb,QANZ;IAOE,YAAY,EAAEH,YAPhB;IAQE,OAAO,EAAEC;EARX,EAlBF,EA4BGC,SAAS,KAAKkC,qBAAA,CAAWC,MAAzB,gBACC,oBAAC,iBAAD;IAAM,KAAK,EAAEH,MAAM,CAACM;EAApB,gBACE,oBAAC,oBAAD;IACE,KAAK,EAAE,IAAAC,4BAAA,EAAkB3C,KAAlB,EAAyBkB,QAAzB,CADT;IAEE,OAAO,EAAEjB,OAFX;IAGE,OAAO,EAAEE,OAHX;IAIE,QAAQ,EAAEe,QAJZ;IAKE,QAAQ,EAAEc;EALZ,EADF,CADD,GAUG,IAtCN,CAHF,CADF;AA8CD;;AAED,MAAMI,MAAM,GAAGQ,uBAAA,CAAWC,MAAX,CAAkB;EAC/BR,aAAa,EAAE;IACbS,aAAa,EAAE,KADF;IAEbC,UAAU,EAAE,QAFC;IAGbC,cAAc,EAAE;EAHH,CADgB;EAM/BP,YAAY,EAAE;IACZM,UAAU,EAAE,QADA;IAEZC,cAAc,EAAE;EAFJ,CANiB;EAU/BN,cAAc,EAAE;IAAEO,UAAU,EAAE,EAAd;IAAkBC,WAAW,EAAE,EAA/B;IAAmCC,YAAY,EAAE;EAAjD;AAVe,CAAlB,CAAf;;4BAaexD,KAAK,CAACyD,IAAN,CAAWrD,UAAX,C"}