etendo-ui-library 1.3.112 → 1.3.113
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _InputBase=_interopRequireDefault(require("../InputBase"));var _button=require("../../button");var _DatePickerInput=require("./DatePickerInput.translations");var _DatePickerInput2=require("./DatePickerInput.styles");var _useDatePickerInput2=require("./hooks/useDatePickerInput");var _functions_utils=require("../../../helpers/functions_utils");var _colors=require("../../../styles/colors");var _icons=require("../../../assets/images/icons");var _DatePickerInput3=require("./DatePickerInput.utils");var _excluded=["placeholder","title","helperText","isDisabled","isError","value","onChangeText","onSubmit","icon","isLoading","language","dateFormat","minDate","maxDate","size"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/date-picker-input/DatePickerInput.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DatePickerInput=function DatePickerInput(_ref){var placeholder=_ref.placeholder,title=_ref.title,helperText=_ref.helperText,isDisabled=_ref.isDisabled,isError=_ref.isError,value=_ref.value,onChangeText=_ref.onChangeText,onSubmit=_ref.onSubmit,icon=_ref.icon,isLoading=_ref.isLoading,_ref$language=_ref.language,language=_ref$language===void 0?'en-US':_ref$language,_ref$dateFormat=_ref.dateFormat,dateFormat=_ref$dateFormat===void 0?'MM/DD/YYYY':_ref$dateFormat,minDate=_ref.minDate,maxDate=_ref.maxDate,_ref$size=_ref.size,size=_ref$size===void 0?'medium':_ref$size,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useDatePickerInput=(0,_useDatePickerInput2.useDatePickerInput)(value,dateFormat),selectedDate=_useDatePickerInput.selectedDate,isPickerShow=_useDatePickerInput.isPickerShow,isMonthSelection=_useDatePickerInput.isMonthSelection,yearListRef=_useDatePickerInput.yearListRef,monthListRef=_useDatePickerInput.monthListRef,togglePicker=_useDatePickerInput.togglePicker,setIsPickerShow=_useDatePickerInput.setIsPickerShow,setSelectedDate=_useDatePickerInput.setSelectedDate,showYearSelection=_useDatePickerInput.showYearSelection,goToNextMonth=_useDatePickerInput.goToNextMonth,goToNextYear=_useDatePickerInput.goToNextYear,goToPreviousMonth=_useDatePickerInput.goToPreviousMonth,goToPreviousYear=_useDatePickerInput.goToPreviousYear,disabledMonthSelection=_useDatePickerInput.disabledMonthSelection,disabledYearSelection=_useDatePickerInput.disabledYearSelection,setDisabledMonthSelection=_useDatePickerInput.setDisabledMonthSelection,setDisabledYearSelection=_useDatePickerInput.setDisabledYearSelection,showMonthSelection=_useDatePickerInput.showMonthSelection,currentMonth=_useDatePickerInput.currentMonth,currentYear=_useDatePickerInput.currentYear,selectMonth=_useDatePickerInput.selectMonth,setCurrentMonth=_useDatePickerInput.setCurrentMonth,isYearSelection=_useDatePickerInput.isYearSelection,setIsYearSelection=_useDatePickerInput.setIsYearSelection,setCurrentYear=_useDatePickerInput.setCurrentYear;var currentSizeStyles=(0,_functions_utils.isWebPlatform)()?_DatePickerInput2.sizeStyles[size]:_DatePickerInput2.sizeStyles['large'];var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),hoveredDay=_useState2[0],setHoveredDay=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isInputError=_useState4[0],setIsInputError=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),isDateSelected=_useState6[0],setIsDateSelected=_useState6[1];var _useState7=(0,_react.useState)(null),_useState8=(0,_slicedToArray2.default)(_useState7,2),tempSelectedDate=_useState8[0],setTempSelectedDate=_useState8[1];var _useState9=(0,_react.useState)({top:undefined,bottom:undefined}),_useState10=(0,_slicedToArray2.default)(_useState9,2),calendarPosition=_useState10[0],setCalendarPosition=_useState10[1];var inputRef=(0,_react.useRef)(null);var parsedMinDate=minDate?(0,_DatePickerInput3.parseLocalDateString)(minDate,dateFormat):null;var parsedMaxDate=maxDate?(0,_DatePickerInput3.parseLocalDateString)(maxDate,dateFormat):null;var DAYS_SHORT_NAMES=_DatePickerInput.translations[language].daysShort;var MONTHS_SHORT_NAMES=_DatePickerInput.translations[language].monthsShort;var MONTHS_FULL_NAMES=_DatePickerInput.translations[language].monthNames;var openCalendar=function openCalendar(){setTempSelectedDate(selectedDate);if(selectedDate)handleBlur();togglePicker();setIsDateSelected(false);};var rightButtons=[_react.default.createElement(_button.Button,{key:"calendar",width:48,typeStyle:"white",onPress:openCalendar,iconLeft:_react.default.createElement(_icons.CalendarIcon,{style:{width:24,height:24},fill:_colors.PRIMARY_100,__self:_this,__source:{fileName:_jsxFileName,lineNumber:105,columnNumber:23}}),disabled:isDisabled||isLoading,__self:_this,__source:{fileName:_jsxFileName,lineNumber:100,columnNumber:9}})];var closeCalendar=function closeCalendar(){setIsPickerShow(false);};(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()&&isPickerShow&&inputRef.current&&typeof window!=='undefined'){var rect=inputRef.current.getBoundingClientRect();var modalWidth=currentSizeStyles.modalWidth;var modalHeight=currentSizeStyles.calendarHeight;var screenWidth=window.innerWidth;var screenHeight=window.innerHeight;var calculatedLeft=rect.right-modalWidth;if(calculatedLeft+modalWidth>screenWidth){calculatedLeft=screenWidth-modalWidth-20;}var spaceBelow=screenHeight-rect.bottom;var spaceAbove=rect.top;var topPosition=rect.bottom+window.scrollY;if(spaceBelow<modalHeight&&spaceAbove>modalHeight){topPosition=rect.top+window.scrollY-modalHeight;}}},[isPickerShow,currentSizeStyles]);var onAccept=function onAccept(){var dateObject=(0,_DatePickerInput3.parseDateString)(selectedDate,dateFormat);if(dateObject&&!isNaN(dateObject.getTime())){var formattedDateForERP=(0,_DatePickerInput3.convertDateToEtendoERPFormat)(dateObject);if(typeof onChangeText==='function'){onChangeText(formattedDateForERP);}setIsPickerShow(false);}setTempSelectedDate(null);};var onCancel=function onCancel(){setSelectedDate(tempSelectedDate||'');setIsPickerShow(false);setTempSelectedDate(null);setIsDateSelected(false);};var yearList=(0,_DatePickerInput3.generateYearList)();(0,_react.useEffect)(function(){var index=yearList.indexOf(currentYear);if(index!==-1&&yearListRef.current){var offset=index*currentSizeStyles.itemHeight;yearListRef.current.scrollTo({y:offset,animated:false});}},[currentYear,yearList]);(0,_react.useEffect)(function(){var index=yearList.indexOf(currentYear);if(index!==-1&&yearListRef.current){var offset=index*currentSizeStyles.itemHeight;yearListRef.current.scrollTo({y:offset,animated:false});}},[currentMonth]);(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()&&isPickerShow&&inputRef.current&&typeof window!=='undefined'){var rect=inputRef.current.getBoundingClientRect();var modalHeight=currentSizeStyles.calendarHeight;var screenHeight=window.innerHeight;var spaceBelow=screenHeight-rect.bottom;var spaceAbove=rect.top;if(spaceBelow<modalHeight&&spaceAbove>modalHeight){setCalendarPosition({top:'auto',bottom:helperText?'4.7rem':'3.35rem'});}else{setCalendarPosition({top:helperText?'-1.55rem':'0rem'});}}},[isPickerShow,currentSizeStyles.calendarHeight]);(0,_react.useEffect)(function(){setIsInputError(false);},[selectedDate]);(0,_react.useEffect)(function(){if(isMonthSelection&&monthListRef.current){var offset=currentMonth*currentSizeStyles.itemHeight;monthListRef.current.scrollTo({y:offset,animated:false});}},[isMonthSelection,currentMonth]);(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()&&isPickerShow&&inputRef.current&&typeof window!=='undefined'){var rect=inputRef.current.getBoundingClientRect();var modalWidth=currentSizeStyles.modalWidth;var modalHeight=currentSizeStyles.calendarHeight;var screenWidth=window.innerWidth;var screenHeight=window.innerHeight;var calculatedLeft=rect.right-modalWidth;if(calculatedLeft+modalWidth>screenWidth){calculatedLeft=screenWidth-modalWidth-20;}var spaceBelow=screenHeight-rect.bottom;var spaceAbove=rect.top;var topPosition;if(spaceBelow>=modalHeight){topPosition=rect.bottom+window.scrollY-5;}else if(spaceAbove>=modalHeight){topPosition=rect.top+window.scrollY-modalHeight-70;}else{topPosition=rect.bottom+window.scrollY;}}},[isPickerShow,currentSizeStyles]);var renderYearItem=function renderYearItem(_ref2){var item=_ref2.item;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.item,{padding:currentSizeStyles.listItemPadding},item===currentYear?_DatePickerInput2.styles.selectedItem:null],onPress:function onPress(){selectYear(item);setDisabledMonthSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:247,columnNumber:9}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.yearText,{fontSize:currentSizeStyles.listFontSize}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:253,columnNumber:13}},item));};var selectYear=function selectYear(year){setCurrentYear(year);setIsYearSelection(false);};var renderYearSelection=function renderYearSelection(){return _react.default.createElement(_reactNative.ScrollView,{ref:yearListRef,style:currentSizeStyles.list,__self:_this,__source:{fileName:_jsxFileName,lineNumber:266,columnNumber:13}},yearList.map(function(year){return _react.default.createElement(_reactNative.View,{key:year.toString(),style:{height:currentSizeStyles.itemHeight},__self:_this,__source:{fileName:_jsxFileName,lineNumber:271,columnNumber:21}},renderYearItem({item:year}));}));};var renderMonthItem=function renderMonthItem(_ref3){var item=_ref3.item,index=_ref3.index;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.item,{padding:currentSizeStyles.listItemPadding},index===currentMonth&&_DatePickerInput2.styles.selectedItem],onPress:function onPress(){selectMonth(index);setDisabledYearSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:281,columnNumber:9}},_react.default.createElement(_reactNative.Text,{style:{fontSize:currentSizeStyles.listFontSize,color:_colors.PRIMARY_100},__self:_this,__source:{fileName:_jsxFileName,lineNumber:287,columnNumber:13}},item));};var renderMonthSelection=function renderMonthSelection(){return _react.default.createElement(_reactNative.ScrollView,{ref:monthListRef,style:currentSizeStyles.list,__self:_this,__source:{fileName:_jsxFileName,lineNumber:294,columnNumber:13}},MONTHS_FULL_NAMES.map(function(month,index){return _react.default.createElement(_reactNative.View,{key:index.toString(),style:{height:currentSizeStyles.itemHeight},__self:_this,__source:{fileName:_jsxFileName,lineNumber:299,columnNumber:21}},renderMonthItem({item:month,index:index}));}));};var onDateSelected=function onDateSelected(date){var formattedDateForDisplay=(0,_DatePickerInput3.formatterDate)(date,dateFormat);setSelectedDate(formattedDateForDisplay.toString());setIsDateSelected(true);if(onChangeText){var formattedDateForERP=(0,_DatePickerInput3.convertDateToEtendoERPFormat)(date);onChangeText(formattedDateForERP);}};var handleTextChange=function handleTextChange(text){var processedText=text.replace(/\D/g,'').substring(0,8);if(processedText.length>4){processedText=processedText.substring(0,2)+"/"+processedText.substring(2,4)+"/"+processedText.substring(4);}else if(processedText.length>2){processedText=processedText.substring(0,2)+"/"+processedText.substring(2);}setSelectedDate(processedText);};var handleBlur=function handleBlur(){var parts=selectedDate.split('/');var dateIsValid=false;if(selectedDate.length===10&&parts.length===3){var day,month,year;if(dateFormat==='DD/MM/YYYY'){day=parseInt(parts[0],10);month=parseInt(parts[1],10)-1;year=parseInt(parts[2],10);}else if(dateFormat==='MM/DD/YYYY'){month=parseInt(parts[0],10)-1;day=parseInt(parts[1],10);year=parseInt(parts[2],10);}else{setIsInputError(true);return;}var date=new Date(year,month,day);dateIsValid=date.getFullYear()===year&&date.getMonth()===month&&date.getDate()===day;var dateIsWithinRange=(!parsedMinDate||date>=parsedMinDate)&&(!parsedMaxDate||date<=parsedMaxDate);dateIsValid=dateIsValid&&dateIsWithinRange;if(dateIsValid){setCurrentYear(year);setCurrentMonth(month);setSelectedDate((0,_DatePickerInput3.formatterDate)(date,dateFormat));}}setIsInputError(!dateIsValid);};var renderDayItem=function renderDayItem(_ref4){var date=_ref4.date,isCurrentMonth=_ref4.isCurrentMonth;var isDateBeforeMin=parsedMinDate?date<parsedMinDate:false;var isDateAfterMax=parsedMaxDate?date>parsedMaxDate:false;var isDateSelectable=!isDateBeforeMin&&!isDateAfterMax;var disabledDayStyle=isDateSelectable?{}:_DatePickerInput2.styles.disabledButtonStyle;var isToday=date.getDate()===new Date().getDate()&&date.getMonth()===new Date().getMonth()&&date.getFullYear()===new Date().getFullYear();var isSelectedDate=isCurrentMonth&&selectedDate&&function(){if(typeof selectedDate==='string'&&selectedDate.length===10){var selectedYear,selectedMonth,selectedDay;var parts=selectedDate.split('/');if(dateFormat==='DD/MM/YYYY'){selectedDay=parseInt(parts[0],10);selectedMonth=parseInt(parts[1],10)-1;selectedYear=parseInt(parts[2],10);}else if(dateFormat==='MM/DD/YYYY'){selectedMonth=parseInt(parts[0],10)-1;selectedDay=parseInt(parts[1],10);selectedYear=parseInt(parts[2],10);}else{return false;}return date.getDate()===selectedDay&&date.getMonth()===selectedMonth&&date.getFullYear()===selectedYear;}return false;}();var notCurrentMonthStyle={color:_colors.NEUTRAL_400};var isPartOfCurrentMonth=date.getMonth()===currentMonth;var dayKey=date.getFullYear()+"-"+date.getMonth()+"-"+date.getDate();var isHovered=hoveredDay===dayKey&&!isSelectedDate;var isTodayHovered=isToday&&isHovered;return _react.default.createElement(_reactNative.Pressable,{onPress:function onPress(){return isPartOfCurrentMonth&&isDateSelectable&&onDateSelected(date);},disabled:!isDateSelectable,style:[_DatePickerInput2.styles.dayItem,currentSizeStyles.dayItem,isPartOfCurrentMonth?null:notCurrentMonthStyle,disabledDayStyle],onHoverIn:function onHoverIn(){return setHoveredDay(dayKey);},onHoverOut:function onHoverOut(){return setHoveredDay(null);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:419,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.dayItemText,currentSizeStyles.dayItemText,isSelectedDate?_DatePickerInput2.styles.selectedDayBackground:{},isToday&&!isSelectedDate?[_DatePickerInput2.styles.currentDayBorder]:{},!isCurrentMonth?notCurrentMonthStyle:{},isHovered&&!isToday?[_DatePickerInput2.styles.dayItemTextHover]:{},isTodayHovered?_DatePickerInput2.styles.todayItemTextHover:{}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:431,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.dayText,isSelectedDate?_DatePickerInput2.styles.selectedDayText:{},!isCurrentMonth?notCurrentMonthStyle:{},isPartOfCurrentMonth?null:notCurrentMonthStyle,isTodayHovered&&{color:_colors.PRIMARY_100},currentSizeStyles.dayText],__self:_this,__source:{fileName:_jsxFileName,lineNumber:441,columnNumber:21}},date.getDate())));};var renderCalendar=function renderCalendar(){var daysInMonth=(0,_DatePickerInput3.buildMonth)(currentYear,currentMonth);return _react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.calendarContainer,{height:currentSizeStyles.calendarHeight}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:462,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.dayHeader,currentSizeStyles.headerDayPadding],__self:_this,__source:{fileName:_jsxFileName,lineNumber:463,columnNumber:17}},DAYS_SHORT_NAMES.map(function(day){return _react.default.createElement(_reactNative.Text,{key:day,style:[_DatePickerInput2.styles.dayHeaderText,currentSizeStyles.dayHeaderText],__self:_this,__source:{fileName:_jsxFileName,lineNumber:465,columnNumber:25}},day);})),_react.default.createElement(_reactNative.FlatList,{data:daysInMonth,numColumns:7,renderItem:function renderItem(_ref5){var item=_ref5.item;return item&&renderDayItem({date:item,isCurrentMonth:true});},keyExtractor:function keyExtractor(_,index){return index.toString();},showsVerticalScrollIndicator:false,__self:_this,__source:{fileName:_jsxFileName,lineNumber:470,columnNumber:17}}));};var PlatformCalendarPicker=(0,_functions_utils.isWebPlatform)()?_reactNative.View:_reactNative.Modal;var modalProps=!(0,_functions_utils.isWebPlatform)()?{transparent:true,visible:isPickerShow,onRequestClose:function onRequestClose(){return setIsPickerShow(false);},animationType:"fade"}:{};return _react.default.createElement(_reactNative.View,{ref:inputRef,__self:_this,__source:{fileName:_jsxFileName,lineNumber:493,columnNumber:9}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({value:selectedDate,placeholder:placeholder||dateFormat,title:title,helperText:helperText,isDisabled:isDisabled,isError:isInputError,onChangeText:handleTextChange,icon:icon,onBlur:handleBlur,rightButtons:rightButtons,onSubmit:onSubmit,isLoading:isLoading,keyboardType:"numeric"},props,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:494,columnNumber:13}})),isPickerShow&&_react.default.createElement(PlatformCalendarPicker,(0,_extends2.default)({},modalProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:511,columnNumber:17}}),_react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:function onPress(){return setIsPickerShow(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:512,columnNumber:21}},_react.default.createElement(_reactNative.View,{style:_DatePickerInput2.styles.modalContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:513,columnNumber:25}},_react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:function onPress(e){return e.stopPropagation();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:514,columnNumber:29}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.modalContent,{position:(0,_functions_utils.isWebPlatform)()?"absolute":"relative",width:currentSizeStyles.modalWidth,top:calendarPosition.top,bottom:calendarPosition.bottom,right:(0,_functions_utils.isWebPlatform)()?0:undefined}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:515,columnNumber:33}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.header,currentSizeStyles.headerPadding,{borderBottomColor:isMonthSelection||isYearSelection?_colors.NEUTRAL_300:"transparent"}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:527,columnNumber:37}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.monthAndYearContainer,disabledMonthSelection&&_DatePickerInput2.styles.disabledButtonStyle],disabled:disabledMonthSelection,onPress:showMonthSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:533,columnNumber:41}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16,paddingLeft:4}],onPress:goToPreviousMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:540,columnNumber:45}},_react.default.createElement(_icons.ArrowLeftIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:541,columnNumber:49}})),_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.monthAndYearContent],__self:_this,__source:{fileName:_jsxFileName,lineNumber:543,columnNumber:45}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.monthText,{fontSize:currentSizeStyles.monthText}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:544,columnNumber:49}},MONTHS_SHORT_NAMES[currentMonth]),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isMonthSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:547,columnNumber:49}})),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16}],onPress:goToNextMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:556,columnNumber:45}},_react.default.createElement(_icons.ArrowRightIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:557,columnNumber:49}}))),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.monthAndYearContainer,disabledYearSelection&&_DatePickerInput2.styles.disabledButtonStyle],disabled:disabledYearSelection,onPress:showYearSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:561,columnNumber:41}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16}],onPress:goToPreviousYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:568,columnNumber:45}},_react.default.createElement(_icons.ArrowLeftIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:569,columnNumber:49}})),_react.default.createElement(_reactNative.View,{style:_DatePickerInput2.styles.monthAndYearContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:571,columnNumber:45}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.yearText,{fontSize:currentSizeStyles.yearText}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:572,columnNumber:49}},currentYear),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isYearSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:575,columnNumber:49}})),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16,paddingRight:4}],onPress:goToNextYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:584,columnNumber:45}},_react.default.createElement(_icons.ArrowRightIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:585,columnNumber:49}})))),isYearSelection?renderYearSelection():isMonthSelection?renderMonthSelection():renderCalendar(),_react.default.createElement(_reactNative.View,{style:_DatePickerInput2.styles.optionsContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:595,columnNumber:37}},_react.default.createElement(_button.Button,{typeStyle:"white",text:_DatePickerInput.translations[language].cancel,onPress:onCancel,paddingVertical:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:596,columnNumber:41}}),_react.default.createElement(_button.Button,{typeStyle:"terciary",text:_DatePickerInput.translations[language].accept,onPress:onAccept,paddingVertical:10,disabled:!isDateSelected,__self:_this,__source:{fileName:_jsxFileName,lineNumber:602,columnNumber:41}}))))))));};var _default=exports.default=DatePickerInput;
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _InputBase=_interopRequireDefault(require("../InputBase"));var _button=require("../../button");var _DatePickerInput=require("./DatePickerInput.translations");var _DatePickerInput2=require("./DatePickerInput.styles");var _useDatePickerInput2=require("./hooks/useDatePickerInput");var _functions_utils=require("../../../helpers/functions_utils");var _colors=require("../../../styles/colors");var _icons=require("../../../assets/images/icons");var _DatePickerInput3=require("./DatePickerInput.utils");var _excluded=["placeholder","title","helperText","isDisabled","isError","value","onChangeText","onSubmit","icon","isLoading","language","dateFormat","minDate","maxDate","size"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/date-picker-input/DatePickerInput.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var DatePickerInput=function DatePickerInput(_ref){var placeholder=_ref.placeholder,title=_ref.title,helperText=_ref.helperText,isDisabled=_ref.isDisabled,isError=_ref.isError,value=_ref.value,onChangeText=_ref.onChangeText,onSubmit=_ref.onSubmit,icon=_ref.icon,isLoading=_ref.isLoading,_ref$language=_ref.language,language=_ref$language===void 0?'en-US':_ref$language,_ref$dateFormat=_ref.dateFormat,dateFormat=_ref$dateFormat===void 0?'MM/DD/YYYY':_ref$dateFormat,minDate=_ref.minDate,maxDate=_ref.maxDate,_ref$size=_ref.size,size=_ref$size===void 0?'medium':_ref$size,props=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useDatePickerInput=(0,_useDatePickerInput2.useDatePickerInput)(value,dateFormat),selectedDate=_useDatePickerInput.selectedDate,isPickerShow=_useDatePickerInput.isPickerShow,isMonthSelection=_useDatePickerInput.isMonthSelection,yearListRef=_useDatePickerInput.yearListRef,monthListRef=_useDatePickerInput.monthListRef,togglePicker=_useDatePickerInput.togglePicker,setIsPickerShow=_useDatePickerInput.setIsPickerShow,setSelectedDate=_useDatePickerInput.setSelectedDate,showYearSelection=_useDatePickerInput.showYearSelection,goToNextMonth=_useDatePickerInput.goToNextMonth,goToNextYear=_useDatePickerInput.goToNextYear,goToPreviousMonth=_useDatePickerInput.goToPreviousMonth,goToPreviousYear=_useDatePickerInput.goToPreviousYear,disabledMonthSelection=_useDatePickerInput.disabledMonthSelection,disabledYearSelection=_useDatePickerInput.disabledYearSelection,setDisabledMonthSelection=_useDatePickerInput.setDisabledMonthSelection,setDisabledYearSelection=_useDatePickerInput.setDisabledYearSelection,showMonthSelection=_useDatePickerInput.showMonthSelection,currentMonth=_useDatePickerInput.currentMonth,currentYear=_useDatePickerInput.currentYear,selectMonth=_useDatePickerInput.selectMonth,setCurrentMonth=_useDatePickerInput.setCurrentMonth,isYearSelection=_useDatePickerInput.isYearSelection,setIsYearSelection=_useDatePickerInput.setIsYearSelection,setCurrentYear=_useDatePickerInput.setCurrentYear;var currentSizeStyles=(0,_functions_utils.isWebPlatform)()?_DatePickerInput2.sizeStyles[size]:_DatePickerInput2.sizeStyles['large'];var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),hoveredDay=_useState2[0],setHoveredDay=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isInputError=_useState4[0],setIsInputError=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),isDateSelected=_useState6[0],setIsDateSelected=_useState6[1];var _useState7=(0,_react.useState)(null),_useState8=(0,_slicedToArray2.default)(_useState7,2),tempSelectedDate=_useState8[0],setTempSelectedDate=_useState8[1];var _useState9=(0,_react.useState)({top:undefined,bottom:undefined}),_useState10=(0,_slicedToArray2.default)(_useState9,2),calendarPosition=_useState10[0],setCalendarPosition=_useState10[1];var inputRef=(0,_react.useRef)(null);var parsedMinDate=minDate?(0,_DatePickerInput3.parseLocalDateString)(minDate,dateFormat):null;var parsedMaxDate=maxDate?(0,_DatePickerInput3.parseLocalDateString)(maxDate,dateFormat):null;var DAYS_SHORT_NAMES=_DatePickerInput.translations[language].daysShort;var MONTHS_SHORT_NAMES=_DatePickerInput.translations[language].monthsShort;var MONTHS_FULL_NAMES=_DatePickerInput.translations[language].monthNames;var openCalendar=function openCalendar(){setTempSelectedDate(selectedDate);if(selectedDate)handleBlur();togglePicker();setIsDateSelected(false);};var rightButtons=[_react.default.createElement(_button.Button,{key:"calendar",width:48,typeStyle:"white",onPress:openCalendar,iconLeft:_react.default.createElement(_icons.CalendarIcon,{style:{width:24,height:24},fill:_colors.PRIMARY_100,__self:_this,__source:{fileName:_jsxFileName,lineNumber:105,columnNumber:23}}),disabled:isDisabled||isLoading,__self:_this,__source:{fileName:_jsxFileName,lineNumber:100,columnNumber:9}})];var closeCalendar=function closeCalendar(){setIsPickerShow(false);};(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()&&isPickerShow&&inputRef.current&&typeof window!=='undefined'){var rect=inputRef.current.getBoundingClientRect();var modalWidth=currentSizeStyles.modalWidth;var modalHeight=currentSizeStyles.calendarHeight;var screenWidth=window.innerWidth;var screenHeight=window.innerHeight;var calculatedLeft=rect.right-modalWidth;if(calculatedLeft+modalWidth>screenWidth){calculatedLeft=screenWidth-modalWidth-20;}var spaceBelow=screenHeight-rect.bottom;var spaceAbove=rect.top;var topPosition=rect.bottom+window.scrollY;if(spaceBelow<modalHeight&&spaceAbove>modalHeight){topPosition=rect.top+window.scrollY-modalHeight;}}},[isPickerShow,currentSizeStyles]);var onAccept=function onAccept(){var dateObject=(0,_DatePickerInput3.parseDateString)(selectedDate,dateFormat);if(dateObject&&!isNaN(dateObject.getTime())){var formattedDateForERP=(0,_DatePickerInput3.convertDateToEtendoERPFormat)(dateObject);if(typeof onChangeText==='function'){onChangeText(formattedDateForERP);}setIsPickerShow(false);}setTempSelectedDate(null);};var onCancel=function onCancel(){setSelectedDate(tempSelectedDate||'');setIsPickerShow(false);setTempSelectedDate(null);setIsDateSelected(false);};var yearList=(0,_DatePickerInput3.generateYearList)();(0,_react.useEffect)(function(){var index=yearList.indexOf(currentYear);if(index!==-1&&yearListRef.current){var offset=index*currentSizeStyles.itemHeight;yearListRef.current.scrollTo({y:offset,animated:false});}},[currentYear,yearList]);(0,_react.useEffect)(function(){var index=yearList.indexOf(currentYear);if(index!==-1&&yearListRef.current){var offset=index*currentSizeStyles.itemHeight;yearListRef.current.scrollTo({y:offset,animated:false});}},[currentMonth]);(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()&&isPickerShow&&inputRef.current&&typeof window!=='undefined'){var rect=inputRef.current.getBoundingClientRect();var modalHeight=currentSizeStyles.calendarHeight;var screenHeight=window.innerHeight;var spaceBelow=screenHeight-rect.bottom;var spaceAbove=rect.top;if(spaceBelow<modalHeight&&spaceAbove>modalHeight){setCalendarPosition({top:'auto',bottom:helperText?'4.7rem':'3.35rem'});}else{setCalendarPosition({top:helperText?'-1.55rem':'0rem'});}}},[isPickerShow,currentSizeStyles.calendarHeight]);(0,_react.useEffect)(function(){setIsInputError(false);},[selectedDate]);(0,_react.useEffect)(function(){if(isMonthSelection&&monthListRef.current){var offset=currentMonth*currentSizeStyles.itemHeight;monthListRef.current.scrollTo({y:offset,animated:false});}},[isMonthSelection,currentMonth]);(0,_react.useEffect)(function(){if((0,_functions_utils.isWebPlatform)()&&isPickerShow&&inputRef.current&&typeof window!=='undefined'){var rect=inputRef.current.getBoundingClientRect();var modalWidth=currentSizeStyles.modalWidth;var modalHeight=currentSizeStyles.calendarHeight;var screenWidth=window.innerWidth;var screenHeight=window.innerHeight;var calculatedLeft=rect.right-modalWidth;if(calculatedLeft+modalWidth>screenWidth){calculatedLeft=screenWidth-modalWidth-20;}var spaceBelow=screenHeight-rect.bottom;var spaceAbove=rect.top;var topPosition;if(spaceBelow>=modalHeight){topPosition=rect.bottom+window.scrollY-5;}else if(spaceAbove>=modalHeight){topPosition=rect.top+window.scrollY-modalHeight-70;}else{topPosition=rect.bottom+window.scrollY;}}},[isPickerShow,currentSizeStyles]);var renderYearItem=function renderYearItem(_ref2){var item=_ref2.item;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.item,{padding:currentSizeStyles.listItemPadding},item===currentYear?_DatePickerInput2.styles.selectedItem:null],onPress:function onPress(){selectYear(item);setDisabledMonthSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:247,columnNumber:9}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.yearText,{fontSize:currentSizeStyles.listFontSize}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:253,columnNumber:13}},item));};var selectYear=function selectYear(year){setCurrentYear(year);setIsYearSelection(false);};var renderYearSelection=function renderYearSelection(){return _react.default.createElement(_reactNative.ScrollView,{ref:yearListRef,style:currentSizeStyles.list,__self:_this,__source:{fileName:_jsxFileName,lineNumber:266,columnNumber:13}},yearList.map(function(year){return _react.default.createElement(_reactNative.View,{key:year.toString(),style:{height:currentSizeStyles.itemHeight},__self:_this,__source:{fileName:_jsxFileName,lineNumber:271,columnNumber:21}},renderYearItem({item:year}));}));};var renderMonthItem=function renderMonthItem(_ref3){var item=_ref3.item,index=_ref3.index;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.item,{padding:currentSizeStyles.listItemPadding},index===currentMonth&&_DatePickerInput2.styles.selectedItem],onPress:function onPress(){selectMonth(index);setDisabledYearSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:281,columnNumber:9}},_react.default.createElement(_reactNative.Text,{style:{fontSize:currentSizeStyles.listFontSize,color:_colors.PRIMARY_100},__self:_this,__source:{fileName:_jsxFileName,lineNumber:287,columnNumber:13}},item));};var renderMonthSelection=function renderMonthSelection(){return _react.default.createElement(_reactNative.ScrollView,{ref:monthListRef,style:currentSizeStyles.list,__self:_this,__source:{fileName:_jsxFileName,lineNumber:294,columnNumber:13}},MONTHS_FULL_NAMES.map(function(month,index){return _react.default.createElement(_reactNative.View,{key:index.toString(),style:{height:currentSizeStyles.itemHeight},__self:_this,__source:{fileName:_jsxFileName,lineNumber:299,columnNumber:21}},renderMonthItem({item:month,index:index}));}));};var onDateSelected=function onDateSelected(date){var formattedDateForDisplay=(0,_DatePickerInput3.formatterDate)(date,dateFormat);setSelectedDate(formattedDateForDisplay.toString());setIsDateSelected(true);if(onChangeText){var formattedDateForERP=(0,_DatePickerInput3.convertDateToEtendoERPFormat)(date);onChangeText(formattedDateForERP);}};var handleTextChange=function handleTextChange(text){var processedText=text.replace(/\D/g,'').substring(0,8);if(processedText.length>4){processedText=processedText.substring(0,2)+"/"+processedText.substring(2,4)+"/"+processedText.substring(4);}else if(processedText.length>2){processedText=processedText.substring(0,2)+"/"+processedText.substring(2);}setSelectedDate(processedText);};var handleBlur=function handleBlur(){if(selectedDate.trim()===''){setIsInputError(false);return;}var parts=selectedDate.split('/');var dateIsValid=false;if(selectedDate.length===10&&parts.length===3){var day,month,year;if(dateFormat==='DD/MM/YYYY'){day=parseInt(parts[0],10);month=parseInt(parts[1],10)-1;year=parseInt(parts[2],10);}else if(dateFormat==='MM/DD/YYYY'){month=parseInt(parts[0],10)-1;day=parseInt(parts[1],10);year=parseInt(parts[2],10);}else{setIsInputError(true);return;}var date=new Date(year,month,day);dateIsValid=date.getFullYear()===year&&date.getMonth()===month&&date.getDate()===day;var dateIsWithinRange=(!parsedMinDate||date>=parsedMinDate)&&(!parsedMaxDate||date<=parsedMaxDate);dateIsValid=dateIsValid&&dateIsWithinRange;if(dateIsValid){setCurrentYear(year);setCurrentMonth(month);setSelectedDate((0,_DatePickerInput3.formatterDate)(date,dateFormat));}}setIsInputError(!dateIsValid);};var renderDayItem=function renderDayItem(_ref4){var date=_ref4.date,isCurrentMonth=_ref4.isCurrentMonth;var isDateBeforeMin=parsedMinDate?date<parsedMinDate:false;var isDateAfterMax=parsedMaxDate?date>parsedMaxDate:false;var isDateSelectable=!isDateBeforeMin&&!isDateAfterMax;var disabledDayStyle=isDateSelectable?{}:_DatePickerInput2.styles.disabledButtonStyle;var isToday=date.getDate()===new Date().getDate()&&date.getMonth()===new Date().getMonth()&&date.getFullYear()===new Date().getFullYear();var isSelectedDate=isCurrentMonth&&selectedDate&&function(){if(typeof selectedDate==='string'&&selectedDate.length===10){var selectedYear,selectedMonth,selectedDay;var parts=selectedDate.split('/');if(dateFormat==='DD/MM/YYYY'){selectedDay=parseInt(parts[0],10);selectedMonth=parseInt(parts[1],10)-1;selectedYear=parseInt(parts[2],10);}else if(dateFormat==='MM/DD/YYYY'){selectedMonth=parseInt(parts[0],10)-1;selectedDay=parseInt(parts[1],10);selectedYear=parseInt(parts[2],10);}else{return false;}return date.getDate()===selectedDay&&date.getMonth()===selectedMonth&&date.getFullYear()===selectedYear;}return false;}();var notCurrentMonthStyle={color:_colors.NEUTRAL_400};var isPartOfCurrentMonth=date.getMonth()===currentMonth;var dayKey=date.getFullYear()+"-"+date.getMonth()+"-"+date.getDate();var isHovered=hoveredDay===dayKey&&!isSelectedDate;var isTodayHovered=isToday&&isHovered;return _react.default.createElement(_reactNative.Pressable,{onPress:function onPress(){return isPartOfCurrentMonth&&isDateSelectable&&onDateSelected(date);},disabled:!isDateSelectable,style:[_DatePickerInput2.styles.dayItem,currentSizeStyles.dayItem,isPartOfCurrentMonth?null:notCurrentMonthStyle,disabledDayStyle],onHoverIn:function onHoverIn(){return setHoveredDay(dayKey);},onHoverOut:function onHoverOut(){return setHoveredDay(null);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:424,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.dayItemText,currentSizeStyles.dayItemText,isSelectedDate?_DatePickerInput2.styles.selectedDayBackground:{},isToday&&!isSelectedDate?[_DatePickerInput2.styles.currentDayBorder]:{},!isCurrentMonth?notCurrentMonthStyle:{},isHovered&&!isToday?[_DatePickerInput2.styles.dayItemTextHover]:{},isTodayHovered?_DatePickerInput2.styles.todayItemTextHover:{}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:436,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.dayText,isSelectedDate?_DatePickerInput2.styles.selectedDayText:{},!isCurrentMonth?notCurrentMonthStyle:{},isPartOfCurrentMonth?null:notCurrentMonthStyle,isTodayHovered&&{color:_colors.PRIMARY_100},currentSizeStyles.dayText],__self:_this,__source:{fileName:_jsxFileName,lineNumber:446,columnNumber:21}},date.getDate())));};var renderCalendar=function renderCalendar(){var daysInMonth=(0,_DatePickerInput3.buildMonth)(currentYear,currentMonth);return _react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.calendarContainer,{height:currentSizeStyles.calendarHeight}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:467,columnNumber:13}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.dayHeader,currentSizeStyles.headerDayPadding],__self:_this,__source:{fileName:_jsxFileName,lineNumber:468,columnNumber:17}},DAYS_SHORT_NAMES.map(function(day){return _react.default.createElement(_reactNative.Text,{key:day,style:[_DatePickerInput2.styles.dayHeaderText,currentSizeStyles.dayHeaderText],__self:_this,__source:{fileName:_jsxFileName,lineNumber:470,columnNumber:25}},day);})),_react.default.createElement(_reactNative.FlatList,{data:daysInMonth,numColumns:7,renderItem:function renderItem(_ref5){var item=_ref5.item;return item&&renderDayItem({date:item,isCurrentMonth:true});},keyExtractor:function keyExtractor(_,index){return index.toString();},showsVerticalScrollIndicator:false,__self:_this,__source:{fileName:_jsxFileName,lineNumber:475,columnNumber:17}}));};var PlatformCalendarPicker=(0,_functions_utils.isWebPlatform)()?_reactNative.View:_reactNative.Modal;var modalProps=!(0,_functions_utils.isWebPlatform)()?{transparent:true,visible:isPickerShow,onRequestClose:function onRequestClose(){return setIsPickerShow(false);},animationType:"fade"}:{};return _react.default.createElement(_reactNative.View,{ref:inputRef,__self:_this,__source:{fileName:_jsxFileName,lineNumber:498,columnNumber:9}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({value:selectedDate,placeholder:placeholder||dateFormat,title:title,helperText:helperText,isDisabled:isDisabled,isError:isInputError,onChangeText:handleTextChange,icon:icon,onBlur:handleBlur,rightButtons:rightButtons,onSubmit:onSubmit,isLoading:isLoading,keyboardType:"numeric"},props,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:499,columnNumber:13}})),isPickerShow&&_react.default.createElement(PlatformCalendarPicker,(0,_extends2.default)({},modalProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:516,columnNumber:17}}),_react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:function onPress(){return setIsPickerShow(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:517,columnNumber:21}},_react.default.createElement(_reactNative.View,{style:_DatePickerInput2.styles.modalContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:518,columnNumber:25}},_react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:function onPress(e){return e.stopPropagation();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:519,columnNumber:29}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.modalContent,{position:(0,_functions_utils.isWebPlatform)()?"absolute":"relative",width:currentSizeStyles.modalWidth,top:calendarPosition.top,bottom:calendarPosition.bottom,right:(0,_functions_utils.isWebPlatform)()?0:undefined}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:520,columnNumber:33}},_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.header,currentSizeStyles.headerPadding,{borderBottomColor:isMonthSelection||isYearSelection?_colors.NEUTRAL_300:"transparent"}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:532,columnNumber:37}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.monthAndYearContainer,disabledMonthSelection&&_DatePickerInput2.styles.disabledButtonStyle],disabled:disabledMonthSelection,onPress:showMonthSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:538,columnNumber:41}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16,paddingLeft:4}],onPress:goToPreviousMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:545,columnNumber:45}},_react.default.createElement(_icons.ArrowLeftIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:546,columnNumber:49}})),_react.default.createElement(_reactNative.View,{style:[_DatePickerInput2.styles.monthAndYearContent],__self:_this,__source:{fileName:_jsxFileName,lineNumber:548,columnNumber:45}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.monthText,{fontSize:currentSizeStyles.monthText}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:549,columnNumber:49}},MONTHS_SHORT_NAMES[currentMonth]),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isMonthSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:552,columnNumber:49}})),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16}],onPress:goToNextMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:561,columnNumber:45}},_react.default.createElement(_icons.ArrowRightIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:562,columnNumber:49}}))),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.monthAndYearContainer,disabledYearSelection&&_DatePickerInput2.styles.disabledButtonStyle],disabled:disabledYearSelection,onPress:showYearSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:566,columnNumber:41}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16}],onPress:goToPreviousYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:573,columnNumber:45}},_react.default.createElement(_icons.ArrowLeftIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:574,columnNumber:49}})),_react.default.createElement(_reactNative.View,{style:_DatePickerInput2.styles.monthAndYearContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:576,columnNumber:45}},_react.default.createElement(_reactNative.Text,{style:[_DatePickerInput2.styles.yearText,{fontSize:currentSizeStyles.yearText}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:577,columnNumber:49}},currentYear),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isYearSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:580,columnNumber:49}})),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePickerInput2.styles.iconContainer,{alignItems:"flex-start",padding:16,paddingRight:4}],onPress:goToNextYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:589,columnNumber:45}},_react.default.createElement(_icons.ArrowRightIcon,{style:currentSizeStyles.iconStyle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:590,columnNumber:49}})))),isYearSelection?renderYearSelection():isMonthSelection?renderMonthSelection():renderCalendar(),_react.default.createElement(_reactNative.View,{style:_DatePickerInput2.styles.optionsContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:600,columnNumber:37}},_react.default.createElement(_button.Button,{typeStyle:"white",text:_DatePickerInput.translations[language].cancel,onPress:onCancel,paddingVertical:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:601,columnNumber:41}}),_react.default.createElement(_button.Button,{typeStyle:"terciary",text:_DatePickerInput.translations[language].accept,onPress:onAccept,paddingVertical:10,disabled:!isDateSelected,__self:_this,__source:{fileName:_jsxFileName,lineNumber:607,columnNumber:41}}))))))));};var _default=exports.default=DatePickerInput;
|
|
@@ -370,6 +370,10 @@ var DatePickerInput = function DatePickerInput(_ref) {
|
|
|
370
370
|
|
|
371
371
|
// Function to handle the onBlur event
|
|
372
372
|
var handleBlur = function handleBlur() {
|
|
373
|
+
if (selectedDate.trim() === '') {
|
|
374
|
+
setIsInputError(false);
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
373
377
|
var parts = selectedDate.split('/');
|
|
374
378
|
var dateIsValid = false;
|
|
375
379
|
if (selectedDate.length === 10 && parts.length === 3) {
|