react-native-paper-dates 0.12.0 → 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 (74) 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/index.js +9 -0
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/translations/he.js +25 -0
  25. package/lib/commonjs/translations/he.js.map +1 -0
  26. package/lib/module/Date/CalendarEdit.js +8 -4
  27. package/lib/module/Date/CalendarEdit.js.map +1 -1
  28. package/lib/module/Date/DatePickerInput.js +4 -2
  29. package/lib/module/Date/DatePickerInput.js.map +1 -1
  30. package/lib/module/Date/DatePickerInput.shared.js.map +1 -1
  31. package/lib/module/Date/DatePickerInputWithoutModal.js +14 -1
  32. package/lib/module/Date/DatePickerInputWithoutModal.js.map +1 -1
  33. package/lib/module/Date/DatePickerModal.js +2 -0
  34. package/lib/module/Date/DatePickerModal.js.map +1 -1
  35. package/lib/module/Date/DatePickerModalContent.js +4 -2
  36. package/lib/module/Date/DatePickerModalContent.js.map +1 -1
  37. package/lib/module/Date/DatePickerModalContentHeader.js +6 -4
  38. package/lib/module/Date/DatePickerModalContentHeader.js.map +1 -1
  39. package/lib/module/Date/Swiper.js +6 -4
  40. package/lib/module/Date/Swiper.js.map +1 -1
  41. package/lib/module/Date/Swiper.native.js +2 -1
  42. package/lib/module/Date/Swiper.native.js.map +1 -1
  43. package/lib/module/Date/YearPicker.js +4 -1
  44. package/lib/module/Date/YearPicker.js.map +1 -1
  45. package/lib/module/TextInputMask.js +2 -0
  46. package/lib/module/TextInputMask.js.map +1 -1
  47. package/lib/module/index.js +1 -0
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/translations/he.js +18 -0
  50. package/lib/module/translations/he.js.map +1 -0
  51. package/lib/typescript/Date/CalendarEdit.d.ts +2 -1
  52. package/lib/typescript/Date/DatePickerInput.d.ts +1 -1
  53. package/lib/typescript/Date/DatePickerInput.shared.d.ts +2 -1
  54. package/lib/typescript/Date/DatePickerInputWithoutModal.d.ts +8 -7
  55. package/lib/typescript/Date/DatePickerModal.d.ts +1 -0
  56. package/lib/typescript/Date/DatePickerModalContent.d.ts +1 -0
  57. package/lib/typescript/Date/DatePickerModalContentHeader.d.ts +2 -0
  58. package/lib/typescript/TextInputMask.d.ts +5 -6
  59. package/lib/typescript/index.d.ts +1 -0
  60. package/lib/typescript/translations/he.d.ts +3 -0
  61. package/package.json +26 -25
  62. package/src/Date/CalendarEdit.tsx +5 -0
  63. package/src/Date/DatePickerInput.shared.tsx +2 -1
  64. package/src/Date/DatePickerInput.tsx +2 -0
  65. package/src/Date/DatePickerInputWithoutModal.tsx +14 -0
  66. package/src/Date/DatePickerModal.tsx +3 -0
  67. package/src/Date/DatePickerModalContent.tsx +3 -0
  68. package/src/Date/DatePickerModalContentHeader.tsx +9 -3
  69. package/src/Date/Swiper.native.tsx +1 -0
  70. package/src/Date/Swiper.tsx +3 -1
  71. package/src/Date/YearPicker.tsx +4 -1
  72. package/src/TextInputMask.tsx +2 -0
  73. package/src/index.tsx +1 -0
  74. 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":";;;;;;;AAAA;;AACA;;;;;;;;AAEA,MAAMA,eAAe,GAAG,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,EAAgB,GAAhB,EAAqB,GAArB,CAAxB;;AACA,SAASC,eAAT,CAAyBC,IAAzB,EAA+C;EAC7C,MAAMC,CAAC,GAAGH,eAAe,CAACI,IAAhB,CAAsBC,EAAD,IAAQH,IAAI,CAACI,QAAL,CAAcD,EAAd,CAA7B,CAAV;EACA,OAAOF,CAAC,IAAI,EAAZ;AACD;;AAED,SAASI,mBAAT,CACEC,IADF,EAEEN,IAFF,EAGEO,aAHF,EAIU;EACR,MAAMC,WAAW,GAAGD,aAAa,CAACE,MAAd,GAAuBH,IAAI,CAACG,MAAhD;EACA,MAAMC,cAAc,GAAGX,eAAe,CAACC,IAAD,CAAtC;EAEA,MAAMW,SAAS,GAAGX,IAAI,CAACY,KAAL,CAAWF,cAAX,CAAlB;EACA,MAAMG,SAAS,GAAGP,IAAI,CAACM,KAAL,CAAWF,cAAX,CAAlB;EAEA,IAAII,WAAqB,GAAG,EAA5B;;EACA,KAAK,IAAIC,aAAa,GAAG,CAAzB,EAA4BA,aAAa,GAAGf,IAAI,CAACS,MAAjD,EAAyDM,aAAa,EAAtE,EAA0E;IACxE,IAAIC,UAAoB,GAAG,EAA3B;IAEA,MAAMC,QAAQ,GAAGN,SAAS,CAACI,aAAD,CAA1B;IACA,MAAMG,QAAQ,GAAGL,SAAS,CAACE,aAAD,CAA1B;;IACA,IAAI,CAACG,QAAL,EAAe;MACb;IACD;;IAED,KACE,IAAIC,cAAc,GAAG,CADvB,EAEEA,cAAc,GAAGF,QAAQ,CAACR,MAF5B,EAGEU,cAAc,EAHhB,EAIE;MACA,MAAMC,gBAAgB,GAAGF,QAAQ,CAACC,cAAD,CAAjC;;MAEA,IAAIX,WAAW,IAAIY,gBAAgB,KAAKC,SAAxC,EAAmD;QACjD;MACD;;MAED,MAAMC,SAAS,GAAGJ,QAAQ,CAACC,cAAD,CAA1B;;MAEA,IAAIG,SAAS,KAAKD,SAAlB,EAA6B;QAC3BL,UAAU,CAACO,IAAX,CAAgBD,SAAhB;MACD;IACF;;IAEDR,WAAW,CAACS,IAAZ,CAAiBP,UAAU,CAACQ,IAAX,CAAgB,EAAhB,CAAjB;EACD;;EAED,MAAMC,QAAQ,GAAGX,WAAW,CAACA,WAAW,CAACL,MAAZ,GAAqB,CAAtB,CAA5B;EACA,MAAMiB,YAAY,GAAGf,SAAS,CAACG,WAAW,CAACL,MAAZ,GAAqB,CAAtB,CAA9B;;EACA,KACE;EACAK,WAAW,CAACL,MAAZ,KAAuBE,SAAS,CAACF,MAAjC,IACA;EACAgB,QAFA,IAGAC,YAHA,IAIAD,QAAQ,CAAChB,MAAT,KAAoBiB,YAAY,CAACjB,MANnC,EAOE;IACA,OACEK,WAAW,CAACU,IAAZ,CAAiBd,cAAjB,KAAoCF,WAAW,GAAG,EAAH,GAAQE,cAAvD,CADF;EAGD;;EACD,OAAOI,WAAW,CAACU,IAAZ,CAAiBd,cAAjB,CAAP;AACD;;AAED,SAASiB,iBAAT,OAQEC,GARF,EASE;EAAA,IARA;IACEC,YADF;IAEEC,QAFF;IAGEC,KAHF;IAIE/B,IAJF;IAKE,GAAGgC;EALL,CAQA;EACA,MAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCC,KAAK,CAACC,QAAN,CAC5CL,KAAK,IAAI,EADmC,CAA9C;;EAIA,MAAMM,aAAa,GAAI/B,IAAD,IAAkB;IACtC,IAAIA,IAAI,CAACG,MAAL,KAAgBT,IAAI,CAACS,MAAzB,EAAiC;MAC/BoB,YAAY,IAAIA,YAAY,CAACvB,IAAD,CAA5B;IACD;;IACD4B,kBAAkB,CAAC5B,IAAD,CAAlB;EACD,CALD;;EAOA,MAAMgC,WAAW,GAAG,MAAM;IACxB,MAAMC,YAAY,GAAGlC,mBAAmB,CAAC0B,KAAD,EAAQ/B,IAAR,EAAciC,eAAd,CAAxC;IACAC,kBAAkB,CAACK,YAAD,CAAlB;EACD,CAHD;;EAKAJ,KAAK,CAACK,SAAN,CAAgB,MAAM;IACpBN,kBAAkB,CAACH,KAAK,IAAI,EAAV,CAAlB;EACD,CAFD,EAEG,CAACA,KAAD,CAFH;EAIA,oBACE,oBAAC,2BAAD;IACE,GAAG,EAAEH;EADP,GAEMI,IAFN;IAGE,KAAK,EAAEC,eAHT;IAIE,YAAY,EAAEI,aAJhB;IAKE,QAAQ,EAAGI,CAAD,IAAO;MACfX,QAAQ,IAAIA,QAAQ,CAACW,CAAD,CAApB;IACD,CAPH;IAQE,MAAM,EAAEH;EARV,GADF;AAYD;;4BAEcH,KAAK,CAACO,UAAN,CAAiBf,iBAAjB,C"}
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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"}
@@ -18,6 +18,7 @@ var _exportNames = {
18
18
  enGB: true,
19
19
  es: true,
20
20
  fr: true,
21
+ he: true,
21
22
  it: true,
22
23
  ko: true,
23
24
  nl: true,
@@ -103,6 +104,12 @@ Object.defineProperty(exports, "getTranslation", {
103
104
  return _utils.getTranslation;
104
105
  }
105
106
  });
