etendo-ui-library 1.3.53 → 1.3.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist-native/components/containers/index.d.ts +2 -1
  2. package/dist-native/components/containers/index.js +1 -1
  3. package/dist-native/components/containers/titleContainer/TitleContainer.d.ts +4 -0
  4. package/dist-native/components/containers/titleContainer/TitleContainer.default.d.ts +16 -0
  5. package/dist-native/components/containers/titleContainer/TitleContainer.default.js +1 -0
  6. package/dist-native/components/containers/titleContainer/TitleContainer.js +1 -0
  7. package/dist-native/components/containers/titleContainer/TitleContainer.types.d.ts +8 -0
  8. package/dist-native/components/containers/titleContainer/TitleContainer.types.js +1 -0
  9. package/dist-native/components/containers/titleContainer/index.d.ts +2 -0
  10. package/dist-native/components/containers/titleContainer/index.js +1 -0
  11. package/dist-native/components/datepicker/DatePicker.js +1 -1
  12. package/dist-native/components/datepicker/DatePicker.types.d.ts +4 -0
  13. package/dist-native/components/datepicker/DatePicker.types.js +1 -1
  14. package/dist-native/components/datepicker/DatePicker.utils.d.ts +1 -0
  15. package/dist-native/components/datepicker/DatePicker.utils.js +1 -1
  16. package/dist-native/components/index.d.ts +2 -2
  17. package/dist-native/components/index.js +1 -1
  18. package/dist-web/components/containers/index.d.ts +2 -1
  19. package/dist-web/components/containers/index.js +2 -1
  20. package/dist-web/components/containers/titleContainer/TitleContainer.d.ts +4 -0
  21. package/dist-web/components/containers/titleContainer/TitleContainer.default.d.ts +16 -0
  22. package/dist-web/components/containers/titleContainer/TitleContainer.default.js +19 -0
  23. package/dist-web/components/containers/titleContainer/TitleContainer.js +21 -0
  24. package/dist-web/components/containers/titleContainer/TitleContainer.types.d.ts +8 -0
  25. package/dist-web/components/containers/titleContainer/TitleContainer.types.js +1 -0
  26. package/dist-web/components/containers/titleContainer/index.d.ts +2 -0
  27. package/dist-web/components/containers/titleContainer/index.js +2 -0
  28. package/dist-web/components/datepicker/DatePicker.js +67 -46
  29. package/dist-web/components/datepicker/DatePicker.types.d.ts +4 -0
  30. package/dist-web/components/datepicker/DatePicker.types.js +3 -0
  31. package/dist-web/components/datepicker/DatePicker.utils.d.ts +1 -0
  32. package/dist-web/components/datepicker/DatePicker.utils.js +1 -0
  33. package/dist-web/components/index.d.ts +2 -2
  34. package/dist-web/components/index.js +2 -2
  35. package/index.js +2 -0
  36. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { Layout } from './layout';
2
2
  import { ButtonContainer } from './buttonContainer';
3
3
  import { SearchContainer } from './searchContainer';
