@audira/carbon-react-native
Version:
Build React Native apps with component and shared patterns using Carbon
37 lines (36 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ToastProvider = void 0;
var _react = require("react");
var _index = require("../../contexts/index.js");
var _index2 = require("./_overlay/index.js");
var _jsxRuntime = require("react/jsx-runtime");
const ToastProvider = exports.ToastProvider = /*#__PURE__*/(0, _react.forwardRef)(function ToastProvider({
children
}, ref) {
const overlayRef = (0, _react.useRef)(null),
show = (0, _react.useCallback)((...args) => {
overlayRef.current?.show(...args);
}, []),
dismiss = (0, _react.useCallback)((...args) => {
overlayRef.current?.dismiss(...args);
}, []);
(0, _react.useImperativeHandle)(ref, () => {
return {
show,
dismiss
};
}, [show, dismiss]);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_index.ToastContext.Provider, {
value: {
show,
dismiss
},
children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_index2.Overlay, {
ref: overlayRef
})]
});
});
//# sourceMappingURL=ToastProvider.js.map