react95-native
Version:
Refreshed Windows 95 style UI components for your React Native app
52 lines (47 loc) • 1.45 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import React from 'react';
import { StyleSheet, View } from 'react-native';
import { withTheme } from '../../core/theming';
import getSelectOptions from './SelectBase';
import { ScrollView, Panel } from '../..'; // TODO: multiselect
const SelectBox = ({
onChange,
options = [],
style,
theme,
value,
...rest
}) => {
const [, selectOptions] = getSelectOptions({
theme,
options,
values: [value],
onChange: handleOptionSelect
});
function handleOptionSelect(option) {
onChange(option.value);
}
return /*#__PURE__*/React.createElement(Panel, _extends({
theme: theme,
variant: "cutout",
background: "canvas",
style: [styles.wrapper, style]
}, rest), /*#__PURE__*/React.createElement(ScrollView, {
theme: theme
}, /*#__PURE__*/React.createElement(View, {
style: [styles.content, {
backgroundColor: theme.canvas
}]
}, selectOptions)));
};
export default withTheme(SelectBox);
const styles = StyleSheet.create({
wrapper: {
paddingVertical: 4,
paddingHorizontal: 4
},
content: {
padding: 2
}
});
//# sourceMappingURL=SelectBox.js.map