4
- export { Layout, ButtonContainer, SearchContainer };
4
+ import { TitleContainer } from './titleContainer';
5
+ export { Layout, ButtonContainer, SearchContainer, TitleContainer };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ButtonContainer",{enumerable:true,get:function get(){return _buttonContainer.ButtonContainer;}});Object.defineProperty(exports,"Layout",{enumerable:true,get:function get(){return _layout.Layout;}});Object.defineProperty(exports,"SearchContainer",{enumerable:true,get:function get(){return _searchContainer.SearchContainer;}});var _layout=require("./layout");var _buttonContainer=require("./buttonContainer");var _searchContainer=require("./searchContainer");
1
+ Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"ButtonContainer",{enumerable:true,get:function get(){return _buttonContainer.ButtonContainer;}});Object.defineProperty(exports,"Layout",{enumerable:true,get:function get(){return _layout.Layout;}});Object.defineProperty(exports,"SearchContainer",{enumerable:true,get:function get(){return _searchContainer.SearchContainer;}});Object.defineProperty(exports,"TitleContainer",{enumerable:true,get:function get(){return _titleContainer.TitleContainer;}});var _layout=require("./layout");var _buttonContainer=require("./buttonContainer");var _searchContainer=require("./searchContainer");var _titleContainer=require("./titleContainer");
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { ITitleContainer } from './TitleContainer.types';
3
+ declare const TitleContainer: FC<ITitleContainer>;
4
+ export default TitleContainer;
@@ -0,0 +1,16 @@
1
+ export declare const DEFAULT: {
2
+ TITLE_STYLE: {
3
+ fontSize: number;
4
+ fontWeight: "600";
5
+ textAlign: "left";
6
+ marginBottom: number;
7
+ color: string;
8
+ };
9
+ TITLE_CONTAINER: {
10
+ display: "flex";
11
+ flexDirection: "row" | "column";
12
+ justifyContent: "flex-start" | "space-between";
13
+ alignItems: "flex-start";
14
+ gap: number;
15
+ };
16
+ };
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.DEFAULT=void 0;var _reactNative=require("react-native");var _table_utils=require("../../../helpers/table_utils");var _colors=require("../../../styles/colors");var DEFAULT=exports.DEFAULT=_reactNative.StyleSheet.create({TITLE_STYLE:{fontSize:29,fontWeight:'600',textAlign:'left',marginBottom:6,color:_colors.PRIMARY_100},TITLE_CONTAINER:{display:'flex',flexDirection:_table_utils.isDeviceTablet?'row':'column',justifyContent:_table_utils.isDeviceTablet?'space-between':'flex-start',alignItems:'flex-start',gap:12}});
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _TitleContainer=require("./TitleContainer.default");var _buttonContainer=require("../buttonContainer");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/containers/titleContainer/TitleContainer.tsx";var TitleContainer=function TitleContainer(_ref){var buttons=_ref.buttons,style=_ref.style,title=_ref.title,textStyle=_ref.textStyle;return _react.default.createElement(_reactNative.View,{style:[_TitleContainer.DEFAULT.TITLE_CONTAINER,style],__self:_this,__source:{fileName:_jsxFileName,lineNumber:14,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:[_TitleContainer.DEFAULT.TITLE_STYLE,textStyle],__self:_this,__source:{fileName:_jsxFileName,lineNumber:15,columnNumber:7}},title),buttons&&_react.default.createElement(_buttonContainer.ButtonContainer,{buttons:buttons,style:{paddingVertical:0},__self:_this,__source:{fileName:_jsxFileName,lineNumber:17,columnNumber:9}}));};var _default=exports.default=TitleContainer;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ export interface ITitleContainer {
4
+ buttons?: ReactNode[];
5
+ style?: StyleProp<ViewStyle>;
6
+ textStyle?: StyleProp<ViewStyle>;
7
+ title: string;
8
+ }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,"__esModule",{value:true});
@@ -0,0 +1,2 @@
1
+ import TitleContainer from './TitleContainer';
2
+ export { TitleContainer };
@@ -0,0 +1 @@
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"TitleContainer",{enumerable:true,get:function get(){return _TitleContainer.default;}});var _TitleContainer=_interopRequireDefault(require("./TitleContainer"));
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _icons=require("../../assets/images/icons");var _colors=require("../../styles/colors");var _utilsTypes=require("../../helpers/utilsTypes");var _DatePicker=require("./DatePicker.styles");var _DatePicker2=require("./DatePicker.translations");var _DatePicker3=require("./DatePicker.utils");var _table_utils=require("../../helpers/table_utils");var _button=require("../button");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/datepicker/DatePicker.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 DatePicker=function DatePicker(_ref){var value=_ref.value,styleField=_ref.styleField,onChangeText=_ref.onChangeText,_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,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$showCalendar=_ref.showCalendar,showCalendar=_ref$showCalendar===void 0?true:_ref$showCalendar,_ref$backgroundColor=_ref.backgroundColor,backgroundColor=_ref$backgroundColor===void 0?_colors.NEUTRAL_50:_ref$backgroundColor;var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),hoveredDay=_useState2[0],setHoveredDay=_useState2[1];var _useState3=(0,_react.useState)(true),_useState4=(0,_slicedToArray2.default)(_useState3,2),isDateValid=_useState4[0],setIsDateValid=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),isMonthSelection=_useState6[0],setIsMonthSelection=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isPickerShow=_useState8[0],setIsPickerShow=_useState8[1];var _useState9=(0,_react.useState)(value?new Date(value):undefined),_useState10=(0,_slicedToArray2.default)(_useState9,2),selectedDate=_useState10[0],setSelectedDate=_useState10[1];var _useState11=(0,_react.useState)(false),_useState12=(0,_slicedToArray2.default)(_useState11,2),isInputFocused=_useState12[0],setIsInputFocused=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isYearSelection=_useState14[0],setIsYearSelection=_useState14[1];var _useState15=(0,_react.useState)(new Date().getMonth()),_useState16=(0,_slicedToArray2.default)(_useState15,2),currentMonth=_useState16[0],setCurrentMonth=_useState16[1];var _useState17=(0,_react.useState)(new Date().getFullYear()),_useState18=(0,_slicedToArray2.default)(_useState17,2),currentYear=_useState18[0],setCurrentYear=_useState18[1];var _useState19=(0,_react.useState)(false),_useState20=(0,_slicedToArray2.default)(_useState19,2),disabledMonthSelection=_useState20[0],setDisabledMonthSelection=_useState20[1];var _useState21=(0,_react.useState)(false),_useState22=(0,_slicedToArray2.default)(_useState21,2),disabledYearSelection=_useState22[0],setDisabledYearSelection=_useState22[1];var _useState23=(0,_react.useState)({top:0,bottom:0}),_useState24=(0,_slicedToArray2.default)(_useState23,2),modalPosition=_useState24[0],setModalPosition=_useState24[1];(0,_react.useEffect)(function(){if(value){var defaultValue=(0,_DatePicker3.parseLocalDateString)(value,dateFormat);var isValid=(0,_DatePicker3.validateDate)(defaultValue,value,dateFormat);setIsDateValid(isValid);if(isValid){setSelectedDate(defaultValue);setCurrentMonth(defaultValue.getMonth());setCurrentYear(defaultValue.getFullYear());}else{setSelectedDate(new Date());setCurrentMonth(new Date().getMonth());setCurrentYear(new Date().getFullYear());}}},[]);(0,_react.useEffect)(function(){var handleScroll=function handleScroll(event){if(isPickerShow){if(calendarRef.current&&!calendarRef.current.contains(event.target)){setIsPickerShow(false);}}};if(_reactNative.Platform.OS===_utilsTypes.AppPlatform.web){window.addEventListener('scroll',handleScroll,true);}return function(){if(_reactNative.Platform.OS===_utilsTypes.AppPlatform.web){window.removeEventListener('scroll',handleScroll,true);}};},[isPickerShow]);var calendarRef=(0,_react.useRef)(null);var inputRef=(0,_react.useRef)(null);var monthListRef=(0,_react.useRef)(null);var showMonthSelection=function showMonthSelection(){if(!isMonthSelection)setDisabledYearSelection(true);else setDisabledYearSelection(false);setIsMonthSelection(!isMonthSelection);if(!isMonthSelection&&monthListRef.current){monthListRef.current.scrollToIndex({animated:true,index:currentMonth});}};var adjustDateForMonth=function adjustDateForMonth(year,month,currentSelectedDate){var lastDayOfMonth=new Date(year,month+1,0).getDate();if(currentSelectedDate.getDate()>lastDayOfMonth){return new Date(year,month,lastDayOfMonth);}return new Date(year,month,currentSelectedDate.getDate());};var showYearSelection=function showYearSelection(){if(!isYearSelection)setDisabledMonthSelection(true);else setDisabledMonthSelection(false);setIsYearSelection(!isYearSelection);if(!isYearSelection){var index=(0,_DatePicker3.generateYearList)().indexOf(currentYear);if(index!==-1&&yearListRef.current){yearListRef.current.scrollToIndex({animated:true,index:index});}}};var selectMonth=function selectMonth(monthIndex){setCurrentMonth(monthIndex);setIsMonthSelection(false);var adjustedDate=adjustDateForMonth(currentYear,monthIndex,selectedDate);setSelectedDate(adjustedDate);};var selectYear=function selectYear(year){setCurrentYear(year);setIsYearSelection(false);var adjustedDate=adjustDateForMonth(year,currentMonth,selectedDate);setSelectedDate(adjustedDate);};var renderMonthItem=function renderMonthItem(_ref2){var item=_ref2.item,index=_ref2.index;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.item,index===currentMonth&&_DatePicker.styles.selectedItem],onPress:function onPress(){selectMonth(index);setDisabledYearSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:202,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.monthText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:208,columnNumber:7}},item));};var renderYearItem=function renderYearItem(_ref3){var item=_ref3.item;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.item,item===currentYear?_DatePicker.styles.selectedItem:null],onPress:function onPress(){selectYear(item);setDisabledMonthSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:214,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.yearText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:220,columnNumber:7}},item));};var renderMonthSelection=function renderMonthSelection(){return _react.default.createElement(_reactNative.FlatList,{ref:monthListRef,data:monthNames,renderItem:renderMonthItem,keyExtractor:function keyExtractor(_,index){return index.toString();},style:_DatePicker.styles.list,initialScrollIndex:currentMonth,getItemLayout:function getItemLayout(_,index){return{length:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?20*index:43.5,offset:43.5*index,index:index};},__self:_this,__source:{fileName:_jsxFileName,lineNumber:226,columnNumber:5}});};var yearListRef=(0,_react.useRef)(null);var renderYearSelection=function renderYearSelection(){var yearList=(0,_DatePicker3.generateYearList)();return _react.default.createElement(_reactNative.FlatList,{ref:yearListRef,data:yearList,renderItem:renderYearItem,keyExtractor:function keyExtractor(item){return item.toString();},style:_DatePicker.styles.list,initialScrollIndex:yearList.indexOf(currentYear),getItemLayout:function getItemLayout(_,index){return{length:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?43:30,offset:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?43*index:43*index,index:index};},__self:_this,__source:{fileName:_jsxFileName,lineNumber:248,columnNumber:7}});};var changeMonthAndYear=function changeMonthAndYear(newMonth,newYear){setCurrentMonth(newMonth);setCurrentYear(newYear);};var goToPreviousMonth=function goToPreviousMonth(){if(!disabledMonthSelection){currentMonth===0?changeMonthAndYear(11,currentYear-1):changeMonthAndYear(currentMonth-1,currentYear);}};var goToNextMonth=function goToNextMonth(){if(!disabledMonthSelection){currentMonth===11?changeMonthAndYear(0,currentYear+1):changeMonthAndYear(currentMonth+1,currentYear);}};var goToPreviousYear=function goToPreviousYear(){if(!disabledYearSelection)setCurrentYear(currentYear-1);};var goToNextYear=function goToNextYear(){if(!disabledYearSelection)setCurrentYear(currentYear+1);};var daysShort=_DatePicker2.translations[language].daysShort;var monthsShort=_DatePicker2.translations[language].monthsShort;var monthNames=_DatePicker2.translations[language].monthNames;var calculateCalendarDirection=function calculateCalendarDirection(){if(inputRef.current){inputRef.current.measure(function(x,y,width,height,pageX,pageY){var windowHeight=_reactNative.Dimensions.get('window').height;var spaceBelow=windowHeight-pageY-height;var modalLeftPosition=pageX+width-_DatePicker3.MODAL_CONTENT_WIDTH;modalLeftPosition=Math.max(modalLeftPosition,0);if(spaceBelow>=_DatePicker.CALENDAR_HEIGHT){setModalPosition({top:pageY+height,left:modalLeftPosition});}else{setModalPosition({top:pageY-_DatePicker.CALENDAR_HEIGHT-_DatePicker3.MODAL_CONTENT_TOP_POSITION,left:modalLeftPosition});}});}};var showPicker=function showPicker(){if(!disabled){calculateCalendarDirection();if(isMonthSelection)setIsMonthSelection(false);if(isYearSelection)setIsYearSelection(false);if(disabledMonthSelection)setDisabledMonthSelection(false);if(disabledYearSelection)setDisabledYearSelection(false);setIsPickerShow(!isPickerShow);if(!isPickerShow&&selectedDate instanceof Date){setCurrentMonth(selectedDate.getMonth());setCurrentYear(selectedDate.getFullYear());}}};var onDateSelected=function onDateSelected(date){var formattedDate=(0,_DatePicker3.formatterDate)(date,dateFormat);var isValidDate=(0,_DatePicker3.validateDate)(date,formattedDate,dateFormat);setSelectedDate(date);setIsDateValid(isValidDate);if(isValidDate&&onChangeText){onChangeText((0,_DatePicker3.convertDateToEtendoERPFormat)(date));}};var onAccept=function onAccept(){if(selectedDate){onChangeText((0,_DatePicker3.convertDateToEtendoERPFormat)(selectedDate));}setIsPickerShow(false);};var onCancel=function onCancel(){setIsPickerShow(false);};var handleTextInputChange=function handleTextInputChange(text){var processedText=text.replace(/[^0-9]/g,'').slice(0,8);if(processedText.length>2){processedText=processedText.slice(0,2)+'/'+processedText.slice(2);}if(processedText.length>5){processedText=processedText.slice(0,5)+'/'+processedText.slice(5);}setSelectedDate(processedText);if(processedText.length===10){var dateObject=(0,_DatePicker3.parseLocalDateString)(processedText,dateFormat);var isValidDate=(0,_DatePicker3.validateDate)(dateObject,processedText,dateFormat);if(isValidDate){setSelectedDate(dateObject);setIsDateValid(true);}else{setIsDateValid(false);}}else{setIsDateValid(true);setSelectedDate(undefined);}};var formatInputText=function formatInputText(text){var processedText=text.replace(/[^0-9]/g,'');processedText=processedText.slice(0,8);if(processedText.length>2){processedText=processedText.slice(0,2)+'/'+processedText.slice(2);}if(processedText.length>5){processedText=processedText.slice(0,5)+'/'+processedText.slice(5);}return processedText;};var handleBlur=function handleBlur(){var isValidSelectedDate=isDateValid;setIsDateValid(isValidSelectedDate);if(onChangeText){onChangeText((0,_DatePicker3.convertDateToEtendoERPFormat)(selectedDate));}};var renderDayItem=function renderDayItem(_ref4){var date=_ref4.date,isCurrentMonth=_ref4.isCurrentMonth;var isToday=date.getDate()===new Date().getDate()&&date.getMonth()===new Date().getMonth()&&date.getFullYear()===new Date().getFullYear();var isSelectedDate=isCurrentMonth&&date.getDate()===new Date(selectedDate).getDate()&&date.getMonth()===new Date(selectedDate).getMonth()&&date.getFullYear()===new Date(selectedDate).getFullYear();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&&onDateSelected(date);},onHoverIn:function onHoverIn(){return setHoveredDay(dayKey);},onHoverOut:function onHoverOut(){return setHoveredDay(null);},style:[_DatePicker.styles.dayItem,isPartOfCurrentMonth?null:notCurrentMonthStyle],__self:_this,__source:{fileName:_jsxFileName,lineNumber:470,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.dayItemText,isSelectedDate?_DatePicker.styles.selectedDayBackground:{},isToday&&!isSelectedDate?_DatePicker.styles.currentDayBorder:{},!isCurrentMonth?notCurrentMonthStyle:{},isHovered?_DatePicker.styles.dayItemTextHover:{},isTodayHovered?_DatePicker.styles.todayItemTextHover:{}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:478,columnNumber:9}},_react.default.createElement(_reactNative.Text,{style:[_DatePicker.styles.dayText,isSelectedDate?_DatePicker.styles.selectedDayText:{},!isCurrentMonth?notCurrentMonthStyle:{},isPartOfCurrentMonth?null:notCurrentMonthStyle,isTodayHovered&&{color:_colors.PRIMARY_100}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:487,columnNumber:11}},date.getDate())));};var renderCalendar=function renderCalendar(){var daysInMonth=(0,_DatePicker3.buildMonth)(currentYear,currentMonth);return _react.default.createElement(_reactNative.View,{style:_DatePicker.styles.calendarContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:507,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.dayHeader,__self:_this,__source:{fileName:_jsxFileName,lineNumber:508,columnNumber:9}},daysShort.map(function(day){return _react.default.createElement(_reactNative.Text,{key:day,style:_DatePicker.styles.dayHeaderText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:510,columnNumber:13}},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:515,columnNumber:9}}));};return _react.default.createElement(_reactNative.View,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:529,columnNumber:5}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.inputContainerWrapper,(isPickerShow||isInputFocused)&&_DatePicker.styles.inputWrapperFocused,!isDateValid&&_DatePicker.styles.invalidDateWrapperFocused],__self:_this,__source:{fileName:_jsxFileName,lineNumber:530,columnNumber:7}},_react.default.createElement(_reactNative.View,{ref:inputRef,style:[styleField.field,_DatePicker.styles.inputWrapper,!isDateValid&&_DatePicker.styles.invalidDateInputWrapper,{backgroundColor:backgroundColor}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:536,columnNumber:9}},_react.default.createElement(_reactNative.TextInput,{style:[_DatePicker.styles.datePickerInput,(0,_table_utils.disableOutline)(),disabled&&_DatePicker.styles.disabledInput,{backgroundColor:backgroundColor}],value:selectedDate instanceof Date?(0,_DatePicker3.formatterDate)(selectedDate,dateFormat):selectedDate,placeholder:(0,_DatePicker3.getPlaceholderDateFormat)(dateFormat),placeholderTextColor:_colors.NEUTRAL_600,editable:!disabled,onChangeText:handleTextInputChange,focusable:true,onFocus:function onFocus(){return!disabled&&setIsInputFocused(true);},onBlur:function onBlur(){setIsInputFocused(false),!disabled&&handleBlur();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:544,columnNumber:11}}),showCalendar&&_react.default.createElement(_reactNative.TouchableOpacity,{onPress:showPicker,disabled:disabled,__self:_this,__source:{fileName:_jsxFileName,lineNumber:569,columnNumber:13}},_react.default.createElement(_icons.CalendarIcon,{style:disabled?{opacity:0.2,width:25}:{width:25},__self:_this,__source:{fileName:_jsxFileName,lineNumber:570,columnNumber:15}})))),_react.default.createElement(_reactNative.Modal,{animationType:"fade",transparent:true,visible:isPickerShow,onRequestClose:showPicker,ref:calendarRef,__self:_this,__source:{fileName:_jsxFileName,lineNumber:578,columnNumber:7}},_react.default.createElement(_reactNative.TouchableOpacity,{style:_DatePicker.styles.modalContainer,activeOpacity:1,onPress:showPicker,__self:_this,__source:{fileName:_jsxFileName,lineNumber:584,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.modalContent,{width:_DatePicker3.MODAL_CONTENT_WIDTH},{position:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?'absolute':'relative',top:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?modalPosition.top+_DatePicker3.MODAL_POSITION_TOP:undefined,left:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?modalPosition.left:undefined}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:588,columnNumber:11}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.header,(isMonthSelection||isYearSelection)&&{borderBottomWidth:1,borderBottomColor:_colors.NEUTRAL_300}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:605,columnNumber:13}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.monthAndYearContainer,disabledMonthSelection&&_DatePicker.styles.disabledButtonStyle],disabled:disabledMonthSelection,onPress:showMonthSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:613,columnNumber:15}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToPreviousMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:620,columnNumber:17}},_react.default.createElement(_icons.ArrowLeftIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:621,columnNumber:19}})),_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.monthAndYearContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:623,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.monthText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:624,columnNumber:19}},monthsShort[currentMonth]),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isYearSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:627,columnNumber:19}})),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToNextMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:636,columnNumber:17}},_react.default.createElement(_icons.ArrowRightIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:637,columnNumber:19}}))),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.monthAndYearContainer,disabledYearSelection&&_DatePicker.styles.disabledButtonStyle],disabled:disabledYearSelection,onPress:showYearSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:641,columnNumber:15}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToPreviousYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:648,columnNumber:17}},_react.default.createElement(_icons.ArrowLeftIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:649,columnNumber:19}})),_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.monthAndYearContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:651,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.yearText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:652,columnNumber:19}},currentYear),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isYearSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:653,columnNumber:19}})),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToNextYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:662,columnNumber:17}},_react.default.createElement(_icons.ArrowRightIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:663,columnNumber:19}})))),isYearSelection?renderYearSelection():isMonthSelection?renderMonthSelection():renderCalendar(),_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.optionsContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:673,columnNumber:13}},_react.default.createElement(_button.Button,{typeStyle:"white",text:_DatePicker2.translations[language].cancel,onPress:onCancel,paddingVertical:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:674,columnNumber:15}}),_react.default.createElement(_button.Button,{typeStyle:"terciary",text:_DatePicker2.translations[language].accept,onPress:onAccept,paddingVertical:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:680,columnNumber:15}}))))));};var _default=exports.default=DatePicker;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _icons=require("../../assets/images/icons");var _colors=require("../../styles/colors");var _utilsTypes=require("../../helpers/utilsTypes");var _DatePicker=require("./DatePicker.styles");var _DatePicker2=require("./DatePicker.translations");var _DatePicker3=require("./DatePicker.utils");var _table_utils=require("../../helpers/table_utils");var _button=require("../button");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/datepicker/DatePicker.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 DatePicker=function DatePicker(_ref){var value=_ref.value,styleField=_ref.styleField,onChangeText=_ref.onChangeText,_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,_ref$disabled=_ref.disabled,disabled=_ref$disabled===void 0?false:_ref$disabled,_ref$showCalendar=_ref.showCalendar,showCalendar=_ref$showCalendar===void 0?true:_ref$showCalendar,_ref$backgroundColor=_ref.backgroundColor,backgroundColor=_ref$backgroundColor===void 0?_colors.NEUTRAL_50:_ref$backgroundColor;var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),hoveredDay=_useState2[0],setHoveredDay=_useState2[1];var _useState3=(0,_react.useState)(true),_useState4=(0,_slicedToArray2.default)(_useState3,2),isDateValid=_useState4[0],setIsDateValid=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),isMonthSelection=_useState6[0],setIsMonthSelection=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isPickerShow=_useState8[0],setIsPickerShow=_useState8[1];var _useState9=(0,_react.useState)(value?new Date(value):undefined),_useState10=(0,_slicedToArray2.default)(_useState9,2),selectedDate=_useState10[0],setSelectedDate=_useState10[1];var _useState11=(0,_react.useState)(false),_useState12=(0,_slicedToArray2.default)(_useState11,2),isInputFocused=_useState12[0],setIsInputFocused=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isYearSelection=_useState14[0],setIsYearSelection=_useState14[1];var _useState15=(0,_react.useState)(new Date().getMonth()),_useState16=(0,_slicedToArray2.default)(_useState15,2),currentMonth=_useState16[0],setCurrentMonth=_useState16[1];var _useState17=(0,_react.useState)(new Date().getFullYear()),_useState18=(0,_slicedToArray2.default)(_useState17,2),currentYear=_useState18[0],setCurrentYear=_useState18[1];var _useState19=(0,_react.useState)(false),_useState20=(0,_slicedToArray2.default)(_useState19,2),disabledMonthSelection=_useState20[0],setDisabledMonthSelection=_useState20[1];var _useState21=(0,_react.useState)(false),_useState22=(0,_slicedToArray2.default)(_useState21,2),disabledYearSelection=_useState22[0],setDisabledYearSelection=_useState22[1];var _useState23=(0,_react.useState)({top:0,bottom:0}),_useState24=(0,_slicedToArray2.default)(_useState23,2),modalPosition=_useState24[0],setModalPosition=_useState24[1];(0,_react.useEffect)(function(){if(value){var defaultValue=(0,_DatePicker3.parseLocalDateString)(value,dateFormat);var isValid=(0,_DatePicker3.validateDate)(defaultValue,value,dateFormat);setIsDateValid(isValid);if(isValid){setSelectedDate(defaultValue);setCurrentMonth(defaultValue.getMonth());setCurrentYear(defaultValue.getFullYear());}else{setSelectedDate(new Date());setCurrentMonth(new Date().getMonth());setCurrentYear(new Date().getFullYear());}}},[]);(0,_react.useEffect)(function(){var handleScroll=function handleScroll(event){if(isPickerShow){if(calendarRef.current&&!calendarRef.current.contains(event.target)){setIsPickerShow(false);}}};if(_reactNative.Platform.OS===_utilsTypes.AppPlatform.web){window.addEventListener('scroll',handleScroll,true);}return function(){if(_reactNative.Platform.OS===_utilsTypes.AppPlatform.web){window.removeEventListener('scroll',handleScroll,true);}};},[isPickerShow]);var inputRef=(0,_react.useRef)(null);var calendarRef=(0,_react.useRef)(null);var yearListRef=(0,_react.useRef)(null);var monthListRef=(0,_react.useRef)(null);var showMonthSelection=function showMonthSelection(){setDisabledYearSelection(!isMonthSelection);setIsMonthSelection(!isMonthSelection);};var adjustDateForMonth=function adjustDateForMonth(year,month,currentSelectedDate){if(!(currentSelectedDate instanceof Date)||isNaN(currentSelectedDate.getTime())){return new Date(year,month,1);}var lastDayOfMonth=new Date(year,month+1,0).getDate();if(currentSelectedDate.getDate()>lastDayOfMonth){return new Date(year,month,lastDayOfMonth);}return new Date(year,month,currentSelectedDate.getDate());};var showYearSelection=function showYearSelection(){if(!isYearSelection)setDisabledMonthSelection(true);else setDisabledMonthSelection(false);setIsYearSelection(!isYearSelection);if(!isYearSelection){var index=(0,_DatePicker3.generateYearList)().indexOf(currentYear);if(index!==-1&&yearListRef.current){yearListRef.current.scrollToIndex({animated:true,index:index});}}};var selectMonth=function selectMonth(monthIndex){setCurrentMonth(monthIndex);setIsMonthSelection(false);var adjustedDate=adjustDateForMonth(currentYear,monthIndex,selectedDate);setSelectedDate(adjustedDate);};var selectYear=function selectYear(year){setCurrentYear(year);setIsYearSelection(false);var adjustedDate=adjustDateForMonth(year,currentMonth,selectedDate);setSelectedDate(adjustedDate);};var renderMonthItem=function renderMonthItem(_ref2){var item=_ref2.item,index=_ref2.index;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.item,index===currentMonth&&_DatePicker.styles.selectedItem],onPress:function onPress(){selectMonth(index);setDisabledYearSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:199,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.monthText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:205,columnNumber:7}},item));};var renderYearItem=function renderYearItem(_ref3){var item=_ref3.item;return _react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.item,item===currentYear?_DatePicker.styles.selectedItem:null],onPress:function onPress(){selectYear(item);setDisabledMonthSelection(false);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:211,columnNumber:5}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.yearText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:217,columnNumber:7}},item));};var scrollToMonth=function scrollToMonth(){var scrollViewHeight=monthListRef.current.clientHeight||0;var offset=currentMonth*_DatePicker3.ITEM_HEIGHT-scrollViewHeight/2+_DatePicker3.ITEM_HEIGHT/2;monthListRef.current.scrollTo({y:Math.max(0,offset),animated:true});};(0,_react.useEffect)(function(){if(isMonthSelection&&monthListRef.current){var timer=setTimeout(scrollToMonth,100);return function(){return clearTimeout(timer);};}},[currentMonth,isMonthSelection]);var renderMonthSelection=function renderMonthSelection(){return _react.default.createElement(_reactNative.ScrollView,{ref:monthListRef,style:_DatePicker.styles.list,__self:_this,__source:{fileName:_jsxFileName,lineNumber:242,columnNumber:7}},monthNames.map(function(month,index){return _react.default.createElement(_reactNative.View,{key:index.toString(),style:{height:_DatePicker3.ITEM_HEIGHT},__self:_this,__source:{fileName:_jsxFileName,lineNumber:247,columnNumber:11}},renderMonthItem({item:month,index:index}));}));};var yearList=(0,_DatePicker3.generateYearList)();(0,_react.useEffect)(function(){var index=yearList.indexOf(currentYear);if(index!==-1&&yearListRef.current){var offset=index*_DatePicker3.ITEM_HEIGHT;yearListRef.current.scrollTo({y:offset,animated:false});}},[currentYear,yearList]);var renderYearSelection=function renderYearSelection(){return _react.default.createElement(_reactNative.ScrollView,{ref:yearListRef,style:_DatePicker.styles.list,__self:_this,__source:{fileName:_jsxFileName,lineNumber:268,columnNumber:7}},yearList.map(function(year){return _react.default.createElement(_reactNative.View,{key:year.toString(),style:{height:_DatePicker3.ITEM_HEIGHT},__self:_this,__source:{fileName:_jsxFileName,lineNumber:273,columnNumber:11}},renderYearItem({item:year}));}));};var changeMonthAndYear=function changeMonthAndYear(newMonth,newYear){setCurrentMonth(newMonth);setCurrentYear(newYear);};var goToPreviousMonth=function goToPreviousMonth(){if(!disabledMonthSelection){currentMonth===0?changeMonthAndYear(11,currentYear-1):changeMonthAndYear(currentMonth-1,currentYear);}};var goToNextMonth=function goToNextMonth(){if(!disabledMonthSelection){currentMonth===11?changeMonthAndYear(0,currentYear+1):changeMonthAndYear(currentMonth+1,currentYear);}};var goToPreviousYear=function goToPreviousYear(){if(!disabledYearSelection)setCurrentYear(currentYear-1);};var goToNextYear=function goToNextYear(){if(!disabledYearSelection)setCurrentYear(currentYear+1);};var daysShort=_DatePicker2.translations[language].daysShort;var monthsShort=_DatePicker2.translations[language].monthsShort;var monthNames=_DatePicker2.translations[language].monthNames;var calculateCalendarDirection=function calculateCalendarDirection(){if(inputRef.current){inputRef.current.measure(function(x,y,width,height,pageX,pageY){var windowHeight=_reactNative.Dimensions.get('window').height;var spaceBelow=windowHeight-pageY-height;var modalLeftPosition=pageX+width-_DatePicker3.MODAL_CONTENT_WIDTH;modalLeftPosition=Math.max(modalLeftPosition,0);if(spaceBelow>=_DatePicker.CALENDAR_HEIGHT){setModalPosition({top:pageY+height,left:modalLeftPosition});}else{setModalPosition({top:pageY-_DatePicker.CALENDAR_HEIGHT-_DatePicker3.MODAL_CONTENT_TOP_POSITION,left:modalLeftPosition});}});}};var showPicker=function showPicker(){if(!disabled){calculateCalendarDirection();if(isMonthSelection)setIsMonthSelection(false);if(isYearSelection)setIsYearSelection(false);if(disabledMonthSelection)setDisabledMonthSelection(false);if(disabledYearSelection)setDisabledYearSelection(false);setIsPickerShow(!isPickerShow);if(!isPickerShow&&selectedDate instanceof Date){setCurrentMonth(selectedDate.getMonth());setCurrentYear(selectedDate.getFullYear());}}};var onDateSelected=function onDateSelected(date){var formattedDate=(0,_DatePicker3.formatterDate)(date,dateFormat);var isValidDate=(0,_DatePicker3.validateDate)(date,formattedDate,dateFormat);setSelectedDate(date);setIsDateValid(isValidDate);if(isValidDate&&onChangeText){onChangeText((0,_DatePicker3.convertDateToEtendoERPFormat)(date));}};var onAccept=function onAccept(){if(selectedDate&&typeof onChangeText==='function'){onChangeText((0,_DatePicker3.convertDateToEtendoERPFormat)(selectedDate));}setIsPickerShow(false);};var onCancel=function onCancel(){setIsPickerShow(false);};var handleTextInputChange=function handleTextInputChange(text){var processedText=text.replace(/[^0-9]/g,'').slice(0,8);if(processedText.length>2){processedText=processedText.slice(0,2)+'/'+processedText.slice(2);}if(processedText.length>5){processedText=processedText.slice(0,5)+'/'+processedText.slice(5);}setSelectedDate(processedText);if(processedText.length===10){var dateObject=(0,_DatePicker3.parseLocalDateString)(processedText,dateFormat);var isValidDate=(0,_DatePicker3.validateDate)(dateObject,processedText,dateFormat);if(isValidDate){setSelectedDate(dateObject);setIsDateValid(true);}else{setIsDateValid(false);}}else{setIsDateValid(true);setSelectedDate(undefined);}};var formatInputText=function formatInputText(text){var processedText=text.replace(/[^0-9]/g,'');processedText=processedText.slice(0,8);if(processedText.length>2){processedText=processedText.slice(0,2)+'/'+processedText.slice(2);}if(processedText.length>5){processedText=processedText.slice(0,5)+'/'+processedText.slice(5);}return processedText;};var handleBlur=function handleBlur(){var isValidSelectedDate=isDateValid;setIsDateValid(isValidSelectedDate);if(onChangeText){onChangeText((0,_DatePicker3.convertDateToEtendoERPFormat)(selectedDate));}};var renderDayItem=function renderDayItem(_ref4){var date=_ref4.date,isCurrentMonth=_ref4.isCurrentMonth;var isToday=date.getDate()===new Date().getDate()&&date.getMonth()===new Date().getMonth()&&date.getFullYear()===new Date().getFullYear();var isSelectedDate=isCurrentMonth&&date.getDate()===new Date(selectedDate).getDate()&&date.getMonth()===new Date(selectedDate).getMonth()&&date.getFullYear()===new Date(selectedDate).getFullYear();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&&onDateSelected(date);},onHoverIn:function onHoverIn(){return setHoveredDay(dayKey);},onHoverOut:function onHoverOut(){return setHoveredDay(null);},style:[_DatePicker.styles.dayItem,isPartOfCurrentMonth?null:notCurrentMonthStyle],__self:_this,__source:{fileName:_jsxFileName,lineNumber:487,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.dayItemText,isSelectedDate?_DatePicker.styles.selectedDayBackground:{},isToday&&!isSelectedDate?_DatePicker.styles.currentDayBorder:{},!isCurrentMonth?notCurrentMonthStyle:{},isHovered?_DatePicker.styles.dayItemTextHover:{},isTodayHovered?_DatePicker.styles.todayItemTextHover:{}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:495,columnNumber:9}},_react.default.createElement(_reactNative.Text,{style:[_DatePicker.styles.dayText,isSelectedDate?_DatePicker.styles.selectedDayText:{},!isCurrentMonth?notCurrentMonthStyle:{},isPartOfCurrentMonth?null:notCurrentMonthStyle,isTodayHovered&&{color:_colors.PRIMARY_100}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:504,columnNumber:11}},date.getDate())));};var renderCalendar=function renderCalendar(){var daysInMonth=(0,_DatePicker3.buildMonth)(currentYear,currentMonth);return _react.default.createElement(_reactNative.View,{style:_DatePicker.styles.calendarContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:524,columnNumber:7}},_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.dayHeader,__self:_this,__source:{fileName:_jsxFileName,lineNumber:525,columnNumber:9}},daysShort.map(function(day){return _react.default.createElement(_reactNative.Text,{key:day,style:_DatePicker.styles.dayHeaderText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:527,columnNumber:13}},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:532,columnNumber:9}}));};return _react.default.createElement(_reactNative.View,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:546,columnNumber:5}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.inputContainerWrapper,(isPickerShow||isInputFocused)&&_DatePicker.styles.inputWrapperFocused,!isDateValid&&_DatePicker.styles.invalidDateWrapperFocused],__self:_this,__source:{fileName:_jsxFileName,lineNumber:547,columnNumber:7}},_react.default.createElement(_reactNative.View,{ref:inputRef,style:[styleField.field,_DatePicker.styles.inputWrapper,!isDateValid&&_DatePicker.styles.invalidDateInputWrapper,{backgroundColor:backgroundColor}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:553,columnNumber:9}},_react.default.createElement(_reactNative.TextInput,{style:[_DatePicker.styles.datePickerInput,(0,_table_utils.disableOutline)(),disabled&&_DatePicker.styles.disabledInput,{backgroundColor:backgroundColor}],value:selectedDate instanceof Date?(0,_DatePicker3.formatterDate)(selectedDate,dateFormat):selectedDate,placeholder:(0,_DatePicker3.getPlaceholderDateFormat)(dateFormat),placeholderTextColor:_colors.NEUTRAL_600,editable:!disabled,onChangeText:handleTextInputChange,focusable:true,onFocus:function onFocus(){return!disabled&&setIsInputFocused(true);},onBlur:function onBlur(){setIsInputFocused(false),!disabled&&handleBlur();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:561,columnNumber:11}}),showCalendar&&_react.default.createElement(_reactNative.TouchableOpacity,{onPress:showPicker,disabled:disabled,__self:_this,__source:{fileName:_jsxFileName,lineNumber:586,columnNumber:13}},_react.default.createElement(_icons.CalendarIcon,{style:disabled?{opacity:0.2,width:25}:{width:25},__self:_this,__source:{fileName:_jsxFileName,lineNumber:587,columnNumber:15}})))),_react.default.createElement(_reactNative.Modal,{animationType:"fade",transparent:true,visible:isPickerShow,onRequestClose:showPicker,ref:calendarRef,__self:_this,__source:{fileName:_jsxFileName,lineNumber:595,columnNumber:7}},_react.default.createElement(_reactNative.TouchableOpacity,{style:_DatePicker.styles.modalContainer,activeOpacity:1,onPress:showPicker,__self:_this,__source:{fileName:_jsxFileName,lineNumber:601,columnNumber:9}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.modalContent,{width:_DatePicker3.MODAL_CONTENT_WIDTH},{position:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?'absolute':'relative',top:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?modalPosition.top+_DatePicker3.MODAL_POSITION_TOP:undefined,left:_reactNative.Platform.OS===_utilsTypes.AppPlatform.web?modalPosition.left:undefined}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:605,columnNumber:11}},_react.default.createElement(_reactNative.View,{style:[_DatePicker.styles.header,(isMonthSelection||isYearSelection)&&{borderBottomWidth:1,borderBottomColor:_colors.NEUTRAL_300}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:622,columnNumber:13}},_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.monthAndYearContainer,disabledMonthSelection&&_DatePicker.styles.disabledButtonStyle],disabled:disabledMonthSelection,onPress:showMonthSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:630,columnNumber:15}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToPreviousMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:637,columnNumber:17}},_react.default.createElement(_icons.ArrowLeftIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:638,columnNumber:19}})),_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.monthAndYearContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:640,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.monthText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:641,columnNumber:19}},monthsShort[currentMonth]),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isYearSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:644,columnNumber:19}})),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToNextMonth,__self:_this,__source:{fileName:_jsxFileName,lineNumber:653,columnNumber:17}},_react.default.createElement(_icons.ArrowRightIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:654,columnNumber:19}}))),_react.default.createElement(_reactNative.TouchableOpacity,{style:[_DatePicker.styles.monthAndYearContainer,disabledYearSelection&&_DatePicker.styles.disabledButtonStyle],disabled:disabledYearSelection,onPress:showYearSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:658,columnNumber:15}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToPreviousYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:665,columnNumber:17}},_react.default.createElement(_icons.ArrowLeftIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:666,columnNumber:19}})),_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.monthAndYearContent,__self:_this,__source:{fileName:_jsxFileName,lineNumber:668,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DatePicker.styles.yearText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:669,columnNumber:19}},currentYear),_react.default.createElement(_icons.ArrowDownIcon,{style:{width:8,transform:[{rotate:isYearSelection?'180deg':'0deg'}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:670,columnNumber:19}})),_react.default.createElement(_reactNative.TouchableOpacity,{onPress:goToNextYear,__self:_this,__source:{fileName:_jsxFileName,lineNumber:679,columnNumber:17}},_react.default.createElement(_icons.ArrowRightIcon,{style:{width:10,padding:5},__self:_this,__source:{fileName:_jsxFileName,lineNumber:680,columnNumber:19}})))),isYearSelection?renderYearSelection():isMonthSelection?renderMonthSelection():renderCalendar(),_react.default.createElement(_reactNative.View,{style:_DatePicker.styles.optionsContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:690,columnNumber:13}},_react.default.createElement(_button.Button,{typeStyle:"white",text:_DatePicker2.translations[language].cancel,onPress:onCancel,paddingVertical:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:691,columnNumber:15}}),_react.default.createElement(_button.Button,{typeStyle:"terciary",text:_DatePicker2.translations[language].accept,onPress:onAccept,paddingVertical:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:697,columnNumber:15}}))))));};var _default=exports.default=DatePicker;
@@ -15,3 +15,7 @@ export interface DatePickerProps {
15
15
  disabled: boolean | undefined;
16
16
  backgroundColor: ColorValue;
17
17
  }