107
+ Object.defineProperty(exports, "he", {
108
+ enumerable: true,
109
+ get: function () {
110
+ return _he.default;
111
+ }
112
+ });
106
113
  Object.defineProperty(exports, "it", {
107
114
  enumerable: true,
108
115
  get: function () {
@@ -184,6 +191,8 @@ var _es = _interopRequireDefault(require("./translations/es"));
184
191
 
185
192
  var _fr = _interopRequireDefault(require("./translations/fr"));
186
193
 
194
+ var _he = _interopRequireDefault(require("./translations/he"));
195
+
187
196
  var _it = _interopRequireDefault(require("./translations/it"));
188
197
 
189
198
  var _ko = _interopRequireDefault(require("./translations/ko"));
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export { default as Calendar } from './Date/Calendar'\nexport { default as DatePickerModal } from './Date/DatePickerModal'\nexport * from './Date/DatePickerModal'\nexport { default as DatePickerModalContent } from './Date/DatePickerModalContent'\nexport { default as TimePickerModal } from './Time/TimePickerModal'\nexport { default as TimePicker } from './Time/TimePicker'\nexport { default as DatePickerInput } from './Date/DatePickerInput'\nexport type { TranslationsType } from './translations/utils'\nexport { registerTranslation, getTranslation } from './translations/utils'\n\nexport { default as ar } from './translations/ar'\nexport { default as de } from './translations/de'\nexport { default as en } from './translations/en'\nexport { default as enGB } from './translations/enGB'\nexport { default as es } from './translations/es'\nexport { default as fr } from './translations/fr'\nexport { default as it } from './translations/it'\nexport { default as ko } from './translations/ko'\nexport { default as nl } from './translations/nl'\nexport { default as pl } from './translations/pl'\nexport { default as pt } from './translations/pt'\nexport { default as tr } from './translations/tr'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export { default as Calendar } from './Date/Calendar'\nexport { default as DatePickerModal } from './Date/DatePickerModal'\nexport * from './Date/DatePickerModal'\nexport { default as DatePickerModalContent } from './Date/DatePickerModalContent'\nexport { default as TimePickerModal } from './Time/TimePickerModal'\nexport { default as TimePicker } from './Time/TimePicker'\nexport { default as DatePickerInput } from './Date/DatePickerInput'\nexport type { TranslationsType } from './translations/utils'\nexport { registerTranslation, getTranslation } from './translations/utils'\n\nexport { default as ar } from './translations/ar'\nexport { default as de } from './translations/de'\nexport { default as en } from './translations/en'\nexport { default as enGB } from './translations/enGB'\nexport { default as es } from './translations/es'\nexport { default as fr } from './translations/fr'\nexport { default as he } from './translations/he'\nexport { default as it } from './translations/it'\nexport { default as ko } from './translations/ko'\nexport { default as nl } from './translations/nl'\nexport { default as pl } from './translations/pl'\nexport { default as pt } from './translations/pt'\nexport { default as tr } from './translations/tr'\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const he = {
8
+ save: 'שמור',
9
+ selectSingle: 'בחר תאריך',
10
+ selectMultiple: 'בחר תאריכים',
11
+ selectRange: 'בחר טווח',
12
+ notAccordingToDateFormat: inputFormat => `פורמט של תאריך צריך להיות ${inputFormat}`,
13
+ mustBeHigherThan: date => `חייב להיות אחרי ${date}`,
14
+ mustBeLowerThan: date => `חייב להיות לפני ${date}`,
15
+ mustBeBetween: (startDate, endDate) => `חייב להיות בין ${startDate} - ${endDate}`,
16
+ dateIsDisabled: 'יום לא מורשה',
17
+ previous: 'הקודם',
18
+ next: 'הבא',
19
+ typeInDate: 'הקש תאריך',
20
+ pickDateFromCalendar: 'בחר תאריך מהלוח שנה',
21
+ close: 'סגור'
22
+ };
23
+ var _default = he;
24
+ exports.default = _default;
25
+ //# sourceMappingURL=he.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["he","save","selectSingle","selectMultiple","selectRange","notAccordingToDateFormat","inputFormat","mustBeHigherThan","date","mustBeLowerThan","mustBeBetween","startDate","endDate","dateIsDisabled","previous","next","typeInDate","pickDateFromCalendar","close"],"sources":["he.ts"],"sourcesContent":["import type { TranslationsType } from './utils'\n\nconst he: TranslationsType = {\n save: 'שמור',\n selectSingle: 'בחר תאריך',\n selectMultiple: 'בחר תאריכים',\n selectRange: 'בחר טווח',\n notAccordingToDateFormat: (inputFormat) =>\n `פורמט של תאריך צריך להיות ${inputFormat}`,\n mustBeHigherThan: (date) => `חייב להיות אחרי ${date}`,\n mustBeLowerThan: (date) => `חייב להיות לפני ${date}`,\n mustBeBetween: (startDate, endDate) =>\n `חייב להיות בין ${startDate} - ${endDate}`,\n dateIsDisabled: 'יום לא מורשה',\n previous: 'הקודם',\n next: 'הבא',\n typeInDate: 'הקש תאריך',\n pickDateFromCalendar: 'בחר תאריך מהלוח שנה',\n close: 'סגור',\n}\nexport default he\n"],"mappings":";;;;;;AAEA,MAAMA,EAAoB,GAAG;EAC3BC,IAAI,EAAE,MADqB;EAE3BC,YAAY,EAAE,WAFa;EAG3BC,cAAc,EAAE,aAHW;EAI3BC,WAAW,EAAE,UAJc;EAK3BC,wBAAwB,EAAGC,WAAD,IACvB,6BAA4BA,WAAY,EANhB;EAO3BC,gBAAgB,EAAGC,IAAD,IAAW,mBAAkBA,IAAK,EAPzB;EAQ3BC,eAAe,EAAGD,IAAD,IAAW,mBAAkBA,IAAK,EARxB;EAS3BE,aAAa,EAAE,CAACC,SAAD,EAAYC,OAAZ,KACZ,kBAAiBD,SAAU,MAAKC,OAAQ,EAVhB;EAW3BC,cAAc,EAAE,cAXW;EAY3BC,QAAQ,EAAE,OAZiB;EAa3BC,IAAI,EAAE,KAbqB;EAc3BC,UAAU,EAAE,WAde;EAe3BC,oBAAoB,EAAE,qBAfK;EAgB3BC,KAAK,EAAE;AAhBoB,CAA7B;eAkBelB,E"}
@@ -12,7 +12,8 @@ function CalendarEdit(_ref) {
12
12
  collapsed,
13
13
  onChange,
14
14
  validRange,
15
- locale
15
+ locale,
16
+ inputEnabled
16
17
  } = _ref;
17
18
  const dateInput = React.useRef(null);
18
19
  const startInput = React.useRef(null);
@@ -56,7 +57,8 @@ function CalendarEdit(_ref) {
56
57
  validRange: validRange,
57
58
  locale: locale,
58
59
  withModal: false,
59
- autoComplete: 'off'
60
+ autoComplete: 'off',
61
+ inputEnabled: inputEnabled
60
62
  }) : null, mode === 'range' ? /*#__PURE__*/React.createElement(View, {
61
63
  style: styles.inner
62
64
  }, /*#__PURE__*/React.createElement(DatePickerInputWithoutModal, {
@@ -72,7 +74,8 @@ function CalendarEdit(_ref) {
72
74
  validRange: validRange,
73
75
  locale: locale,
74
76
  withModal: false,
75
- autoComplete: 'off'
77
+ autoComplete: 'off',
78
+ inputEnabled: inputEnabled
76
79
  }), /*#__PURE__*/React.createElement(View, {
77
80
  style: styles.separator
78
81
  }), /*#__PURE__*/React.createElement(DatePickerInputWithoutModal, {
@@ -87,7 +90,8 @@ function CalendarEdit(_ref) {
87
90
  validRange: validRange,
88
91
  locale: locale,
89
92
  withModal: false,
90
- autoComplete: "off"
93
+ autoComplete: "off",
94
+ inputEnabled: inputEnabled
91
95
  })) : null);
92
96
  }
93
97
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","StyleSheet","Keyboard","DatePickerInputWithoutModal","CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","dateInput","useRef","startInput","endInput","useEffect","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","date","inner","startDate","separator","endDate","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"sources":["CalendarEdit.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n TextInput as TextInputNative,\n Keyboard,\n} from 'react-native'\n\nimport type { ModeType, ValidRangeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\n\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction CalendarEdit({\n mode,\n state,\n label = '',\n startLabel = 'Start',\n endLabel = 'End',\n collapsed,\n onChange,\n validRange,\n locale,\n}: {\n mode: ModeType\n label?: string\n startLabel?: string\n endLabel?: string\n state: LocalState\n collapsed: boolean\n onChange: (s: LocalState) => any\n validRange: ValidRangeType | undefined\n locale: string\n}) {\n const dateInput = React.useRef<TextInputNative | null>(null)\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n\n // when switching views focus, or un-focus text input\n React.useEffect(() => {\n // hide open keyboard\n if (collapsed) {\n Keyboard.dismiss()\n }\n\n const inputsToFocus = [dateInput.current, startInput.current].filter(\n (n) => n\n ) as TextInputNative[]\n\n const inputsToBlur = [\n dateInput.current,\n startInput.current,\n endInput.current,\n ].filter((n) => n) as TextInputNative[]\n\n if (collapsed) {\n inputsToBlur.forEach((ip) => ip.blur())\n } else {\n inputsToFocus.forEach((ip) => ip.focus())\n }\n }, [mode, startInput, endInput, dateInput, collapsed])\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 range\n }, [])\n\n const onSubmitInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n return (\n <View style={styles.root}>\n {mode === 'single' ? (\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={dateInput}\n label={label}\n value={state.date}\n onChange={(date) => onChange({ ...state, date })}\n onSubmitEditing={onSubmitInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n />\n ) : null}\n {mode === 'range' ? (\n <View style={styles.inner}>\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={startInput}\n label={startLabel}\n value={state.startDate}\n onChange={(startDate) => onChange({ ...state, startDate })}\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n />\n <View style={styles.separator} />\n <DatePickerInputWithoutModal\n inputMode=\"end\"\n ref={endInput}\n label={endLabel}\n value={state.endDate}\n onChange={(endDate) => onChange({ ...state, endDate })}\n onSubmitEditing={onSubmitEndInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete=\"off\"\n />\n </View>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { padding: 12 },\n inner: { flexDirection: 'row' },\n inputContainer: { flex: 1 },\n input: { flex: 1 },\n separator: { width: 12 },\n})\n\nexport default React.memo(CalendarEdit)\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","StyleSheet","Keyboard","DatePickerInputWithoutModal","CalendarEdit","mode","state","label","startLabel","endLabel","collapsed","onChange","validRange","locale","inputEnabled","dateInput","useRef","startInput","endInput","useEffect","dismiss","inputsToFocus","current","filter","n","inputsToBlur","forEach","ip","blur","focus","onSubmitStartInput","useCallback","onSubmitEndInput","onSubmitInput","styles","root","date","inner","startDate","separator","endDate","create","padding","flexDirection","inputContainer","flex","input","width","memo"],"sources":["CalendarEdit.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n View,\n StyleSheet,\n TextInput as TextInputNative,\n Keyboard,\n} from 'react-native'\n\nimport type { ModeType, ValidRangeType } from './Calendar'\nimport type { LocalState } from './DatePickerModalContent'\n\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction CalendarEdit({\n mode,\n state,\n label = '',\n startLabel = 'Start',\n endLabel = 'End',\n collapsed,\n onChange,\n validRange,\n locale,\n inputEnabled,\n}: {\n mode: ModeType\n label?: string\n startLabel?: string\n endLabel?: string\n state: LocalState\n collapsed: boolean\n onChange: (s: LocalState) => any\n validRange: ValidRangeType | undefined\n locale: string\n inputEnabled?: boolean\n}) {\n const dateInput = React.useRef<TextInputNative | null>(null)\n const startInput = React.useRef<TextInputNative | null>(null)\n const endInput = React.useRef<TextInputNative | null>(null)\n\n // when switching views focus, or un-focus text input\n React.useEffect(() => {\n // hide open keyboard\n if (collapsed) {\n Keyboard.dismiss()\n }\n\n const inputsToFocus = [dateInput.current, startInput.current].filter(\n (n) => n\n ) as TextInputNative[]\n\n const inputsToBlur = [\n dateInput.current,\n startInput.current,\n endInput.current,\n ].filter((n) => n) as TextInputNative[]\n\n if (collapsed) {\n inputsToBlur.forEach((ip) => ip.blur())\n } else {\n inputsToFocus.forEach((ip) => ip.focus())\n }\n }, [mode, startInput, endInput, dateInput, collapsed])\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 range\n }, [])\n\n const onSubmitInput = React.useCallback(() => {\n // TODO: close modal and persist range\n }, [])\n\n return (\n <View style={styles.root}>\n {mode === 'single' ? (\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={dateInput}\n label={label}\n value={state.date}\n onChange={(date) => onChange({ ...state, date })}\n onSubmitEditing={onSubmitInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n inputEnabled={inputEnabled}\n />\n ) : null}\n {mode === 'range' ? (\n <View style={styles.inner}>\n <DatePickerInputWithoutModal\n inputMode=\"start\"\n ref={startInput}\n label={startLabel}\n value={state.startDate}\n onChange={(startDate) => onChange({ ...state, startDate })}\n returnKeyType={'next'}\n onSubmitEditing={onSubmitStartInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete={'off'}\n inputEnabled={inputEnabled}\n />\n <View style={styles.separator} />\n <DatePickerInputWithoutModal\n inputMode=\"end\"\n ref={endInput}\n label={endLabel}\n value={state.endDate}\n onChange={(endDate) => onChange({ ...state, endDate })}\n onSubmitEditing={onSubmitEndInput}\n validRange={validRange}\n locale={locale}\n withModal={false}\n autoComplete=\"off\"\n inputEnabled={inputEnabled}\n />\n </View>\n ) : null}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: { padding: 12 },\n inner: { flexDirection: 'row' },\n inputContainer: { flex: 1 },\n input: { flex: 1 },\n separator: { width: 12 },\n})\n\nexport default React.memo(CalendarEdit)\n"],"mappings":"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"}
@@ -46,7 +46,8 @@ function DatePickerInput(_ref, ref) {
46
46
  saveLabelDisabled,
47
47
  uppercase,
48
48
  startYear,
49
- endYear
49
+ endYear,
50
+ inputEnabled
50
51
  } = _ref3;
51
52
  return withModal ? /*#__PURE__*/React.createElement(DatePickerModal, {
52
53
  date: value,
@@ -61,7 +62,8 @@ function DatePickerInput(_ref, ref) {
61
62
  saveLabelDisabled: saveLabelDisabled ?? false,
62
63
  uppercase: uppercase ?? true,
63
64
  startYear: startYear ?? 1800,
64
- endYear: endYear ?? 2200
65
+ endYear: endYear ?? 2200,
66
+ inputEnabled: inputEnabled
65
67
  }) : null;
66
68
  }
67
69
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["React","IconButton","StyleSheet","DatePickerModal","useLatest","DatePickerInputWithoutModal","DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onChange","onInnerConfirm","date","current","styles","calendarButton","disabled","value","locale","inputMode","validRange","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","create","position","right","zIndex","forwardRef"],"sources":["DatePickerInput.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconButton } from 'react-native-paper'\nimport { StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport { useLatest } from '../utils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction DatePickerInput(\n {\n withModal = true,\n calendarIcon = 'calendar',\n ...rest\n }: DatePickerInputProps,\n ref: any\n) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(rest.onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }: any) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <DatePickerInputWithoutModal\n ref={ref}\n {...rest}\n inputButtons={\n withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon={calendarIcon}\n disabled={rest.disabled}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n modal={({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n }) =>\n withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n validRange={validRange}\n saveLabel={saveLabel}\n saveLabelDisabled={saveLabelDisabled ?? false}\n uppercase={uppercase ?? true}\n startYear={startYear ?? 1800}\n endYear={endYear ?? 2200}\n />\n ) : null\n }\n />\n )\n}\n\nconst styles = StyleSheet.create({\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\n\nexport default React.forwardRef(DatePickerInput)\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAEA,OAAOC,2BAAP,MAAwC,+BAAxC;;AAEA,SAASC,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBZ,KAAK,CAACa,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGd,KAAK,CAACe,WAAN,CAAkB,MAAM;IACxCH,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMI,WAAW,GAAGZ,SAAS,CAACM,IAAI,CAACO,QAAN,CAA7B;EACA,MAAMC,cAAc,GAAGlB,KAAK,CAACe,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEI;IAAF,CAAkB;IACjBP,UAAU,CAAC,KAAD,CAAV;IACAI,WAAW,CAACI,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACP,UAAD,EAAaI,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,2BAAD;IACE,GAAG,EAAET;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,UAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEa,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEb,YAHR;MAIE,QAAQ,EAAEC,IAAI,CAACa,QAJjB;MAKE,OAAO,EAAE,MAAMX,UAAU,CAAC,IAAD;IAL3B,EADO,GAQL,IAZR,CAcE;IAdF;IAeE,KAAK,EAAE;MAAA,IAAC;QACNY,KADM;QAENC,MAFM;QAGNC,SAHM;QAINC,UAJM;QAKNC,SALM;QAMNC,iBANM;QAONC,SAPM;QAQNC,SARM;QASNC;MATM,CAAD;MAAA,OAWLxB,SAAS,gBACP,oBAAC,eAAD;QACE,IAAI,EAAEgB,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEb,OAHX;QAIE,SAAS,EAAEG,SAJb;QAKE,SAAS,EAAEI,cALb;QAME,MAAM,EAAEO,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC,UARd;QASE,SAAS,EAAEC,SATb;QAUE,iBAAiB,EAAEC,iBAAiB,IAAI,KAV1C;QAWE,SAAS,EAAEC,SAAS,IAAI,IAX1B;QAYE,SAAS,EAAEC,SAAS,IAAI,IAZ1B;QAaE,OAAO,EAAEC,OAAO,IAAI;MAbtB,EADO,GAgBL,IA3BC;IAAA;EAfT,GADF;AA+CD;;AAED,MAAMX,MAAM,GAAGnB,UAAU,CAAC+B,MAAX,CAAkB;EAC/BX,cAAc,EAAE;IAAEY,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;AAIA,4BAAepC,KAAK,CAACqC,UAAN,CAAiB/B,eAAjB,CAAf"}
1
+ {"version":3,"names":["React","IconButton","StyleSheet","DatePickerModal","useLatest","DatePickerInputWithoutModal","DatePickerInput","ref","withModal","calendarIcon","rest","visible","setVisible","useState","onDismiss","useCallback","onChangeRef","onChange","onInnerConfirm","date","current","styles","calendarButton","disabled","value","locale","inputMode","validRange","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","inputEnabled","create","position","right","zIndex","forwardRef"],"sources":["DatePickerInput.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { IconButton } from 'react-native-paper'\nimport { StyleSheet } from 'react-native'\nimport DatePickerModal from './DatePickerModal'\nimport { useLatest } from '../utils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\nimport DatePickerInputWithoutModal from './DatePickerInputWithoutModal'\n\nfunction DatePickerInput(\n {\n withModal = true,\n calendarIcon = 'calendar',\n ...rest\n }: DatePickerInputProps,\n ref: any\n) {\n const [visible, setVisible] = React.useState<boolean>(false)\n const onDismiss = React.useCallback(() => {\n setVisible(false)\n }, [setVisible])\n const onChangeRef = useLatest(rest.onChange)\n const onInnerConfirm = React.useCallback(\n ({ date }: any) => {\n setVisible(false)\n onChangeRef.current(date)\n },\n [setVisible, onChangeRef]\n )\n\n return (\n <DatePickerInputWithoutModal\n ref={ref}\n {...rest}\n inputButtons={\n withModal ? (\n <IconButton\n size={24}\n style={styles.calendarButton}\n icon={calendarIcon}\n disabled={rest.disabled}\n onPress={() => setVisible(true)}\n />\n ) : null\n }\n // eslint-disable-next-line react/no-unstable-nested-components\n modal={({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n inputEnabled,\n }) =>\n withModal ? (\n <DatePickerModal\n date={value}\n mode=\"single\"\n visible={visible}\n onDismiss={onDismiss}\n onConfirm={onInnerConfirm}\n locale={locale}\n dateMode={inputMode}\n validRange={validRange}\n saveLabel={saveLabel}\n saveLabelDisabled={saveLabelDisabled ?? false}\n uppercase={uppercase ?? true}\n startYear={startYear ?? 1800}\n endYear={endYear ?? 2200}\n inputEnabled={inputEnabled}\n />\n ) : null\n }\n />\n )\n}\n\nconst styles = StyleSheet.create({\n calendarButton: { position: 'absolute', right: 0, zIndex: 10 },\n})\n\nexport default React.forwardRef(DatePickerInput)\n"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,UAAT,QAA2B,oBAA3B;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,eAAP,MAA4B,mBAA5B;AACA,SAASC,SAAT,QAA0B,UAA1B;AAEA,OAAOC,2BAAP,MAAwC,+BAAxC;;AAEA,SAASC,eAAT,OAMEC,GANF,EAOE;EAAA,IANA;IACEC,SAAS,GAAG,IADd;IAEEC,YAAY,GAAG,UAFjB;IAGE,GAAGC;EAHL,CAMA;EACA,MAAM,CAACC,OAAD,EAAUC,UAAV,IAAwBZ,KAAK,CAACa,QAAN,CAAwB,KAAxB,CAA9B;EACA,MAAMC,SAAS,GAAGd,KAAK,CAACe,WAAN,CAAkB,MAAM;IACxCH,UAAU,CAAC,KAAD,CAAV;EACD,CAFiB,EAEf,CAACA,UAAD,CAFe,CAAlB;EAGA,MAAMI,WAAW,GAAGZ,SAAS,CAACM,IAAI,CAACO,QAAN,CAA7B;EACA,MAAMC,cAAc,GAAGlB,KAAK,CAACe,WAAN,CACrB,SAAmB;IAAA,IAAlB;MAAEI;IAAF,CAAkB;IACjBP,UAAU,CAAC,KAAD,CAAV;IACAI,WAAW,CAACI,OAAZ,CAAoBD,IAApB;EACD,CAJoB,EAKrB,CAACP,UAAD,EAAaI,WAAb,CALqB,CAAvB;EAQA,oBACE,oBAAC,2BAAD;IACE,GAAG,EAAET;EADP,GAEMG,IAFN;IAGE,YAAY,EACVF,SAAS,gBACP,oBAAC,UAAD;MACE,IAAI,EAAE,EADR;MAEE,KAAK,EAAEa,MAAM,CAACC,cAFhB;MAGE,IAAI,EAAEb,YAHR;MAIE,QAAQ,EAAEC,IAAI,CAACa,QAJjB;MAKE,OAAO,EAAE,MAAMX,UAAU,CAAC,IAAD;IAL3B,EADO,GAQL,IAZR,CAcE;IAdF;IAeE,KAAK,EAAE;MAAA,IAAC;QACNY,KADM;QAENC,MAFM;QAGNC,SAHM;QAINC,UAJM;QAKNC,SALM;QAMNC,iBANM;QAONC,SAPM;QAQNC,SARM;QASNC,OATM;QAUNC;MAVM,CAAD;MAAA,OAYLzB,SAAS,gBACP,oBAAC,eAAD;QACE,IAAI,EAAEgB,KADR;QAEE,IAAI,EAAC,QAFP;QAGE,OAAO,EAAEb,OAHX;QAIE,SAAS,EAAEG,SAJb;QAKE,SAAS,EAAEI,cALb;QAME,MAAM,EAAEO,MANV;QAOE,QAAQ,EAAEC,SAPZ;QAQE,UAAU,EAAEC,UARd;QASE,SAAS,EAAEC,SATb;QAUE,iBAAiB,EAAEC,iBAAiB,IAAI,KAV1C;QAWE,SAAS,EAAEC,SAAS,IAAI,IAX1B;QAYE,SAAS,EAAEC,SAAS,IAAI,IAZ1B;QAaE,OAAO,EAAEC,OAAO,IAAI,IAbtB;QAcE,YAAY,EAAEC;MAdhB,EADO,GAiBL,IA7BC;IAAA;EAfT,GADF;AAiDD;;AAED,MAAMZ,MAAM,GAAGnB,UAAU,CAACgC,MAAX,CAAkB;EAC/BZ,cAAc,EAAE;IAAEa,QAAQ,EAAE,UAAZ;IAAwBC,KAAK,EAAE,CAA/B;IAAkCC,MAAM,EAAE;EAA1C;AADe,CAAlB,CAAf;AAIA,4BAAerC,KAAK,CAACsC,UAAN,CAAiBhC,eAAjB,CAAf"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["DatePickerInput.shared.tsx"],"sourcesContent":["import type { ValidRangeType } from './Calendar'\nimport type * as React from 'react'\nimport type { TextInput } from 'react-native-paper'\n\nexport type DatePickerInputProps = {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n hideValidationErrors?: boolean\n hasError?: boolean\n onValidationError?: ((error: string | null) => void) | undefined\n calendarIcon?: string\n saveLabel?: string\n saveLabelDisabled?: boolean\n uppercase?: boolean\n startYear?: number\n endYear?: number\n onChangeText?: (text: string | undefined) => void\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText'\n>\n"],"mappings":""}
1
+ {"version":3,"names":[],"sources":["DatePickerInput.shared.tsx"],"sourcesContent":["import type { ValidRangeType } from './Calendar'\nimport type * as React from 'react'\nimport type { TextInput } from 'react-native-paper'\n\nexport type DatePickerInputProps = {\n inputMode: 'start' | 'end'\n locale: string\n onChange: (date: Date | undefined) => void\n value: Date | undefined\n validRange?: ValidRangeType | undefined\n withModal?: boolean\n withDateFormatInLabel?: boolean\n hideValidationErrors?: boolean\n hasError?: boolean\n onValidationError?: ((error: string | null) => void) | undefined\n calendarIcon?: string\n saveLabel?: string\n saveLabelDisabled?: boolean\n uppercase?: boolean\n startYear?: number\n endYear?: number\n onChangeText?: (text: string | undefined) => void\n inputEnabled?: boolean\n} & Omit<\n React.ComponentProps<typeof TextInput>,\n 'value' | 'onChange' | 'onChangeText' | 'inputMode'\n>\n"],"mappings":""}
@@ -27,6 +27,7 @@ function DatePickerInputWithoutModal(_ref, ref) {
27
27
  startYear,
28
28
  endYear,
29
29
  onChangeText,
30
+ inputEnabled,
30
31
  ...rest
31
32
  } = _ref;
32
33
  const theme = useTheme();
@@ -43,6 +44,16 @@ function DatePickerInputWithoutModal(_ref, ref) {
43
44
  onChange,
44
45
  onValidationError
45
46
  });
47
+ let disabled;
48
+
49
+ if (inputEnabled !== undefined) {
50
+ disabled = !inputEnabled;
51
+ }
52
+
53
+ if (rest.disabled) {
54
+ disabled = rest.disabled;
55
+ }
56
+
46
57
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(View, {
47
58
  style: styles.root
48
59
  }, /*#__PURE__*/React.createElement(View, {
@@ -58,6 +69,7 @@ function DatePickerInputWithoutModal(_ref, ref) {
58
69
  value: formattedValue,
59
70
  keyboardType: rest.keyboardType ?? 'number-pad',
60
71
  mask: inputFormat,
72
+ disabled: disabled,
61
73
  onChangeText: onDateInputChangeText,
62
74
  onChange: e => onChangeText && onChangeText(e.nativeEvent.text),
63
75
  keyboardAppearance: theme.dark ? 'dark' : 'default',
@@ -75,7 +87,8 @@ function DatePickerInputWithoutModal(_ref, ref) {
75
87
  saveLabelDisabled,
76
88
  uppercase,
77
89
  startYear,
78
- endYear
90
+ endYear,
91
+ inputEnabled
79
92
  }));
80
93
  }
81
94
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","TextInputWithMask","HelperText","useTheme","View","StyleSheet","useDateInput","DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","hasError","hideValidationErrors","onValidationError","modal","inputButtons","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","onChangeText","rest","theme","formattedValue","inputFormat","onDateInputChangeText","error","styles","root","inputContainer","getLabel","keyboardType","e","nativeEvent","text","dark","input","create","flexGrow","flexDirection","alignItems","justifyContent","forwardRef"],"sources":["DatePickerInputWithoutModal.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport useDateInput from './inputUtils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\n\nfunction DatePickerInputWithoutModal(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withDateFormatInLabel = true,\n hasError,\n hideValidationErrors,\n onValidationError,\n modal,\n inputButtons,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n onChangeText,\n ...rest\n }: DatePickerInputProps & {\n modal?: (params: {\n value: DatePickerInputProps['value']\n locale: DatePickerInputProps['locale']\n inputMode: DatePickerInputProps['inputMode']\n validRange: DatePickerInputProps['validRange']\n saveLabel: DatePickerInputProps['saveLabel']\n saveLabelDisabled: DatePickerInputProps['saveLabelDisabled']\n uppercase: DatePickerInputProps['uppercase']\n startYear: DatePickerInputProps['startYear']\n endYear: DatePickerInputProps['endYear']\n }) => any\n inputButtons?: any\n },\n ref: any\n) {\n const theme = useTheme()\n const {\n formattedValue,\n inputFormat,\n onChangeText: onDateInputChangeText,\n error,\n } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n onValidationError,\n })\n\n return (\n <>\n <View style={styles.root}>\n <View style={styles.inputContainer}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({\n // TODO: support label components?\n label: label as any,\n inputFormat,\n withDateFormatInLabel,\n })}\n value={formattedValue}\n keyboardType={rest.keyboardType ?? 'number-pad'}\n mask={inputFormat}\n onChangeText={onDateInputChangeText}\n onChange={(e) => onChangeText && onChangeText(e.nativeEvent.text)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={(!!error && !hideValidationErrors) || !!hasError}\n style={[styles.input, style]}\n />\n {inputButtons}\n </View>\n {error && !hideValidationErrors ? (\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n ) : null}\n </View>\n {modal?.({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n })}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n flexGrow: 1,\n },\n inputContainer: {\n flexGrow: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n})\nexport default React.forwardRef(DatePickerInputWithoutModal)\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","TextInputWithMask","HelperText","useTheme","View","StyleSheet","useDateInput","DatePickerInputWithoutModal","ref","label","value","onChange","style","locale","validRange","inputMode","withDateFormatInLabel","hasError","hideValidationErrors","onValidationError","modal","inputButtons","saveLabel","saveLabelDisabled","uppercase","startYear","endYear","onChangeText","inputEnabled","rest","theme","formattedValue","inputFormat","onDateInputChangeText","error","disabled","undefined","styles","root","inputContainer","getLabel","keyboardType","e","nativeEvent","text","dark","input","create","flexGrow","flexDirection","alignItems","justifyContent","forwardRef"],"sources":["DatePickerInputWithoutModal.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport TextInputWithMask from '../TextInputMask'\nimport { HelperText, useTheme } from 'react-native-paper'\nimport { View, StyleSheet } from 'react-native'\nimport useDateInput from './inputUtils'\nimport type { DatePickerInputProps } from './DatePickerInput.shared'\n\nfunction DatePickerInputWithoutModal(\n {\n label,\n value,\n onChange,\n style,\n locale,\n validRange,\n inputMode,\n withDateFormatInLabel = true,\n hasError,\n hideValidationErrors,\n onValidationError,\n modal,\n inputButtons,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n onChangeText,\n inputEnabled,\n ...rest\n }: DatePickerInputProps & {\n modal?: (params: {\n value: DatePickerInputProps['value']\n locale: DatePickerInputProps['locale']\n inputMode: DatePickerInputProps['inputMode']\n validRange: DatePickerInputProps['validRange']\n saveLabel: DatePickerInputProps['saveLabel']\n saveLabelDisabled: DatePickerInputProps['saveLabelDisabled']\n uppercase: DatePickerInputProps['uppercase']\n startYear: DatePickerInputProps['startYear']\n endYear: DatePickerInputProps['endYear']\n inputEnabled: DatePickerInputProps['inputEnabled']\n }) => any\n inputButtons?: any\n },\n ref: any\n) {\n const theme = useTheme()\n const {\n formattedValue,\n inputFormat,\n onChangeText: onDateInputChangeText,\n error,\n } = useDateInput({\n locale,\n value,\n validRange,\n inputMode,\n onChange,\n onValidationError,\n })\n\n let disabled\n\n if (inputEnabled !== undefined) {\n disabled = !inputEnabled\n }\n\n if (rest.disabled) {\n disabled = rest.disabled\n }\n\n return (\n <>\n <View style={styles.root}>\n <View style={styles.inputContainer}>\n <TextInputWithMask\n {...rest}\n ref={ref}\n label={getLabel({\n // TODO: support label components?\n label: label as any,\n inputFormat,\n withDateFormatInLabel,\n })}\n value={formattedValue}\n keyboardType={rest.keyboardType ?? 'number-pad'}\n mask={inputFormat}\n disabled={disabled}\n onChangeText={onDateInputChangeText}\n onChange={(e) => onChangeText && onChangeText(e.nativeEvent.text)}\n keyboardAppearance={theme.dark ? 'dark' : 'default'}\n error={(!!error && !hideValidationErrors) || !!hasError}\n style={[styles.input, style]}\n />\n {inputButtons}\n </View>\n {error && !hideValidationErrors ? (\n <HelperText type=\"error\" visible={!!error}>\n {error}\n </HelperText>\n ) : null}\n </View>\n {modal?.({\n value,\n locale,\n inputMode,\n validRange,\n saveLabel,\n saveLabelDisabled,\n uppercase,\n startYear,\n endYear,\n inputEnabled,\n })}\n </>\n )\n}\n\nfunction getLabel({\n withDateFormatInLabel,\n inputFormat,\n label,\n}: {\n withDateFormatInLabel: boolean\n inputFormat: string\n label: string | undefined\n}) {\n if (withDateFormatInLabel) {\n return label ? `${label} (${inputFormat})` : inputFormat\n }\n return label || ''\n}\n\nconst styles = StyleSheet.create({\n root: {\n flexGrow: 1,\n },\n inputContainer: {\n flexGrow: 1,\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'flex-start',\n },\n input: {\n flexGrow: 1,\n },\n})\nexport default React.forwardRef(DatePickerInputWithoutModal)\n"],"mappings":"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"}
@@ -13,6 +13,7 @@ export function DatePickerModal(props) {
13
13
  animationType,
14
14
  disableStatusBar,
15
15
  disableStatusBarPadding,
16
+ inputEnabled,
16
17
  ...rest
17
18
  } = props;
18
19
  const animationTypeCalculated = animationType || Platform.select({
@@ -55,6 +56,7 @@ export function DatePickerModal(props) {
55
56
  backgroundColor: headerBackgroundColor
56
57
  }]
57
58
  }), /*#__PURE__*/React.createElement(DatePickerModalContent, _extends({}, rest, {
59
+ inputEnabled: inputEnabled,
58
60
  disableSafeTop: disableStatusBar
59
61
  })))))));
