/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ #import "RCTDatePickerManager.h" #import "RCTBridge.h" #import "RCTDatePicker.h" #import "RCTEventDispatcher.h" #import "UIView+React.h" @implementation RCTConvert(UIDatePicker) RCT_ENUM_CONVERTER(UIDatePickerMode, (@{ @"time": @(UIDatePickerModeTime), @"date": @(UIDatePickerModeDate), @"datetime": @(UIDatePickerModeDateAndTime), @"countdown": @(UIDatePickerModeCountDownTimer), // not supported yet }), UIDatePickerModeTime, integerValue) @end @implementation RCTDatePickerManager RCT_EXPORT_MODULE() - (UIView *)view { return [RCTDatePicker new]; } RCT_EXPORT_VIEW_PROPERTY(date, NSDate) RCT_EXPORT_VIEW_PROPERTY(minimumDate, NSDate) RCT_EXPORT_VIEW_PROPERTY(maximumDate, NSDate) RCT_EXPORT_VIEW_PROPERTY(minuteInterval, NSInteger) RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock) RCT_REMAP_VIEW_PROPERTY(mode, datePickerMode, UIDatePickerMode) RCT_REMAP_VIEW_PROPERTY(timeZoneOffsetInMinutes, timeZone, NSTimeZone) - (NSDictionary *)constantsToExport { UIDatePicker *view = [UIDatePicker new]; return @{ @"ComponentHeight": @(view.intrinsicContentSize.height), @"ComponentWidth": @(view.intrinsicContentSize.width), }; } @end