etendo-ui-library 1.4.7 → 1.4.9

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,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IInputBase } from './InputBase.types';
3
- declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onBlur, onSubmitEditing, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, }: IInputBase) => React.JSX.Element;
3
+ declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onBlur, onSubmitEditing, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, refInput }: IInputBase) => React.JSX.Element;
4
4
  export default InputBase;
@@ -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 _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _InputBase=require("./InputBase.styles");var _colors=require("../../styles/colors");var _table_utils=require("../../helpers/table_utils");var _gridContainer=require("../containers/gridContainer");var _excluded=["style"],_excluded2=["iconLeft","iconRight"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/InputBase.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&&{}.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 InputBase=function InputBase(_ref){var value=_ref.value,placeholder=_ref.placeholder,title=_ref.title,helperText=_ref.helperText,isDisabled=_ref.isDisabled,isError=_ref.isError,onChangeText=_ref.onChangeText,icon=_ref.icon,rightButtons=_ref.rightButtons,onPress=_ref.onPress,onBlur=_ref.onBlur,onSubmitEditing=_ref.onSubmitEditing,secureTextEntry=_ref.secureTextEntry,_ref$keyboardType=_ref.keyboardType,keyboardType=_ref$keyboardType===void 0?'default':_ref$keyboardType,styleContainer=_ref.styleContainer,_ref$isFocusable=_ref.isFocusable,isFocusable=_ref$isFocusable===void 0?true:_ref$isFocusable,refInputContainer=_ref.refInputContainer;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isFocused=_useState2[0],setIsFocused=_useState2[1];var borderWidth=isFocused?3:1;var paddingVertical=13-borderWidth;var paddingHorizontal=12-borderWidth;var isEditable=onPress?false:!isDisabled;var onFocusChange=function onFocusChange(){if(!isDisabled&&isFocusable){setIsFocused(true);}};var onBlurChange=function onBlurChange(){setIsFocused(false);onBlur==null?void 0:onBlur();};var determineColor=function determineColor(icon){if(icon){return iconColorStyle();}if(isDisabled){return _colors.NEUTRAL_500;}return isError?_colors.DANGER_700:_colors.PRIMARY_100;};var textColorStyle=function textColorStyle(){if(!value||isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var iconColorStyle=function iconColorStyle(){if(isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var textInputStyle=[_InputBase.styles.textInput,{color:textColorStyle()}];if(_reactNative.Platform.OS==='web'){textInputStyle.push({outlineWidth:0});}var handleChange=function handleChange(string){if(onChangeText){if(['numeric','number-pad','phone-pad','decimal-pad'].includes(keyboardType)){var regexNumber=/^[\d.,\/]*$/;if(regexNumber.test(string)||string===''){onChangeText(string);}}else{onChangeText(string);}}};var determineIconStyles=function determineIconStyles(icon){if(!icon)return null;var _icon$props=icon.props,_icon$props$style=_icon$props.style,style=_icon$props$style===void 0?{}:_icon$props$style,otherIconProps=(0,_objectWithoutProperties2.default)(_icon$props,_excluded);return _react.default.cloneElement(icon,Object.assign({fill:determineColor(true),style:Object.assign({},style,{height:style.height||_InputBase.styles.icon.height,width:style.width||_InputBase.styles.icon.width})},otherIconProps));};return _react.default.createElement(_react.default.Fragment,null,!!title&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.title,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:130,columnNumber:9}},title),_react.default.createElement(_reactNative.View,{ref:refInputContainer,style:[_InputBase.styles.container,{borderColor:determineColor()},{paddingHorizontal:paddingHorizontal,paddingVertical:paddingVertical,borderWidth:borderWidth},Object.assign({},styleContainer)],__self:_this,__source:{fileName:_jsxFileName,lineNumber:137,columnNumber:7}},!!icon&&_react.default.createElement(_reactNative.View,{style:_InputBase.styles.iconContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:150,columnNumber:11}},_react.default.cloneElement(icon,{style:_InputBase.styles.icon,fill:determineColor(true)})),_react.default.createElement(_reactNative.TouchableOpacity,{disabled:isDisabled,style:_InputBase.styles.containerInput,onPress:onPress,__self:_this,__source:{fileName:_jsxFileName,lineNumber:157,columnNumber:9}},_react.default.createElement(_reactNative.TextInput,{value:value,onPressIn:onPress,onChangeText:handleChange,placeholder:placeholder,editable:isEditable,onFocus:onFocusChange,onBlur:onBlurChange,onSubmitEditing:onSubmitEditing,style:[textInputStyle,onPress&&(0,_table_utils.cursorPointer)()],keyboardType:keyboardType,secureTextEntry:secureTextEntry,__self:_this,__source:{fileName:_jsxFileName,lineNumber:161,columnNumber:11}})),!!rightButtons&&_react.default.createElement(_gridContainer.GridContainer,{gapHorizontal:12,stylesContainer:_InputBase.styles.gridContainer,components:rightButtons.map(function(ButtonComponent,index){var _ButtonComponent$prop=ButtonComponent.props,iconLeft=_ButtonComponent$prop.iconLeft,iconRight=_ButtonComponent$prop.iconRight,otherProps=(0,_objectWithoutProperties2.default)(_ButtonComponent$prop,_excluded2);var modifiedProps=Object.assign({},otherProps);modifiedProps.paddingVertical=(modifiedProps==null?void 0:modifiedProps.paddingVertical)||0;modifiedProps.paddingHorizontal=(modifiedProps==null?void 0:modifiedProps.paddingHorizontal)||0;modifiedProps.iconLeft=determineIconStyles(iconLeft);modifiedProps.iconRight=determineIconStyles(iconRight);modifiedProps.text='';return _react.default.createElement(ButtonComponent.type,(0,_extends2.default)({},modifiedProps,{key:index,disabled:isDisabled,typeStyle:'white',__self:_this,__source:{fileName:_jsxFileName,lineNumber:193,columnNumber:17}}));}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:176,columnNumber:11}})),!!helperText&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.helperText,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:205,columnNumber:9}},helperText));};var _default=exports.default=InputBase;
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 _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _InputBase=require("./InputBase.styles");var _colors=require("../../styles/colors");var _table_utils=require("../../helpers/table_utils");var _gridContainer=require("../containers/gridContainer");var _excluded=["style"],_excluded2=["iconLeft","iconRight"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/InputBase.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&&{}.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 InputBase=function InputBase(_ref){var value=_ref.value,placeholder=_ref.placeholder,title=_ref.title,helperText=_ref.helperText,isDisabled=_ref.isDisabled,isError=_ref.isError,onChangeText=_ref.onChangeText,icon=_ref.icon,rightButtons=_ref.rightButtons,onPress=_ref.onPress,onBlur=_ref.onBlur,onSubmitEditing=_ref.onSubmitEditing,secureTextEntry=_ref.secureTextEntry,_ref$keyboardType=_ref.keyboardType,keyboardType=_ref$keyboardType===void 0?'default':_ref$keyboardType,styleContainer=_ref.styleContainer,_ref$isFocusable=_ref.isFocusable,isFocusable=_ref$isFocusable===void 0?true:_ref$isFocusable,refInputContainer=_ref.refInputContainer,refInput=_ref.refInput;var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isFocused=_useState2[0],setIsFocused=_useState2[1];var borderWidth=isFocused?3:1;var paddingVertical=13-borderWidth;var paddingHorizontal=12-borderWidth;var isEditable=onPress?false:!isDisabled;var onFocusChange=function onFocusChange(){if(!isDisabled&&isFocusable){setIsFocused(true);}};var onBlurChange=function onBlurChange(){setIsFocused(false);onBlur==null?void 0:onBlur();};var determineColor=function determineColor(icon){if(icon){return iconColorStyle();}if(isDisabled){return _colors.NEUTRAL_500;}return isError?_colors.DANGER_700:_colors.PRIMARY_100;};var textColorStyle=function textColorStyle(){if(!value||isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var iconColorStyle=function iconColorStyle(){if(isDisabled){return _colors.NEUTRAL_500;}if(isFocused){return _colors.PRIMARY_100;}if(isError&&!isFocused){return _colors.DANGER_700;}return _colors.PRIMARY_100;};var textInputStyle=[_InputBase.styles.textInput,{color:textColorStyle()}];if(_reactNative.Platform.OS==='web'){textInputStyle.push({outlineWidth:0});}var handleChange=function handleChange(string){if(onChangeText){if(['numeric','number-pad','phone-pad','decimal-pad'].includes(keyboardType)){var regexNumber=/^[\d.,\/]*$/;if(regexNumber.test(string)||string===''){onChangeText(string);}}else{onChangeText(string);}}};var determineIconStyles=function determineIconStyles(icon){if(!icon)return null;var _icon$props=icon.props,_icon$props$style=_icon$props.style,style=_icon$props$style===void 0?{}:_icon$props$style,otherIconProps=(0,_objectWithoutProperties2.default)(_icon$props,_excluded);return _react.default.cloneElement(icon,Object.assign({fill:determineColor(true),style:Object.assign({},style,{height:style.height||_InputBase.styles.icon.height,width:style.width||_InputBase.styles.icon.width})},otherIconProps));};return _react.default.createElement(_react.default.Fragment,null,!!title&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.title,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:131,columnNumber:9}},title),_react.default.createElement(_reactNative.View,{ref:refInputContainer,style:[_InputBase.styles.container,{borderColor:determineColor()},{paddingHorizontal:paddingHorizontal,paddingVertical:paddingVertical,borderWidth:borderWidth},Object.assign({},styleContainer)],__self:_this,__source:{fileName:_jsxFileName,lineNumber:138,columnNumber:7}},!!icon&&_react.default.createElement(_reactNative.View,{style:_InputBase.styles.iconContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:151,columnNumber:11}},_react.default.cloneElement(icon,{style:_InputBase.styles.icon,fill:determineColor(true)})),_react.default.createElement(_reactNative.TouchableOpacity,{disabled:isDisabled,style:_InputBase.styles.containerInput,onPress:onPress,__self:_this,__source:{fileName:_jsxFileName,lineNumber:158,columnNumber:9}},_react.default.createElement(_reactNative.TextInput,{ref:refInput,value:value,onPressIn:onPress,onChangeText:handleChange,placeholder:placeholder,editable:isEditable,onFocus:onFocusChange,onBlur:onBlurChange,onSubmitEditing:onSubmitEditing,style:[textInputStyle,onPress&&(0,_table_utils.cursorPointer)()],keyboardType:keyboardType,secureTextEntry:secureTextEntry,__self:_this,__source:{fileName:_jsxFileName,lineNumber:162,columnNumber:11}})),!!rightButtons&&_react.default.createElement(_gridContainer.GridContainer,{gapHorizontal:12,stylesContainer:_InputBase.styles.gridContainer,components:rightButtons.map(function(ButtonComponent,index){var _ButtonComponent$prop=ButtonComponent.props,iconLeft=_ButtonComponent$prop.iconLeft,iconRight=_ButtonComponent$prop.iconRight,otherProps=(0,_objectWithoutProperties2.default)(_ButtonComponent$prop,_excluded2);var modifiedProps=Object.assign({},otherProps);modifiedProps.paddingVertical=(modifiedProps==null?void 0:modifiedProps.paddingVertical)||0;modifiedProps.paddingHorizontal=(modifiedProps==null?void 0:modifiedProps.paddingHorizontal)||0;modifiedProps.iconLeft=determineIconStyles(iconLeft);modifiedProps.iconRight=determineIconStyles(iconRight);modifiedProps.text='';return _react.default.createElement(ButtonComponent.type,(0,_extends2.default)({},modifiedProps,{key:index,disabled:isDisabled,typeStyle:'white',__self:_this,__source:{fileName:_jsxFileName,lineNumber:195,columnNumber:17}}));}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:178,columnNumber:11}})),!!helperText&&_react.default.createElement(_reactNative.Text,{numberOfLines:1,ellipsizeMode:"tail",style:[_InputBase.styles.helperText,{color:determineColor()}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:207,columnNumber:9}},helperText));};var _default=exports.default=InputBase;
@@ -1,5 +1,5 @@
1
1
  import { ReactElement, RefObject } from 'react';