60
62
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Modal","StyleSheet","TouchableWithoutFeedback","useWindowDimensions","View","Platform","StatusBar","useTheme","DatePickerModalContent","useHeaderBackgroundColor","useHeaderColorIsLight","DatePickerModal","props","theme","dimensions","visible","animationType","disableStatusBar","disableStatusBarPadding","rest","animationTypeCalculated","select","web","default","isLight","headerBackgroundColor","absoluteFill","onDismiss","supportedOrientations","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","modalContent","surface","width","modalContentBig","height","currentHeight","create","justifyContent","alignItems","flex","maxWidth","maxHeight","borderRadius","overflow","memo"],"sources":["DatePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n TouchableWithoutFeedback,\n useWindowDimensions,\n View,\n Platform,\n StatusBar,\n} from 'react-native'\n\nimport { useTheme } from 'react-native-paper'\nimport DatePickerModalContent, {\n DatePickerModalContentMultiProps,\n DatePickerModalContentRangeProps,\n DatePickerModalContentSingleProps,\n} from './DatePickerModalContent'\nimport { useHeaderBackgroundColor, useHeaderColorIsLight } from '../utils'\n\ninterface DatePickerModalProps {\n visible: boolean\n animationType?: 'slide' | 'fade' | 'none'\n disableStatusBar?: boolean\n disableStatusBarPadding?: boolean\n}\n\nexport interface DatePickerModalSingleProps\n extends DatePickerModalContentSingleProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalMultiProps\n extends DatePickerModalContentMultiProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalRangeProps\n extends DatePickerModalContentRangeProps,\n DatePickerModalProps {}\n\nexport function DatePickerModal(\n props:\n | DatePickerModalRangeProps\n | DatePickerModalSingleProps\n | DatePickerModalMultiProps\n) {\n const theme = useTheme()\n const dimensions = useWindowDimensions()\n const {\n visible,\n animationType,\n disableStatusBar,\n disableStatusBarPadding,\n ...rest\n } = props\n const animationTypeCalculated =\n animationType ||\n Platform.select({\n web: 'none',\n default: 'slide',\n })\n\n const isLight = useHeaderColorIsLight()\n const headerBackgroundColor = useHeaderBackgroundColor()\n\n return (\n <View style={[StyleSheet.absoluteFill]} pointerEvents=\"box-none\">\n <Modal\n animationType={animationTypeCalculated}\n transparent={true}\n visible={visible}\n onRequestClose={rest.onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={rest.onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <View\n style={[\n styles.modalContent,\n { backgroundColor: theme.colors.surface },\n dimensions.width > 650 ? styles.modalContentBig : null,\n ]}\n >\n {disableStatusBar ? null : (\n <StatusBar\n translucent={true}\n barStyle={isLight ? 'dark-content' : 'light-content'}\n />\n )}\n {disableStatusBarPadding ? null : (\n <View\n style={[\n {\n height: StatusBar.currentHeight,\n backgroundColor: headerBackgroundColor,\n },\n ]}\n />\n )}\n <DatePickerModalContent\n {...rest}\n disableSafeTop={disableStatusBar}\n />\n </View>\n </View>\n </>\n </Modal>\n </View>\n )\n}\nconst supportedOrientations: any = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n flex: 1,\n width: '100%',\n },\n modalContentBig: {\n maxWidth: 600,\n maxHeight: 800,\n borderRadius: 10,\n width: '100%',\n overflow: 'hidden',\n },\n})\n\nexport default React.memo(DatePickerModal)\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Modal","StyleSheet","TouchableWithoutFeedback","useWindowDimensions","View","Platform","StatusBar","useTheme","DatePickerModalContent","useHeaderBackgroundColor","useHeaderColorIsLight","DatePickerModal","props","theme","dimensions","visible","animationType","disableStatusBar","disableStatusBarPadding","inputEnabled","rest","animationTypeCalculated","select","web","default","isLight","headerBackgroundColor","absoluteFill","onDismiss","supportedOrientations","styles","modalBackground","backgroundColor","colors","backdrop","modalRoot","modalContent","surface","width","modalContentBig","height","currentHeight","create","justifyContent","alignItems","flex","maxWidth","maxHeight","borderRadius","overflow","memo"],"sources":["DatePickerModal.tsx"],"sourcesContent":["import * as React from 'react'\nimport {\n Modal,\n StyleSheet,\n TouchableWithoutFeedback,\n useWindowDimensions,\n View,\n Platform,\n StatusBar,\n} from 'react-native'\n\nimport { useTheme } from 'react-native-paper'\nimport DatePickerModalContent, {\n DatePickerModalContentMultiProps,\n DatePickerModalContentRangeProps,\n DatePickerModalContentSingleProps,\n} from './DatePickerModalContent'\nimport { useHeaderBackgroundColor, useHeaderColorIsLight } from '../utils'\n\ninterface DatePickerModalProps {\n visible: boolean\n animationType?: 'slide' | 'fade' | 'none'\n disableStatusBar?: boolean\n disableStatusBarPadding?: boolean\n inputEnabled?: boolean\n}\n\nexport interface DatePickerModalSingleProps\n extends DatePickerModalContentSingleProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalMultiProps\n extends DatePickerModalContentMultiProps,\n DatePickerModalProps {}\n\nexport interface DatePickerModalRangeProps\n extends DatePickerModalContentRangeProps,\n DatePickerModalProps {}\n\nexport function DatePickerModal(\n props:\n | DatePickerModalRangeProps\n | DatePickerModalSingleProps\n | DatePickerModalMultiProps\n) {\n const theme = useTheme()\n const dimensions = useWindowDimensions()\n const {\n visible,\n animationType,\n disableStatusBar,\n disableStatusBarPadding,\n inputEnabled,\n ...rest\n } = props\n const animationTypeCalculated =\n animationType ||\n Platform.select({\n web: 'none',\n default: 'slide',\n })\n\n const isLight = useHeaderColorIsLight()\n const headerBackgroundColor = useHeaderBackgroundColor()\n\n return (\n <View style={[StyleSheet.absoluteFill]} pointerEvents=\"box-none\">\n <Modal\n animationType={animationTypeCalculated}\n transparent={true}\n visible={visible}\n onRequestClose={rest.onDismiss}\n presentationStyle=\"overFullScreen\"\n supportedOrientations={supportedOrientations}\n //@ts-ignore\n statusBarTranslucent={true}\n >\n <>\n <TouchableWithoutFeedback onPress={rest.onDismiss}>\n <View\n style={[\n StyleSheet.absoluteFill,\n styles.modalBackground,\n { backgroundColor: theme.colors.backdrop },\n ]}\n />\n </TouchableWithoutFeedback>\n <View\n style={[StyleSheet.absoluteFill, styles.modalRoot]}\n pointerEvents=\"box-none\"\n >\n <View\n style={[\n styles.modalContent,\n { backgroundColor: theme.colors.surface },\n dimensions.width > 650 ? styles.modalContentBig : null,\n ]}\n >\n {disableStatusBar ? null : (\n <StatusBar\n translucent={true}\n barStyle={isLight ? 'dark-content' : 'light-content'}\n />\n )}\n {disableStatusBarPadding ? null : (\n <View\n style={[\n {\n height: StatusBar.currentHeight,\n backgroundColor: headerBackgroundColor,\n },\n ]}\n />\n )}\n <DatePickerModalContent\n {...rest}\n inputEnabled={inputEnabled}\n disableSafeTop={disableStatusBar}\n />\n </View>\n </View>\n </>\n </Modal>\n </View>\n )\n}\nconst supportedOrientations: any = [\n 'portrait',\n 'portrait-upside-down',\n 'landscape',\n 'landscape-left',\n 'landscape-right',\n]\n\nconst styles = StyleSheet.create({\n modalRoot: {\n justifyContent: 'center',\n alignItems: 'center',\n flex: 1,\n },\n modalBackground: {\n flex: 1,\n },\n modalContent: {\n flex: 1,\n width: '100%',\n },\n modalContentBig: {\n maxWidth: 600,\n maxHeight: 800,\n borderRadius: 10,\n width: '100%',\n overflow: 'hidden',\n },\n})\n\nexport default React.memo(DatePickerModal)\n"],"mappings":"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"}
@@ -88,7 +88,8 @@ export function DatePickerModalContent(props) {
88
88
  uppercase: props.uppercase ?? true,
89
89
  locale: locale,
90
90
  editIcon: props === null || props === void 0 ? void 0 : props.editIcon,
91
- calendarIcon: props.calendarIcon
91
+ calendarIcon: props.calendarIcon,
92
+ allowEditing: props.allowEditing || true
92
93
  })), /*#__PURE__*/React.createElement(AnimatedCrossView, {
93
94
  collapsed: collapsed,
94
95
  calendar: /*#__PURE__*/React.createElement(Calendar, {
@@ -114,7 +115,8 @@ export function DatePickerModalContent(props) {
114
115
  collapsed: collapsed,
115
116
  onChange: onInnerChange,
116
117
  validRange: validRange,
117
- locale: locale
118
+ locale: locale,
119
+ inputEnabled: props.inputEnabled
118
120
  })
119
121
  }));
