zarm
Version:
基于 React 的移动端UI库
69 lines (67 loc) • 2.7 kB
JavaScript
import { createBEM } from '@zarm-design/bem';
import * as React from 'react';
import { ConfigContext } from '../config-provider';
import Popup from '../popup';
import SafeArea from '../safe-area';
import { noop } from '../utils';
var PickerContainer = /*#__PURE__*/React.forwardRef(function (props, ref) {
var className = props.className,
style = props.style,
visible = props.visible,
title = props.title,
confirmText = props.confirmText,
cancelText = props.cancelText,
maskClosable = props.maskClosable,
forceRender = props.forceRender,
destroy = props.destroy,
safeArea = props.safeArea,
mountContainer = props.mountContainer,
onConfirm = props.onConfirm,
onCancel = props.onCancel,
onClose = props.onClose,
afterOpen = props.afterOpen,
afterClose = props.afterClose,
children = props.children;
var _React$useContext = React.useContext(ConfigContext),
prefixCls = _React$useContext.prefixCls,
locale = _React$useContext.locale,
globalSafeArea = _React$useContext.safeArea;
var bem = createBEM('picker', {
prefixCls: prefixCls
});
return /*#__PURE__*/React.createElement(Popup, {
ref: ref,
visible: visible,
onMaskClick: maskClosable ? onClose : noop,
mountContainer: mountContainer,
forceRender: forceRender,
destroy: destroy,
afterOpen: afterOpen,
afterClose: afterClose
}, /*#__PURE__*/React.createElement("div", {
className: bem('', [className]),
style: style,
onClick: function onClick(event) {
event.stopPropagation();
}
}, /*#__PURE__*/React.createElement("div", {
className: bem('header')
}, /*#__PURE__*/React.createElement("div", {
className: bem('cancel'),
onClick: function onClick() {
return onCancel === null || onCancel === void 0 ? void 0 : onCancel();
}
}, cancelText || (locale === null || locale === void 0 ? void 0 : locale.Picker.cancelText)), /*#__PURE__*/React.createElement("div", {
className: bem('title')
}, title || (locale === null || locale === void 0 ? void 0 : locale.Picker.title)), /*#__PURE__*/React.createElement("div", {
className: bem('confirm'),
onClick: function onClick() {
return onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm();
}
}, confirmText || (locale === null || locale === void 0 ? void 0 : locale.Picker.confirmText))), /*#__PURE__*/React.createElement("div", {
className: bem('body')
}, children), (safeArea !== null && safeArea !== void 0 ? safeArea : globalSafeArea) && /*#__PURE__*/React.createElement(SafeArea, {
position: "bottom"
})));
});
export default PickerContainer;