2
- import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
2
+ import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInput, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
3
3
  import { ButtonProps } from '../button/Button.types';
4
4
  export interface SvgImageProps {
5
5
  style?: ImageStyle;
@@ -24,4 +24,5 @@ export interface IInputBase {
24
24
  styleContainer?: ViewStyle;
25
25
  isFocusable?: boolean;
26
26
  refInputContainer?: RefObject<View>;
27
+ refInput?: RefObject<TextInput>;
27
28
  }
@@ -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 _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));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 _icons=require("../../../assets/images/icons");var _functions_utils=require("../../../helpers/functions_utils");var _DropdownInputOptions=_interopRequireDefault(require("./components/DropdownInputOptions/DropdownInputOptions"));var _DropdownInput=require("./DropdownInput.constants");var _excluded=["staticData","displayKey","onSelect","value","maxVisibleOptions","onFetchData","pageSize","searchPlaceholder","noResultsText","displayMode"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/DropdownInput.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&&{}.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 DropdownInput=function DropdownInput(_ref){var staticData=_ref.staticData,displayKey=_ref.displayKey,onSelect=_ref.onSelect,value=_ref.value,_ref$maxVisibleOption=_ref.maxVisibleOptions,maxVisibleOptions=_ref$maxVisibleOption===void 0?_DropdownInput.MAX_VISIBLE_OPTION:_ref$maxVisibleOption,onFetchData=_ref.onFetchData,_ref$pageSize=_ref.pageSize,pageSize=_ref$pageSize===void 0?_DropdownInput.PAGE_SIZE:_ref$pageSize,_ref$searchPlaceholde=_ref.searchPlaceholder,searchPlaceholder=_ref$searchPlaceholde===void 0?_DropdownInput.SEARCH_PLACEHOLDER:_ref$searchPlaceholde,_ref$noResultsText=_ref.noResultsText,noResultsText=_ref$noResultsText===void 0?_DropdownInput.NO_RESULT_TEXT:_ref$noResultsText,_ref$displayMode=_ref.displayMode,displayMode=_ref$displayMode===void 0?_DropdownInput.DISPLAY_MODE:_ref$displayMode,inputBaseProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var ref=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isVisibleDropdown=_useState2[0],setIsVisibleDropdown=_useState2[1];var _useState3=(0,_react.useState)([]),_useState4=(0,_slicedToArray2.default)(_useState3,2),dataList=_useState4[0],setDataList=_useState4[1];var _useState5=(0,_react.useState)(0),_useState6=(0,_slicedToArray2.default)(_useState5,2),currentPage=_useState6[0],setCurrentPage=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isLoading=_useState8[0],setIsLoading=_useState8[1];var _useState9=(0,_react.useState)(true),_useState10=(0,_slicedToArray2.default)(_useState9,2),isLoadMoreData=_useState10[0],setIsLoadMoreData=_useState10[1];var _useState11=(0,_react.useState)(0),_useState12=(0,_slicedToArray2.default)(_useState11,2),heightOptions=_useState12[0],setHeightOptions=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isModalUp=_useState14[0],setIsModalUp=_useState14[1];var _useState15=(0,_react.useState)(''),_useState16=(0,_slicedToArray2.default)(_useState15,2),filterText=_useState16[0],setFilterText=_useState16[1];var _useState17=(0,_react.useState)({top:0,left:0,width:0}),_useState18=(0,_slicedToArray2.default)(_useState17,2),modalPosition=_useState18[0],setModalPosition=_useState18[1];var _Dimensions$get=_reactNative.Dimensions.get('window'),windowWidth=_Dimensions$get.width,windowHeight=_Dimensions$get.height;var adjustDropdownPosition=(0,_react.useCallback)(function(){if(isVisibleDropdown&&ref.current){ref.current.measure(function(x,y,width,height,pageX,pageY){var spaceBelow=windowHeight-(pageY+height);if(heightOptions+16>spaceBelow){setModalPosition({top:pageY-heightOptions-16,left:pageX,width:width});setIsModalUp(true);}else{setModalPosition({top:pageY+height,left:pageX,width:width});setIsModalUp(false);}});}},[isVisibleDropdown,heightOptions,windowHeight]);(0,_react.useEffect)(function(){setHeightOptions(maxVisibleOptions&&dataList&&(dataList==null?void 0:dataList.length)<=maxVisibleOptions?48+48+16:maxVisibleOptions&&maxVisibleOptions*48+48+16);},[dataList,isVisibleDropdown,isLoading]);(0,_react.useEffect)(function(){if(!!staticData){setDataList(staticData);}},[staticData]);(0,_react.useEffect)(function(){if(isVisibleDropdown&&!dataList.length){fetchMordeData(currentPage,dataList,isLoadMoreData,'');}},[isVisibleDropdown]);(0,_react.useEffect)(function(){adjustDropdownPosition();var handleScroll=function handleScroll(){if(isVisibleDropdown){adjustDropdownPosition();}};if((0,_functions_utils.isWebPlatform)()){window.addEventListener('scroll',handleScroll,{passive:true});return function(){return window.removeEventListener('scroll',handleScroll);};}},[isVisibleDropdown,adjustDropdownPosition]);var onSelectOption=function onSelectOption(item){onSelect==null?void 0:onSelect(item);setIsVisibleDropdown(false);};var onScroll=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(event){if(isAtEndOfScroll(event.nativeEvent)){fetchMordeData(currentPage,dataList,isLoadMoreData,filterText);}});return function onScroll(_x){return _ref2.apply(this,arguments);};}();var fetchMordeData=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(currentPage,prevData,isLoadMoreData,filterText){if(!isLoading&&onFetchData&&isLoadMoreData&&!staticData){setIsLoading(true);yield onFetchData(currentPage,pageSize,filterText).then(function(res){if(res.length===0){setIsLoadMoreData(false);return;}setDataList([].concat((0,_toConsumableArray2.default)(prevData),(0,_toConsumableArray2.default)(res)));}).finally(function(){setCurrentPage(currentPage+1);setIsLoading(false);});}});return function fetchMordeData(_x2,_x3,_x4,_x5){return _ref3.apply(this,arguments);};}();var isAtEndOfScroll=function isAtEndOfScroll(_ref4){var layoutMeasurement=_ref4.layoutMeasurement,contentOffset=_ref4.contentOffset,contentSize=_ref4.contentSize;return layoutMeasurement.height+contentOffset.y>=contentSize.height-_DropdownInput.BUFFER;};var handleOnFilterTextChange=function handleOnFilterTextChange(value){setDataList([]);setCurrentPage(0);setIsLoadMoreData(true);setFilterText(value);fetchMordeData(0,[],true,value);};return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{onLayout:function onLayout(){adjustDropdownPosition();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:161,columnNumber:7}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({refInputContainer:ref},inputBaseProps,{rightButtons:[_react.default.createElement(_button.Button,{onPress:function onPress(){setIsVisibleDropdown(function(prev){return!prev;});},typeStyle:'primary',iconLeft:isVisibleDropdown?_react.default.createElement(_icons.ChevronUpIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:175,columnNumber:37}}):_react.default.createElement(_icons.ChevronDownIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:175,columnNumber:57}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:169,columnNumber:13}})],value:value==null?void 0:value.toString(),onPress:function onPress(){setIsVisibleDropdown(function(prev){return!prev;});},__self:_this,__source:{fileName:_jsxFileName,lineNumber:165,columnNumber:9}}))),isVisibleDropdown&&_react.default.createElement(_DropdownInputOptions.default,{isVisibleDropdown:true,onClose:function onClose(){setIsVisibleDropdown(false);},value:value,onSelectOption:onSelectOption,modalPosition:modalPosition,windowWidth:windowWidth,windowHeight:windowHeight,data:dataList,displayKey:displayKey,maxVisibleOptions:maxVisibleOptions,onScroll:onScroll,isLoading:isLoading,isStaticData:staticData!==undefined,searchPlaceholder:searchPlaceholder,onFilterTextChange:handleOnFilterTextChange,noResultsText:noResultsText,isModalUp:isModalUp,displayMode:displayMode,__self:_this,__source:{fileName:_jsxFileName,lineNumber:186,columnNumber:9}}));};var _default=exports.default=DropdownInput;
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 _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));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 _icons=require("../../../assets/images/icons");var _functions_utils=require("../../../helpers/functions_utils");var _DropdownInputOptions=_interopRequireDefault(require("./components/DropdownInputOptions/DropdownInputOptions"));var _DropdownInput=require("./DropdownInput.constants");var _excluded=["staticData","displayKey","onSelect","value","maxVisibleOptions","onFetchData","pageSize","searchPlaceholder","noResultsText","displayMode"];var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/DropdownInput.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&&{}.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 DropdownInput=function DropdownInput(_ref){var staticData=_ref.staticData,displayKey=_ref.displayKey,onSelect=_ref.onSelect,value=_ref.value,_ref$maxVisibleOption=_ref.maxVisibleOptions,maxVisibleOptions=_ref$maxVisibleOption===void 0?_DropdownInput.MAX_VISIBLE_OPTION:_ref$maxVisibleOption,onFetchData=_ref.onFetchData,_ref$pageSize=_ref.pageSize,pageSize=_ref$pageSize===void 0?_DropdownInput.PAGE_SIZE:_ref$pageSize,_ref$searchPlaceholde=_ref.searchPlaceholder,searchPlaceholder=_ref$searchPlaceholde===void 0?_DropdownInput.SEARCH_PLACEHOLDER:_ref$searchPlaceholde,_ref$noResultsText=_ref.noResultsText,noResultsText=_ref$noResultsText===void 0?_DropdownInput.NO_RESULT_TEXT:_ref$noResultsText,_ref$displayMode=_ref.displayMode,displayMode=_ref$displayMode===void 0?_DropdownInput.DISPLAY_MODE:_ref$displayMode,inputBaseProps=(0,_objectWithoutProperties2.default)(_ref,_excluded);var ref=(0,_react.useRef)(null);var refInput=(0,_react.useRef)(null);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),isVisibleDropdown=_useState2[0],setIsVisibleDropdown=_useState2[1];var _useState3=(0,_react.useState)([]),_useState4=(0,_slicedToArray2.default)(_useState3,2),dataList=_useState4[0],setDataList=_useState4[1];var _useState5=(0,_react.useState)(0),_useState6=(0,_slicedToArray2.default)(_useState5,2),currentPage=_useState6[0],setCurrentPage=_useState6[1];var _useState7=(0,_react.useState)(false),_useState8=(0,_slicedToArray2.default)(_useState7,2),isLoading=_useState8[0],setIsLoading=_useState8[1];var _useState9=(0,_react.useState)(true),_useState10=(0,_slicedToArray2.default)(_useState9,2),isLoadMoreData=_useState10[0],setIsLoadMoreData=_useState10[1];var _useState11=(0,_react.useState)(0),_useState12=(0,_slicedToArray2.default)(_useState11,2),heightOptions=_useState12[0],setHeightOptions=_useState12[1];var _useState13=(0,_react.useState)(false),_useState14=(0,_slicedToArray2.default)(_useState13,2),isModalUp=_useState14[0],setIsModalUp=_useState14[1];var _useState15=(0,_react.useState)(''),_useState16=(0,_slicedToArray2.default)(_useState15,2),filterText=_useState16[0],setFilterText=_useState16[1];var _useState17=(0,_react.useState)({top:0,left:0,width:0}),_useState18=(0,_slicedToArray2.default)(_useState17,2),modalPosition=_useState18[0],setModalPosition=_useState18[1];var _Dimensions$get=_reactNative.Dimensions.get('window'),windowWidth=_Dimensions$get.width,windowHeight=_Dimensions$get.height;var adjustDropdownPosition=(0,_react.useCallback)(function(){if(isVisibleDropdown&&ref.current){ref.current.measure(function(x,y,width,height,pageX,pageY){var spaceBelow=windowHeight-(pageY+height);if(heightOptions+16>spaceBelow){setModalPosition({top:pageY-heightOptions-16,left:pageX,width:width});setIsModalUp(true);}else{setModalPosition({top:pageY+height,left:pageX,width:width});setIsModalUp(false);}});}},[isVisibleDropdown,heightOptions,windowHeight]);(0,_react.useEffect)(function(){setHeightOptions(maxVisibleOptions&&dataList&&(dataList==null?void 0:dataList.length)<=maxVisibleOptions?48+48+16:maxVisibleOptions&&maxVisibleOptions*48+48+16);},[dataList,isVisibleDropdown,isLoading]);(0,_react.useEffect)(function(){if(!!staticData){setDataList(staticData);}},[staticData]);(0,_react.useEffect)(function(){setDataList([]);setIsLoadMoreData(true);if(isVisibleDropdown){fetchMordeData(0,dataList,true,'');}},[isVisibleDropdown]);(0,_react.useEffect)(function(){adjustDropdownPosition();var handleScroll=function handleScroll(){if(isVisibleDropdown){adjustDropdownPosition();}};if((0,_functions_utils.isWebPlatform)()){window.addEventListener('scroll',handleScroll,{passive:true});return function(){return window.removeEventListener('scroll',handleScroll);};}},[isVisibleDropdown,adjustDropdownPosition]);var onSelectOption=function onSelectOption(item){onSelect==null?void 0:onSelect(item);setIsVisibleDropdown(false);if(refInput.current){refInput.current.setNativeProps({selection:{start:0,end:0}});}};var onScroll=function(){var _ref2=(0,_asyncToGenerator2.default)(function*(event){if(isAtEndOfScroll(event.nativeEvent)&&!isLoading){fetchMordeData(currentPage,dataList,isLoadMoreData,filterText);}});return function onScroll(_x){return _ref2.apply(this,arguments);};}();var fetchMordeData=function(){var _ref3=(0,_asyncToGenerator2.default)(function*(currentPage,prevData,isLoadMoreData,filterText){if(!isLoading&&onFetchData&&isLoadMoreData&&!staticData){setIsLoading(true);yield onFetchData(currentPage,pageSize,filterText).then(function(res){if(res.length===0){setIsLoadMoreData(false);return;}setDataList([].concat((0,_toConsumableArray2.default)(prevData),(0,_toConsumableArray2.default)(res)));}).finally(function(){setCurrentPage(currentPage+1);setIsLoading(false);});}});return function fetchMordeData(_x2,_x3,_x4,_x5){return _ref3.apply(this,arguments);};}();var isAtEndOfScroll=function isAtEndOfScroll(_ref4){var layoutMeasurement=_ref4.layoutMeasurement,contentOffset=_ref4.contentOffset,contentSize=_ref4.contentSize;return layoutMeasurement.height+contentOffset.y>=contentSize.height-_DropdownInput.BUFFER;};var handleOnFilterTextChange=function handleOnFilterTextChange(value){setDataList([]);setCurrentPage(0);setIsLoadMoreData(true);setFilterText(value);fetchMordeData(0,[],true,value);};return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_reactNative.View,{onLayout:function onLayout(){adjustDropdownPosition();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:170,columnNumber:7}},_react.default.createElement(_InputBase.default,(0,_extends2.default)({refInput:refInput,refInputContainer:ref},inputBaseProps,{rightButtons:[_react.default.createElement(_button.Button,{onPress:function onPress(){setIsVisibleDropdown(function(prev){return!prev;});},typeStyle:'primary',iconLeft:isVisibleDropdown?_react.default.createElement(_icons.ChevronUpIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:185,columnNumber:37}}):_react.default.createElement(_icons.ChevronDownIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:185,columnNumber:57}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:179,columnNumber:13}})],value:value==null?void 0:value.toString(),onPress:function onPress(){setIsVisibleDropdown(function(prev){return!prev;});},__self:_this,__source:{fileName:_jsxFileName,lineNumber:174,columnNumber:9}}))),isVisibleDropdown&&!!modalPosition.width&&_react.default.createElement(_DropdownInputOptions.default,{isVisibleDropdown:true,onClose:function onClose(){setIsVisibleDropdown(false);},value:value,onSelectOption:onSelectOption,modalPosition:modalPosition,windowWidth:windowWidth,windowHeight:windowHeight,data:dataList,displayKey:displayKey,maxVisibleOptions:maxVisibleOptions,onScroll:onScroll,isLoading:isLoading,isStaticData:staticData!==undefined,searchPlaceholder:searchPlaceholder,onFilterTextChange:handleOnFilterTextChange,noResultsText:noResultsText,isModalUp:isModalUp,displayMode:displayMode,__self:_this,__source:{fileName:_jsxFileName,lineNumber:196,columnNumber:9}}));};var _default=exports.default=DropdownInput;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.styles=void 0;var _reactNative=require("react-native");var _colors=require("../../../styles/colors");var styles=exports.styles=_reactNative.StyleSheet.create({fullScreenTouchable:{position:'absolute'},optionsContainer:{position:'absolute',backgroundColor:_colors.NEUTRAL_50,padding:8,paddingBottom:0,borderRadius:8,borderWidth:1.5,borderColor:_colors.NEUTRAL_300},option:{marginBottom:8,flex:1,borderRadius:8,justifyContent:'center',paddingHorizontal:8,maxHeight:40,minHeight:40},optionText:{color:_colors.PRIMARY_100,fontSize:16,letterSpacing:-0.16,fontWeight:'500'},loading:{marginBottom:8,alignSelf:'center',height:40},containerNative:{alignItems:'center',justifyContent:'center',backgroundColor:'rgba(0,0,0,0.5)'},searchContainer:{marginBottom:8}});
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.styles=void 0;var _reactNative=require("react-native");var _colors=require("../../../styles/colors");var styles=exports.styles=_reactNative.StyleSheet.create({fullScreenTouchable:{position:'absolute'},optionsContainer:{position:'absolute',backgroundColor:_colors.NEUTRAL_50,padding:8,paddingBottom:0,borderRadius:8,borderWidth:1.5,borderColor:_colors.NEUTRAL_300},option:{marginBottom:8,flex:1,borderRadius:8,justifyContent:'center',paddingHorizontal:8,maxHeight:40,minHeight:40},optionText:{color:_colors.PRIMARY_100,fontSize:15,letterSpacing:-0.16,fontWeight:'500'},loading:{marginBottom:8,alignSelf:'center',height:40},containerNative:{alignItems:'center',justifyContent:'center',backgroundColor:'rgba(0,0,0,0.5)'},searchContainer:{marginBottom:8}});
@@ -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 _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _colors=require("../../../../../styles/colors");var _searchInput=require("../../../search-input");var _button=require("../../../../button");var _icons=require("../../../../../assets/images/icons");var _DropdownInput=require("../../DropdownInput.styles");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/components/DropdownInputOptions/DropdownInputOptions.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&&{}.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 DropdownInputOptions=function DropdownInputOptions(_ref){var isVisibleDropdown=_ref.isVisibleDropdown,onClose=_ref.onClose,onSelectOption=_ref.onSelectOption,modalPosition=_ref.modalPosition,windowHeight=_ref.windowHeight,windowWidth=_ref.windowWidth,data=_ref.data,displayKey=_ref.displayKey,value=_ref.value,maxVisibleOptions=_ref.maxVisibleOptions,onScroll=_ref.onScroll,isLoading=_ref.isLoading,isStaticData=_ref.isStaticData,searchPlaceholder=_ref.searchPlaceholder,onFilterTextChange=_ref.onFilterTextChange,noResultsText=_ref.noResultsText,isModalUp=_ref.isModalUp,displayMode=_ref.displayMode;var scrollViewRef=(0,_react.useRef)(null);var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),filterText=_useState2[0],setFilterText=_useState2[1];var isCenteredModal=displayMode==='centeredModal';(0,_react.useEffect)(function(){if(!isLoading&&filterText!==null){var handler=setTimeout(function(){onFilterTextChange(filterText);},500);return function(){return clearTimeout(handler);};}},[filterText]);(0,_react.useEffect)(function(){if(isLoading&&data!=null&&data.length){var _scrollViewRef$curren;(_scrollViewRef$curren=scrollViewRef.current)==null?void 0:_scrollViewRef$curren.scrollToEnd({animated:true});}},[isLoading]);(0,_react.useEffect)(function(){if(isVisibleDropdown&&data&&value&&scrollViewRef.current&&displayKey){var selectedIndex=data.findIndex(function(item){return item[displayKey]===value;});if(selectedIndex>=0){var positionY=selectedIndex*48;setTimeout(function(){if(scrollViewRef.current){scrollViewRef.current.scrollTo({y:positionY,animated:false});}},100);}}},[isVisibleDropdown]);var filterComponent=function filterComponent(){return _react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.searchContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:87,columnNumber:7}},_react.default.createElement(_searchInput.SearchInput,{placeholder:searchPlaceholder,value:filterText||'',onChangeText:function onChangeText(text){setFilterText(text);},isFocusable:false,styleContainer:{borderColor:_colors.NEUTRAL_400},onSubmit:function onSubmit(){onFilterTextChange(filterText||'');},rightButtons:!!filterText?[_react.default.createElement(_button.Button,{typeStyle:'white',iconLeft:_react.default.createElement(_icons.XIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:104,columnNumber:31}}),onPress:function onPress(){setFilterText('');},__self:_this,__source:{fileName:_jsxFileName,lineNumber:102,columnNumber:19}})]:[],__self:_this,__source:{fileName:_jsxFileName,lineNumber:88,columnNumber:9}}));};return _react.default.createElement(_reactNative.Modal,{transparent:true,visible:isVisibleDropdown,onRequestClose:function onRequestClose(){onClose();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:118,columnNumber:5}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){return onClose();},activeOpacity:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:124,columnNumber:7}},_react.default.createElement(_reactNative.KeyboardAvoidingView,{behavior:_reactNative.Platform.OS==='ios'?'padding':'height',style:[isCenteredModal&&_DropdownInput.styles.containerNative,{width:windowWidth,height:windowHeight}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:127,columnNumber:9}},_react.default.createElement(_reactNative.View,{onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},style:[_DropdownInput.styles.optionsContainer,isCenteredModal&&{height:maxVisibleOptions&&maxVisibleOptions*48+48+16},{maxHeight:maxVisibleOptions&&data&&(data==null?void 0:data.length)<=maxVisibleOptions?'auto':maxVisibleOptions&&maxVisibleOptions*48+48+16},!isCenteredModal&&{top:modalPosition.top+8,left:modalPosition.left},{width:modalPosition.width}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:133,columnNumber:11}},!!(!isStaticData&&!isModalUp||!isStaticData&&isCenteredModal)&&filterComponent(),_react.default.createElement(_reactNative.ScrollView,{contentContainerStyle:{flexGrow:1},ref:scrollViewRef,scrollEventThrottle:16,onScroll:onScroll,__self:_this,__source:{fileName:_jsxFileName,lineNumber:156,columnNumber:13}},displayKey&&(data==null?void 0:data.map(function(item,index){return _react.default.createElement(_reactNative.TouchableOpacity,{key:'dropdown'+index,onPress:function onPress(){onSelectOption(item);},style:[_DropdownInput.styles.option,!!value&&item[displayKey]===value&&{backgroundColor:_colors.TERTIARY_101}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:164,columnNumber:21}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:176,columnNumber:23}},item[displayKey]));})),isLoading&&_react.default.createElement(_reactNative.ActivityIndicator,{size:'small',style:_DropdownInput.styles.loading,color:_colors.PRIMARY_100,__self:_this,__source:{fileName:_jsxFileName,lineNumber:181,columnNumber:17}}),!isLoading&&!(data!=null&&data.length)&&_react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.option,__self:_this,__source:{fileName:_jsxFileName,lineNumber:188,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:189,columnNumber:19}},noResultsText))),!isStaticData&&isModalUp&&!isCenteredModal&&filterComponent()))));};var _default=exports.default=DropdownInputOptions;
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 _reactNative=require("react-native");var _react=_interopRequireWildcard(require("react"));var _colors=require("../../../../../styles/colors");var _searchInput=require("../../../search-input");var _button=require("../../../../button");var _icons=require("../../../../../assets/images/icons");var _DropdownInput=require("../../DropdownInput.styles");var _this=this,_jsxFileName="/home/jenkins/agent/workspace/etendo_ui_library_develop/etendo_ui_library/src/components/inputBase/dropdown-input/components/DropdownInputOptions/DropdownInputOptions.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&&{}.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 DropdownInputOptions=function DropdownInputOptions(_ref){var isVisibleDropdown=_ref.isVisibleDropdown,onClose=_ref.onClose,onSelectOption=_ref.onSelectOption,modalPosition=_ref.modalPosition,windowHeight=_ref.windowHeight,windowWidth=_ref.windowWidth,data=_ref.data,displayKey=_ref.displayKey,value=_ref.value,maxVisibleOptions=_ref.maxVisibleOptions,onScroll=_ref.onScroll,isLoading=_ref.isLoading,isStaticData=_ref.isStaticData,searchPlaceholder=_ref.searchPlaceholder,onFilterTextChange=_ref.onFilterTextChange,noResultsText=_ref.noResultsText,isModalUp=_ref.isModalUp,displayMode=_ref.displayMode;var scrollViewRef=(0,_react.useRef)(null);var _useState=(0,_react.useState)(null),_useState2=(0,_slicedToArray2.default)(_useState,2),filterText=_useState2[0],setFilterText=_useState2[1];var isCenteredModal=displayMode==='centeredModal';(0,_react.useEffect)(function(){if(!isLoading&&filterText!==null){var handler=setTimeout(function(){onFilterTextChange(filterText);},500);return function(){return clearTimeout(handler);};}},[filterText]);(0,_react.useEffect)(function(){if(isLoading&&data!=null&&data.length){var _scrollViewRef$curren;(_scrollViewRef$curren=scrollViewRef.current)==null?void 0:_scrollViewRef$curren.scrollToEnd();}},[isLoading]);(0,_react.useEffect)(function(){if(isVisibleDropdown&&data&&value&&scrollViewRef.current&&displayKey){var selectedIndex=data.findIndex(function(item){return item[displayKey]===value;});if(selectedIndex>=0){var positionY=selectedIndex*48;setTimeout(function(){if(scrollViewRef.current){scrollViewRef.current.scrollTo({y:positionY,animated:false});}},100);}}},[isVisibleDropdown]);var filterComponent=function filterComponent(){return _react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.searchContainer,__self:_this,__source:{fileName:_jsxFileName,lineNumber:87,columnNumber:7}},_react.default.createElement(_searchInput.SearchInput,{placeholder:searchPlaceholder,value:filterText||'',onChangeText:function onChangeText(text){setFilterText(text);},isFocusable:false,styleContainer:{borderColor:_colors.NEUTRAL_400},onSubmit:function onSubmit(){onFilterTextChange(filterText||'');},rightButtons:!!filterText?[_react.default.createElement(_button.Button,{typeStyle:'white',iconLeft:_react.default.createElement(_icons.XIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:104,columnNumber:31}}),onPress:function onPress(){setFilterText('');},__self:_this,__source:{fileName:_jsxFileName,lineNumber:102,columnNumber:19}})]:[],__self:_this,__source:{fileName:_jsxFileName,lineNumber:88,columnNumber:9}}));};return _react.default.createElement(_reactNative.Modal,{transparent:true,visible:isVisibleDropdown,onRequestClose:function onRequestClose(){onClose();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:118,columnNumber:5}},_react.default.createElement(_reactNative.TouchableOpacity,{onPress:function onPress(){return onClose();},activeOpacity:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:124,columnNumber:7}},_react.default.createElement(_reactNative.KeyboardAvoidingView,{behavior:_reactNative.Platform.OS==='ios'?'padding':'height',style:[isCenteredModal&&_DropdownInput.styles.containerNative,{width:windowWidth,height:windowHeight}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:127,columnNumber:9}},_react.default.createElement(_reactNative.View,{onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},style:[_DropdownInput.styles.optionsContainer,isCenteredModal&&{height:maxVisibleOptions&&maxVisibleOptions*48+48+16},{maxHeight:maxVisibleOptions&&data&&(data==null?void 0:data.length)<=maxVisibleOptions?'auto':maxVisibleOptions&&maxVisibleOptions*48+48+16},!isCenteredModal&&{top:modalPosition.top+8,left:modalPosition.left},{width:modalPosition.width}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:133,columnNumber:11}},!!(!isStaticData&&!isModalUp||!isStaticData&&isCenteredModal)&&filterComponent(),_react.default.createElement(_reactNative.ScrollView,{contentContainerStyle:{flexGrow:1},ref:scrollViewRef,scrollEventThrottle:16,onScroll:onScroll,__self:_this,__source:{fileName:_jsxFileName,lineNumber:156,columnNumber:13}},displayKey&&(data==null?void 0:data.map(function(item,index){return _react.default.createElement(_reactNative.TouchableOpacity,{key:'dropdown'+index,onPress:function onPress(){onSelectOption(item);},style:[_DropdownInput.styles.option,!!value&&item[displayKey]===value&&{backgroundColor:_colors.TERTIARY_101}],__self:_this,__source:{fileName:_jsxFileName,lineNumber:164,columnNumber:21}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,numberOfLines:2,__self:_this,__source:{fileName:_jsxFileName,lineNumber:176,columnNumber:23}},item[displayKey]));})),isLoading&&_react.default.createElement(_reactNative.ActivityIndicator,{size:'small',style:_DropdownInput.styles.loading,color:_colors.PRIMARY_100,__self:_this,__source:{fileName:_jsxFileName,lineNumber:181,columnNumber:17}}),!isLoading&&!(data!=null&&data.length)&&_react.default.createElement(_reactNative.View,{style:_DropdownInput.styles.option,__self:_this,__source:{fileName:_jsxFileName,lineNumber:188,columnNumber:17}},_react.default.createElement(_reactNative.Text,{style:_DropdownInput.styles.optionText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:189,columnNumber:19}},noResultsText))),!isStaticData&&isModalUp&&!isCenteredModal&&filterComponent()))));};var _default=exports.default=DropdownInputOptions;
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { IInputBase } from './InputBase.types';
3
- declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onBlur, onSubmitEditing, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, }: IInputBase) => React.JSX.Element;
3
+ declare const InputBase: ({ value, placeholder, title, helperText, isDisabled, isError, onChangeText, icon, rightButtons, onPress, onBlur, onSubmitEditing, secureTextEntry, keyboardType, styleContainer, isFocusable, refInputContainer, refInput }: IInputBase) => React.JSX.Element;
4
4
  export default InputBase;