18
+ export interface MonthItemProps {
19
+ item: string;
20
+ index: number;
21
+ }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});
1
+ Object.defineProperty(exports,"__esModule",{value:true});;
@@ -1,6 +1,7 @@
1
1
  export declare const MODAL_CONTENT_WIDTH = 360;
2
2
  export declare const MODAL_CONTENT_TOP_POSITION = 155;
3
3
  export declare const MODAL_POSITION_TOP = 5;
4
+ export declare const ITEM_HEIGHT = 50;
4
5
  export declare const convertDateToEtendoERPFormat: (inputDate: Date) => string;
5
6
  export declare const formatterDate: (date: Date, format: string) => string;
6
7
  export declare const getPlaceholderDateFormat: (dateFormat: string) => "DD/MM/YYYY" | "MM/DD/YYYY";
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.validateDate=exports.transformDate=exports.parseLocalDateString=exports.isLeapYear=exports.isDateValid=exports.getPlaceholderDateFormat=exports.getDaysInMonth=exports.generateYearList=exports.formatterDate=exports.formatInputText=exports.convertDateToEtendoERPFormat=exports.buildMonth=exports.MODAL_POSITION_TOP=exports.MODAL_CONTENT_WIDTH=exports.MODAL_CONTENT_TOP_POSITION=void 0;var MODAL_CONTENT_WIDTH=exports.MODAL_CONTENT_WIDTH=360;var MODAL_CONTENT_TOP_POSITION=exports.MODAL_CONTENT_TOP_POSITION=155;var MODAL_POSITION_TOP=exports.MODAL_POSITION_TOP=5;var convertDateToEtendoERPFormat=exports.convertDateToEtendoERPFormat=function convertDateToEtendoERPFormat(inputDate){var date=new Date(inputDate);var year=date.getFullYear();var month=(date.getMonth()+1).toString().padStart(2,'0');var day=date.getDate().toString().padStart(2,'0');var hours=date.getHours().toString().padStart(2,'0');var minutes=date.getMinutes().toString().padStart(2,'0');var seconds=date.getSeconds().toString().padStart(2,'0');return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds+".0";};var formatterDate=exports.formatterDate=function formatterDate(date,format){if(date instanceof Date){var day=date.getDate().toString().padStart(2,'0');var month=(date.getMonth()+1).toString().padStart(2,'0');var year=date.getFullYear();if(format==='MM/DD/YYYY'){return month+"/"+day+"/"+year;}else if(format==='DD/MM/YYYY'){return day+"/"+month+"/"+year;}else{return month+"/"+day+"/"+year;}}return'';};var getPlaceholderDateFormat=exports.getPlaceholderDateFormat=function getPlaceholderDateFormat(dateFormat){return dateFormat==='MM/DD/YYYY'?'MM/DD/YYYY':'DD/MM/YYYY';};var parseLocalDateString=exports.parseLocalDateString=function parseLocalDateString(localDate,dateFormat){var parts=localDate.split('/');var year=parts[2];var month=dateFormat==='MM/DD/YYYY'?parts[0]-1:parts[1]-1;var day=dateFormat==='MM/DD/YYYY'?parts[1]:parts[0];return new Date(year,month,day);};var transformDate=exports.transformDate=function transformDate(dateString){var parts=dateString.split('/');var date=new Date(parts[2],parts[1]-1,parts[0],3,0,0);return date.toISOString();};var generateYearList=exports.generateYearList=function generateYearList(){return Array.from({length:200},function(_,i){return 1900+i;});};var isLeapYear=exports.isLeapYear=function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0;};var getDaysInMonth=exports.getDaysInMonth=function getDaysInMonth(year,month){var daysInMonth=[31,isLeapYear(year)?29:28,31,30,31,30,31,31,30,31,30,31];return daysInMonth[month];};var buildMonth=exports.buildMonth=function buildMonth(year,month){var days=[];var firstDayOfMonth=new Date(year,month,1).getDay();var totalDays=getDaysInMonth(year,month);var previousMonth=month===0?11:month-1;var previousMonthYear=month===0?year-1:year;var previousMonthDays=getDaysInMonth(previousMonthYear,previousMonth);for(var i=firstDayOfMonth;i>0;i--){days.push(new Date(previousMonthYear,previousMonth,previousMonthDays-i+1));}for(var _day=1;_day<=totalDays;_day++){days.push(new Date(year,month,_day));}var nextMonth=month===11?0:month+1;var nextMonthYear=month===11?year+1:year;var day=1;while(days.length%7!==0){days.push(new Date(nextMonthYear,nextMonth,day++));}return days;};var validateDate=exports.validateDate=function validateDate(dateObject,text,format){if(!dateObject||new Date(dateObject).getFullYear()<1000||new Date(dateObject).getFullYear()>9999){return false;}var parts=text.split('/');var day,month;if(format==='DD/MM/YYYY'){day=parseInt(parts[0],10);month=parseInt(parts[1],10);}else{day=parseInt(parts[1],10);month=parseInt(parts[0],10);}if(month<1||month>12||day<1||day>31){return false;}if((month===4||month===6||month===9||month===11)&&day>30){return false;}if(month===2){var isLeap=dateObject.getFullYear()%4===0&&(dateObject.getFullYear()%100!==0||dateObject.getFullYear()%400===0);if(day>(isLeap?29:28)){return false;}}return true;};var isDateValid=exports.isDateValid=function isDateValid(date){if(Object.prototype.toString.call(date)==='[object Date]'){if(isNaN(date.getTime())){return false;}else{return true;}}else{return false;}};var formatInputText=exports.formatInputText=function formatInputText(text){if(!text){return'';}var processedText=text.replace(/[^0-9]/g,'');processedText=processedText.slice(0,8);if(processedText.length>2){processedText=processedText.slice(0,2)+'/'+processedText.slice(2);}if(processedText.length>5){processedText=processedText.slice(0,5)+'/'+processedText.slice(5);}return processedText;};
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.validateDate=exports.transformDate=exports.parseLocalDateString=exports.isLeapYear=exports.isDateValid=exports.getPlaceholderDateFormat=exports.getDaysInMonth=exports.generateYearList=exports.formatterDate=exports.formatInputText=exports.convertDateToEtendoERPFormat=exports.buildMonth=exports.MODAL_POSITION_TOP=exports.MODAL_CONTENT_WIDTH=exports.MODAL_CONTENT_TOP_POSITION=exports.ITEM_HEIGHT=void 0;var MODAL_CONTENT_WIDTH=exports.MODAL_CONTENT_WIDTH=360;var MODAL_CONTENT_TOP_POSITION=exports.MODAL_CONTENT_TOP_POSITION=155;var MODAL_POSITION_TOP=exports.MODAL_POSITION_TOP=5;var ITEM_HEIGHT=exports.ITEM_HEIGHT=50;var convertDateToEtendoERPFormat=exports.convertDateToEtendoERPFormat=function convertDateToEtendoERPFormat(inputDate){var date=new Date(inputDate);var year=date.getFullYear();var month=(date.getMonth()+1).toString().padStart(2,'0');var day=date.getDate().toString().padStart(2,'0');var hours=date.getHours().toString().padStart(2,'0');var minutes=date.getMinutes().toString().padStart(2,'0');var seconds=date.getSeconds().toString().padStart(2,'0');return year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds+".0";};var formatterDate=exports.formatterDate=function formatterDate(date,format){if(date instanceof Date){var day=date.getDate().toString().padStart(2,'0');var month=(date.getMonth()+1).toString().padStart(2,'0');var year=date.getFullYear();if(format==='MM/DD/YYYY'){return month+"/"+day+"/"+year;}else if(format==='DD/MM/YYYY'){return day+"/"+month+"/"+year;}else{return month+"/"+day+"/"+year;}}return'';};var getPlaceholderDateFormat=exports.getPlaceholderDateFormat=function getPlaceholderDateFormat(dateFormat){return dateFormat==='MM/DD/YYYY'?'MM/DD/YYYY':'DD/MM/YYYY';};var parseLocalDateString=exports.parseLocalDateString=function parseLocalDateString(localDate,dateFormat){var parts=localDate.split('/');var year=parts[2];var month=dateFormat==='MM/DD/YYYY'?parts[0]-1:parts[1]-1;var day=dateFormat==='MM/DD/YYYY'?parts[1]:parts[0];return new Date(year,month,day);};var transformDate=exports.transformDate=function transformDate(dateString){var parts=dateString.split('/');var date=new Date(parts[2],parts[1]-1,parts[0],3,0,0);return date.toISOString();};var generateYearList=exports.generateYearList=function generateYearList(){return Array.from({length:200},function(_,i){return 1900+i;});};var isLeapYear=exports.isLeapYear=function isLeapYear(year){return year%4===0&&year%100!==0||year%400===0;};var getDaysInMonth=exports.getDaysInMonth=function getDaysInMonth(year,month){var daysInMonth=[31,isLeapYear(year)?29:28,31,30,31,30,31,31,30,31,30,31];return daysInMonth[month];};var buildMonth=exports.buildMonth=function buildMonth(year,month){var days=[];var firstDayOfMonth=new Date(year,month,1).getDay();var totalDays=getDaysInMonth(year,month);var previousMonth=month===0?11:month-1;var previousMonthYear=month===0?year-1:year;var previousMonthDays=getDaysInMonth(previousMonthYear,previousMonth);for(var i=firstDayOfMonth;i>0;i--){days.push(new Date(previousMonthYear,previousMonth,previousMonthDays-i+1));}for(var _day=1;_day<=totalDays;_day++){days.push(new Date(year,month,_day));}var nextMonth=month===11?0:month+1;var nextMonthYear=month===11?year+1:year;var day=1;while(days.length%7!==0){days.push(new Date(nextMonthYear,nextMonth,day++));}return days;};var validateDate=exports.validateDate=function validateDate(dateObject,text,format){if(!dateObject||new Date(dateObject).getFullYear()<1000||new Date(dateObject).getFullYear()>9999){return false;}var parts=text.split('/');var day,month;if(format==='DD/MM/YYYY'){day=parseInt(parts[0],10);month=parseInt(parts[1],10);}else{day=parseInt(parts[1],10);month=parseInt(parts[0],10);}if(month<1||month>12||day<1||day>31){return false;}if((month===4||month===6||month===9||month===11)&&day>30){return false;}if(month===2){var isLeap=dateObject.getFullYear()%4===0&&(dateObject.getFullYear()%100!==0||dateObject.getFullYear()%400===0);if(day>(isLeap?29:28)){return false;}}return true;};var isDateValid=exports.isDateValid=function isDateValid(date){if(Object.prototype.toString.call(date)==='[object Date]'){if(isNaN(date.getTime())){return false;}else{return true;}}else{return false;}};var formatInputText=exports.formatInputText=function formatInputText(text){if(!text){return'';}var processedText=text.replace(/[^0-9]/g,'');processedText=processedText.slice(0,8);if(processedText.length>2){processedText=processedText.slice(0,2)+'/'+processedText.slice(2);}if(processedText.length>5){processedText=processedText.slice(0,5)+'/'+processedText.slice(5);}return processedText;};
@@ -8,7 +8,7 @@ import { Table } from './table';
8
8
  import { ViewEtendo } from './viewEtendo/ViewEtendo';
