tuya-panel-kit
Version:
a functional component library for developing tuya device panels!
239 lines (191 loc) • 7.86 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _jsxFileName = 'src/components/popup/index.js';
var _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; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _modal = require('../modal');
var _modal2 = _interopRequireDefault(_modal);
var _countdown = require('./countdown');
var _countdown2 = _interopRequireDefault(_countdown);
var _datePicker = require('./date-picker');
var _datePicker2 = _interopRequireDefault(_datePicker);
var _timerPicker = require('./timer-picker');
var _timerPicker2 = _interopRequireDefault(_timerPicker);
var _numberSelector = require('./number-selector');
var _numberSelector2 = _interopRequireDefault(_numberSelector);
var _list = require('./list');
var _list2 = _interopRequireDefault(_list);
var _picker = require('./picker');
var _picker2 = _interopRequireDefault(_picker);
var _custom = require('./custom');
var _custom2 = _interopRequireDefault(_custom);
var _notificationLegacy = require('../notification-legacy');
var _notificationLegacy2 = _interopRequireDefault(_notificationLegacy);
var _dropdown = require('./dropdown');
var _dropdown2 = _interopRequireDefault(_dropdown);
var _tips = require('../tips');
var _tips2 = _interopRequireDefault(_tips);
var _utils = require('../../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var cx = _utils.RatioUtils.convertX;
var commonProps = {
onCancel: _modal2.default.close,
onConfirm: _modal2.default.close
};
var commonModalProps = {
alignContainer: 'bottom',
onMaskPress: _modal2.default.close
};
var Popup = {
countdown: function countdown(props, modalOpts) {
var countdownProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_countdown2.default, _extends({}, countdownProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 31
}
})), modalProps);
},
datePicker: function datePicker(props, modalOpts) {
var datePickerProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_datePicker2.default, _extends({}, datePickerProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 37
}
})), modalProps);
},
numberSelector: function numberSelector(props, modalOpts) {
var numberSelectorProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_numberSelector2.default, _extends({}, numberSelectorProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 43
}
})), modalProps);
},
list: function list(props, modalOpts) {
var listProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_list2.default, _extends({}, listProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 49
}
})), modalProps);
},
picker: function picker(props, modalOpts) {
var pickerProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_picker2.default, _extends({}, pickerProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 55
}
})), modalProps);
},
custom: function custom(props, modalOpts) {
var customProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_custom2.default, _extends({}, customProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 61
}
})), modalProps);
},
timerPicker: function timerPicker(props, modalOpts) {
var timerPickerProps = _extends({}, commonProps, props);
var modalProps = _extends({}, commonModalProps, modalOpts);
_modal2.default.render(_react2.default.createElement(_timerPicker2.default, _extends({}, timerPickerProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 67
}
})), modalProps);
},
toast: function toast(props, modalOpts) {
if (__DEV__) {
console.warn('Popup.toast 已废弃,可能将会在后续版本中移除,请考虑使用 Notification.show');
}
var noticeProps = _extends({
onClose: _modal2.default.close
}, props);
var modalProps = _extends({
alignContainer: 'top',
mask: false
}, modalOpts);
_modal2.default.render(_react2.default.createElement(_notificationLegacy2.default, _extends({}, noticeProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 83
}
})), modalProps);
},
tips: function tips(props, modalOpts) {
var contentStyle = props.contentStyle,
modalChildStyle = props.modalChildStyle,
maskStyle = props.maskStyle,
alignContainer = props.alignContainer,
onMaskPress = props.onMaskPress;
var maskWidth = contentStyle !== undefined && contentStyle.width ? contentStyle.width : cx(64);
var modalStyle = void 0;
if (modalChildStyle !== undefined && modalChildStyle.height) {
var height = modalChildStyle.height,
rest = _objectWithoutProperties(modalChildStyle, ['height']);
modalStyle = rest;
} else {
modalStyle = modalChildStyle;
}
var modalProps = _extends({}, modalOpts, {
maskStyle: [{ backgroundColor: 'rgba(0, 0, 0, 0.1)', alignItems: 'center' }, maskStyle],
modalChildStyle: [modalStyle, { minWidth: maskWidth }],
alignContainer: alignContainer || 'center'
});
_modal2.default.render(_react2.default.createElement(_tips2.default, _extends({}, props, { withModal: true, __source: {
fileName: _jsxFileName,
lineNumber: 103
}
})), modalProps);
},
dropdown: function dropdown(props, modalOpts) {
var listProps = _extends({}, commonProps, props);
var dropdownDirectionX = props.dropdownDirectionX,
dropdownDirectionY = props.dropdownDirectionY,
dropdownDirectionXValue = props.dropdownDirectionXValue,
dropdownDirectionYValue = props.dropdownDirectionYValue;
var maskStyle = {
alignItems: dropdownDirectionX === 'left' ? 'flex-start' : 'flex-end',
backgroundColor: 'transparent'
};
if (dropdownDirectionX === 'left') {
maskStyle.left = dropdownDirectionXValue || 0;
} else {
maskStyle.right = dropdownDirectionXValue || 0;
}
if (dropdownDirectionY === 'bottom') {
maskStyle.bottom = dropdownDirectionYValue || 0;
} else {
maskStyle.top = dropdownDirectionYValue || 0;
}
var modalProps = _extends({}, commonModalProps, modalOpts, {
maskStyle: maskStyle,
alignContainer: dropdownDirectionY || 'top'
});
_modal2.default.render(_react2.default.createElement(_dropdown2.default, _extends({}, listProps, {
__source: {
fileName: _jsxFileName,
lineNumber: 136
}
})), modalProps);
},
close: _modal2.default.close,
render: _modal2.default.render
};
exports.default = Popup;