@@ -40,7 +40,8 @@ var InputBase = function InputBase(_ref) {
40
40
  styleContainer = _ref.styleContainer,
41
41
  _ref$isFocusable = _ref.isFocusable,
42
42
  isFocusable = _ref$isFocusable === void 0 ? true : _ref$isFocusable,
43
- refInputContainer = _ref.refInputContainer;
43
+ refInputContainer = _ref.refInputContainer,
44
+ refInput = _ref.refInput;
44
45
  var _useState = useState(false),
45
46
  _useState2 = _slicedToArray(_useState, 2),
46
47
  isFocused = _useState2[0],
@@ -150,6 +151,7 @@ var InputBase = function InputBase(_ref) {
150
151
  style: styles.containerInput,
151
152
  onPress: onPress
152
153
  }, /*#__PURE__*/React.createElement(TextInput, {
154
+ ref: refInput,
153
155
  value: value,
154
156
  onPressIn: onPress,
155
157
  onChangeText: handleChange,
@@ -1,5 +1,5 @@
1
1
  import { ReactElement, RefObject } from 'react';
2
- import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
2
+ import { ColorValue, ImageStyle, NativeSyntheticEvent, TextInput, TextInputSubmitEditingEventData, View, ViewStyle } from 'react-native';
3
3
  import { ButtonProps } from '../button/Button.types';
4
4
  export interface SvgImageProps {
5
5
  style?: ImageStyle;
@@ -24,4 +24,5 @@ export interface IInputBase {
24
24
  styleContainer?: ViewStyle;
25
25
  isFocusable?: boolean;
26
26
  refInputContainer?: RefObject<View>;
27
+ refInput?: RefObject<TextInput>;
27
28
  }
@@ -42,6 +42,7 @@ var DropdownInput = function DropdownInput(_ref) {
42
42
  displayMode = _ref$displayMode === void 0 ? DISPLAY_MODE : _ref$displayMode,
43
43
  inputBaseProps = _objectWithoutProperties(_ref, _excluded);
44
44
  var ref = useRef(null);
45
+ var refInput = useRef(null);
45
46
  var _useState = useState(false),
46
47
  _useState2 = _slicedToArray(_useState, 2),
47
48
  isVisibleDropdown = _useState2[0],
@@ -116,8 +117,10 @@ var DropdownInput = function DropdownInput(_ref) {
116
117
  }
117
118
  }, [staticData]);
118
119
  useEffect(function () {
119
- if (isVisibleDropdown && !dataList.length) {
120
- fetchMordeData(currentPage, dataList, isLoadMoreData, '');
120
+ setDataList([]);
121
+ setIsLoadMoreData(true);
122
+ if (isVisibleDropdown) {
123
+ fetchMordeData(0, dataList, true, '');
121
124
  }
122
125
  }, [isVisibleDropdown]);
123
126
  useEffect(function () {
@@ -139,13 +142,21 @@ var DropdownInput = function DropdownInput(_ref) {
139
142
  var onSelectOption = function onSelectOption(item) {
140
143
  onSelect === null || onSelect === void 0 || onSelect(item);
141
144
  setIsVisibleDropdown(false);
145
+ if (refInput.current) {
146
+ refInput.current.setNativeProps({
147
+ selection: {
148
+ start: 0,
149
+ end: 0
150
+ }
151
+ });
152
+ }
142
153
  };
143
154
  var onScroll = /*#__PURE__*/function () {
144
155
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(event) {
145
156
  return _regeneratorRuntime().wrap(function _callee$(_context) {
146
157
  while (1) switch (_context.prev = _context.next) {
147
158
  case 0:
148
- if (isAtEndOfScroll(event.nativeEvent)) {
159
+ if (isAtEndOfScroll(event.nativeEvent) && !isLoading) {
149
160
  fetchMordeData(currentPage, dataList, isLoadMoreData, filterText);
150
161
  }
151
162
  case 1:
@@ -207,6 +218,7 @@ var DropdownInput = function DropdownInput(_ref) {
207
218
  adjustDropdownPosition();
208
219
  }
209
220
  }, /*#__PURE__*/React.createElement(InputBase, _extends({
221
+ refInput: refInput,
210
222
  refInputContainer: ref
211
223
  }, inputBaseProps, {
212
224
  rightButtons: [/*#__PURE__*/React.createElement(Button, {
@@ -224,7 +236,7 @@ var DropdownInput = function DropdownInput(_ref) {
224
236
  return !prev;
225
237
  });
226
238
  }
227
- }))), isVisibleDropdown && /*#__PURE__*/React.createElement(InputOptions, {
239
+ }))), isVisibleDropdown && !!modalPosition.width && /*#__PURE__*/React.createElement(InputOptions, {
228
240
  isVisibleDropdown: true,
229
241
  onClose: function onClose() {
230
242
  setIsVisibleDropdown(false);
@@ -24,7 +24,7 @@ export var styles = StyleSheet.create({
24
24
  },
25
25
  optionText: {
26
26
  color: PRIMARY_100,
27
- fontSize: 16,
27
+ fontSize: 15,
28
28
  letterSpacing: -0.16,
29
29
  fontWeight: '500'
30
30
  },
@@ -49,9 +49,7 @@ var DropdownInputOptions = function DropdownInputOptions(_ref) {
49
49
  useEffect(function () {
50
50
  if (isLoading && data !== null && data !== void 0 && data.length) {
51
51
  var _scrollViewRef$curren;
52
- (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 || _scrollViewRef$curren.scrollToEnd({
53
- animated: true
54
- });
52
+ (_scrollViewRef$curren = scrollViewRef.current) === null || _scrollViewRef$curren === void 0 || _scrollViewRef$curren.scrollToEnd();
55
53
  }
56
54
  }, [isLoading]);
57
55
  useEffect(function () {
@@ -145,7 +143,8 @@ var DropdownInputOptions = function DropdownInputOptions(_ref) {
145
143
  backgroundColor: TERTIARY_101
146
144
  }]
147
145
  }, /*#__PURE__*/React.createElement(Text, {
148
- style: styles.optionText
146
+ style: styles.optionText,
147
+ numberOfLines: 2
149
148
  }, item[displayKey]));
150
149
  })), isLoading && /*#__PURE__*/React.createElement(ActivityIndicator, {
151
150
  size: 'small',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "etendo-ui-library",
3
- "version": "1.4.7",
3
+ "version": "1.4.9",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "android": "react-native run-android",