9
9
  import { CardDropdown } from './cards/components/cardDropdown';
10
10
  import { SkeletonItem } from './secondaryComponents';
11
- import { Layout, ButtonContainer, SearchContainer } from './containers';
11
+ import { Layout, ButtonContainer, SearchContainer, TitleContainer } from './containers';
12
12
  import { Cards } from './cards';
13
13
  import { Alert, setAlertDefaultDuration, show } from './alert';
14
- export { Alert, Button, CardDropdown, Cards, DrawerLateral, Input, Navbar, Pagination, SkeletonItem, StatusBar, Tab, Table, ViewEtendo, Layout, ButtonContainer, SearchContainer, show, setAlertDefaultDuration, };
14
+ export { Alert, Button, ButtonContainer, CardDropdown, Cards, DrawerLateral, Input, Layout, Navbar, Pagination, SearchContainer, setAlertDefaultDuration, show, SkeletonItem, StatusBar, Tab, Table, TitleContainer, ViewEtendo, };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Alert",{enumerable:true,get:function get(){return _alert.Alert;}});Object.defineProperty(exports,"Button",{enumerable:true,get:function get(){return _button.Button;}});Object.defineProperty(exports,"ButtonContainer",{enumerable:true,get:function get(){return _containers.ButtonContainer;}});Object.defineProperty(exports,"CardDropdown",{enumerable:true,get:function get(){return _cardDropdown.CardDropdown;}});Object.defineProperty(exports,"Cards",{enumerable:true,get:function get(){return _cards.Cards;}});Object.defineProperty(exports,"DrawerLateral",{enumerable:true,get:function get(){return _navbar.DrawerLateral;}});Object.defineProperty(exports,"Input",{enumerable:true,get:function get(){return _input.Input;}});Object.defineProperty(exports,"Layout",{enumerable:true,get:function get(){return _containers.Layout;}});Object.defineProperty(exports,"Navbar",{enumerable:true,get:function get(){return _navbar.Navbar;}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function get(){return _pagination.Pagination;}});Object.defineProperty(exports,"SearchContainer",{enumerable:true,get:function get(){return _containers.SearchContainer;}});Object.defineProperty(exports,"SkeletonItem",{enumerable:true,get:function get(){return _secondaryComponents.SkeletonItem;}});Object.defineProperty(exports,"StatusBar",{enumerable:true,get:function get(){return _statusbar.StatusBar;}});Object.defineProperty(exports,"Tab",{enumerable:true,get:function get(){return _tab.Tab;}});Object.defineProperty(exports,"Table",{enumerable:true,get:function get(){return _table.Table;}});Object.defineProperty(exports,"ViewEtendo",{enumerable:true,get:function get(){return _ViewEtendo.ViewEtendo;}});Object.defineProperty(exports,"setAlertDefaultDuration",{enumerable:true,get:function get(){return _alert.setAlertDefaultDuration;}});Object.defineProperty(exports,"show",{enumerable:true,get:function get(){return _alert.show;}});var _button=require("./button");var _input=require("./input");var _navbar=require("./navbar");var _pagination=require("./pagination");var _statusbar=require("./statusbar");var _tab=require("./tab");var _table=require("./table");var _ViewEtendo=require("./viewEtendo/ViewEtendo");var _cardDropdown=require("./cards/components/cardDropdown");var _secondaryComponents=require("./secondaryComponents");var _containers=require("./containers");var _cards=require("./cards");var _alert=require("./alert");
1
+ Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Alert",{enumerable:true,get:function get(){return _alert.Alert;}});Object.defineProperty(exports,"Button",{enumerable:true,get:function get(){return _button.Button;}});Object.defineProperty(exports,"ButtonContainer",{enumerable:true,get:function get(){return _containers.ButtonContainer;}});Object.defineProperty(exports,"CardDropdown",{enumerable:true,get:function get(){return _cardDropdown.CardDropdown;}});Object.defineProperty(exports,"Cards",{enumerable:true,get:function get(){return _cards.Cards;}});Object.defineProperty(exports,"DrawerLateral",{enumerable:true,get:function get(){return _navbar.DrawerLateral;}});Object.defineProperty(exports,"Input",{enumerable:true,get:function get(){return _input.Input;}});Object.defineProperty(exports,"Layout",{enumerable:true,get:function get(){return _containers.Layout;}});Object.defineProperty(exports,"Navbar",{enumerable:true,get:function get(){return _navbar.Navbar;}});Object.defineProperty(exports,"Pagination",{enumerable:true,get:function get(){return _pagination.Pagination;}});Object.defineProperty(exports,"SearchContainer",{enumerable:true,get:function get(){return _containers.SearchContainer;}});Object.defineProperty(exports,"SkeletonItem",{enumerable:true,get:function get(){return _secondaryComponents.SkeletonItem;}});Object.defineProperty(exports,"StatusBar",{enumerable:true,get:function get(){return _statusbar.StatusBar;}});Object.defineProperty(exports,"Tab",{enumerable:true,get:function get(){return _tab.Tab;}});Object.defineProperty(exports,"Table",{enumerable:true,get:function get(){return _table.Table;}});Object.defineProperty(exports,"TitleContainer",{enumerable:true,get:function get(){return _containers.TitleContainer;}});Object.defineProperty(exports,"ViewEtendo",{enumerable:true,get:function get(){return _ViewEtendo.ViewEtendo;}});Object.defineProperty(exports,"setAlertDefaultDuration",{enumerable:true,get:function get(){return _alert.setAlertDefaultDuration;}});Object.defineProperty(exports,"show",{enumerable:true,get:function get(){return _alert.show;}});var _button=require("./button");var _input=require("./input");var _navbar=require("./navbar");var _pagination=require("./pagination");var _statusbar=require("./statusbar");var _tab=require("./tab");var _table=require("./table");var _ViewEtendo=require("./viewEtendo/ViewEtendo");var _cardDropdown=require("./cards/components/cardDropdown");var _secondaryComponents=require("./secondaryComponents");var _containers=require("./containers");var _cards=require("./cards");var _alert=require("./alert");
@@ -1,4 +1,5 @@
1
1
  import { Layout } from './layout';
