{"ast":null,"code":"'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nvar _jsxFileName = \"/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-modal-selector/index.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport View from \"react-native-web/dist/exports/View\";\nimport Modal from \"react-native-web/dist/exports/Modal\";\nimport Text from \"react-native-web/dist/exports/Text\";\nimport FlatList from \"react-native-web/dist/exports/FlatList\";\nimport ScrollView from \"react-native-web/dist/exports/ScrollView\";\nimport TouchableOpacity from \"react-native-web/dist/exports/TouchableOpacity\";\nimport TouchableWithoutFeedback from \"react-native-web/dist/exports/TouchableWithoutFeedback\";\nimport styles from \"./style\";\nvar componentIndex = 0;\nvar propTypes = {\n  data: PropTypes.array,\n  onChange: PropTypes.func,\n  onModalOpen: PropTypes.func,\n  onModalClose: PropTypes.func,\n  keyExtractor: PropTypes.func,\n  labelExtractor: PropTypes.func,\n  visible: PropTypes.bool,\n  closeOnChange: PropTypes.bool,\n  initValue: PropTypes.string,\n  listType: PropTypes.oneOf(['SCROLLVIEW', 'FLATLIST']),\n  animationType: PropTypes.oneOf(['none', 'slide', 'fade']),\n  style: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  selectStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  selectTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  optionStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  optionTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  optionContainerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  sectionStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  childrenContainerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  touchableStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  touchableActiveOpacity: PropTypes.number,\n  sectionTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  selectedItemTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  cancelContainerStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  cancelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  cancelTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  overlayStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  initValueTextStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n  cancelText: PropTypes.string,\n  disabled: PropTypes.bool,\n  supportedOrientations: PropTypes.arrayOf(PropTypes.oneOf(['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right'])),\n  keyboardShouldPersistTaps: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n  backdropPressToClose: PropTypes.bool,\n  openButtonContainerAccessible: PropTypes.bool,\n  listItemAccessible: PropTypes.bool,\n  cancelButtonAccessible: PropTypes.bool,\n  scrollViewAccessible: PropTypes.bool,\n  scrollViewAccessibilityLabel: PropTypes.string,\n  cancelButtonAccessibilityLabel: PropTypes.string,\n  passThruProps: PropTypes.object,\n  selectTextPassThruProps: PropTypes.object,\n  optionTextPassThruProps: PropTypes.object,\n  cancelTextPassThruProps: PropTypes.object,\n  scrollViewPassThruProps: PropTypes.object,\n  modalOpenerHitSlop: PropTypes.object,\n  customSelector: PropTypes.node,\n  selectedKey: PropTypes.any,\n  enableShortPress: PropTypes.bool,\n  enableLongPress: PropTypes.bool,\n  optionsTestIDPrefix: PropTypes.string,\n  header: PropTypes.node\n};\nvar defaultProps = {\n  data: [],\n  onChange: function onChange() {},\n  onModalOpen: function onModalOpen() {},\n  onModalClose: function onModalClose() {},\n  keyExtractor: function keyExtractor(item) {\n    return item && item.key;\n  },\n  labelExtractor: function labelExtractor(item) {\n    return item && item.label;\n  },\n  componentExtractor: function componentExtractor(item) {\n    return item && item.component;\n  },\n  listType: 'SCROLLVIEW',\n  visible: false,\n  closeOnChange: true,\n  initValue: 'Select me!',\n  animationType: 'slide',\n  style: {},\n  selectStyle: {},\n  selectTextStyle: {},\n  optionStyle: {},\n  optionTextStyle: {},\n  optionContainerStyle: {},\n  sectionStyle: {},\n  childrenContainerStyle: {},\n  touchableStyle: {},\n  touchableActiveOpacity: 0.2,\n  sectionTextStyle: {},\n  selectedItemTextStyle: {},\n  cancelContainerStyle: {},\n  cancelStyle: {},\n  cancelTextStyle: {},\n  overlayStyle: {},\n  initValueTextStyle: {},\n  cancelText: 'cancel',\n  disabled: false,\n  supportedOrientations: ['portrait', 'landscape'],\n  keyboardShouldPersistTaps: 'always',\n  backdropPressToClose: false,\n  openButtonContainerAccessible: false,\n  listItemAccessible: false,\n  cancelButtonAccessible: false,\n  scrollViewAccessible: false,\n  scrollViewAccessibilityLabel: \"\",\n  cancelButtonAccessibilityLabel: \"\",\n  passThruProps: {},\n  selectTextPassThruProps: {},\n  optionTextPassThruProps: {},\n  cancelTextPassThruProps: {},\n  scrollViewPassThruProps: {},\n  modalOpenerHitSlop: {\n    top: 0,\n    bottom: 0,\n    left: 0,\n    right: 0\n  },\n  customSelector: undefined,\n  selectedKey: '',\n  enableShortPress: true,\n  enableLongPress: false,\n  optionsTestIDPrefix: 'default',\n  header: undefined\n};\n\nvar ModalSelector = function (_React$Component) {\n  _inherits(ModalSelector, _React$Component);\n\n  var _super = _createSuper(ModalSelector);\n\n  function ModalSelector(props) {\n    var _this;\n\n    _classCallCheck(this, ModalSelector);\n\n    _this = _super.call(this, props);\n\n    _this.validateSelectedKey = function (key) {\n      var selectedItem = _this.props.data.filter(function (item) {\n        return _this.props.keyExtractor(item) === key;\n      });\n\n      var selectedLabel = selectedItem.length > 0 ? _this.props.labelExtractor(selectedItem[0]) : _this.props.initValue;\n      var selectedKey = selectedItem.length > 0 ? key : undefined;\n      return {\n        label: selectedLabel,\n        key: selectedKey\n      };\n    };\n\n    _this.onChange = function (item) {\n      var key = _this.props.keyExtractor(item);\n\n      if (!item || key == null) {\n        return;\n      }\n\n      _this.props.onChange(item);\n\n      _this.setState({\n        selected: _this.props.labelExtractor(item),\n        changedItem: item\n      }, function () {\n        if (_this.props.closeOnChange) _this.close(item);\n      });\n    };\n\n    _this.close = function (item) {\n      _this.props.onModalClose(item);\n\n      _this.setState({\n        modalVisible: false\n      });\n    };\n\n    _this.open = function () {\n      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      if (!params.longPress && !_this.props.enableShortPress) {\n        return;\n      }\n\n      if (params.longPress && !_this.props.enableLongPress) {\n        return;\n      }\n\n      _this.props.onModalOpen(params);\n\n      _this.setState({\n        modalVisible: true,\n        changedItem: undefined\n      });\n    };\n\n    _this.renderSection = function (section) {\n      var optionComponent = _this.props.componentExtractor(section);\n\n      var component = optionComponent || React.createElement(Text, {\n        style: [styles.sectionTextStyle, _this.props.sectionTextStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 219,\n          columnNumber: 11\n        }\n      }, _this.props.labelExtractor(section));\n      return React.createElement(View, {\n        key: _this.props.keyExtractor(section),\n        style: [styles.sectionStyle, _this.props.sectionStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 223,\n          columnNumber: 13\n        }\n      }, component);\n    };\n\n    _this.renderOption = function (option, isLastItem, isFirstItem) {\n      var optionComponent = _this.props.componentExtractor(option);\n\n      var optionLabel = _this.props.labelExtractor(option);\n\n      var isSelectedItem = optionLabel === _this.state.selected;\n      var component = optionComponent || React.createElement(Text, _extends({\n        style: [styles.optionTextStyle, _this.props.optionTextStyle, isSelectedItem && _this.props.selectedItemTextStyle]\n      }, _this.props.optionTextPassThruProps, {\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 235,\n          columnNumber: 11\n        }\n      }), optionLabel);\n      return React.createElement(TouchableOpacity, _extends({\n        key: _this.props.keyExtractor(option),\n        testID: option.testID || _this.props.optionsTestIDPrefix + '-' + optionLabel,\n        onPress: function onPress() {\n          return _this.onChange(option);\n        },\n        activeOpacity: _this.props.touchableActiveOpacity,\n        accessible: _this.props.listItemAccessible,\n        accessibilityLabel: option.accessibilityLabel || undefined,\n        importantForAccessibility: isFirstItem ? 'yes' : 'no'\n      }, _this.props.passThruProps, {\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 241,\n          columnNumber: 13\n        }\n      }), React.createElement(View, {\n        style: [styles.optionStyle, _this.props.optionStyle, isLastItem && {\n          borderBottomWidth: 0\n        }],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 251,\n          columnNumber: 17\n        }\n      }, component));\n    };\n\n    _this.renderFlatlistOption = function (_ref) {\n      var item = _ref.item,\n          index = _ref.index,\n          separators = _ref.separators;\n\n      if (item.section) {\n        return _this.renderSection(item);\n      }\n\n      var numItems = _this.props.data.length;\n      return _this.renderOption(item, index === numItems - 1, index === 0);\n    };\n\n    _this.renderOptionList = function () {\n      var _this$props = _this.props,\n          data = _this$props.data,\n          listType = _this$props.listType,\n          backdropPressToClose = _this$props.backdropPressToClose,\n          scrollViewPassThruProps = _this$props.scrollViewPassThruProps,\n          overlayStyle = _this$props.overlayStyle,\n          optionContainerStyle = _this$props.optionContainerStyle,\n          keyboardShouldPersistTaps = _this$props.keyboardShouldPersistTaps,\n          scrollViewAccessible = _this$props.scrollViewAccessible,\n          scrollViewAccessibilityLabel = _this$props.scrollViewAccessibilityLabel,\n          cancelContainerStyle = _this$props.cancelContainerStyle,\n          touchableActiveOpacity = _this$props.touchableActiveOpacity,\n          cancelButtonAccessible = _this$props.cancelButtonAccessible,\n          cancelButtonAccessibilityLabel = _this$props.cancelButtonAccessibilityLabel,\n          cancelStyle = _this$props.cancelStyle,\n          cancelTextStyle = _this$props.cancelTextStyle,\n          cancelText = _this$props.cancelText,\n          header = _this$props.header;\n      var options = data.map(function (item, index) {\n        if (item.section) {\n          return _this.renderSection(item);\n        }\n\n        return _this.renderOption(item, index === data.length - 1, index === 0);\n      });\n      var Overlay = View;\n      var overlayProps = {\n        style: {\n          flex: 1\n        }\n      };\n\n      if (backdropPressToClose) {\n        Overlay = TouchableWithoutFeedback;\n        overlayProps = {\n          key: \"modalSelector\" + componentIndex++,\n          accessible: false,\n          onPress: _this.close\n        };\n      }\n\n      var optionsContainerStyle = {\n        paddingHorizontal: 10\n      };\n\n      if (scrollViewPassThruProps && scrollViewPassThruProps.horizontal) {\n        optionsContainerStyle.flexDirection = 'row';\n      }\n\n      return React.createElement(Overlay, _extends({}, overlayProps, {\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 313,\n          columnNumber: 13\n        }\n      }), React.createElement(View, {\n        style: [styles.overlayStyle, overlayStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 314,\n          columnNumber: 17\n        }\n      }, React.createElement(View, {\n        style: [styles.optionContainer, optionContainerStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 315,\n          columnNumber: 21\n        }\n      }, header, listType === 'FLATLIST' ? React.createElement(FlatList, {\n        data: data,\n        keyboardShouldPersistTaps: keyboardShouldPersistTaps,\n        accessible: scrollViewAccessible,\n        accessibilityLabel: scrollViewAccessibilityLabel,\n        keyExtractor: _this.props.keyExtractor,\n        renderItem: _this.renderFlatlistOption,\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 318,\n          columnNumber: 29\n        }\n      }) : React.createElement(ScrollView, _extends({\n        keyboardShouldPersistTaps: keyboardShouldPersistTaps,\n        accessible: scrollViewAccessible,\n        accessibilityLabel: scrollViewAccessibilityLabel\n      }, scrollViewPassThruProps, {\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 327,\n          columnNumber: 29\n        }\n      }), React.createElement(View, {\n        style: optionsContainerStyle,\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 333,\n          columnNumber: 33\n        }\n      }, options))), React.createElement(View, {\n        style: [styles.cancelContainer, cancelContainerStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 339,\n          columnNumber: 21\n        }\n      }, React.createElement(TouchableOpacity, {\n        onPress: _this.close,\n        activeOpacity: touchableActiveOpacity,\n        accessible: cancelButtonAccessible,\n        accessibilityLabel: cancelButtonAccessibilityLabel,\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 340,\n          columnNumber: 25\n        }\n      }, React.createElement(View, {\n        style: [styles.cancelStyle, cancelStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 341,\n          columnNumber: 29\n        }\n      }, React.createElement(Text, _extends({\n        style: [styles.cancelTextStyle, cancelTextStyle]\n      }, _this.props.cancelTextPassThruProps, {\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 342,\n          columnNumber: 33\n        }\n      }), cancelText))))));\n    };\n\n    _this.renderChildren = function () {\n      if (_this.props.children) {\n        return _this.props.children;\n      }\n\n      var initSelectStyle = _this.props.initValue === _this.state.selected ? [styles.initValueTextStyle, _this.props.initValueTextStyle] : [styles.selectTextStyle, _this.props.selectTextStyle];\n      return React.createElement(View, {\n        style: [styles.selectStyle, _this.props.selectStyle],\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 359,\n          columnNumber: 13\n        }\n      }, React.createElement(Text, _extends({\n        style: initSelectStyle\n      }, _this.props.selectTextPassThruProps, {\n        __self: _assertThisInitialized(_this),\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 360,\n          columnNumber: 17\n        }\n      }), _this.state.selected));\n    };\n\n    var _selectedItem = _this.validateSelectedKey(props.selectedKey);\n\n    _this.state = {\n      modalVisible: props.visible,\n      selected: _selectedItem.label,\n      cancelText: props.cancelText,\n      changedItem: _selectedItem.key\n    };\n    return _this;\n  }\n\n  _createClass(ModalSelector, [{\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps, prevState) {\n      var newState = {};\n      var doUpdate = false;\n\n      if (prevProps.initValue !== this.props.initValue) {\n        newState.selected = this.props.initValue;\n        doUpdate = true;\n      }\n\n      if (prevProps.visible !== this.props.visible) {\n        newState.modalVisible = this.props.visible;\n        doUpdate = true;\n      }\n\n      if (prevProps.selectedKey !== this.props.selectedKey || prevProps.data !== this.props.data) {\n        var selectedItem = this.validateSelectedKey(this.props.selectedKey);\n        newState.selected = selectedItem.label;\n        newState.changedItem = selectedItem.key;\n        doUpdate = true;\n      }\n\n      if (doUpdate) {\n        this.setState(newState);\n      }\n    }\n  }, {\n    key: \"getSelectedItem\",\n    value: function getSelectedItem() {\n      return this.state.changedItem;\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _this2 = this;\n\n      var dp = React.createElement(Modal, {\n        transparent: true,\n        ref: function ref(element) {\n          return _this2.model = element;\n        },\n        supportedOrientations: this.props.supportedOrientations,\n        visible: this.state.modalVisible,\n        onRequestClose: this.close,\n        animationType: this.props.animationType,\n        onDismiss: function onDismiss() {\n          return _this2.state.changedItem && _this2.props.onChange(_this2.state.changedItem);\n        },\n        __self: this,\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 368,\n          columnNumber: 13\n        }\n      }, this.renderOptionList());\n      return React.createElement(View, _extends({\n        style: this.props.style\n      }, this.props.passThruProps, {\n        __self: this,\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 382,\n          columnNumber: 13\n        }\n      }), dp, this.props.customSelector ? this.props.customSelector : React.createElement(TouchableOpacity, {\n        hitSlop: this.props.modalOpenerHitSlop,\n        activeOpacity: this.props.touchableActiveOpacity,\n        style: this.props.touchableStyle,\n        onPress: this.open,\n        onLongPress: function onLongPress() {\n          return _this2.open({\n            longPress: true\n          });\n        },\n        disabled: this.props.disabled,\n        accessible: this.props.openButtonContainerAccessible,\n        __self: this,\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 387,\n          columnNumber: 21\n        }\n      }, React.createElement(View, {\n        style: this.props.childrenContainerStyle,\n        pointerEvents: \"none\",\n        __self: this,\n        __source: {\n          fileName: _jsxFileName,\n          lineNumber: 396,\n          columnNumber: 25\n        }\n      }, this.renderChildren())));\n    }\n  }]);\n\n  return ModalSelector;\n}(React.Component);\n\nexport { ModalSelector as default };\nModalSelector.propTypes = propTypes;\nModalSelector.defaultProps = defaultProps;","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-modal-selector/index.js"],"names":["React","PropTypes","styles","componentIndex","propTypes","data","array","onChange","func","onModalOpen","onModalClose","keyExtractor","labelExtractor","visible","bool","closeOnChange","initValue","string","listType","oneOf","animationType","style","oneOfType","object","number","selectStyle","selectTextStyle","optionStyle","optionTextStyle","optionContainerStyle","sectionStyle","childrenContainerStyle","touchableStyle","touchableActiveOpacity","sectionTextStyle","selectedItemTextStyle","cancelContainerStyle","cancelStyle","cancelTextStyle","overlayStyle","initValueTextStyle","cancelText","disabled","supportedOrientations","arrayOf","keyboardShouldPersistTaps","backdropPressToClose","openButtonContainerAccessible","listItemAccessible","cancelButtonAccessible","scrollViewAccessible","scrollViewAccessibilityLabel","cancelButtonAccessibilityLabel","passThruProps","selectTextPassThruProps","optionTextPassThruProps","cancelTextPassThruProps","scrollViewPassThruProps","modalOpenerHitSlop","customSelector","node","selectedKey","any","enableShortPress","enableLongPress","optionsTestIDPrefix","header","defaultProps","item","key","label","componentExtractor","component","top","bottom","left","right","undefined","ModalSelector","props","validateSelectedKey","selectedItem","filter","selectedLabel","length","setState","selected","changedItem","close","modalVisible","open","params","longPress","renderSection","section","optionComponent","renderOption","option","isLastItem","isFirstItem","optionLabel","isSelectedItem","state","testID","accessibilityLabel","borderBottomWidth","renderFlatlistOption","index","separators","numItems","renderOptionList","options","map","Overlay","View","overlayProps","flex","TouchableWithoutFeedback","accessible","onPress","optionsContainerStyle","paddingHorizontal","horizontal","flexDirection","optionContainer","cancelContainer","renderChildren","children","initSelectStyle","prevProps","prevState","newState","doUpdate","dp","element","model","Component"],"mappings":"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","sourcesContent":["'use strict';\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n    View,\n    Modal,\n    Text,\n    FlatList,\n    ScrollView,\n    TouchableOpacity,\n    TouchableWithoutFeedback,\n} from 'react-native';\n\nimport styles from './style';\n\nlet componentIndex = 0;\n\nconst propTypes = {\n    data:                           PropTypes.array,\n    onChange:                       PropTypes.func,\n    onModalOpen:                    PropTypes.func,\n    onModalClose:                   PropTypes.func,\n    keyExtractor:                   PropTypes.func,\n    labelExtractor:                 PropTypes.func,\n    visible:                        PropTypes.bool,\n    closeOnChange:                  PropTypes.bool,\n    initValue:                      PropTypes.string,\n    listType:                       PropTypes.oneOf(['SCROLLVIEW', 'FLATLIST']),\n    animationType:                  PropTypes.oneOf(['none', 'slide', 'fade']),\n    style:                          PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    selectStyle:                    PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    selectTextStyle:                PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    optionStyle:                    PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    optionTextStyle:                PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    optionContainerStyle:           PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    sectionStyle:                   PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    childrenContainerStyle:         PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    touchableStyle:                 PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    touchableActiveOpacity:         PropTypes.number,\n    sectionTextStyle:               PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    selectedItemTextStyle:          PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    cancelContainerStyle:           PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    cancelStyle:                    PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    cancelTextStyle:                PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    overlayStyle:                   PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    initValueTextStyle:             PropTypes.oneOfType([PropTypes.object, PropTypes.number]),\n    cancelText:                     PropTypes.string,\n    disabled:                       PropTypes.bool,\n    supportedOrientations:          PropTypes.arrayOf(\n                                      PropTypes.oneOf([\n                                        'portrait',\n                                        'portrait-upside-down',\n                                        'landscape',\n                                        'landscape-left',\n                                        'landscape-right',\n                                      ]),\n                                    ),\n    keyboardShouldPersistTaps:      PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n    backdropPressToClose:           PropTypes.bool,\n    openButtonContainerAccessible:  PropTypes.bool,\n    listItemAccessible:             PropTypes.bool,\n    cancelButtonAccessible:         PropTypes.bool,\n    scrollViewAccessible:           PropTypes.bool,\n    scrollViewAccessibilityLabel:   PropTypes.string,\n    cancelButtonAccessibilityLabel: PropTypes.string,\n    passThruProps:                  PropTypes.object,\n    selectTextPassThruProps:        PropTypes.object,\n    optionTextPassThruProps:        PropTypes.object,\n    cancelTextPassThruProps:        PropTypes.object,\n    scrollViewPassThruProps:        PropTypes.object,\n    modalOpenerHitSlop:             PropTypes.object,\n    customSelector:                 PropTypes.node,\n    selectedKey:                    PropTypes.any,\n    enableShortPress:               PropTypes.bool,\n    enableLongPress:                PropTypes.bool,\n    optionsTestIDPrefix:            PropTypes.string,\n    header:                         PropTypes.node,\n};\n\nconst defaultProps = {\n    data:                           [],\n    onChange:                       () => {},\n    onModalOpen:                    () => {},\n    onModalClose:                   () => {},\n    keyExtractor:                   (item) => item && item.key,\n    labelExtractor:                 (item) => item && item.label,\n    componentExtractor:             (item) => item && item.component,\n    listType:                       'SCROLLVIEW',\n    visible:                        false,\n    closeOnChange:                  true,\n    initValue:                      'Select me!',\n    animationType:                  'slide',\n    style:                          {},\n    selectStyle:                    {},\n    selectTextStyle:                {},\n    optionStyle:                    {},\n    optionTextStyle:                {},\n    optionContainerStyle:           {},\n    sectionStyle:                   {},\n    childrenContainerStyle:         {},\n    touchableStyle:                 {},\n    touchableActiveOpacity:         0.2,\n    sectionTextStyle:               {},\n    selectedItemTextStyle:          {},\n    cancelContainerStyle:           {},\n    cancelStyle:                    {},\n    cancelTextStyle:                {},\n    overlayStyle:                   {},\n    initValueTextStyle:             {},\n    cancelText:                     'cancel',\n    disabled:                       false,\n    supportedOrientations:          ['portrait', 'landscape'],\n    keyboardShouldPersistTaps:      'always',\n    backdropPressToClose:           false,\n    openButtonContainerAccessible:  false,\n    listItemAccessible:             false,\n    cancelButtonAccessible:         false,\n    scrollViewAccessible:           false,\n    scrollViewAccessibilityLabel:   \"\",\n    cancelButtonAccessibilityLabel: \"\",\n    passThruProps:                  {},\n    selectTextPassThruProps:        {},\n    optionTextPassThruProps:        {},\n    cancelTextPassThruProps:        {},\n    scrollViewPassThruProps:        {},\n    modalOpenerHitSlop:             {top: 0, bottom: 0, left: 0, right: 0},\n    customSelector:                 undefined,\n    selectedKey:                    '',\n    enableShortPress:               true,\n    enableLongPress:                false,\n    optionsTestIDPrefix:            'default',\n    header:                         undefined,\n};\n\nexport default class ModalSelector extends React.Component {\n\n    constructor(props) {\n        super(props);\n        let selectedItem = this.validateSelectedKey(props.selectedKey);\n        this.state = {\n            modalVisible:  props.visible,\n            selected:      selectedItem.label,\n            cancelText:    props.cancelText,\n            changedItem:   selectedItem.key,\n        };\n    }\n\n    componentDidUpdate(prevProps, prevState) {\n        let newState = {};\n        let doUpdate = false;\n        if (prevProps.initValue !== this.props.initValue) {\n            newState.selected = this.props.initValue;\n            doUpdate = true;\n        }\n        if (prevProps.visible !== this.props.visible) {\n            newState.modalVisible = this.props.visible;\n            doUpdate = true;\n        }\n        if (prevProps.selectedKey !== this.props.selectedKey || prevProps.data !== this.props.data) {\n            let selectedItem = this.validateSelectedKey(this.props.selectedKey);\n            newState.selected = selectedItem.label;\n            newState.changedItem = selectedItem.key;\n            doUpdate = true;\n        }\n        if (doUpdate) {\n            this.setState(newState);\n        }\n    }\n\n    validateSelectedKey = (key) => {\n        let selectedItem = this.props.data.filter((item) => this.props.keyExtractor(item) === key);\n        let selectedLabel = selectedItem.length > 0 ? this.props.labelExtractor(selectedItem[0]) : this.props.initValue;\n        let selectedKey = selectedItem.length > 0 ? key : undefined;\n        return {label: selectedLabel, key: selectedKey}\n    }\n\n    onChange = (item) => {\n        const key = this.props.keyExtractor(item);\n        if (!item || key == null) { // == coercion\n          return;\n        }\n        this.props.onChange(item);\n        this.setState({ selected: this.props.labelExtractor(item), changedItem: item }, () => {\n          if (this.props.closeOnChange)\n            this.close(item);\n        });\n    }\n\n    getSelectedItem() {\n      return this.state.changedItem;\n    }\n\n    close = (item) => {\n        this.props.onModalClose(item);\n        this.setState({\n            modalVisible: false,\n        });\n    }\n\n    open = (params = {}) => {\n        if (!params.longPress && !this.props.enableShortPress) {\n          return;\n        }\n        if (params.longPress && !this.props.enableLongPress) {\n          return;\n        }\n        this.props.onModalOpen(params);\n        this.setState({\n            modalVisible: true,\n            changedItem:  undefined,\n        });\n    }\n\n    renderSection = (section) => {\n        const optionComponent = this.props.componentExtractor(section);\n        let component = optionComponent || (\n          <Text style={[styles.sectionTextStyle,this.props.sectionTextStyle]}>{this.props.labelExtractor(section)}</Text>\n        );\n\n        return (\n            <View key={this.props.keyExtractor(section)} style={[styles.sectionStyle,this.props.sectionStyle]}>\n                {component}\n            </View>\n        );\n    }\n\n    renderOption = (option, isLastItem, isFirstItem) => {\n        const optionComponent = this.props.componentExtractor(option);\n        const optionLabel = this.props.labelExtractor(option);\n        const isSelectedItem = optionLabel === this.state.selected;\n\n        let component = optionComponent || (\n          <Text style={[styles.optionTextStyle,this.props.optionTextStyle,isSelectedItem && this.props.selectedItemTextStyle]} {...this.props.optionTextPassThruProps}>\n              {optionLabel}\n          </Text>\n        );\n\n        return (\n            <TouchableOpacity\n              key={this.props.keyExtractor(option)}\n              testID={option.testID || this.props.optionsTestIDPrefix + '-' + optionLabel}\n              onPress={() => this.onChange(option)}\n              activeOpacity={this.props.touchableActiveOpacity}\n              accessible={this.props.listItemAccessible}\n              accessibilityLabel={option.accessibilityLabel || undefined}\n              importantForAccessibility={isFirstItem ? 'yes' : 'no'}\n              {...this.props.passThruProps}\n            >\n                <View style={[styles.optionStyle, this.props.optionStyle, isLastItem && {borderBottomWidth: 0}]}>\n                  {component}\n                </View>\n            </TouchableOpacity>);\n    }\n\n    renderFlatlistOption = ({ item, index, separators }) => {\n        if (item.section) {\n            return this.renderSection(item);\n        }\n        const numItems = this.props.data.length;\n        return this.renderOption(item, index === (numItems - 1), index === 0);\n    }\n\n    renderOptionList = () => {\n        const {\n            data,\n            listType,\n            backdropPressToClose,\n            scrollViewPassThruProps,\n            overlayStyle,\n            optionContainerStyle,\n            keyboardShouldPersistTaps,\n            scrollViewAccessible,\n            scrollViewAccessibilityLabel,\n            cancelContainerStyle,\n            touchableActiveOpacity,\n            cancelButtonAccessible,\n            cancelButtonAccessibilityLabel,\n            cancelStyle,\n            cancelTextStyle,\n            cancelText,\n            header,\n        } = this.props;\n\n        let options = data.map((item, index) => {\n            if (item.section) {\n                return this.renderSection(item);\n            }\n            return this.renderOption(item, index === data.length - 1, index === 0);\n        });\n\n        let Overlay = View;\n        let overlayProps = {\n            style: {flex: 1},\n        };\n        // Some RN versions have a bug here, so making the property opt-in works around this problem\n        if (backdropPressToClose) {\n          Overlay = TouchableWithoutFeedback;\n          overlayProps = {\n              key: `modalSelector${componentIndex++}`,\n              accessible: false,\n              onPress: this.close,\n          };\n        }\n\n        const optionsContainerStyle = {paddingHorizontal: 10};\n        if (scrollViewPassThruProps && scrollViewPassThruProps.horizontal) {\n          optionsContainerStyle.flexDirection = 'row';\n        }\n\n        return (\n            <Overlay {...overlayProps}>\n                <View style={[styles.overlayStyle, overlayStyle]}>\n                    <View style={[styles.optionContainer, optionContainerStyle]}>\n                        {header}\n                        {listType === 'FLATLIST'?\n                            <FlatList\n                                data={data}\n                                keyboardShouldPersistTaps={keyboardShouldPersistTaps}\n                                accessible={scrollViewAccessible}\n                                accessibilityLabel={scrollViewAccessibilityLabel}\n                                keyExtractor={this.props.keyExtractor}\n                                renderItem={this.renderFlatlistOption}\n                            />\n                            :\n                            <ScrollView\n                                keyboardShouldPersistTaps={keyboardShouldPersistTaps}\n                                accessible={scrollViewAccessible}\n                                accessibilityLabel={scrollViewAccessibilityLabel}\n                                {...scrollViewPassThruProps}\n                            >\n                                <View style={optionsContainerStyle}>\n                                    {options}\n                                </View>\n                            </ScrollView>\n                        }\n                    </View>\n                    <View style={[styles.cancelContainer, cancelContainerStyle]}>\n                        <TouchableOpacity onPress={this.close} activeOpacity={touchableActiveOpacity} accessible={cancelButtonAccessible} accessibilityLabel={cancelButtonAccessibilityLabel}>\n                            <View style={[styles.cancelStyle, cancelStyle]}>\n                                <Text style={[styles.cancelTextStyle,cancelTextStyle]} {...this.props.cancelTextPassThruProps}>{cancelText}</Text>\n                            </View>\n                        </TouchableOpacity>\n                    </View>\n                </View>\n            </Overlay>\n        );\n    }\n\n    renderChildren = () => {\n\n        if(this.props.children) {\n            return this.props.children;\n        }\n        let initSelectStyle = this.props.initValue === this.state.selected ?\n            [styles.initValueTextStyle, this.props.initValueTextStyle] : [styles.selectTextStyle, this.props.selectTextStyle];\n        return (\n            <View style={[styles.selectStyle, this.props.selectStyle]}>\n                <Text style={initSelectStyle} {...this.props.selectTextPassThruProps}>{this.state.selected}</Text>\n            </View>\n        );\n    }\n\n    render() {\n\n        const dp = (\n            <Modal\n                transparent={true}\n                ref={element => this.model = element}\n                supportedOrientations={this.props.supportedOrientations}\n                visible={this.state.modalVisible}\n                onRequestClose={this.close}\n                animationType={this.props.animationType}\n                onDismiss={() => this.state.changedItem && this.props.onChange(this.state.changedItem)}\n            >\n                {this.renderOptionList()}\n            </Modal>\n        );\n\n        return (\n            <View style={this.props.style} {...this.props.passThruProps}>\n                {dp}\n                {this.props.customSelector ?\n                    this.props.customSelector\n                    :\n                    <TouchableOpacity\n                        hitSlop={this.props.modalOpenerHitSlop}\n                        activeOpacity={this.props.touchableActiveOpacity}\n                        style={this.props.touchableStyle}\n                        onPress={this.open}\n                        onLongPress={() => this.open({longPress: true})}\n                        disabled={this.props.disabled}\n                        accessible={this.props.openButtonContainerAccessible}\n                    >\n                        <View style={this.props.childrenContainerStyle} pointerEvents=\"none\">\n                            {this.renderChildren()}\n                        </View>\n                    </TouchableOpacity>\n                }\n            </View>\n        );\n    }\n}\n\nModalSelector.propTypes = propTypes;\nModalSelector.defaultProps = defaultProps;\n"]},"metadata":{},"sourceType":"module"}