UNPKG

@fruits-chain/react-native-xiaoshu

Version:
45 lines (43 loc) 1.68 kB
"use strict"; 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