2
2
  import { ButtonContainer } from './buttonContainer';
3
3
  import { SearchContainer } from './searchContainer';
4
- export { Layout, ButtonContainer, SearchContainer };
4
+ import { TitleContainer } from './titleContainer';
5
+ export { Layout, ButtonContainer, SearchContainer, TitleContainer };
@@ -1,4 +1,5 @@
1
1
  import { Layout } from "./layout";
2
2
  import { ButtonContainer } from "./buttonContainer";
3
3
  import { SearchContainer } from "./searchContainer";
4
- export { Layout, ButtonContainer, SearchContainer };
4
+ import { TitleContainer } from "./titleContainer";
5
+ export { Layout, ButtonContainer, SearchContainer, TitleContainer };
@@ -0,0 +1,4 @@
1
+ import { FC } from 'react';
2
+ import { ITitleContainer } from './TitleContainer.types';
3
+ declare const TitleContainer: FC<ITitleContainer>;
4
+ export default TitleContainer;
@@ -0,0 +1,16 @@
1
+ export declare const DEFAULT: {
2
+ TITLE_STYLE: {
3
+ fontSize: number;
4
+ fontWeight: "600";
5
+ textAlign: "left";
6
+ marginBottom: number;
7
+ color: string;
8
+ };
9
+ TITLE_CONTAINER: {
10
+ display: "flex";
11
+ flexDirection: "row" | "column";
12
+ justifyContent: "flex-start" | "space-between";
13
+ alignItems: "flex-start";
14
+ gap: number;
15
+ };
16
+ };
@@ -0,0 +1,19 @@
1
+ import { StyleSheet } from "react-native-web";
2
+ import { isDeviceTablet } from "../../../helpers/table_utils";
3
+ import { PRIMARY_100 } from "../../../styles/colors";
4
+ export var DEFAULT = StyleSheet.create({
5
+ TITLE_STYLE: {
6
+ fontSize: 29,
7
+ fontWeight: '600',
8
+ textAlign: 'left',
9
+ marginBottom: 6,
10
+ color: PRIMARY_100
11
+ },
12
+ TITLE_CONTAINER: {
13
+ display: 'flex',
14
+ flexDirection: isDeviceTablet ? 'row' : 'column',
15
+ justifyContent: isDeviceTablet ? 'space-between' : 'flex-start',
16
+ alignItems: 'flex-start',
17
+ gap: 12
18
+ }
19
+ });
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { Text, View } from "react-native-web";
3
+ import { DEFAULT } from "./TitleContainer.default";
4
+ import { ButtonContainer } from "../buttonContainer";
5
+ var TitleContainer = function TitleContainer(_ref) {
6
+ var buttons = _ref.buttons,
7
+ style = _ref.style,
8
+ title = _ref.title,
9
+ textStyle = _ref.textStyle;
10
+ return /*#__PURE__*/React.createElement(View, {
11
+ style: [DEFAULT.TITLE_CONTAINER, style]
12
+ }, /*#__PURE__*/React.createElement(Text, {
13
+ style: [DEFAULT.TITLE_STYLE, textStyle]
14
+ }, title), buttons && /*#__PURE__*/React.createElement(ButtonContainer, {
15
+ buttons: buttons,
16
+ style: {
17
+ paddingVertical: 0
18
+ }
19
+ }));
20
+ };
21
+ export default TitleContainer;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ export interface ITitleContainer {
4
+ buttons?: ReactNode[];
5
+ style?: StyleProp<ViewStyle>;
6
+ textStyle?: StyleProp<ViewStyle>;
7
+ title: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ import TitleContainer from './TitleContainer';
2
+ export { TitleContainer };
@@ -0,0 +1,2 @@
1
+ import TitleContainer from "./TitleContainer";
2
+ export { TitleContainer };
@@ -6,13 +6,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  /* Imports */
8
8
  import React, { useEffect, useRef, useState } from 'react';
9
- import { Modal, Text, TextInput, View, TouchableOpacity, FlatList, Platform, Dimensions, Pressable } from "react-native-web";
9
+ import { Modal, Text, TextInput, View, TouchableOpacity, FlatList, Platform, Dimensions, Pressable, ScrollView } from "react-native-web";
10
10
  import { ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, CalendarIcon } from "../../assets/images/icons";
11
11
  import { NEUTRAL_300, NEUTRAL_400, NEUTRAL_50, NEUTRAL_600, PRIMARY_100 } from "../../styles/colors";
12
12
  import { AppPlatform } from "../../helpers/utilsTypes";
13
13
  import { CALENDAR_HEIGHT, styles } from "./DatePicker.styles";
14
14
  import { translations } from "./DatePicker.translations";
15
- import { buildMonth, formatterDate, generateYearList, getPlaceholderDateFormat, parseLocalDateString, MODAL_CONTENT_WIDTH, MODAL_CONTENT_TOP_POSITION, MODAL_POSITION_TOP, convertDateToEtendoERPFormat, validateDate } from "./DatePicker.utils";
15
+ import { buildMonth, formatterDate, generateYearList, getPlaceholderDateFormat, parseLocalDateString, ITEM_HEIGHT, MODAL_CONTENT_WIDTH, MODAL_CONTENT_TOP_POSITION, MODAL_POSITION_TOP, convertDateToEtendoERPFormat, validateDate } from "./DatePicker.utils";
16
16
  import { disableOutline } from "../../helpers/table_utils";
17
17
 
18
18
  // Button from the Etendo UI library
@@ -126,24 +126,22 @@ var DatePicker = function DatePicker(_ref) {
126
126
  }, [isPickerShow]);