120
122
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","startYear","endYear","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","saveLabelDisabled","uppercase","closeIcon","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","editIcon","calendarIcon","memo"],"sources":["DatePickerModalContent.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n saveLabelDisabled?: boolean\n uppercase?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n startYear,\n endYear,\n } = props\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params: any) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n saveLabelDisabled={props.saveLabelDisabled ?? false}\n uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\n closeIcon={props.closeIcon}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n uppercase={props.uppercase ?? true}\n locale={locale}\n editIcon={props?.editIcon}\n calendarIcon={props.calendarIcon}\n />\n </DatePickerModalHeaderBackground>\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n startYear={startYear}\n endYear={endYear}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Calendar","AnimatedCrossView","DatePickerModalHeader","DatePickerModalContentHeader","CalendarEdit","DatePickerModalHeaderBackground","DatePickerModalContent","props","mode","onChange","onConfirm","onDismiss","disableSafeTop","disableWeekDays","locale","validRange","dateMode","startYear","endYear","anyProps","state","setState","useState","date","startDate","endDate","dates","useEffect","collapsed","setCollapsed","onInnerChange","useCallback","params","prev","onInnerConfirm","onToggleCollapse","saveLabel","saveLabelDisabled","uppercase","closeIcon","headerSeparator","emptyLabel","label","moreLabel","startLabel","endLabel","editIcon","calendarIcon","allowEditing","inputEnabled","memo"],"sources":["DatePickerModalContent.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport Calendar, {\n BaseCalendarProps,\n CalendarDate,\n CalendarDates,\n MultiChange,\n MultiConfirm,\n RangeChange,\n SingleChange,\n} from './Calendar'\n\nimport AnimatedCrossView from './AnimatedCrossView'\nimport DatePickerModalHeader from './DatePickerModalHeader'\nimport DatePickerModalContentHeader, {\n HeaderPickProps,\n} from './DatePickerModalContentHeader'\nimport CalendarEdit from './CalendarEdit'\nimport DatePickerModalHeaderBackground from './DatePickerModalHeaderBackground'\n\nexport type LocalState = {\n startDate: CalendarDate\n endDate: CalendarDate\n date: CalendarDate\n dates: CalendarDates\n}\n\ninterface DatePickerModalContentBaseProps {\n inputFormat?: string\n locale: string\n onDismiss: () => any\n disableSafeTop?: boolean\n saveLabelDisabled?: boolean\n uppercase?: boolean\n inputEnabled?: boolean\n}\n\nexport interface DatePickerModalContentRangeProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'range'\n startDate: CalendarDate\n endDate: CalendarDate\n onChange?: RangeChange\n onConfirm: RangeChange\n}\n\nexport interface DatePickerModalContentSingleProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'single'\n date?: CalendarDate\n onChange?: SingleChange\n onConfirm: SingleChange\n dateMode?: 'start' | 'end'\n}\n\nexport interface DatePickerModalContentMultiProps\n extends HeaderPickProps,\n BaseCalendarProps,\n DatePickerModalContentBaseProps {\n mode: 'multiple'\n dates?: CalendarDates\n onChange?: MultiChange\n onConfirm: MultiConfirm\n}\n\nexport function DatePickerModalContent(\n props:\n | DatePickerModalContentRangeProps\n | DatePickerModalContentSingleProps\n | DatePickerModalContentMultiProps\n) {\n const {\n mode,\n onChange,\n onConfirm,\n onDismiss,\n disableSafeTop,\n disableWeekDays,\n locale,\n validRange,\n dateMode,\n startYear,\n endYear,\n } = props\n const anyProps = props as any\n\n // use local state to add only onConfirm state changes\n const [state, setState] = React.useState<LocalState>({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n\n // update local state if changed from outside or if modal is opened\n React.useEffect(() => {\n setState({\n date: anyProps.date,\n startDate: anyProps.startDate,\n endDate: anyProps.endDate,\n dates: anyProps.dates,\n })\n }, [anyProps.date, anyProps.startDate, anyProps.endDate, anyProps.dates])\n\n const [collapsed, setCollapsed] = React.useState<boolean>(true)\n\n const onInnerChange = React.useCallback(\n (params: any) => {\n onChange && onChange(params)\n setState((prev) => ({ ...prev, ...params }))\n },\n [onChange, setState]\n )\n\n const onInnerConfirm = React.useCallback(() => {\n if (mode === 'single') {\n ;(onConfirm as DatePickerModalContentSingleProps['onConfirm'])({\n date: state.date,\n })\n } else if (mode === 'range') {\n ;(onConfirm as DatePickerModalContentRangeProps['onConfirm'])({\n startDate: state.startDate,\n endDate: state.endDate,\n })\n } else if (mode === 'multiple') {\n ;(onConfirm as DatePickerModalContentMultiProps['onConfirm'])({\n dates: state.dates || [],\n })\n }\n }, [state, mode, onConfirm])\n\n const onToggleCollapse = React.useCallback(() => {\n setCollapsed((prev) => !prev)\n }, [setCollapsed])\n\n return (\n <>\n <DatePickerModalHeaderBackground>\n <DatePickerModalHeader\n locale={locale}\n onSave={onInnerConfirm}\n onDismiss={onDismiss}\n saveLabel={props.saveLabel}\n saveLabelDisabled={props.saveLabelDisabled ?? false}\n uppercase={props.uppercase ?? true}\n disableSafeTop={disableSafeTop}\n closeIcon={props.closeIcon}\n />\n <DatePickerModalContentHeader\n state={state}\n mode={mode}\n collapsed={collapsed}\n onToggle={onToggleCollapse}\n headerSeparator={props.headerSeparator}\n emptyLabel={props.emptyLabel}\n label={props.label}\n moreLabel={props.moreLabel}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n uppercase={props.uppercase ?? true}\n locale={locale}\n editIcon={props?.editIcon}\n calendarIcon={props.calendarIcon}\n allowEditing={props.allowEditing || true}\n />\n </DatePickerModalHeaderBackground>\n <AnimatedCrossView\n collapsed={collapsed}\n calendar={\n <Calendar\n locale={locale}\n mode={mode}\n startDate={state.startDate}\n endDate={state.endDate}\n date={state.date}\n onChange={onInnerChange}\n disableWeekDays={disableWeekDays}\n dates={state.dates}\n validRange={validRange}\n dateMode={dateMode}\n startYear={startYear}\n endYear={endYear}\n />\n }\n calendarEdit={\n <CalendarEdit\n mode={mode}\n state={state}\n label={props.label}\n startLabel={props.startLabel}\n endLabel={props.endLabel}\n collapsed={collapsed}\n onChange={onInnerChange}\n validRange={validRange}\n locale={locale}\n inputEnabled={props.inputEnabled}\n />\n }\n />\n </>\n )\n}\n\nexport default React.memo(DatePickerModalContent)\n"],"mappings":"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"}