@draftbit/core 42.1.6 → 42.1.7-71d4c6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -74,7 +74,12 @@ const DatePicker = ({
74
74
  });
75
75
  const previousInitialValue = (0, _hooks.usePrevious)(initialValue);
76
76
  React.useEffect(() => {
77
- if (initialValue !== previousInitialValue) {
77
+ const initialValueStr = initialValue ? initialValue.toString() : "";
78
+ const previousInitialValueStr = previousInitialValue ? // This weirdly complains about being possibly undefined despite being inside a ternary
79
+ // @ts-ignore
80
+ previousInitialValue.toString() : "";
81
+
82
+ if (initialValueStr !== previousInitialValueStr) {
78
83
  setValue(initialValue);
79
84
  onDateChange(initialValue);
80
85
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePicker.tsx"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","initialValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","React","useState","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","previousInitialValue","useEffect","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","StyleSheet","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","Platform","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","I18nManager","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { usePrevious } from \"../../hooks\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n initialValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n initialValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date);\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n setValue(initialValue);\n onDateChange(initialValue);\n }\n }, [initialValue, previousInitialValue, setValue, onDateChange]);\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
1
+ {"version":3,"sources":["DatePicker.tsx"],"names":["AnimatedText","Animated","createAnimatedComponent","Text","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","initialValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","React","useState","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","previousInitialValue","useEffect","initialValueStr","toString","previousInitialValueStr","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","StyleSheet","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","Platform","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","I18nManager","isRTL"],"mappings":";;;;;;;AAAA;;AACA;;AAeA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;;;;;;;;;AAEA,MAAMA,YAAY,GAAGC,sBAASC,uBAAT,CAAiCC,iBAAjC,CAArB;;AAEA,MAAMC,wBAAwB,GAAG,GAAjC;AACA,MAAMC,uBAAuB,GAAG,GAAhC;AACA,MAAMC,SAAS,GAAG,EAAlB;AA0BA,MAAMC,MAAM,GAAG,CACb,SADa,EAEb,UAFa,EAGb,OAHa,EAIb,OAJa,EAKb,KALa,EAMb,MANa,EAOb,MAPa,EAQb,QARa,EASb,WATa,EAUb,SAVa,EAWb,UAXa,EAYb,UAZa,CAAf;;AAeA,MAAMC,UAA2B,GAAG,CAAC;AACnCC,EAAAA,IADmC;AAEnCC,EAAAA,KAFmC;AAGnCC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,UAAV;AAAsBC,IAAAA,SAAtB;AAAiCC,IAAAA;AAAjC,GAH4B;AAInCC,EAAAA,IAJmC;AAKnCC,EAAAA,YAAY,GAAG,MAAM,CAAE,CALY;AAMnCC,EAAAA,YANmC;AAOnCC,EAAAA,QAAQ,GAAG,KAPwB;AAQnCC,EAAAA,IAAI,GAAG,MAR4B;AASnCC,EAAAA,MATmC;AAUnCC,EAAAA,IAAI,GAAG,WAV4B;AAWnCC,EAAAA,YAXmC;AAYnCC,EAAAA,aAZmC;AAanCC,EAAAA,YAAY,GAAG,OAboB;AAcnCC,EAAAA,KAdmC;AAenCC,EAAAA,WAfmC;AAgBnC,KAAGC;AAhBgC,CAAD,KAiB9B;AACJ,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoBC,KAAK,CAACC,QAAN,CAAoBhB,IAApB,CAA1B;AACA,QAAM,CAACiB,aAAD,EAAgBC,gBAAhB,IAAoCH,KAAK,CAACC,QAAN,CAAe,KAAf,CAA1C;AACA,QAAM,CAACG,OAAD,IAAYJ,KAAK,CAACC,QAAN,CAChB,IAAI/B,sBAASmC,KAAb,CAAmBpB,IAAI,GAAG,CAAH,GAAO,CAA9B,CADgB,CAAlB;AAGA,QAAM,CAACqB,YAAD,EAAeC,eAAf,IAAkCP,KAAK,CAACC,QAAN,CAAe,EAAf,CAAxC;AACA,QAAM,CAACO,OAAD,EAAUC,UAAV,IAAwBT,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA9B;AACA,QAAM,CAACS,WAAD,EAAcC,cAAd,IAAgCX,KAAK,CAACC,QAAN,CAGnC;AAAEW,IAAAA,QAAQ,EAAE,KAAZ;AAAmBC,IAAAA,KAAK,EAAE;AAA1B,GAHmC,CAAtC;AAKA,QAAMC,oBAAoB,GAAG,wBAAY3B,YAAZ,CAA7B;AACAa,EAAAA,KAAK,CAACe,SAAN,CAAgB,MAAM;AACpB,UAAMC,eAAe,GAAG7B,YAAY,GAAGA,YAAY,CAAC8B,QAAb,EAAH,GAA6B,EAAjE;AACA,UAAMC,uBAAuB,GAAGJ,oBAAoB,GAChD;AACA;AACAA,IAAAA,oBAAoB,CAACG,QAArB,EAHgD,GAIhD,EAJJ;;AAKA,QAAID,eAAe,KAAKE,uBAAxB,EAAiD;AAC/CnB,MAAAA,QAAQ,CAACZ,YAAD,CAAR;AACAD,MAAAA,YAAY,CAACC,YAAD,CAAZ;AACD;AACF,GAXD,EAWG,CAACA,YAAD,EAAe2B,oBAAf,EAAqCf,QAArC,EAA+Cb,YAA/C,CAXH;;AAaA,QAAMiC,YAAY,GAAG,MAAY;AAC/B,QAAI,CAACrB,KAAL,EAAY;AACV,aAAO,IAAIsB,IAAJ,EAAP;AACD;;AACD,WAAO,QAAOtB,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAEuB,QAAd,MAA2B,UAA3B,GAAwCvB,KAAxC,GAAgD,IAAIsB,IAAJ,EAAvD;AACD,GALD;;AAOA,QAAME,UAAU,GAAG,MAAc;AAC/B,QAAI,CAACxB,KAAL,EAAY,OAAO,EAAP;AACZ,QAAIyB,OAAO,GAAGJ,YAAY,EAA1B;AAEA,QAAI7B,MAAJ,EAAY,OAAO,yBAAWiC,OAAX,EAAoBjC,MAApB,CAAP;;AAEZ,QAAID,IAAI,KAAK,MAAb,EAAqB;AACnB,aAAQ,GAAEkC,OAAO,CAACC,kBAAR,EAA6B,EAAvC;AACD;;AAED,QAAInC,IAAI,KAAK,UAAb,EAAyB;AACvB,aAAQ,GAAEkC,OAAO,CAACE,cAAR,EAAyB,EAAnC;AACD;;AAED,WAAQ,GACNjD,MAAM,CAAC+C,OAAO,CAACF,QAAR,EAAD,CACP,IAAGE,OAAO,CAACG,OAAR,EAAkB,KAAIH,OAAO,CAACI,WAAR,EAAsB,EAFhD;AAGD,GAjBD;;AAmBA,QAAMC,gBAAgB,GAAG,YAAY;AACnCzB,IAAAA,gBAAgB,CAAC,CAACD,aAAF,CAAhB;AACAM,IAAAA,OAAO,GAAGqB,WAAW,EAAd,GAAmBC,YAAY,EAAtC;AACD,GAHD;;AAIA,QAAMC,MAAM,GAAG,oDAAf,CAzDI,CA2DJ;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA,QAAMC,gBAAgB,GAAG,MAAM;AAC7BzB,IAAAA,eAAe,CAAC,EAAD,CAAf;AACD,GAFD;;AAIAP,EAAAA,KAAK,CAACe,SAAN,CAAgB,MAAM;AACpBhB,IAAAA,QAAQ,CAACd,IAAD,CAAR;AACD,GAFD,EAEG,CAACA,IAAD,CAFH;AAIAe,EAAAA,KAAK,CAACe,SAAN,CAAgB,MAAM;AACpB,QAAIjB,KAAK,IAAIU,OAAT,IAAoBF,YAAxB,EAAsC;AACpC;AACApC,4BAAS+D,MAAT,CAAgB7B,OAAhB,EAAyB;AACvB8B,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAE7D,uBAFa;AAGvB8D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD,KAPD,MAOO;AACL;AACAnE,4BAAS+D,MAAT,CAAgB7B,OAAhB,EAAyB;AACvB8B,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAE9D,wBAFa;AAGvB+D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD;AACF,GAhBD,EAgBG,CAACvC,KAAD,EAAQU,OAAR,EAAiBF,YAAjB,EAA+BF,OAA/B,CAhBH;AAkBAJ,EAAAA,KAAK,CAACe,SAAN,CAAgB,MAAM;AACpB,UAAMuB,gBAAgB,GAAG,MACvBC,UAAU,CAAC,MAAMhC,eAAe,CAACX,WAAW,IAAI,EAAhB,CAAtB,EAA2C,EAA3C,CADZ;;AAEA,QAAIY,OAAO,IAAI,CAACb,KAAhB,EAAuB;AACrB2C,MAAAA,gBAAgB;AACjB,KAFD,MAEO;AACLN,MAAAA,gBAAgB;AACjB;;AACD,WAAO,MAAM;AACXQ,MAAAA,YAAY,CAACF,gBAAgB,EAAjB,CAAZ;AACD,KAFD;AAGD,GAXD,EAWG,CAAC9B,OAAD,EAAUb,KAAV,EAAiBC,WAAjB,CAXH;;AAaA,QAAMkC,YAAY,GAAG,MAAM;AACzB,QAAI1C,QAAJ,EAAc;AACZ;AACD;;AAEDqB,IAAAA,UAAU,CAAC,IAAD,CAAV;AACD,GAND;;AAQA,QAAMoB,WAAW,GAAG,MAAM;AACxB,QAAIzC,QAAJ,EAAc;AACZ;AACD;;AACDqB,IAAAA,UAAU,CAAC,KAAD,CAAV;AACD,GALD;;AAOA,QAAMgC,wBAAwB,GAAG,EAAE3D,UAAU,CAAC4D,OAAX,CAAmBC,UAAnB,GAAgC,CAAlC,CAAjC;AACA,QAAMC,gCAAgC,GAAG,EAAE,KAAK,GAAL,GAAW,CAAb,CAAzC;AACA,QAAMC,yBAAyB,GAAG/D,UAAU,CAACgE,SAAX,CAAqBC,QAAvD;AACA,QAAMC,yBAAyB,GAAGlE,UAAU,CAAC4D,OAAX,CAAmBK,QAArD;AAEA,QAAME,gBAAgB,GAAGzC,OAAzB;AAEA,MAAI0C,cAAJ,EACEC,WADF,EAEEC,cAFF,EAGEC,WAHF,EAIEC,gBAJF,EAKEC,cALF,EAMEC,eANF,EAOEC,UAPF;AASAP,EAAAA,cAAc,GAAGrE,MAAM,CAAC6E,MAAxB;;AACA,MAAItE,QAAJ,EAAc;AACZ+D,IAAAA,WAAW,GAAGtE,MAAM,CAAC8E,KAArB;AACAL,IAAAA,gBAAgB,GAAGzE,MAAM,CAAC8E,KAA1B;AACAN,IAAAA,WAAW,GAAG,aAAd;AACAD,IAAAA,cAAc,GAAG,aAAjB;AACAI,IAAAA,eAAe,GAAG3E,MAAM,CAAC+E,OAAzB;AACD,GAND,MAMO;AACLT,IAAAA,WAAW,GAAGtE,MAAM,CAACgF,OAArB;AACAP,IAAAA,gBAAgB,GAAGD,WAAW,GAAGxE,MAAM,CAAC8E,KAAxC;AACAP,IAAAA,cAAc,GAAGvE,MAAM,CAAC8E,KAAxB;AACAH,IAAAA,eAAe,GAAG3E,MAAM,CAACiF,UAAzB;AACD;;AAED,QAAM;AAAEnB,IAAAA,UAAF;AAAc,OAAGG;AAAjB,MAA+BhE,UAAU,CAACgE,SAAhD;AAEAW,EAAAA,UAAU,GAAG;AACXM,IAAAA,eAAe,EAAE,CADN;AAEXC,IAAAA,KAAK,EAAEd,cAFI;AAGXe,IAAAA,WAAW,EACTzE,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACInB,SAAS,IAAIgB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANK;AAOX2E,IAAAA,YAAY,EAAEzE,aAAa,GAAGlB,SAAS,GAAG,EAAZ,GAAiB,CAApB,GAAwB,EAPxC;AAQX,OAAGuE,SARQ;AASXqB,IAAAA,MAAM,EAAExB;AATG,GAAb;;AAYA,MAAIpD,IAAI,KAAK,WAAb,EAA0B;AACxBgE,IAAAA,cAAc,GAAG;AACfa,MAAAA,mBAAmB,EAAErF,SADN;AAEfsF,MAAAA,oBAAoB,EAAEtF,SAFP;AAGfuF,MAAAA,aAAa,EAAE,EAHA;AAIfC,MAAAA,SAAS,EAAE;AAJI,KAAjB;AAMD,GAPD,MAOO;AACLhB,IAAAA,cAAc,GAAG;AACfiB,MAAAA,YAAY,EAAEzF,SADC;AAEfsE,MAAAA,WAAW,EAAEJ,gBAAgB,GAAGE,WAAH,GAAiBE,WAF/B;AAGfoB,MAAAA,WAAW,EAAE,CAHE;AAIfC,MAAAA,UAAU,EAAEtE,OAAO,GAAG,KAAK,GAAR,GAAc,EAJlB;AAKfkE,MAAAA,aAAa,EAAElE,OAAO,GAAG,KAAK,GAAR,GAAc,EALrB;AAMfuE,MAAAA,OAAO,EAAEvF,QAAQ,GAAGJ,eAAH,GAAqB,CANvB;AAOfwE,MAAAA;AAPe,KAAjB;AAUAC,IAAAA,UAAU,CAACmB,iBAAX,GAA+B,EAA/B;AACD;;AAED,MAAIpF,YAAY,IAAIE,YAAY,KAAK,QAArC,EAA+C;AAC7C6D,IAAAA,cAAc,CAACsB,UAAf,GAA4BtG,SAAS,GAAG,CAAxC;AACD;;AAED,MAAIuG,aAAJ;;AACA,MAAItE,OAAJ,EAAa;AACXsE,IAAAA,aAAa,GAAGjG,MAAM,CAACgF,OAAvB;AACD,GAFD,MAEO;AACLiB,IAAAA,aAAa,GAAGjG,MAAM,CAAC8E,KAAvB;AACD;;AAED,QAAMoB,aAAa,GAAG;AACpBC,IAAAA,IAAI,EAAE,EADc;AAEpBhB,IAAAA,KAAK,EAAEc,aAFa;AAGpBG,IAAAA,IAAI,EAAEzF,YAAY,IAAI;AAHF,GAAtB;AAMA,QAAM0F,aAAyB,GAAG;AAChCC,IAAAA,QAAQ,EAAE,UADsB;AAEhCZ,IAAAA,SAAS,EACPhF,IAAI,KAAK,OAAT,GACIG,YAAY,KAAK,OAAjB,GACEsD,yBAAyB,GAAG,CAD9B,GAEE,EAHN,GAIItD,YAAY,KAAK,QAAjB,GACA,EADA,GAEA;AAT0B,GAAlC;AAYA,QAAM0F,UAAU,GAAG,EACjB,GAAGtG,UAAU,CAACgE,SADG;AAEjBuC,IAAAA,GAAG,EAAE9F,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,CAFZ;AAGjB+F,IAAAA,IAAI,EACF9F,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACInB,SAAS,IAAIgB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANW;AAOjBgG,IAAAA,SAAS,EAAE,CACT;AACE;AACAC,MAAAA,UAAU,EAAEpF,OAAO,CAACqF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACXpG,IAAI,KAAK,OAAT,GACIqD,gCADJ,GAEIH,wBAHO,EAIX,CAJW;AAFiB,OAApB;AAFd,KADS,EAaT;AACE;AACAmD,MAAAA,KAAK,EAAExF,OAAO,CAACqF,WAAR,CAAoB;AACzBC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADa;AAEzBC,QAAAA,WAAW,EAAE,CACX3C,yBAAyB,GAAGH,yBADjB,EAEX,CAFW;AAFY,OAApB;AAFT,KAbS,EAuBT;AACE;AACAgD,MAAAA,UAAU,EAAEzF,OAAO,CAACqF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACX,EAAE,IAAI3C,yBAAyB,GAAGH,yBAAlC,KACGnC,WAAW,CAACG,KAAZ,GAAoB,CADvB,CADW,EAGX,CAHW;AAFiB,OAApB;AAFd,KAvBS;AAPM,GAAnB;AA4CA,QAAMiF,WAAW,GAAG,CAClBC,MAAM,CAACC,KADW,EAElBvC,UAFkB,EAGlBlE,IAAI,KAAK,OAAT,GAAmB;AAAE0G,IAAAA,gBAAgB,EAAE;AAApB,GAAnB,GAA8C,EAH5B,CAApB,CA5QI,CAkRJ;;AAEA,sBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACF,MAAM,CAACG,SAAR,EAAmBvH,KAAnB;AAAb,kBACE,oBAAC,kBAAD;AAAW,IAAA,QAAQ,EAAES,QAArB;AAA+B,IAAA,OAAO,EAAEwC;AAAxC,kBACE,oBAAC,iBAAD;AAAM,IAAA,aAAa,EAAC;AAApB,kBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACmE,MAAM,CAACG,SAAR,EAAmBvH,KAAnB;AAAb,KACGa,YAAY,IAAIE,YAAY,KAAK,QAAjC,gBACC,oBAAC,IAAD,eAAUqF,aAAV;AAAyB,IAAA,KAAK,EAAEG;AAAhC,KADD,GAEG,IAHN,eAIE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CAAC3B,cAAD,EAAiB5E,KAAK,GAAG;AAAEwF,MAAAA,MAAM,EAAExF,KAAK,CAACwF;AAAhB,KAAH,GAA8B,EAApD;AADT,KAGG5E,IAAI,KAAK,WAAT;AAAA;AACC;AACA,sBAAC,qBAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACLwG,MAAM,CAACI,SADF,EAEL;AACE3C,MAAAA,eAAe,EAAEhD,OAAO,GAAG2C,WAAH,GAAiBC,cAD3C;AAEE;AACAmC,MAAAA,SAAS,EAAE,CAAC;AAAEa,QAAAA,MAAM,EAAE5F,OAAO,GAAG,CAAH,GAAO;AAAxB,OAAD;AAHb,KAFK;AADT,IAFD,GAYG,IAfN,EAiBGb,KAAK;AAAA;AACJ;AACA;AACA,sBAAC,iBAAD;AACE,IAAA,aAAa,EAAC,MADhB;AAEE,IAAA,KAAK,EAAE,CACL0G,wBAAWC,YADN,EAEL;AACE3B,MAAAA,OAAO,EACL;AACA1F,MAAAA,IAAI,IAAIuB,OAAR,GAAmBE,WAAW,CAACE,QAAZ,GAAuB,CAAvB,GAA2B,CAA9C,GAAmD;AAHvD,KAFK;AAFT,kBAWE,oBAAC,YAAD;AACE,IAAA,QAAQ,EAAG2F,CAAD,IACR5F,cAAc,CAAC;AACbE,MAAAA,KAAK,EAAE0F,CAAC,CAACC,WAAF,CAAcC,MAAd,CAAqB5F,KADf;AAEbD,MAAAA,QAAQ,EAAE;AAFG,KAAD,CAFlB;AAOE,IAAA,KAAK,EAAE,CACLmF,MAAM,CAACnG,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEqF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAEnF,MAAM,CAAC8E,KADhB;AAEEgB,MAAAA,OAAO,EAAEvE,OAAO,CAACqF,WAAR,CAAoB;AAC3BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADe;AAE3BC,QAAAA,WAAW,EAAE,CAAC1C,gBAAgB,GAAG,CAAH,GAAO,CAAxB,EAA2B,CAA3B;AAFc,OAApB;AAFX,KAJK,CAPT;AAmBE,IAAA,aAAa,EAAE;AAnBjB,KAqBGtD,KArBH,CAXF,eAkCE,oBAAC,YAAD;AACE,IAAA,KAAK,EAAE,CACLoG,MAAM,CAACnG,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEqF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAEV,gBADT;AAEEqB,MAAAA,OAAO,EAAE1B,gBAAgB,GAAG7C,OAAH,GAAa;AAFxC,KAJK,CADT;AAUE,IAAA,aAAa,EAAE;AAVjB,KAYGT,KAZH,CAlCF,CAHI,GAoDF,IArEN,EAuEGH,YAAY,IAAIE,YAAY,KAAK,OAAjC,gBACC,oBAAC,IAAD,eACMqF,aADN;AAEE,IAAA,KAAK,EAAE,EACL,GAAGG,aADE;AAELL,MAAAA,UAAU,EAAEtF,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB;AAF/B;AAFT,KADD,GAQG,IA/EN,eAiFE,oBAAC,sBAAD;AACE,IAAA,KAAK,EAAE+B,UAAU,EADnB;AAEE,IAAA,WAAW,EAAE3B,KAAK,GAAGW,YAAH,GAAkBV,WAFtC;AAGE,IAAA,QAAQ,EAAE,CAACR,QAHb;AAIE,IAAA,oBAAoB,EAAEkE,gBAJxB;AAKE,IAAA,cAAc,EAAEH,WALlB;AAME,IAAA,OAAO,EAAErB,YANX;AAOE,IAAA,MAAM,EAAED,WAPV;AAQE,IAAA,qBAAqB,EAAE,aARzB;AASE,IAAA,KAAK,EAAEiE;AATT,KAUMjG,KAVN,EAjFF,CAJF,EAkGGJ,aAAa,gBACZ,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,aADR;AAEE,IAAA,IAAI,EAAElB,SAFR;AAGE,IAAA,KAAK,EAAEM,MAAM,CAAC8E,KAHhB;AAIE,IAAA,KAAK,EAAE;AACLwB,MAAAA,QAAQ,EAAE,UADL;AAELuB,MAAAA,KAAK,EAAE,EAFF;AAGLnC,MAAAA,SAAS,EACPhF,IAAI,KAAK,OAAT,GAAmByD,yBAAyB,GAAG,CAA/C,GAAmD;AAJhD;AAJT,IADY,GAYV,IA9GN,CADF,CADF,CADF,EAqHG9C,aAAa,iBACZ,oBAAC,eAAD,qBACE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL6F,MAAM,CAACY,MADF,EAEL;AACEnD,MAAAA,eAAe,EAAE3E,MAAM,CAAC+E;AAD1B,KAFK;AADT,kBAQE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACLmC,MAAM,CAACa,eADF,EAEL;AACElC,MAAAA,UAAU,EAAE3C,MAAM,CAACsD,GADrB;AAEEf,MAAAA,aAAa,EAAEvC,MAAM,CAAC8E,MAFxB;AAGE5C,MAAAA,WAAW,EAAElC,MAAM,CAACuD,IAHtB;AAIEpB,MAAAA,YAAY,EAAEnC,MAAM,CAAC2E;AAJvB,KAFK;AADT,KAWGI,sBAASC,EAAT,KAAgB,KAAhB,iBACC,oBAAC,yBAAD;AACE,IAAA,IAAI,EAAErI,IADR;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,OAAO,EAAEkD,gBAHX;AAIE,IAAA,KAAK,EAAEmE,MAAM,CAACiB;AAJhB,aAZJ,eAsBE,oBAAC,4BAAD;AACE,IAAA,KAAK,EAAE7F,YAAY,EADrB;AAEE,IAAA,IAAI,EAAE9B,IAFR;AAGE,IAAA,SAAS,EAAEa,aAHb;AAIE,IAAA,gBAAgB,EAAE0B,gBAJpB;AAKE,IAAA,QAAQ,EAAE,CAACqF,MAAD,EAAcC,IAAd,KAA4B;AACpCJ,4BAASC,EAAT,KAAgB,KAAhB,GAAwB,IAAxB,GAA+BnF,gBAAgB,EAA/C;AACA7B,MAAAA,QAAQ,CAACmH,IAAD,CAAR;AACAhI,MAAAA,YAAY,CAACgI,IAAD,CAAZ;AACD;AATH,IAtBF,CARF,CADF,CAtHJ,CADF;AAuKD,CA5cD;;AA8cA,MAAMnB,MAAM,GAAGM,wBAAWc,MAAX,CAAkB;AAC/BjB,EAAAA,SAAS,EAAE;AACTkB,IAAAA,SAAS,EAAE;AADF,GADoB;AAI/BT,EAAAA,MAAM,EAAE;AACNxB,IAAAA,QAAQ,EAAE,UADJ;AAEN0B,IAAAA,MAAM,EAAE,CAFF;AAGNvB,IAAAA,IAAI,EAAE,CAHA;AAINoB,IAAAA,KAAK,EAAE,CAJD;AAKNW,IAAAA,aAAa,EAAE,KALT;AAMNC,IAAAA,cAAc,EAAE;AANV,GAJuB;AAY/BnB,EAAAA,SAAS,EAAE;AACThB,IAAAA,QAAQ,EAAE,UADD;AAETG,IAAAA,IAAI,EAAE,CAFG;AAGToB,IAAAA,KAAK,EAAE,CAHE;AAITG,IAAAA,MAAM,EAAE,CAJC;AAKT1C,IAAAA,MAAM,EAAE;AALC,GAZoB;AAmB/B6B,EAAAA,KAAK,EAAE;AACLuB,IAAAA,QAAQ,EAAE,CADL;AAELD,IAAAA,cAAc,EAAE,QAFX;AAGLE,IAAAA,iBAAiB,EAAE,QAHd;AAILC,IAAAA,MAAM,EAAE,CAJH;AAKLC,IAAAA,SAAS,EAAEC,yBAAYC,KAAZ,GAAoB,OAApB,GAA8B;AALpC,GAnBwB;AA0B/BhI,EAAAA,WAAW,EAAE;AACXuF,IAAAA,QAAQ,EAAE,UADC;AAEXG,IAAAA,IAAI,EAAE;AAFK,GA1BkB;AA8B/BsB,EAAAA,eAAe,EAAE;AAAES,IAAAA,aAAa,EAAE,QAAjB;AAA2BxG,IAAAA,KAAK,EAAE;AAAlC,GA9Bc;AA+B/BmG,EAAAA,WAAW,EAAE;AACXI,IAAAA,SAAS,EAAE;AADA;AA/BkB,CAAlB,CAAf;;eAoCe,wBAAU3I,UAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { usePrevious } from \"../../hooks\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n initialValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n initialValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date);\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n const initialValueStr = initialValue ? initialValue.toString() : \"\";\n const previousInitialValueStr = previousInitialValue\n ? // This weirdly complains about being possibly undefined despite being inside a ternary\n // @ts-ignore\n previousInitialValue.toString()\n : \"\";\n if (initialValueStr !== previousInitialValueStr) {\n setValue(initialValue);\n onDateChange(initialValue);\n }\n }, [initialValue, previousInitialValue, setValue, onDateChange]);\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["PortalHost.tsx"],"names":["PortalContext","React","createContext","PortalHost","Component","manager","children","key","nextKey","mount","queue","push","type","update","op","index","findIndex","o","unmount","componentDidMount","length","action","pop","render","styles","container","props","setManager","StyleSheet","create","flex"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport PortalManager from \"./PortalManager\";\n\ntype Props = {\n children: React.ReactNode;\n};\n\ntype Operation =\n | { type: \"mount\"; key: number; children: React.ReactNode }\n | { type: \"update\"; key: number; children: React.ReactNode }\n | { type: \"unmount\"; key: number };\n\nexport type PortalMethods = {\n mount: (children: React.ReactNode) => number;\n update: (key: number, children: React.ReactNode) => void;\n unmount: (key: number) => void;\n};\n\nexport const PortalContext = React.createContext<PortalMethods>(null as any);\n\n/**\n * Portal host renders all of its children `Portal` elements.\n * For example, you can wrap a screen in `Portal.Host` to render items above the screen.\n * If you're using the `Provider` component, it already includes `Portal.Host`.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Text } from 'react-native';\n * import { Portal } from 'react-native-paper';\n *\n * export default class MyComponent extends React.Component {\n * render() {\n * return (\n * <Portal.Host>\n * <Text>Content of the app</Text>\n * </Portal.Host>\n * );\n * }\n * }\n * ```\n *\n * Here any `Portal` elements under `<App />` are rendered alongside `<App />` and will appear above `<App />` like a `Modal`.\n */\nexport default class PortalHost extends React.Component<Props> {\n static displayName = \"Portal.Host\";\n\n componentDidMount() {\n const manager = this.manager;\n const queue = this.queue;\n\n while (queue.length && manager) {\n const action = queue.pop();\n if (action) {\n switch (action.type) {\n case \"mount\":\n manager.mount(action.key, action.children);\n break;\n case \"update\":\n manager.update(action.key, action.children);\n break;\n case \"unmount\":\n manager.unmount(action.key);\n break;\n }\n }\n }\n }\n\n private setManager = (manager: PortalManager | undefined | null) => {\n this.manager = manager;\n };\n\n private mount = (children: React.ReactNode) => {\n const key = this.nextKey++;\n\n if (this.manager) {\n this.manager.mount(key, children);\n } else {\n this.queue.push({ type: \"mount\", key, children });\n }\n\n return key;\n };\n\n private update = (key: number, children: React.ReactNode) => {\n if (this.manager) {\n this.manager.update(key, children);\n } else {\n const op = { type: \"mount\", key, children };\n const index = this.queue.findIndex(\n (o) => o.type === \"mount\" || (o.type === \"update\" && o.key === key)\n );\n\n if (index > -1) {\n // @ts-ignore\n this.queue[index] = op;\n } else {\n this.queue.push(op as Operation);\n }\n }\n };\n\n private unmount = (key: number) => {\n if (this.manager) {\n this.manager.unmount(key);\n } else {\n this.queue.push({ type: \"unmount\", key });\n }\n };\n\n private nextKey = 0;\n private queue: Operation[] = [];\n private manager: PortalManager | null | undefined;\n\n render() {\n return (\n <PortalContext.Provider\n value={{\n mount: this.mount,\n update: this.update,\n unmount: this.unmount,\n }}\n >\n {/* Need collapsable=false here to clip the elevations, otherwise they appear above Portal components */}\n <View\n style={styles.container}\n collapsable={false}\n pointerEvents=\"box-none\"\n >\n {this.props.children}\n </View>\n <PortalManager ref={this.setManager} />\n </PortalContext.Provider>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
1
+ {"version":3,"sources":["PortalHost.js"],"names":["PortalContext","React","createContext","PortalHost","Component","manager","children","key","nextKey","mount","queue","push","type","update","op","index","findIndex","o","unmount","componentDidMount","length","action","pop","render","createElement","Provider","value","View","style","styles","container","collapsable","pointerEvents","props","PortalManager","ref","setManager","StyleSheet","create","flex"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport PortalManager from \"./PortalManager\";\nexport const PortalContext = React.createContext(null);\n/**\n * Portal host renders all of its children `Portal` elements.\n * For example, you can wrap a screen in `Portal.Host` to render items above the screen.\n * If you're using the `Provider` component, it already includes `Portal.Host`.\n *\n * ## Usage\n * ```js\n * import * as React from 'react';\n * import { Text } from 'react-native';\n * import { Portal } from 'react-native-paper';\n *\n * export default class MyComponent extends React.Component {\n * render() {\n * return (\n * <Portal.Host>\n * <Text>Content of the app</Text>\n * </Portal.Host>\n * );\n * }\n * }\n * ```\n *\n * Here any `Portal` elements under `<App />` are rendered alongside `<App />` and will appear above `<App />` like a `Modal`.\n */\nexport default class PortalHost extends React.Component {\n static displayName = \"Portal.Host\";\n componentDidMount() {\n const manager = this.manager;\n const queue = this.queue;\n while (queue.length && manager) {\n const action = queue.pop();\n if (action) {\n switch (action.type) {\n case \"mount\":\n manager.mount(action.key, action.children);\n break;\n case \"update\":\n manager.update(action.key, action.children);\n break;\n case \"unmount\":\n manager.unmount(action.key);\n break;\n }\n }\n }\n }\n setManager = (manager) => {\n this.manager = manager;\n };\n mount = (children) => {\n const key = this.nextKey++;\n if (this.manager) {\n this.manager.mount(key, children);\n }\n else {\n this.queue.push({ type: \"mount\", key, children });\n }\n return key;\n };\n update = (key, children) => {\n if (this.manager) {\n this.manager.update(key, children);\n }\n else {\n const op = { type: \"mount\", key, children };\n const index = this.queue.findIndex((o) => o.type === \"mount\" || (o.type === \"update\" && o.key === key));\n if (index > -1) {\n // @ts-ignore\n this.queue[index] = op;\n }\n else {\n this.queue.push(op);\n }\n }\n };\n unmount = (key) => {\n if (this.manager) {\n this.manager.unmount(key);\n }\n else {\n this.queue.push({ type: \"unmount\", key });\n }\n };\n nextKey = 0;\n queue = [];\n manager;\n render() {\n return (React.createElement(PortalContext.Provider, { value: {\n mount: this.mount,\n update: this.update,\n unmount: this.unmount,\n } },\n React.createElement(View, { style: styles.container, collapsable: false, pointerEvents: \"box-none\" }, this.props.children),\n React.createElement(PortalManager, { ref: this.setManager })));\n }\n}\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n },\n});\n"]}
@@ -1,3 +1,5 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
1
3
  import * as React from "react";
2
4
  import { Text, Pressable, Platform, StyleSheet, ActivityIndicator } from "react-native";
3
5
  import { withTheme } from "../theming";
@@ -55,7 +57,7 @@ function Base({
55
57
  buttonStyles.justifyContent = "flex-end";
56
58
  }
57
59
 
58
- return /*#__PURE__*/React.createElement(Pressable, {
60
+ return /*#__PURE__*/React.createElement(Pressable, _extends({
59
61
  onPress: onPress,
60
62
  disabled: disabled || loading,
61
63
  style: ({
@@ -64,9 +66,8 @@ function Base({
64
66
  return [styles.base, {
65
67
  opacity: pressed || disabled ? 0.75 : 1
66
68
  }, buttonStyles];
67
- },
68
- ...props
69
- }, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
69
+ }
70
+ }, props), loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
70
71
  size: "small",
71
72
  color: color,
72
73
  style: styles.loading
@@ -85,14 +86,13 @@ const Solid = ({
85
86
  theme,
86
87
  ...props
87
88
  }) => {
88
- return /*#__PURE__*/React.createElement(Base, {
89
+ return /*#__PURE__*/React.createElement(Base, _extends({
89
90
  style: [{
90
91
  color: "#FFF",
91
92
  borderRadius: theme.roundness,
92
93
  backgroundColor: theme.colors.primary
93
- }, style],
94
- ...props
95
- });
94
+ }, style]
95
+ }, props));
96
96
  };
97
97
 
98
98
  const ButtonSolid = withTheme(Solid);
@@ -103,14 +103,13 @@ const Outline = ({
103
103
  theme,
104
104
  ...props
105
105
  }) => {
106
- return /*#__PURE__*/React.createElement(Base, {
106
+ return /*#__PURE__*/React.createElement(Base, _extends({
107
107
  style: [styles.outline, {
108
108
  borderRadius: theme.roundness,
109
109
  borderColor: theme.colors.primary,
110
110
  color: theme.colors.primary
111
- }, style],
112
- ...props
113
- });
111
+ }, style]
112
+ }, props));
114
113
  };
115
114
 
116
115
  const ButtonOutline = withTheme(Outline);
@@ -120,13 +119,12 @@ export const BaseLink = ({
120
119
  theme,
121
120
  ...props
122
121
  }) => {
123
- return /*#__PURE__*/React.createElement(Base, {
122
+ return /*#__PURE__*/React.createElement(Base, _extends({
124
123
  style: [styles.bare, {
125
124
  color: theme.colors.primary
126
125
  }, style],
127
- hitSlop: 8,
128
- ...props
129
- });
126
+ hitSlop: 8
127
+ }, props));
130
128
  };
131
129
  const Link = withTheme(BaseLink);
132
130
  export { Link };
@@ -1 +1 @@
1
- {"version":3,"sources":["Button.js"],"names":["React","Text","Pressable","Platform","StyleSheet","ActivityIndicator","withTheme","COMPONENT_TYPES","createIconProp","createBoolProp","createTextProp","GROUPS","createActionProp","Triggers","CONSTANTS","baseHeight","borderRadius","padding","icon","Base","Icon","title","onPress","loading","disabled","style","props","color","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","textTransform","textAlign","textDecorationLine","textDecorationColor","textDecorationStyle","buttonStyles","flatten","titleStyles","justifyContent","createElement","pressed","styles","base","opacity","size","name","Solid","theme","roundness","backgroundColor","colors","primary","ButtonSolid","Outline","outline","borderColor","ButtonOutline","BaseLink","bare","hitSlop","Link","create","position","flexDirection","alignItems","minHeight","paddingHorizontal","select","web","cursor","userSelect","borderWidth","undefined","marginRight","marginTop","alignSelf","default","marginBottom","SEED_DATA_TRIGGERS","OnPress","SEED_DATA_PROPS","defaultValue","required","label","description","group","basic","LAYOUT","SEED_DATA","tag","category","button","layout","triggers"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { Text, Pressable, Platform, StyleSheet, ActivityIndicator, } from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport { COMPONENT_TYPES, createIconProp, createBoolProp, createTextProp, GROUPS, createActionProp, Triggers, } from \"@draftbit/types\";\nconst CONSTANTS = {\n baseHeight: 42,\n borderRadius: 4,\n padding: 8,\n icon: 24,\n};\nfunction Base({ Icon, icon, title, onPress, loading, disabled, style, ...props }) {\n const { color, fontFamily, fontWeight, fontSize, lineHeight, letterSpacing, textTransform, textAlign, textDecorationLine, textDecorationColor, textDecorationStyle, ...buttonStyles } = StyleSheet.flatten(style || {});\n const titleStyles = {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n };\n if (textAlign === \"left\") {\n buttonStyles.justifyContent = \"flex-start\";\n }\n if (textAlign === \"right\") {\n buttonStyles.justifyContent = \"flex-end\";\n }\n return (React.createElement(Pressable, { onPress: onPress, disabled: disabled || loading, style: ({ pressed }) => {\n return [\n styles.base,\n {\n opacity: pressed || disabled ? 0.75 : 1,\n },\n buttonStyles,\n ];\n }, ...props },\n loading ? (React.createElement(ActivityIndicator, { size: \"small\", color: color, style: styles.loading })) : null,\n icon && !loading ? (React.createElement(Icon, { name: icon, color: color, style: styles.icon, size: CONSTANTS.icon })) : null,\n React.createElement(Text, { style: titleStyles }, title)));\n}\nconst Solid = ({ style, theme, ...props }) => {\n return (React.createElement(Base, { style: [\n {\n color: \"#FFF\",\n borderRadius: theme.roundness,\n backgroundColor: theme.colors.primary,\n },\n style,\n ], ...props }));\n};\nconst ButtonSolid = withTheme(Solid);\nexport { ButtonSolid };\nconst Outline = ({ style, theme, ...props }) => {\n return (React.createElement(Base, { style: [\n styles.outline,\n {\n borderRadius: theme.roundness,\n borderColor: theme.colors.primary,\n color: theme.colors.primary,\n },\n style,\n ], ...props }));\n};\nconst ButtonOutline = withTheme(Outline);\nexport { ButtonOutline };\nexport const BaseLink = ({ style, theme, ...props }) => {\n return (React.createElement(Base, { style: [styles.bare, { color: theme.colors.primary }, style], hitSlop: 8, ...props }));\n};\nconst Link = withTheme(BaseLink);\nexport { Link };\nconst styles = StyleSheet.create({\n base: {\n position: \"relative\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minHeight: CONSTANTS.baseHeight,\n paddingHorizontal: 12,\n fontFamily: \"System\",\n fontWeight: \"700\",\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n outline: {\n backgroundColor: \"transparent\",\n borderWidth: 1,\n },\n bare: {\n backgroundColor: \"transparent\",\n padding: 0,\n minHeight: undefined,\n },\n loading: {\n marginRight: 6,\n },\n icon: {\n ...Platform.select({\n web: {\n marginTop: 1,\n marginRight: 4,\n alignSelf: \"center\",\n },\n default: {\n marginBottom: 2,\n marginRight: 4,\n alignSelf: \"center\",\n },\n }),\n },\n});\nconst SEED_DATA_TRIGGERS = [Triggers.OnPress];\nconst SEED_DATA_PROPS = {\n onPress: createActionProp(),\n icon: createIconProp({\n defaultValue: null,\n required: false,\n }),\n title: createTextProp({\n label: \"Label\",\n description: \"Button Label\",\n defaultValue: \"Get Started\",\n }),\n disabled: createBoolProp({\n group: GROUPS.basic,\n label: \"Disabled\",\n description: \"Whether the button should be disabled\",\n }),\n loading: createBoolProp({\n group: GROUPS.basic,\n label: \"Loading\",\n description: \"Whether to show a loading indicator\",\n }),\n};\nconst LAYOUT = {\n backgroundColor: \"transparent\",\n borderRadius: 8,\n fontFamily: \"system-700\",\n};\nexport const SEED_DATA = [\n {\n name: \"Button Outline\",\n tag: \"ButtonOutline\",\n category: COMPONENT_TYPES.button,\n layout: {\n ...LAYOUT,\n backgroundColor: \"transparent\",\n borderWidth: 1,\n textAlign: \"center\",\n },\n triggers: SEED_DATA_TRIGGERS,\n props: SEED_DATA_PROPS,\n },\n {\n name: \"Button Solid\",\n tag: \"ButtonSolid\",\n category: COMPONENT_TYPES.button,\n layout: {\n ...LAYOUT,\n backgroundColor: \"primary\",\n textAlign: \"center\",\n },\n triggers: SEED_DATA_TRIGGERS,\n props: SEED_DATA_PROPS,\n },\n {\n name: \"Link\",\n tag: \"Link\",\n category: COMPONENT_TYPES.button,\n layout: {\n ...LAYOUT,\n backgroundColor: \"transparent\",\n color: \"primary\",\n padding: 0,\n minHeight: undefined,\n },\n triggers: SEED_DATA_TRIGGERS,\n props: SEED_DATA_PROPS,\n },\n];\n"]}
1
+ {"version":3,"sources":["Button.tsx"],"names":["React","Text","Pressable","Platform","StyleSheet","ActivityIndicator","withTheme","COMPONENT_TYPES","createIconProp","createBoolProp","createTextProp","GROUPS","createActionProp","Triggers","CONSTANTS","baseHeight","borderRadius","padding","icon","Base","Icon","title","onPress","loading","disabled","style","props","color","fontFamily","fontWeight","fontSize","lineHeight","letterSpacing","textTransform","textAlign","textDecorationLine","textDecorationColor","textDecorationStyle","buttonStyles","flatten","titleStyles","justifyContent","pressed","styles","base","opacity","Solid","theme","roundness","backgroundColor","colors","primary","ButtonSolid","Outline","outline","borderColor","ButtonOutline","BaseLink","bare","Link","create","position","flexDirection","alignItems","minHeight","paddingHorizontal","select","web","cursor","userSelect","borderWidth","undefined","marginRight","marginTop","alignSelf","default","marginBottom","SEED_DATA_TRIGGERS","OnPress","SEED_DATA_PROPS","defaultValue","required","label","description","group","basic","LAYOUT","SEED_DATA","name","tag","category","button","layout","triggers"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n Text,\n Pressable,\n Platform,\n StyleSheet,\n TextStyle,\n PressableProps,\n ActivityIndicator,\n} from \"react-native\";\n\nimport { withTheme } from \"../theming\";\n\nimport {\n COMPONENT_TYPES,\n createIconProp,\n createBoolProp,\n createTextProp,\n GROUPS,\n createActionProp,\n Triggers,\n} from \"@draftbit/types\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\nconst CONSTANTS = {\n baseHeight: 42,\n borderRadius: 4,\n padding: 8,\n icon: 24,\n};\n\ntype BaseProps = {\n title: string;\n disabled: boolean;\n loading: boolean;\n style?: TextStyle;\n onPress: () => void;\n icon?: string;\n} & PressableProps &\n IconSlot;\n\ntype Props = {\n title: string;\n disabled: boolean;\n loading: boolean;\n style?: TextStyle;\n onPress: () => void;\n icon?: string;\n theme: Theme;\n} & PressableProps &\n IconSlot;\n\nfunction Base({\n Icon,\n icon,\n title,\n onPress,\n loading,\n disabled,\n style,\n ...props\n}: BaseProps): JSX.Element {\n const {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n ...buttonStyles\n } = StyleSheet.flatten(style || ({} as TextStyle));\n\n const titleStyles: TextStyle = {\n color,\n fontFamily,\n fontWeight,\n fontSize,\n lineHeight,\n letterSpacing,\n textTransform,\n textAlign,\n textDecorationLine,\n textDecorationColor,\n textDecorationStyle,\n };\n\n if (textAlign === \"left\") {\n buttonStyles.justifyContent = \"flex-start\";\n }\n\n if (textAlign === \"right\") {\n buttonStyles.justifyContent = \"flex-end\";\n }\n\n return (\n <Pressable\n onPress={onPress}\n disabled={disabled || loading}\n style={({ pressed }) => {\n return [\n styles.base,\n {\n opacity: pressed || disabled ? 0.75 : 1,\n },\n buttonStyles,\n ];\n }}\n {...props}\n >\n {loading ? (\n <ActivityIndicator size=\"small\" color={color} style={styles.loading} />\n ) : null}\n {icon && !loading ? (\n <Icon\n name={icon}\n color={color as string}\n style={styles.icon}\n size={CONSTANTS.icon}\n />\n ) : null}\n <Text style={titleStyles}>{title}</Text>\n </Pressable>\n );\n}\n\nconst Solid = ({ style, theme, ...props }: Props): JSX.Element => {\n return (\n <Base\n style={[\n {\n color: \"#FFF\",\n borderRadius: theme.roundness,\n backgroundColor: theme.colors.primary,\n },\n style,\n ]}\n {...props}\n />\n );\n};\n\nconst ButtonSolid: any = withTheme(Solid);\nexport { ButtonSolid };\n\nconst Outline = ({ style, theme, ...props }: Props): JSX.Element => {\n return (\n <Base\n style={[\n styles.outline,\n {\n borderRadius: theme.roundness,\n borderColor: theme.colors.primary,\n color: theme.colors.primary,\n },\n style,\n ]}\n {...props}\n />\n );\n};\n\nconst ButtonOutline: any = withTheme(Outline);\nexport { ButtonOutline };\n\nexport const BaseLink = ({ style, theme, ...props }: Props): JSX.Element => {\n return (\n <Base\n style={[styles.bare, { color: theme.colors.primary }, style]}\n hitSlop={8}\n {...props}\n />\n );\n};\n\nconst Link: any = withTheme(BaseLink);\nexport { Link };\n\nconst styles = StyleSheet.create({\n base: {\n position: \"relative\",\n flexDirection: \"row\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minHeight: CONSTANTS.baseHeight,\n paddingHorizontal: 12,\n fontFamily: \"System\",\n fontWeight: \"700\",\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n outline: {\n backgroundColor: \"transparent\",\n borderWidth: 1,\n },\n bare: {\n backgroundColor: \"transparent\",\n padding: 0,\n minHeight: undefined,\n },\n loading: {\n marginRight: 6,\n },\n icon: {\n ...Platform.select({\n web: {\n marginTop: 1,\n marginRight: 4,\n alignSelf: \"center\",\n },\n default: {\n marginBottom: 2,\n marginRight: 4,\n alignSelf: \"center\",\n },\n }),\n },\n});\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnPress];\nconst SEED_DATA_PROPS = {\n onPress: createActionProp(),\n icon: createIconProp({\n defaultValue: null,\n required: false,\n }),\n title: createTextProp({\n label: \"Label\",\n description: \"Button Label\",\n defaultValue: \"Get Started\",\n }),\n disabled: createBoolProp({\n group: GROUPS.basic,\n label: \"Disabled\",\n description: \"Whether the button should be disabled\",\n }),\n loading: createBoolProp({\n group: GROUPS.basic,\n label: \"Loading\",\n description: \"Whether to show a loading indicator\",\n }),\n};\n\nconst LAYOUT = {\n backgroundColor: \"transparent\",\n borderRadius: 8,\n fontFamily: \"system-700\",\n};\n\nexport const SEED_DATA = [\n {\n name: \"Button Outline\",\n tag: \"ButtonOutline\",\n category: COMPONENT_TYPES.button,\n layout: {\n ...LAYOUT,\n backgroundColor: \"transparent\",\n borderWidth: 1,\n textAlign: \"center\",\n },\n triggers: SEED_DATA_TRIGGERS,\n props: SEED_DATA_PROPS,\n },\n {\n name: \"Button Solid\",\n tag: \"ButtonSolid\",\n category: COMPONENT_TYPES.button,\n layout: {\n ...LAYOUT,\n backgroundColor: \"primary\",\n textAlign: \"center\",\n },\n triggers: SEED_DATA_TRIGGERS,\n props: SEED_DATA_PROPS,\n },\n {\n name: \"Link\",\n tag: \"Link\",\n category: COMPONENT_TYPES.button,\n layout: {\n ...LAYOUT,\n backgroundColor: \"transparent\",\n color: \"primary\",\n padding: 0,\n minHeight: undefined,\n },\n triggers: SEED_DATA_TRIGGERS,\n props: SEED_DATA_PROPS,\n },\n];\n"]}
@@ -50,7 +50,12 @@ const DatePicker = ({
50
50
  });
51
51
  const previousInitialValue = usePrevious(initialValue);
52
52
  React.useEffect(() => {
53
- if (initialValue !== previousInitialValue) {
53
+ const initialValueStr = initialValue ? initialValue.toString() : "";
54
+ const previousInitialValueStr = previousInitialValue ? // This weirdly complains about being possibly undefined despite being inside a ternary
55
+ // @ts-ignore
56
+ previousInitialValue.toString() : "";
57
+
58
+ if (initialValueStr !== previousInitialValueStr) {
54
59
  setValue(initialValue);
55
60
  onDateChange(initialValue);
56
61
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["DatePicker.tsx"],"names":["React","View","Animated","Text","StyleSheet","Platform","I18nManager","TextInput","NativeTextInput","useSafeAreaInsets","dateFormat","withTheme","Portal","Button","Touchable","DateTimePicker","usePrevious","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","initialValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","useState","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","previousInitialValue","useEffect","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","isRTL"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,IADF,EAEEC,QAFF,EAGEC,IAHF,EAIEC,UAJF,EAQEC,QARF,EAWEC,WAXF,EAaEC,SAAS,IAAIC,eAbf,QAcO,cAdP;AAeA,SAASC,iBAAT,QAAkC,gCAAlC;AAEA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,SAAT,QAA0B,eAA1B;AACA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,OAAOC,MAAP,MAAmB,qBAAnB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,cAAP,MAA2B,uBAA3B;AAIA,SAASC,WAAT,QAA4B,aAA5B;AAEA,MAAMC,YAAY,GAAGf,QAAQ,CAACgB,uBAAT,CAAiCf,IAAjC,CAArB;AAEA,MAAMgB,wBAAwB,GAAG,GAAjC;AACA,MAAMC,uBAAuB,GAAG,GAAhC;AACA,MAAMC,SAAS,GAAG,EAAlB;AA0BA,MAAMC,MAAM,GAAG,CACb,SADa,EAEb,UAFa,EAGb,OAHa,EAIb,OAJa,EAKb,KALa,EAMb,MANa,EAOb,MAPa,EAQb,QARa,EASb,WATa,EAUb,SAVa,EAWb,UAXa,EAYb,UAZa,CAAf;;AAeA,MAAMC,UAA2B,GAAG,CAAC;AACnCC,EAAAA,IADmC;AAEnCC,EAAAA,KAFmC;AAGnCC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,UAAV;AAAsBC,IAAAA,SAAtB;AAAiCC,IAAAA;AAAjC,GAH4B;AAInCC,EAAAA,IAJmC;AAKnCC,EAAAA,YAAY,GAAG,MAAM,CAAE,CALY;AAMnCC,EAAAA,YANmC;AAOnCC,EAAAA,QAAQ,GAAG,KAPwB;AAQnCC,EAAAA,IAAI,GAAG,MAR4B;AASnCC,EAAAA,MATmC;AAUnCC,EAAAA,IAAI,GAAG,WAV4B;AAWnCC,EAAAA,YAXmC;AAYnCC,EAAAA,aAZmC;AAanCC,EAAAA,YAAY,GAAG,OAboB;AAcnCC,EAAAA,KAdmC;AAenCC,EAAAA,WAfmC;AAgBnC,KAAGC;AAhBgC,CAAD,KAiB9B;AACJ,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB7C,KAAK,CAAC8C,QAAN,CAAoBf,IAApB,CAA1B;AACA,QAAM,CAACgB,aAAD,EAAgBC,gBAAhB,IAAoChD,KAAK,CAAC8C,QAAN,CAAe,KAAf,CAA1C;AACA,QAAM,CAACG,OAAD,IAAYjD,KAAK,CAAC8C,QAAN,CAChB,IAAI5C,QAAQ,CAACgD,KAAb,CAAmBnB,IAAI,GAAG,CAAH,GAAO,CAA9B,CADgB,CAAlB;AAGA,QAAM,CAACoB,YAAD,EAAeC,eAAf,IAAkCpD,KAAK,CAAC8C,QAAN,CAAe,EAAf,CAAxC;AACA,QAAM,CAACO,OAAD,EAAUC,UAAV,IAAwBtD,KAAK,CAAC8C,QAAN,CAAwB,KAAxB,CAA9B;AACA,QAAM,CAACS,WAAD,EAAcC,cAAd,IAAgCxD,KAAK,CAAC8C,QAAN,CAGnC;AAAEW,IAAAA,QAAQ,EAAE,KAAZ;AAAmBC,IAAAA,KAAK,EAAE;AAA1B,GAHmC,CAAtC;AAKA,QAAMC,oBAAoB,GAAG3C,WAAW,CAACiB,YAAD,CAAxC;AACAjC,EAAAA,KAAK,CAAC4D,SAAN,CAAgB,MAAM;AACpB,QAAI3B,YAAY,KAAK0B,oBAArB,EAA2C;AACzCd,MAAAA,QAAQ,CAACZ,YAAD,CAAR;AACAD,MAAAA,YAAY,CAACC,YAAD,CAAZ;AACD;AACF,GALD,EAKG,CAACA,YAAD,EAAe0B,oBAAf,EAAqCd,QAArC,EAA+Cb,YAA/C,CALH;;AAOA,QAAM6B,YAAY,GAAG,MAAY;AAC/B,QAAI,CAACjB,KAAL,EAAY;AACV,aAAO,IAAIkB,IAAJ,EAAP;AACD;;AACD,WAAO,QAAOlB,KAAP,aAAOA,KAAP,uBAAOA,KAAK,CAAEmB,QAAd,MAA2B,UAA3B,GAAwCnB,KAAxC,GAAgD,IAAIkB,IAAJ,EAAvD;AACD,GALD;;AAOA,QAAME,UAAU,GAAG,MAAc;AAC/B,QAAI,CAACpB,KAAL,EAAY,OAAO,EAAP;AACZ,QAAIqB,OAAO,GAAGJ,YAAY,EAA1B;AAEA,QAAIzB,MAAJ,EAAY,OAAO1B,UAAU,CAACuD,OAAD,EAAU7B,MAAV,CAAjB;;AAEZ,QAAID,IAAI,KAAK,MAAb,EAAqB;AACnB,aAAQ,GAAE8B,OAAO,CAACC,kBAAR,EAA6B,EAAvC;AACD;;AAED,QAAI/B,IAAI,KAAK,UAAb,EAAyB;AACvB,aAAQ,GAAE8B,OAAO,CAACE,cAAR,EAAyB,EAAnC;AACD;;AAED,WAAQ,GACN7C,MAAM,CAAC2C,OAAO,CAACF,QAAR,EAAD,CACP,IAAGE,OAAO,CAACG,OAAR,EAAkB,KAAIH,OAAO,CAACI,WAAR,EAAsB,EAFhD;AAGD,GAjBD;;AAmBA,QAAMC,gBAAgB,GAAG,YAAY;AACnCtB,IAAAA,gBAAgB,CAAC,CAACD,aAAF,CAAhB;AACAM,IAAAA,OAAO,GAAGkB,WAAW,EAAd,GAAmBC,YAAY,EAAtC;AACD,GAHD;;AAIA,QAAMC,MAAM,GAAGhE,iBAAiB,EAAhC,CAnDI,CAqDJ;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;AAEA,QAAMiE,gBAAgB,GAAG,MAAM;AAC7BtB,IAAAA,eAAe,CAAC,EAAD,CAAf;AACD,GAFD;;AAIApD,EAAAA,KAAK,CAAC4D,SAAN,CAAgB,MAAM;AACpBf,IAAAA,QAAQ,CAACd,IAAD,CAAR;AACD,GAFD,EAEG,CAACA,IAAD,CAFH;AAIA/B,EAAAA,KAAK,CAAC4D,SAAN,CAAgB,MAAM;AACpB,QAAIhB,KAAK,IAAIS,OAAT,IAAoBF,YAAxB,EAAsC;AACpC;AACAjD,MAAAA,QAAQ,CAACyE,MAAT,CAAgB1B,OAAhB,EAAyB;AACvB2B,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAEzD,uBAFa;AAGvB0D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD,KAPD,MAOO;AACL;AACA7E,MAAAA,QAAQ,CAACyE,MAAT,CAAgB1B,OAAhB,EAAyB;AACvB2B,QAAAA,OAAO,EAAE,CADc;AAEvBC,QAAAA,QAAQ,EAAE1D,wBAFa;AAGvB2D,QAAAA,eAAe,EAAE;AAHM,OAAzB,EAIGC,KAJH;AAKD;AACF,GAhBD,EAgBG,CAACnC,KAAD,EAAQS,OAAR,EAAiBF,YAAjB,EAA+BF,OAA/B,CAhBH;AAkBAjD,EAAAA,KAAK,CAAC4D,SAAN,CAAgB,MAAM;AACpB,UAAMoB,gBAAgB,GAAG,MACvBC,UAAU,CAAC,MAAM7B,eAAe,CAACV,WAAW,IAAI,EAAhB,CAAtB,EAA2C,EAA3C,CADZ;;AAEA,QAAIW,OAAO,IAAI,CAACZ,KAAhB,EAAuB;AACrBuC,MAAAA,gBAAgB;AACjB,KAFD,MAEO;AACLN,MAAAA,gBAAgB;AACjB;;AACD,WAAO,MAAM;AACXQ,MAAAA,YAAY,CAACF,gBAAgB,EAAjB,CAAZ;AACD,KAFD;AAGD,GAXD,EAWG,CAAC3B,OAAD,EAAUZ,KAAV,EAAiBC,WAAjB,CAXH;;AAaA,QAAM8B,YAAY,GAAG,MAAM;AACzB,QAAItC,QAAJ,EAAc;AACZ;AACD;;AAEDoB,IAAAA,UAAU,CAAC,IAAD,CAAV;AACD,GAND;;AAQA,QAAMiB,WAAW,GAAG,MAAM;AACxB,QAAIrC,QAAJ,EAAc;AACZ;AACD;;AACDoB,IAAAA,UAAU,CAAC,KAAD,CAAV;AACD,GALD;;AAOA,QAAM6B,wBAAwB,GAAG,EAAEvD,UAAU,CAACwD,OAAX,CAAmBC,UAAnB,GAAgC,CAAlC,CAAjC;AACA,QAAMC,gCAAgC,GAAG,EAAE,KAAK,GAAL,GAAW,CAAb,CAAzC;AACA,QAAMC,yBAAyB,GAAG3D,UAAU,CAAC4D,SAAX,CAAqBC,QAAvD;AACA,QAAMC,yBAAyB,GAAG9D,UAAU,CAACwD,OAAX,CAAmBK,QAArD;AAEA,QAAME,gBAAgB,GAAGtC,OAAzB;AAEA,MAAIuC,cAAJ,EACEC,WADF,EAEEC,cAFF,EAGEC,WAHF,EAIEC,gBAJF,EAKEC,cALF,EAMEC,eANF,EAOEC,UAPF;AASAP,EAAAA,cAAc,GAAGjE,MAAM,CAACyE,MAAxB;;AACA,MAAIlE,QAAJ,EAAc;AACZ2D,IAAAA,WAAW,GAAGlE,MAAM,CAAC0E,KAArB;AACAL,IAAAA,gBAAgB,GAAGrE,MAAM,CAAC0E,KAA1B;AACAN,IAAAA,WAAW,GAAG,aAAd;AACAD,IAAAA,cAAc,GAAG,aAAjB;AACAI,IAAAA,eAAe,GAAGvE,MAAM,CAAC2E,OAAzB;AACD,GAND,MAMO;AACLT,IAAAA,WAAW,GAAGlE,MAAM,CAAC4E,OAArB;AACAP,IAAAA,gBAAgB,GAAGD,WAAW,GAAGpE,MAAM,CAAC0E,KAAxC;AACAP,IAAAA,cAAc,GAAGnE,MAAM,CAAC0E,KAAxB;AACAH,IAAAA,eAAe,GAAGvE,MAAM,CAAC6E,UAAzB;AACD;;AAED,QAAM;AAAEnB,IAAAA,UAAF;AAAc,OAAGG;AAAjB,MAA+B5D,UAAU,CAAC4D,SAAhD;AAEAW,EAAAA,UAAU,GAAG;AACXM,IAAAA,eAAe,EAAE,CADN;AAEXC,IAAAA,KAAK,EAAEd,cAFI;AAGXe,IAAAA,WAAW,EACTrE,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACInB,SAAS,IAAIgB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANK;AAOXuE,IAAAA,YAAY,EAAErE,aAAa,GAAGlB,SAAS,GAAG,EAAZ,GAAiB,CAApB,GAAwB,EAPxC;AAQX,OAAGmE,SARQ;AASXqB,IAAAA,MAAM,EAAExB;AATG,GAAb;;AAYA,MAAIhD,IAAI,KAAK,WAAb,EAA0B;AACxB4D,IAAAA,cAAc,GAAG;AACfa,MAAAA,mBAAmB,EAAEjF,SADN;AAEfkF,MAAAA,oBAAoB,EAAElF,SAFP;AAGfmF,MAAAA,aAAa,EAAE,EAHA;AAIfC,MAAAA,SAAS,EAAE;AAJI,KAAjB;AAMD,GAPD,MAOO;AACLhB,IAAAA,cAAc,GAAG;AACfiB,MAAAA,YAAY,EAAErF,SADC;AAEfkE,MAAAA,WAAW,EAAEJ,gBAAgB,GAAGE,WAAH,GAAiBE,WAF/B;AAGfoB,MAAAA,WAAW,EAAE,CAHE;AAIfC,MAAAA,UAAU,EAAEnE,OAAO,GAAG,KAAK,GAAR,GAAc,EAJlB;AAKf+D,MAAAA,aAAa,EAAE/D,OAAO,GAAG,KAAK,GAAR,GAAc,EALrB;AAMfoE,MAAAA,OAAO,EAAEnF,QAAQ,GAAGJ,eAAH,GAAqB,CANvB;AAOfoE,MAAAA;AAPe,KAAjB;AAUAC,IAAAA,UAAU,CAACmB,iBAAX,GAA+B,EAA/B;AACD;;AAED,MAAIhF,YAAY,IAAIE,YAAY,KAAK,QAArC,EAA+C;AAC7CyD,IAAAA,cAAc,CAACsB,UAAf,GAA4BlG,SAAS,GAAG,CAAxC;AACD;;AAED,MAAImG,aAAJ;;AACA,MAAInE,OAAJ,EAAa;AACXmE,IAAAA,aAAa,GAAG7F,MAAM,CAAC4E,OAAvB;AACD,GAFD,MAEO;AACLiB,IAAAA,aAAa,GAAG7F,MAAM,CAAC0E,KAAvB;AACD;;AAED,QAAMoB,aAAa,GAAG;AACpBC,IAAAA,IAAI,EAAE,EADc;AAEpBhB,IAAAA,KAAK,EAAEc,aAFa;AAGpBG,IAAAA,IAAI,EAAErF,YAAY,IAAI;AAHF,GAAtB;AAMA,QAAMsF,aAAyB,GAAG;AAChCC,IAAAA,QAAQ,EAAE,UADsB;AAEhCZ,IAAAA,SAAS,EACP5E,IAAI,KAAK,OAAT,GACIG,YAAY,KAAK,OAAjB,GACEkD,yBAAyB,GAAG,CAD9B,GAEE,EAHN,GAIIlD,YAAY,KAAK,QAAjB,GACA,EADA,GAEA;AAT0B,GAAlC;AAYA,QAAMsF,UAAU,GAAG,EACjB,GAAGlG,UAAU,CAAC4D,SADG;AAEjBuC,IAAAA,GAAG,EAAE1F,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,CAFZ;AAGjB2F,IAAAA,IAAI,EACF1F,YAAY,IAAIE,YAAY,KAAK,OAAjC,GACInB,SAAS,IAAIgB,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB,EAA5B,CADb,GAEI,CANW;AAOjB4F,IAAAA,SAAS,EAAE,CACT;AACE;AACAC,MAAAA,UAAU,EAAEjF,OAAO,CAACkF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACXhG,IAAI,KAAK,OAAT,GACIiD,gCADJ,GAEIH,wBAHO,EAIX,CAJW;AAFiB,OAApB;AAFd,KADS,EAaT;AACE;AACAmD,MAAAA,KAAK,EAAErF,OAAO,CAACkF,WAAR,CAAoB;AACzBC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADa;AAEzBC,QAAAA,WAAW,EAAE,CACX3C,yBAAyB,GAAGH,yBADjB,EAEX,CAFW;AAFY,OAApB;AAFT,KAbS,EAuBT;AACE;AACAgD,MAAAA,UAAU,EAAEtF,OAAO,CAACkF,WAAR,CAAoB;AAC9BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADkB;AAE9BC,QAAAA,WAAW,EAAE,CACX,EAAE,IAAI3C,yBAAyB,GAAGH,yBAAlC,KACGhC,WAAW,CAACG,KAAZ,GAAoB,CADvB,CADW,EAGX,CAHW;AAFiB,OAApB;AAFd,KAvBS;AAPM,GAAnB;AA4CA,QAAM8E,WAAW,GAAG,CAClBC,MAAM,CAACC,KADW,EAElBvC,UAFkB,EAGlB9D,IAAI,KAAK,OAAT,GAAmB;AAAEsG,IAAAA,gBAAgB,EAAE;AAApB,GAAnB,GAA8C,EAH5B,CAApB,CAtQI,CA4QJ;;AAEA,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACF,MAAM,CAACG,SAAR,EAAmBnH,KAAnB;AAAb,kBACE,oBAAC,SAAD;AAAW,IAAA,QAAQ,EAAES,QAArB;AAA+B,IAAA,OAAO,EAAEoC;AAAxC,kBACE,oBAAC,IAAD;AAAM,IAAA,aAAa,EAAC;AAApB,kBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE,CAACmE,MAAM,CAACG,SAAR,EAAmBnH,KAAnB;AAAb,KACGa,YAAY,IAAIE,YAAY,KAAK,QAAjC,gBACC,oBAAC,IAAD,eAAUiF,aAAV;AAAyB,IAAA,KAAK,EAAEG;AAAhC,KADD,GAEG,IAHN,eAIE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CAAC3B,cAAD,EAAiBxE,KAAK,GAAG;AAAEoF,MAAAA,MAAM,EAAEpF,KAAK,CAACoF;AAAhB,KAAH,GAA8B,EAApD;AADT,KAGGxE,IAAI,KAAK,WAAT;AAAA;AACC;AACA,sBAAC,QAAD,CAAU,IAAV;AACE,IAAA,KAAK,EAAE,CACLoG,MAAM,CAACI,SADF,EAEL;AACE3C,MAAAA,eAAe,EAAE7C,OAAO,GAAGwC,WAAH,GAAiBC,cAD3C;AAEE;AACAmC,MAAAA,SAAS,EAAE,CAAC;AAAEa,QAAAA,MAAM,EAAEzF,OAAO,GAAG,CAAH,GAAO;AAAxB,OAAD;AAHb,KAFK;AADT,IAFD,GAYG,IAfN,EAiBGZ,KAAK;AAAA;AACJ;AACA;AACA,sBAAC,IAAD;AACE,IAAA,aAAa,EAAC,MADhB;AAEE,IAAA,KAAK,EAAE,CACLrC,UAAU,CAAC2I,YADN,EAEL;AACE1B,MAAAA,OAAO,EACL;AACAtF,MAAAA,IAAI,IAAIsB,OAAR,GAAmBE,WAAW,CAACE,QAAZ,GAAuB,CAAvB,GAA2B,CAA9C,GAAmD;AAHvD,KAFK;AAFT,kBAWE,oBAAC,YAAD;AACE,IAAA,QAAQ,EAAGuF,CAAD,IACRxF,cAAc,CAAC;AACbE,MAAAA,KAAK,EAAEsF,CAAC,CAACC,WAAF,CAAcC,MAAd,CAAqBxF,KADf;AAEbD,MAAAA,QAAQ,EAAE;AAFG,KAAD,CAFlB;AAOE,IAAA,KAAK,EAAE,CACLgF,MAAM,CAAC/F,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEiF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAE/E,MAAM,CAAC0E,KADhB;AAEEgB,MAAAA,OAAO,EAAEpE,OAAO,CAACkF,WAAR,CAAoB;AAC3BC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,CADe;AAE3BC,QAAAA,WAAW,EAAE,CAAC1C,gBAAgB,GAAG,CAAH,GAAO,CAAxB,EAA2B,CAA3B;AAFc,OAApB;AAFX,KAJK,CAPT;AAmBE,IAAA,aAAa,EAAE;AAnBjB,KAqBGlD,KArBH,CAXF,eAkCE,oBAAC,YAAD;AACE,IAAA,KAAK,EAAE,CACLgG,MAAM,CAAC/F,WADF,EAELL,IAAI,KAAK,OAAT,GAAmB;AAAEiF,MAAAA,iBAAiB,EAAE;AAArB,KAAnB,GAA+C,EAF1C,EAGLQ,UAHK,EAIL;AACEpB,MAAAA,KAAK,EAAEV,gBADT;AAEEqB,MAAAA,OAAO,EAAE1B,gBAAgB,GAAG1C,OAAH,GAAa;AAFxC,KAJK,CADT;AAUE,IAAA,aAAa,EAAE;AAVjB,KAYGR,KAZH,CAlCF,CAHI,GAoDF,IArEN,EAuEGH,YAAY,IAAIE,YAAY,KAAK,OAAjC,gBACC,oBAAC,IAAD,eACMiF,aADN;AAEE,IAAA,KAAK,EAAE,EACL,GAAGG,aADE;AAELL,MAAAA,UAAU,EAAElF,IAAI,KAAK,OAAT,GAAmB,EAAnB,GAAwB;AAF/B;AAFT,KADD,GAQG,IA/EN,eAiFE,oBAAC,eAAD;AACE,IAAA,KAAK,EAAE2B,UAAU,EADnB;AAEE,IAAA,WAAW,EAAEvB,KAAK,GAAGU,YAAH,GAAkBT,WAFtC;AAGE,IAAA,QAAQ,EAAE,CAACR,QAHb;AAIE,IAAA,oBAAoB,EAAE8D,gBAJxB;AAKE,IAAA,cAAc,EAAEH,WALlB;AAME,IAAA,OAAO,EAAErB,YANX;AAOE,IAAA,MAAM,EAAED,WAPV;AAQE,IAAA,qBAAqB,EAAE,aARzB;AASE,IAAA,KAAK,EAAEiE;AATT,KAUM7F,KAVN,EAjFF,CAJF,EAkGGJ,aAAa,gBACZ,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,aADR;AAEE,IAAA,IAAI,EAAElB,SAFR;AAGE,IAAA,KAAK,EAAEM,MAAM,CAAC0E,KAHhB;AAIE,IAAA,KAAK,EAAE;AACLwB,MAAAA,QAAQ,EAAE,UADL;AAELsB,MAAAA,KAAK,EAAE,EAFF;AAGLlC,MAAAA,SAAS,EACP5E,IAAI,KAAK,OAAT,GAAmBqD,yBAAyB,GAAG,CAA/C,GAAmD;AAJhD;AAJT,IADY,GAYV,IA9GN,CADF,CADF,CADF,EAqHG3C,aAAa,iBACZ,oBAAC,MAAD,qBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACL0F,MAAM,CAACW,MADF,EAEL;AACElD,MAAAA,eAAe,EAAEvE,MAAM,CAAC2E;AAD1B,KAFK;AADT,kBAQE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACLmC,MAAM,CAACY,eADF,EAEL;AACEjC,MAAAA,UAAU,EAAE3C,MAAM,CAACsD,GADrB;AAEEf,MAAAA,aAAa,EAAEvC,MAAM,CAAC6E,MAFxB;AAGE3C,MAAAA,WAAW,EAAElC,MAAM,CAACuD,IAHtB;AAIEpB,MAAAA,YAAY,EAAEnC,MAAM,CAAC0E;AAJvB,KAFK;AADT,KAWG9I,QAAQ,CAACkJ,EAAT,KAAgB,KAAhB,iBACC,oBAAC,MAAD;AACE,IAAA,IAAI,EAAE/H,IADR;AAEE,IAAA,IAAI,EAAC,MAFP;AAGE,IAAA,OAAO,EAAE8C,gBAHX;AAIE,IAAA,KAAK,EAAEmE,MAAM,CAACe;AAJhB,aAZJ,eAsBE,oBAAC,cAAD;AACE,IAAA,KAAK,EAAE3F,YAAY,EADrB;AAEE,IAAA,IAAI,EAAE1B,IAFR;AAGE,IAAA,SAAS,EAAEY,aAHb;AAIE,IAAA,gBAAgB,EAAEuB,gBAJpB;AAKE,IAAA,QAAQ,EAAE,CAACmF,MAAD,EAAcC,IAAd,KAA4B;AACpCrJ,MAAAA,QAAQ,CAACkJ,EAAT,KAAgB,KAAhB,GAAwB,IAAxB,GAA+BjF,gBAAgB,EAA/C;AACAzB,MAAAA,QAAQ,CAAC6G,IAAD,CAAR;AACA1H,MAAAA,YAAY,CAAC0H,IAAD,CAAZ;AACD;AATH,IAtBF,CARF,CADF,CAtHJ,CADF;AAuKD,CAtcD;;AAwcA,MAAMjB,MAAM,GAAGrI,UAAU,CAACuJ,MAAX,CAAkB;AAC/Bf,EAAAA,SAAS,EAAE;AACTgB,IAAAA,SAAS,EAAE;AADF,GADoB;AAI/BR,EAAAA,MAAM,EAAE;AACNvB,IAAAA,QAAQ,EAAE,UADJ;AAENyB,IAAAA,MAAM,EAAE,CAFF;AAGNtB,IAAAA,IAAI,EAAE,CAHA;AAINmB,IAAAA,KAAK,EAAE,CAJD;AAKNU,IAAAA,aAAa,EAAE,KALT;AAMNC,IAAAA,cAAc,EAAE;AANV,GAJuB;AAY/BjB,EAAAA,SAAS,EAAE;AACThB,IAAAA,QAAQ,EAAE,UADD;AAETG,IAAAA,IAAI,EAAE,CAFG;AAGTmB,IAAAA,KAAK,EAAE,CAHE;AAITG,IAAAA,MAAM,EAAE,CAJC;AAKTzC,IAAAA,MAAM,EAAE;AALC,GAZoB;AAmB/B6B,EAAAA,KAAK,EAAE;AACLqB,IAAAA,QAAQ,EAAE,CADL;AAELD,IAAAA,cAAc,EAAE,QAFX;AAGLE,IAAAA,iBAAiB,EAAE,QAHd;AAILC,IAAAA,MAAM,EAAE,CAJH;AAKLC,IAAAA,SAAS,EAAE5J,WAAW,CAAC6J,KAAZ,GAAoB,OAApB,GAA8B;AALpC,GAnBwB;AA0B/BzH,EAAAA,WAAW,EAAE;AACXmF,IAAAA,QAAQ,EAAE,UADC;AAEXG,IAAAA,IAAI,EAAE;AAFK,GA1BkB;AA8B/BqB,EAAAA,eAAe,EAAE;AAAEQ,IAAAA,aAAa,EAAE,QAAjB;AAA2BnG,IAAAA,KAAK,EAAE;AAAlC,GA9Bc;AA+B/B8F,EAAAA,WAAW,EAAE;AACXI,IAAAA,SAAS,EAAE;AADA;AA/BkB,CAAlB,CAAf;AAoCA,eAAejJ,SAAS,CAACY,UAAD,CAAxB","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { usePrevious } from \"../../hooks\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n initialValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n initialValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date);\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n if (initialValue !== previousInitialValue) {\n setValue(initialValue);\n onDateChange(initialValue);\n }\n }, [initialValue, previousInitialValue, setValue, onDateChange]);\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
1
+ {"version":3,"sources":["DatePicker.tsx"],"names":["React","View","Animated","Text","StyleSheet","Platform","I18nManager","TextInput","NativeTextInput","useSafeAreaInsets","dateFormat","withTheme","Portal","Button","Touchable","DateTimePicker","usePrevious","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","MONTHS","DatePicker","Icon","style","theme","colors","typography","roundness","disabledOpacity","date","onDateChange","initialValue","disabled","mode","format","type","leftIconName","rightIconName","leftIconMode","label","placeholder","props","value","setValue","useState","pickerVisible","setPickerVisible","labeled","Value","placeholder1","setPlaceholder1","focused","setFocused","labelLayout","setLabelLayout","measured","width","previousInitialValue","useEffect","initialValueStr","toString","previousInitialValueStr","getValidDate","Date","getMonth","formatDate","newDate","toLocaleTimeString","toLocaleString","getDate","getFullYear","toggleVisibility","_handleBlur","_handleFocus","insets","_hidePlaceholder","timing","toValue","duration","useNativeDriver","start","_showPlaceholder","setTimeout","clearTimeout","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","underlineColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","paddingVertical","color","paddingLeft","paddingRight","height","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","inputStyles","styles","input","marginHorizontal","container","underline","scaleY","absoluteFill","e","nativeEvent","layout","right","picker","pickerContainer","bottom","OS","closeButton","_event","data","create","alignSelf","flexDirection","justifyContent","flexGrow","textAlignVertical","margin","textAlign","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n Text,\n StyleSheet,\n StyleProp,\n ViewStyle,\n TextStyle,\n Platform,\n TextInputProps,\n ImageStyle,\n I18nManager,\n LayoutChangeEvent,\n TextInput as NativeTextInput,\n} from \"react-native\";\nimport { useSafeAreaInsets } from \"react-native-safe-area-context\";\n\nimport dateFormat from \"dateformat\";\nimport { withTheme } from \"../../theming\";\nimport Portal from \"../Portal/Portal\";\nimport Button from \"../DeprecatedButton\";\nimport Touchable from \"../Touchable\";\nimport DateTimePicker from \"./DatePickerComponent\";\n\nimport type { Theme } from \"../../styles/DefaultTheme\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { usePrevious } from \"../../hooks\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\ntype Props = {\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n // initialDate?: string;\n // locale?: string;\n // minuteInterval?: number;\n // timeZoneOffsetInMinutes?: number;\n // error?: boolean;\n // type?: string;\n date?: Date;\n format?: string;\n onDateChange?: (data?: Date) => void;\n initialValue?: Date;\n disabled?: boolean;\n mode?: \"date\" | \"time\" | \"datetime\";\n type?: \"solid\" | \"underline\";\n label?: string;\n placeholder?: string;\n leftIconName?: string;\n leftIconMode?: \"outset\" | \"inset\";\n rightIconName?: string;\n} & IconSlot &\n TextInputProps;\n\nconst MONTHS = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nconst DatePicker: React.FC<Props> = ({\n Icon,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n date,\n onDateChange = () => {},\n initialValue,\n disabled = false,\n mode = \"date\",\n format,\n type = \"underline\",\n leftIconName,\n rightIconName,\n leftIconMode = \"inset\",\n label,\n placeholder,\n ...props\n}) => {\n const [value, setValue] = React.useState<any>(date);\n const [pickerVisible, setPickerVisible] = React.useState(false);\n const [labeled] = React.useState<Animated.Value>(\n new Animated.Value(date ? 0 : 1)\n );\n const [placeholder1, setPlaceholder1] = React.useState(\"\");\n const [focused, setFocused] = React.useState<boolean>(false);\n const [labelLayout, setLabelLayout] = React.useState<{\n measured: Boolean;\n width: number;\n }>({ measured: false, width: 0 });\n\n const previousInitialValue = usePrevious(initialValue);\n React.useEffect(() => {\n const initialValueStr = initialValue ? initialValue.toString() : \"\";\n const previousInitialValueStr = previousInitialValue\n ? // This weirdly complains about being possibly undefined despite being inside a ternary\n // @ts-ignore\n previousInitialValue.toString()\n : \"\";\n if (initialValueStr !== previousInitialValueStr) {\n setValue(initialValue);\n onDateChange(initialValue);\n }\n }, [initialValue, previousInitialValue, setValue, onDateChange]);\n\n const getValidDate = (): Date => {\n if (!value) {\n return new Date();\n }\n return typeof value?.getMonth === \"function\" ? value : new Date();\n };\n\n const formatDate = (): string => {\n if (!value) return \"\";\n let newDate = getValidDate();\n\n if (format) return dateFormat(newDate, format);\n\n if (mode === \"time\") {\n return `${newDate.toLocaleTimeString()}`;\n }\n\n if (mode === \"datetime\") {\n return `${newDate.toLocaleString()}`;\n }\n\n return `${\n MONTHS[newDate.getMonth()]\n } ${newDate.getDate()}, ${newDate.getFullYear()}`;\n };\n\n const toggleVisibility = async () => {\n setPickerVisible(!pickerVisible);\n focused ? _handleBlur() : _handleFocus();\n };\n const insets = useSafeAreaInsets();\n\n // const _restoreLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 1,\n // duration: FOCUS_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _minmizeLabel = () =>\n // Animated.timing(labeled, {\n // toValue: 0,\n // duration: BLUR_ANIMATION_DURATION,\n // useNativeDriver: true,\n // }).start();\n\n // const _showPlaceholder = () =>\n // setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n\n const _hidePlaceholder = () => {\n setPlaceholder1(\"\");\n };\n\n React.useEffect(() => {\n setValue(date);\n }, [date]);\n\n React.useEffect(() => {\n if (value || focused || placeholder1) {\n // _minmizeLabel();\n Animated.timing(labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n } else {\n // _restoreLabel();\n Animated.timing(labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n }\n }, [value, focused, placeholder1, labeled]);\n\n React.useEffect(() => {\n const _showPlaceholder = () =>\n setTimeout(() => setPlaceholder1(placeholder || \"\"), 50);\n if (focused || !label) {\n _showPlaceholder();\n } else {\n _hidePlaceholder();\n }\n return () => {\n clearTimeout(_showPlaceholder());\n };\n }, [focused, label, placeholder]);\n\n const _handleFocus = () => {\n if (disabled) {\n return;\n }\n\n setFocused(true);\n };\n\n const _handleBlur = () => {\n if (disabled) {\n return;\n }\n setFocused(false);\n };\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = focused;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = colors.light;\n backgroundColor = colors.background;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n height: lineHeight,\n };\n\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: labeled ? 16 * 1.5 : 16,\n paddingBottom: labeled ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? leftIconMode === \"inset\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : 16\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const inputStyles = [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ];\n\n // const render = (props) => <NativeTextInput {...props} />;\n\n return (\n <View style={[styles.container, style]}>\n <Touchable disabled={disabled} onPress={toggleVisibility}>\n <View pointerEvents=\"none\">\n <View style={[styles.container, style]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={[containerStyle, style ? { height: style.height } : {}]}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor: focused ? activeColor : underlineColor,\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n date || focused ? (labelLayout.measured ? 1 : 0) : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n setLabelLayout({\n width: e.nativeEvent.layout.width,\n measured: true,\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: colors.light,\n opacity: labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n <NativeTextInput\n value={formatDate()}\n placeholder={label ? placeholder1 : placeholder}\n editable={!disabled}\n placeholderTextColor={placeholderColor}\n selectionColor={activeColor}\n onFocus={_handleFocus}\n onBlur={_handleBlur}\n underlineColorAndroid={\"transparent\"}\n style={inputStyles}\n {...props}\n />\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop:\n type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n </View>\n </View>\n </Touchable>\n {pickerVisible && (\n <Portal>\n <View\n style={[\n styles.picker,\n {\n backgroundColor: colors.divider,\n },\n ]}\n >\n <View\n style={[\n styles.pickerContainer,\n {\n paddingTop: insets.top,\n paddingBottom: insets.bottom,\n paddingLeft: insets.left,\n paddingRight: insets.right,\n },\n ]}\n >\n {Platform.OS === \"ios\" && (\n <Button\n Icon={Icon}\n type=\"text\"\n onPress={toggleVisibility}\n style={styles.closeButton}\n >\n Close\n </Button>\n )}\n\n <DateTimePicker\n value={getValidDate()}\n mode={mode}\n isVisible={pickerVisible}\n toggleVisibility={toggleVisibility}\n onChange={(_event: any, data: any) => {\n Platform.OS === \"ios\" ? null : toggleVisibility();\n setValue(data);\n onDateChange(data);\n }}\n />\n </View>\n </View>\n </Portal>\n )}\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n picker: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n pickerContainer: { flexDirection: \"column\", width: \"100%\" },\n closeButton: {\n alignSelf: \"flex-end\",\n },\n});\n\nexport default withTheme(DatePicker);\n"]}
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=ResizeMode.js.map
1
+
2
+ //# sourceMappingURL=ResizeMode.js.mapode.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["ResizeMode.js"],"names":[],"mappings":"AAAA","sourcesContent":["export {};\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "42.1.6",
3
+ "version": "42.1.7-71d4c6.1+71d4c6b7",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -93,5 +93,5 @@
93
93
  ]
94
94
  ]
95
95
  },
96
- "gitHead": "9611e4cf53dab158a4ca26b8a048b747e35e8657"
96
+ "gitHead": "71d4c6b70a672326a78e452798ecca7ec993de9a"
97
97
  }
@@ -35,7 +35,13 @@ const DatePicker = ({ Icon, style, theme: { colors, typography, roundness, disab
35
35
  const [labelLayout, setLabelLayout] = React.useState({ measured: false, width: 0 });
36
36
  const previousInitialValue = usePrevious(initialValue);
37
37
  React.useEffect(() => {
38
- if (initialValue !== previousInitialValue) {
38
+ const initialValueStr = initialValue ? initialValue.toString() : "";
39
+ const previousInitialValueStr = previousInitialValue
40
+ ? // This weirdly complains about being possibly undefined despite being inside a ternary
41
+ // @ts-ignore
42
+ previousInitialValue.toString()
43
+ : "";
44
+ if (initialValueStr !== previousInitialValueStr) {
39
45
  setValue(initialValue);
40
46
  onDateChange(initialValue);
41
47
  }
@@ -104,7 +104,13 @@ const DatePicker: React.FC<Props> = ({
104
104
 
105
105
  const previousInitialValue = usePrevious(initialValue);
106
106
  React.useEffect(() => {
107
- if (initialValue !== previousInitialValue) {
107
+ const initialValueStr = initialValue ? initialValue.toString() : "";
108
+ const previousInitialValueStr = previousInitialValue
109
+ ? // This weirdly complains about being possibly undefined despite being inside a ternary
110
+ // @ts-ignore
111
+ previousInitialValue.toString()
112
+ : "";
113
+ if (initialValueStr !== previousInitialValueStr) {
108
114
  setValue(initialValue);
109
115
  onDateChange(initialValue);
110
116
  }