127
127
 
128
128
  // References for the date picker
129
- var calendarRef = useRef(null);
130
129
  var inputRef = useRef(null);
130
+ var calendarRef = useRef(null);
131
+ var yearListRef = useRef(null);
131
132
  var monthListRef = useRef(null);
132
133
 
133
134
  // Toggle month selection
134
135
  var showMonthSelection = function showMonthSelection() {
135
- if (!isMonthSelection) setDisabledYearSelection(true);else setDisabledYearSelection(false);
136
+ setDisabledYearSelection(!isMonthSelection);
136
137
  setIsMonthSelection(!isMonthSelection);
137
- if (!isMonthSelection && monthListRef.current) {
138
- monthListRef.current.scrollToIndex({
139
- animated: true,
140
- index: currentMonth
141
- });
142
- }
143
138
  };
144
139
 
145
140
  // Adjust the selected date if the month has less days
146
141
  var adjustDateForMonth = function adjustDateForMonth(year, month, currentSelectedDate) {
142
+ if (!(currentSelectedDate instanceof Date) || isNaN(currentSelectedDate.getTime())) {
143
+ return new Date(year, month, 1);
144
+ }
147
145
  var lastDayOfMonth = new Date(year, month + 1, 0).getDate();
148
146
  if (currentSelectedDate.getDate() > lastDayOfMonth) {
149
147
  return new Date(year, month, lastDayOfMonth);
@@ -211,49 +209,72 @@ var DatePicker = function DatePicker(_ref) {
211
209
  }, item));
