{"version":3,"sources":["PickerWindows.windows.js"],"names":["React","processColor","requireNativeComponent","StyleSheet","RNCPicker","PickerWindows","Component","getDerivedStateFromProps","props","comboBox","_picker","event","setNativeProps","selectedIndex","state","text","onChange","onValueChange","nativeEvent","value","itemIndex","items","Children","toArray","children","forEach","c","index","child","selectedValue","push","label","textColor","color","render","nativeProps","enabled","_onChange","placeholder","testID","style","styles","pickerWindows","itemStyle","accessibilityLabel","_setRef","create","height"],"mappings":"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","sourcesContent":["/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n *\n * @flow strict-local\n */\n\n'use strict';\n\nimport React from 'react';\nimport {processColor, requireNativeComponent, StyleSheet} from 'react-native';\n\nimport type {SyntheticEvent} from 'CoreEventTypes';\nimport type {TextStyleProp} from 'StyleSheet';\n\nconst RNCPicker = requireNativeComponent('RNCPicker');\n\ntype PickerWindowsChangeEvent = SyntheticEvent<\n  $ReadOnly<{|\n    nativeEvent: {\n      value: any,\n      itemIndex: number,\n      text: string,\n    },\n  |}>,\n>;\n\ntype PickerWindowsProps = $ReadOnly<{|\n  children?: React.Node,\n  style?: ?TextStyleProp,\n  selectedValue?: any,\n  enabled?: boolean,\n  prompt?: string,\n  placeholder?: ?string,\n  testID?: string,\n  onChange?: (event: IPickerChangeEvent) => void,\n  onValueChange?: (value: any, itemIndex: number, text: string) => void,\n  accessibilityLabel?: ?string,\n  // Editable support\n  editable?: boolean,\n  text?: string,\n|}>;\n\ntype Item = $ReadOnly<{|\n  label: string,\n  value?: any,\n  color?: string,\n  testID?: string,\n|}>;\n\ntype PickerWindowsState = {|\n  selectedIndex: number,\n  items: $ReadOnlyArray<Item>,\n|};\n\n/**\n * Not exposed as a public API - use <Picker> instead.\n */\n\nclass PickerWindows extends React.Component<\n  PickerWindowsProps,\n  PickerWindowsState,\n> {\n  static getDerivedStateFromProps(\n    props: PickerWindowsProps,\n  ): PickerWindowsState {\n    let selectedIndex = -1;\n    const items: Item[] = [];\n    React.Children.toArray(props.children).forEach(\n      (c: React.ReactNode, index: number) => {\n        const child = (c: Item);\n        if (child.props.value === props.selectedValue) {\n          selectedIndex = index;\n        }\n        items.push({\n          value: child.props.value,\n          label: child.props.label,\n          textColor: processColor(child.props.color),\n        });\n      },\n    );\n    return {selectedIndex, items};\n  }\n\n  state = PickerWindows.getDerivedStateFromProps(this.props);\n\n  render() {\n    const nativeProps = {\n      enabled: this.props.enabled,\n      items: this.state.items,\n      onChange: this._onChange,\n      placeholder: this.props.placeholder,\n      selectedIndex: this.state.selectedIndex,\n      testID: this.props.testID,\n      style: [styles.pickerWindows, this.props.style, this.props.itemStyle],\n      accessibilityLabel: this.props.accessibilityLabel,\n    };\n\n    return (\n      <RNCPicker\n        ref={this._setRef}\n        {...nativeProps}\n        onStartShouldSetResponder={() => true}\n        onResponderTerminationRequest={() => false}\n      />\n    );\n  }\n\n  _setRef = (comboBox: PickerWindows) => {\n    this._picker = comboBox;\n  };\n\n  _onChange = (event: PickerWindowsChangeEvent) => {\n    if (this._picker) {\n      this._picker.setNativeProps({\n        selectedIndex: this.state.selectedIndex,\n        text: this.props.text,\n      });\n    }\n\n    this.props.onChange && this.props.onChange(event);\n    this.props.onValueChange &&\n      this.props.onValueChange(\n        event.nativeEvent.value,\n        event.nativeEvent.itemIndex,\n        event.nativeEvent.text,\n      );\n  };\n}\n\nconst styles = StyleSheet.create({\n  pickerWindows: {\n    height: 32,\n  },\n});\n\nexport default PickerWindows;\n"]}