{"ast":null,"code":"import _regeneratorRuntime from \"@babel/runtime/regenerator\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\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 { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { DatePickerAndroid } from \"react-native-web/dist/index\";\nimport { TimePickerAndroid } from \"react-native-web/dist/index\";\n\nvar CustomDatePickerAndroid = function (_React$PureComponent) {\n  _inherits(CustomDatePickerAndroid, _React$PureComponent);\n\n  var _super = _createSuper(CustomDatePickerAndroid);\n\n  function CustomDatePickerAndroid() {\n    var _this;\n\n    _classCallCheck(this, CustomDatePickerAndroid);\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    _this = _super.call.apply(_super, [this].concat(args));\n\n    _this.componentDidUpdate = function (prevProps) {\n      if (!prevProps.isVisible && _this.props.isVisible) {\n        if (_this.props.mode === \"date\" || _this.props.mode === \"datetime\") {\n          _this.showDatePickerAndroid().catch(console.error);\n        } else {\n          _this.showTimePickerAndroid().catch(console.error);\n        }\n      }\n    };\n\n    _this.componentDidMount = function () {\n      if (_this.props && _this.props.isVisible) {\n        if (_this.props.mode === \"date\" || _this.props.mode === \"datetime\") {\n          _this.showDatePickerAndroid().catch(console.error);\n        } else {\n          _this.showTimePickerAndroid().catch(console.error);\n        }\n      }\n    };\n\n    _this.showDatePickerAndroid = function _callee() {\n      var picked, message, _picked, action, year, month, day, date, hour, minute, timeOptions, pickedTime, _pickedTime, timeAction, _hour, _minute, selectedDate;\n\n      return _regeneratorRuntime.async(function _callee$(_context) {\n        while (1) {\n          switch (_context.prev = _context.next) {\n            case 0:\n              _context.prev = 0;\n              _context.next = 3;\n              return _regeneratorRuntime.awrap(DatePickerAndroid.open({\n                date: _this.props.date,\n                minDate: _this.props.minimumDate,\n                maxDate: _this.props.maximumDate,\n                mode: _this.props.datePickerModeAndroid\n              }));\n\n            case 3:\n              picked = _context.sent;\n              _context.next = 11;\n              break;\n\n            case 6:\n              _context.prev = 6;\n              _context.t0 = _context[\"catch\"](0);\n              message = _context.t0.message;\n              console.warn(\"Cannot open date picker\", message);\n              return _context.abrupt(\"return\");\n\n            case 11:\n              _picked = picked, action = _picked.action, year = _picked.year, month = _picked.month, day = _picked.day;\n\n              if (!(action !== DatePickerAndroid.dismissedAction)) {\n                _context.next = 36;\n                break;\n              }\n\n              if (_this.props.date && !isNaN(_this.props.date.getTime())) {\n                hour = _this.props.date.getHours();\n                minute = _this.props.date.getMinutes();\n                date = new Date(year, month, day, hour, minute);\n              } else {\n                date = new Date(year, month, day);\n              }\n\n              if (!(_this.props.mode === \"datetime\")) {\n                _context.next = 32;\n                break;\n              }\n\n              timeOptions = {\n                is24Hour: _this.props.is24Hour,\n                mode: _this.props.timePickerModeAndroid\n              };\n\n              if (_this.props.date) {\n                timeOptions.hour = _this.props.date.getHours();\n                timeOptions.minute = _this.props.date.getMinutes();\n              }\n\n              _context.prev = 17;\n              _context.next = 20;\n              return _regeneratorRuntime.awrap(TimePickerAndroid.open(timeOptions));\n\n            case 20:\n              pickedTime = _context.sent;\n              _context.next = 28;\n              break;\n\n            case 23:\n              _context.prev = 23;\n              _context.t1 = _context[\"catch\"](17);\n              message = _context.t1.message;\n              console.warn(\"Cannot open time picker\", message);\n              return _context.abrupt(\"return\");\n\n            case 28:\n              _pickedTime = pickedTime, timeAction = _pickedTime.action, _hour = _pickedTime.hour, _minute = _pickedTime.minute;\n\n              if (timeAction !== TimePickerAndroid.dismissedAction) {\n                selectedDate = new Date(year, month, day, _hour, _minute);\n\n                _this.props.onConfirm(selectedDate);\n\n                _this.props.onHideAfterConfirm(selectedDate);\n              } else {\n                _this.props.onCancel();\n              }\n\n              _context.next = 34;\n              break;\n\n            case 32:\n              _this.props.onConfirm(date);\n\n              _this.props.onHideAfterConfirm(date);\n\n            case 34:\n              _context.next = 37;\n              break;\n\n            case 36:\n              _this.props.onCancel();\n\n            case 37:\n            case \"end\":\n              return _context.stop();\n          }\n        }\n      }, null, null, [[0, 6], [17, 23]], Promise);\n    };\n\n    _this.showTimePickerAndroid = function _callee2() {\n      var picked, message, _picked2, action, hour, minute, date, year, month, day;\n\n      return _regeneratorRuntime.async(function _callee2$(_context2) {\n        while (1) {\n          switch (_context2.prev = _context2.next) {\n            case 0:\n              _context2.prev = 0;\n              _context2.next = 3;\n              return _regeneratorRuntime.awrap(TimePickerAndroid.open({\n                hour: _this.props.date.getHours(),\n                minute: _this.props.date.getMinutes(),\n                is24Hour: _this.props.is24Hour,\n                mode: _this.props.timePickerModeAndroid\n              }));\n\n            case 3:\n              picked = _context2.sent;\n              _context2.next = 11;\n              break;\n\n            case 6:\n              _context2.prev = 6;\n              _context2.t0 = _context2[\"catch\"](0);\n              message = _context2.t0.message;\n              console.warn(\"Cannot open time picker\", message);\n              return _context2.abrupt(\"return\");\n\n            case 11:\n              _picked2 = picked, action = _picked2.action, hour = _picked2.hour, minute = _picked2.minute;\n\n              if (action !== TimePickerAndroid.dismissedAction) {\n                if (_this.props.date) {\n                  year = _this.props.date.getFullYear();\n                  month = _this.props.date.getMonth();\n                  day = _this.props.date.getDate();\n                  date = new Date(year, month, day, hour, minute);\n                } else {\n                  date = new Date().setHours(hour).setMinutes(minute);\n                }\n\n                _this.props.onConfirm(date);\n\n                _this.props.onHideAfterConfirm(date);\n              } else {\n                _this.props.onCancel();\n              }\n\n            case 13:\n            case \"end\":\n              return _context2.stop();\n          }\n        }\n      }, null, null, [[0, 6]], Promise);\n    };\n\n    return _this;\n  }\n\n  _createClass(CustomDatePickerAndroid, [{\n    key: \"render\",\n    value: function render() {\n      return null;\n    }\n  }]);\n\n  return CustomDatePickerAndroid;\n}(React.PureComponent);\n\nCustomDatePickerAndroid.propTypes = {\n  date: PropTypes.instanceOf(Date),\n  mode: PropTypes.oneOf([\"date\", \"time\", \"datetime\"]),\n  onCancel: PropTypes.func.isRequired,\n  onConfirm: PropTypes.func.isRequired,\n  onHideAfterConfirm: PropTypes.func,\n  is24Hour: PropTypes.bool,\n  isVisible: PropTypes.bool,\n  datePickerModeAndroid: PropTypes.oneOf([\"calendar\", \"spinner\", \"default\"]),\n  timePickerModeAndroid: PropTypes.oneOf([\"clock\", \"spinner\", \"default\"]),\n  minimumDate: PropTypes.instanceOf(Date),\n  maximumDate: PropTypes.instanceOf(Date)\n};\nCustomDatePickerAndroid.defaultProps = {\n  date: new Date(),\n  mode: \"date\",\n  datePickerModeAndroid: \"default\",\n  timePickerModeAndroid: \"default\",\n  is24Hour: true,\n  isVisible: false,\n  onHideAfterConfirm: function onHideAfterConfirm() {}\n};\nexport { CustomDatePickerAndroid as default };","map":{"version":3,"sources":["/Users/rohitsingh/Documents/projects/new-nativebase-setup/NativeBase/example/node_modules/react-native-modal-datetime-picker/src/CustomDatePickerAndroid.js"],"names":["React","PropTypes","DatePickerAndroid","TimePickerAndroid","CustomDatePickerAndroid","componentDidUpdate","prevProps","isVisible","props","mode","showDatePickerAndroid","catch","console","error","showTimePickerAndroid","componentDidMount","open","date","minDate","minimumDate","maxDate","maximumDate","datePickerModeAndroid","picked","message","warn","action","year","month","day","dismissedAction","isNaN","getTime","hour","getHours","minute","getMinutes","Date","timeOptions","is24Hour","timePickerModeAndroid","pickedTime","timeAction","selectedDate","onConfirm","onHideAfterConfirm","onCancel","getFullYear","getMonth","getDate","setHours","setMinutes","PureComponent","propTypes","instanceOf","oneOf","func","isRequired","bool","defaultProps"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { DatePickerAndroid, TimePickerAndroid } from \"react-native\";\n\nexport default class CustomDatePickerAndroid extends React.PureComponent {\n  static propTypes = {\n    date: PropTypes.instanceOf(Date),\n    mode: PropTypes.oneOf([\"date\", \"time\", \"datetime\"]),\n    onCancel: PropTypes.func.isRequired,\n    onConfirm: PropTypes.func.isRequired,\n    onHideAfterConfirm: PropTypes.func,\n    is24Hour: PropTypes.bool,\n    isVisible: PropTypes.bool,\n    datePickerModeAndroid: PropTypes.oneOf([\"calendar\", \"spinner\", \"default\"]),\n    timePickerModeAndroid: PropTypes.oneOf([\"clock\", \"spinner\", \"default\"]),\n    minimumDate: PropTypes.instanceOf(Date),\n    maximumDate: PropTypes.instanceOf(Date)\n  };\n\n  static defaultProps = {\n    date: new Date(),\n    mode: \"date\",\n    datePickerModeAndroid: \"default\",\n    timePickerModeAndroid: \"default\",\n    is24Hour: true,\n    isVisible: false,\n    onHideAfterConfirm: () => {}\n  };\n\n  componentDidUpdate = prevProps => {\n    if (!prevProps.isVisible && this.props.isVisible) {\n      if (this.props.mode === \"date\" || this.props.mode === \"datetime\") {\n        this.showDatePickerAndroid().catch(console.error);\n      } else {\n        this.showTimePickerAndroid().catch(console.error);\n      }\n    }\n  };\n\n  componentDidMount = () => {\n    if (this.props && this.props.isVisible) {\n      if (this.props.mode === \"date\" || this.props.mode === \"datetime\") {\n        this.showDatePickerAndroid().catch(console.error);\n      } else {\n        this.showTimePickerAndroid().catch(console.error);\n      }\n    }\n  };\n\n  showDatePickerAndroid = async () => {\n    let picked;\n    try {\n      picked = await DatePickerAndroid.open({\n        date: this.props.date,\n        minDate: this.props.minimumDate,\n        maxDate: this.props.maximumDate,\n        mode: this.props.datePickerModeAndroid\n      });\n    } catch ({ message }) {\n      console.warn(\"Cannot open date picker\", message);\n      return;\n    }\n\n    const { action, year, month, day } = picked;\n    if (action !== DatePickerAndroid.dismissedAction) {\n      let date;\n      if (this.props.date && !isNaN(this.props.date.getTime())) {\n        let hour = this.props.date.getHours();\n        let minute = this.props.date.getMinutes();\n        date = new Date(year, month, day, hour, minute);\n      } else {\n        date = new Date(year, month, day);\n      }\n\n      if (this.props.mode === \"datetime\") {\n        // Prepopulate and show time picker\n        const timeOptions = {\n          is24Hour: this.props.is24Hour,\n          mode: this.props.timePickerModeAndroid\n        };\n        if (this.props.date) {\n          timeOptions.hour = this.props.date.getHours();\n          timeOptions.minute = this.props.date.getMinutes();\n        }\n\n        let pickedTime;\n        try {\n          pickedTime = await TimePickerAndroid.open(timeOptions);\n        } catch ({ message }) {\n          console.warn(\"Cannot open time picker\", message);\n          return;\n        }\n\n        const { action: timeAction, hour, minute } = pickedTime;\n        if (timeAction !== TimePickerAndroid.dismissedAction) {\n          const selectedDate = new Date(year, month, day, hour, minute);\n          this.props.onConfirm(selectedDate);\n          this.props.onHideAfterConfirm(selectedDate);\n        } else {\n          this.props.onCancel();\n        }\n      } else {\n        this.props.onConfirm(date);\n        this.props.onHideAfterConfirm(date);\n      }\n    } else {\n      this.props.onCancel();\n    }\n  };\n\n  showTimePickerAndroid = async () => {\n    let picked;\n    try {\n      picked = await TimePickerAndroid.open({\n        hour: this.props.date.getHours(),\n        minute: this.props.date.getMinutes(),\n        is24Hour: this.props.is24Hour,\n        mode: this.props.timePickerModeAndroid\n      });\n    } catch ({ message }) {\n      console.warn(\"Cannot open time picker\", message);\n      return;\n    }\n\n    const { action, hour, minute } = picked;\n    if (action !== TimePickerAndroid.dismissedAction) {\n      let date;\n      if (this.props.date) {\n        // This prevents losing the Date elements, see issue #71\n        const year = this.props.date.getFullYear();\n        const month = this.props.date.getMonth();\n        const day = this.props.date.getDate();\n        date = new Date(year, month, day, hour, minute);\n      } else {\n        date = new Date().setHours(hour).setMinutes(minute);\n      }\n      this.props.onConfirm(date);\n      this.props.onHideAfterConfirm(date);\n    } else {\n      this.props.onCancel();\n    }\n  };\n\n  render() {\n    return null;\n  }\n}\n"]},"metadata":{},"sourceType":"module"}