212
210
  };
213
211
 
212
+ // Effect to adjust scroll position for month selection
213
+ var scrollToMonth = function scrollToMonth() {
214
+ var scrollViewHeight = monthListRef.current.clientHeight || 0;
215
+ var offset = currentMonth * ITEM_HEIGHT - scrollViewHeight / 2 + ITEM_HEIGHT / 2;
216
+ monthListRef.current.scrollTo({
217
+ y: Math.max(0, offset),
218
+ animated: true
219
+ });
220
+ };
221
+
222
+ // Dentro de tu useEffect
223
+ useEffect(function () {
224
+ if (isMonthSelection && monthListRef.current) {
225
+ var timer = setTimeout(scrollToMonth, 100);
226
+ return function () {
227
+ return clearTimeout(timer);
228
+ };
229
+ }
230
+ }, [currentMonth, isMonthSelection]);
231
+
214
232
  // Render month selection list
215
233
  var renderMonthSelection = function renderMonthSelection() {
216
- return /*#__PURE__*/React.createElement(FlatList, {
234
+ return /*#__PURE__*/React.createElement(ScrollView, {
217
235
  ref: monthListRef,
218
- data: monthNames,
219
- renderItem: renderMonthItem,
220
- keyExtractor: function keyExtractor(_, index) {
221
- return index.toString();
222
- },
223
- style: styles.list,
224
- initialScrollIndex: currentMonth,
225
- getItemLayout: function getItemLayout(_, index) {
226
- return {
227
- length: Platform.OS === AppPlatform.web ? 20 * index : 43.5,
228
- offset: 43.5 * index,
229
- index: index
230
- };
231
- }
232
- });
236
+ style: styles.list
237
+ }, monthNames.map(function (month, index) {
238
+ return /*#__PURE__*/React.createElement(View, {
239
+ key: index.toString(),
240
+ style: {
241
+ height: ITEM_HEIGHT
242
+ }
243
+ }, renderMonthItem({
244
+ item: month,
245
+ index: index
246
+ }));
247
+ }));
233
248
  };
