@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
45 lines (43 loc) • 1.68 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Component = exports.ActionSheetInstance = exports.ActionSheetComponent = void 0;
var _react = _interopRequireDefault(require("react"));
var _index = _interopRequireDefault(require("../portal/index.js"));
var _actionSheet = _interopRequireDefault(require("./action-sheet.js"));
var _actionSheetMethod = _interopRequireDefault(require("./action-sheet-method.js"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const ActionSheetInstance = opts => {
return new Promise((resolve, reject) => {
const key = _index.default.add(/*#__PURE__*/(0, _jsxRuntime.jsx)(_actionSheetMethod.default, {
...opts,
onClosed: () => {
_index.default.remove(key);
opts.onClosed?.();
},
onResponse: (action, item, index) => {
opts.onResponse?.(action, item, index);
// 语义上应该是指定某个操作,不会关系是如何取消的,所以 Promise 只关系点击了哪个操作
if (action === 'item') {
resolve({
item: item,
index: index
});
} else {
reject(new Error(action));
}
}
}));
});
};
exports.ActionSheetInstance = ActionSheetInstance;
const Component = props => /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.default, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_actionSheet.default, {
...props
})
});
exports.Component = Component;
const ActionSheetComponent = exports.ActionSheetComponent = Component;
//# sourceMappingURL=action-sheet-instance.js.map
;