forked from facebook/react-native
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
RCTSegmentedControl (facebook#23000)
Summary: Changelog: ---------- [iOS] [Changed] - follow facebook#22990, move the call to requireNativeComponent from `SegmentedControlIOS.ios.js` to `RCTSegmentedControlNativeComponent.js` Pull Request resolved: facebook#23000 Differential Revision: D13697168 Pulled By: TheSavior fbshipit-source-id: 83a66279d2fcd5a29d2ebc9cf5b5273947d96281
- Loading branch information
1 parent
cccf062
commit af41e56
Showing
2 changed files
with
71 additions
and
13 deletions.
There are no files selected for viewing
67 changes: 67 additions & 0 deletions
67
Libraries/Components/SegmentedControlIOS/RCTSegmentedControlNativeComponent.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
/** | ||
* Copyright (c) Facebook, Inc. and its affiliates. | ||
* | ||
* This source code is licensed under the MIT license found in the | ||
* LICENSE file in the root directory of this source tree. | ||
* | ||
* @flow | ||
* @format | ||
*/ | ||
'use strict'; | ||
|
||
const requireNativeComponent = require('requireNativeComponent'); | ||
|
||
import type {ViewProps} from 'ViewPropTypes'; | ||
import type {SyntheticEvent} from 'CoreEventTypes'; | ||
import type {NativeComponent} from 'ReactNative'; | ||
|
||
type Event = SyntheticEvent< | ||
$ReadOnly<{| | ||
value: number, | ||
selectedSegmentIndex: number, | ||
|}>, | ||
>; | ||
|
||
type SegmentedControlIOSProps = $ReadOnly<{| | ||
...ViewProps, | ||
/** | ||
* The labels for the control's segment buttons, in order. | ||
*/ | ||
values?: $ReadOnlyArray<string>, | ||
/** | ||
* The index in `props.values` of the segment to be (pre)selected. | ||
*/ | ||
selectedIndex?: ?number, | ||
/** | ||
* Callback that is called when the user taps a segment; | ||
* passes the segment's value as an argument | ||
*/ | ||
onValueChange?: ?(value: number) => mixed, | ||
/** | ||
* Callback that is called when the user taps a segment; | ||
* passes the event as an argument | ||
*/ | ||
onChange?: ?(event: Event) => mixed, | ||
/** | ||
* If false the user won't be able to interact with the control. | ||
* Default value is true. | ||
*/ | ||
enabled?: boolean, | ||
/** | ||
* Accent color of the control. | ||
*/ | ||
tintColor?: ?string, | ||
/** | ||
* If true, then selecting a segment won't persist visually. | ||
* The `onValueChange` callback will still work as expected. | ||
*/ | ||
momentary?: ?boolean, | ||
|}>; | ||
|
||
type NativeSegmentedControlIOS = Class< | ||
NativeComponent<SegmentedControlIOSProps>, | ||
>; | ||
|
||
module.exports = ((requireNativeComponent( | ||
'RCTSegmentedControl', | ||
): any): NativeSegmentedControlIOS); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters