import { View } from "react-native"; import type IDateTimeSheetProps from "./type"; import stylesheet, { useStyles } from "./stylesheet"; import { NCoreUIKitLocalize, NCoreUIKitTheme } from "../../core/hooks"; import DateSelector from "../dateSelector"; import BottomSheet from "../bottomSheet"; import CheckBox from "../checkBox"; import Loading from "../loading"; import Button from "../button"; import Text from "../text"; const DateTimeSheet = ({ localeBasedFirstDayOfWeek = true, isShowTodayIndicator = true, dayOfWeekLength = "short", LoadingIconComponentProp, selectMultipleObject, isWorkWithRealtime, isShowTools = true, dateTimePickerKey, isMultipleSelect, bottomSheetProps, isWorkWithRRule, selectDateRule, bottomSheetRef, customLocalize, setIsLoading, selectObject, setDateRange, setDateRule, customTheme, setIsActive, pickerType, dateRange, maxChoice, minChoice, isLoading, isActive, dateRule, setDate, variant, cancel, clean, title, date, ok }: IDateTimeSheetProps) => { const { spaces } = NCoreUIKitTheme.useContext(customTheme); const { localize } = NCoreUIKitLocalize.useContext(customLocalize); const { loadingContainer: loadingContainerDynamicStyle, contentContainer: contentContainerDynamicStyle, headerContainer: headerContainerDynamicStyle, bottomContainer: bottomContainerDynamicStyle, toolsContainer: toolsContainerDynamicStyle, cancelButton: cancelButtonDynamicStyle, headerTitle: headerTitleDynamicStyle, okButton: okButtonDynamicStyle } = useStyles({ spaces }); const renderBottomSheetContent = () => { if(isLoading) { return {LoadingIconComponentProp ? : } ; } return ; }; const renderTools = () => { if(!isShowTools) { return null; } if(minChoice && maxChoice !== -1) { return null; } let isAnySelected = false; if(variant === "single" && date) { isAnySelected = true; } if(variant === "range" && dateRange && (dateRange.start || dateRange.end)) { isAnySelected = true; } if(variant === "rrule" && dateRule) { isAnySelected = true; } return {!minChoice ? { clean(); }} /> : null} ; }; const renderBottomSheetHeader = () => { return {title ? {title} : null} {renderTools()} ; }; const renderBottomSheetBottom = () => { if(isWorkWithRealtime) { return null; } return