234
249
 
235
- // Reference for year selection list
236
- var yearListRef = useRef(null);
250
+ // Year selection list
251
+ var yearList = generateYearList();
252
+ useEffect(function () {
253
+ var index = yearList.indexOf(currentYear);
254
+ if (index !== -1 && yearListRef.current) {
255
+ var offset = index * ITEM_HEIGHT;
256
+ yearListRef.current.scrollTo({
257
+ y: offset,
258
+ animated: false
259
+ });
260
+ }
261
+ }, [currentYear, yearList]);
262
+
237
263
  // Render year selection list
238
264
  var renderYearSelection = function renderYearSelection() {
239
- var yearList = generateYearList();
240
- return /*#__PURE__*/React.createElement(FlatList, {
265
+ return /*#__PURE__*/React.createElement(ScrollView, {
241
266
  ref: yearListRef,
242
- data: yearList,
243
- renderItem: renderYearItem,
244
- keyExtractor: function keyExtractor(item) {
245
- return item.toString();
246
- },
247
- style: styles.list,
248
- initialScrollIndex: yearList.indexOf(currentYear),
249
- getItemLayout: function getItemLayout(_, index) {
250
- return {
251
- length: Platform.OS === AppPlatform.web ? 43 : 30,
252
- offset: Platform.OS === AppPlatform.web ? 43 * index : 43 * index,
253
- index: index
254
- };
255
- }
256
- });
267
+ style: styles.list
268
+ }, yearList.map(function (year) {
269
+ return /*#__PURE__*/React.createElement(View, {
270
+ key: year.toString(),
271
+ style: {
272
+ height: ITEM_HEIGHT
273
+ }
274
+ }, renderYearItem({
275
+ item: year
276
+ }));
277
+ }));
257
278
  };
258
279
 
259
280
  // Change current month and year
@@ -350,7 +371,7 @@ var DatePicker = function DatePicker(_ref) {
350
371
 
351
372
  // Function for the button 'Accept'
352
373
  var onAccept = function onAccept() {
353
- if (selectedDate) {
374
+ if (selectedDate && typeof onChangeText === 'function') {
354
375
  onChangeText(convertDateToEtendoERPFormat(selectedDate));
355
376
  }
356
377
  setIsPickerShow(false);
@@ -15,3 +15,7 @@ export interface DatePickerProps {
15
15
  disabled: boolean | undefined;
16
16
  backgroundColor: ColorValue;
17
17
  }
18
+ export interface MonthItemProps {
19
+ item: string;
20
+ index: number;
21
+ }
@@ -1 +1,4 @@
1
+ // Types for DatePicker component
2
+
3
+ ;
1
4
  export {};
@@ -1,6 +1,7 @@
1
1
  export declare const MODAL_CONTENT_WIDTH = 360;
2
2
  export declare const MODAL_CONTENT_TOP_POSITION = 155;
3
3
  export declare const MODAL_POSITION_TOP = 5;
4
+ export declare const ITEM_HEIGHT = 50;
4
5
  export declare const convertDateToEtendoERPFormat: (inputDate: Date) => string;
5
6
  export declare const formatterDate: (date: Date, format: string) => string;
6
7
  export declare const getPlaceholderDateFormat: (dateFormat: string) => "DD/MM/YYYY" | "MM/DD/YYYY";
@@ -3,6 +3,7 @@
3
3
  export var MODAL_CONTENT_WIDTH = 360;
4
4
  export var MODAL_CONTENT_TOP_POSITION = 155;
5
5
  export var MODAL_POSITION_TOP = 5;
6
+ export var ITEM_HEIGHT = 50;
6
7
 
7
8
  // Convert date to compatible format with Etendo ERP
8
9
  export var convertDateToEtendoERPFormat = function convertDateToEtendoERPFormat(inputDate) {
@@ -8,7 +8,7 @@ import { Table } from './table';
8
8
  import { ViewEtendo } from './viewEtendo/ViewEtendo';
9
9
  import { CardDropdown } from './cards/components/cardDropdown';
10
10
  import { SkeletonItem } from './secondaryComponents';
11
- import { Layout, ButtonContainer, SearchContainer } from './containers';
11
+ import { Layout, ButtonContainer, SearchContainer, TitleContainer } from './containers';
12
12
  import { Cards } from './cards';
13
13
  import { Alert, setAlertDefaultDuration, show } from './alert';
14
- export { Alert, Button, CardDropdown, Cards, DrawerLateral, Input, Navbar, Pagination, SkeletonItem, StatusBar, Tab, Table, ViewEtendo, Layout, ButtonContainer, SearchContainer, show, setAlertDefaultDuration, };
14
+ export { Alert, Button, ButtonContainer, CardDropdown, Cards, DrawerLateral, Input, Layout, Navbar, Pagination, SearchContainer, setAlertDefaultDuration, show, SkeletonItem, StatusBar, Tab, Table, TitleContainer, ViewEtendo, };
@@ -8,7 +8,7 @@ import { Table } from "./table";
8
8
  import { ViewEtendo } from "./viewEtendo/ViewEtendo";
9
9
  import { CardDropdown } from "./cards/components/cardDropdown";
10
10
  import { SkeletonItem } from "./secondaryComponents";
11
- import { Layout, ButtonContainer, SearchContainer } from "./containers";
11
+ import { Layout, ButtonContainer, SearchContainer, TitleContainer } from "./containers";
12
12
  import { Cards } from "./cards";
13
13
  import { Alert, setAlertDefaultDuration, show } from "./alert";
14
- export { Alert, Button, CardDropdown, Cards, DrawerLateral, Input, Navbar, Pagination, SkeletonItem, StatusBar, Tab, Table, ViewEtendo, Layout, ButtonContainer, SearchContainer, show, setAlertDefaultDuration };
14
+ export { Alert, Button, ButtonContainer, CardDropdown, Cards, DrawerLateral, Input, Layout, Navbar, Pagination, SearchContainer, setAlertDefaultDuration, show, SkeletonItem, StatusBar, Tab, Table, TitleContainer, ViewEtendo };
package/index.js CHANGED
@@ -27,6 +27,7 @@ const {
27
27
  SearchContainer,
28
28
  show,
29
29
  setAlertDefaultDuration,
30
+ TitleContainer
30
31
  } = isNativeEnvironment ? NativeComponents : WebComponents;
31
32
 
32
33
  const {
@@ -163,4 +164,5 @@ export {
163
164
  WayIcon,
164
165
  WifiIcon,
165
166
  WithoutWifiIcon,
167
+ TitleContainer
166
168
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "etendo-ui-library",
3
- "version": "1.3.53",
3
+ "version": "1.3.55",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "android": "react-native run-android",