@livelike/react-native
Version:
LiveLike React Native package
72 lines (71 loc) • 2.26 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.LLBasePicker = LLBasePicker;
var _react = _interopRequireDefault(require("react"));
var _reactNative = require("react-native");
var _hooks = require("../../hooks");
var _LLPickerEmptyComponent = require("./LLPickerEmptyComponent");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function LLBasePicker(_ref) {
let {
visible,
loading,
packItems,
styles: stylesProp,
EmptyPickerComponent = _LLPickerEmptyComponent.LLPickerEmptyComponent,
PickerItemComponent,
PickerHeaderComponent
} = _ref;
const {
theme
} = (0, _hooks.useTheme)();
const pickerStyles = (0, _hooks.useStyles)({
componentStylesFn: getPickerStyles,
stylesProp
});
if (!visible) {
return null;
}
return /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: pickerStyles.pickerContainer
}, PickerHeaderComponent && PickerHeaderComponent(), loading ? /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
size: 'large',
color: theme.text,
style: pickerStyles.pickerLoadingIndicator
}) : /*#__PURE__*/_react.default.createElement(_reactNative.ScrollView, {
style: pickerStyles.pickerItemsScrollview,
keyboardShouldPersistTaps: 'always'
}, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
style: pickerStyles.pickerItemContainer
}, !packItems || packItems.length === 0 ? /*#__PURE__*/_react.default.createElement(EmptyPickerComponent, null) : packItems.map(item => /*#__PURE__*/_react.default.createElement(PickerItemComponent, {
key: item.id,
item: item
})))));
}
const getPickerStyles = _ref2 => {
let {
theme
} = _ref2;
return _reactNative.StyleSheet.create({
pickerContainer: {
minHeight: 300,
maxHeight: 300,
backgroundColor: theme.secondaryBackground
},
pickerItemsScrollview: {
paddingTop: 10
},
pickerItemContainer: {
position: 'relative',
flexDirection: 'row',
flexWrap: 'wrap',
justifyContent: 'space-evenly'
},
pickerLoadingIndicator: {
flex: 1
}
});
};
//# sourceMappingURL=LLBasePicker.js.map