@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
26 lines (25 loc) • 1.11 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useProps } from '@mantine/core';
import { Children, useState } from 'react';
import { InlineConfirmProvider } from './InlineConfirmContext';
import { InlineConfirmPrompt } from './InlineConfirmPrompt';
import { InlineConfirmTarget } from './InlineConfirmTarget';
const defaultProps = {};
export const InlineConfirm = (_props)=>{
const { children } = useProps('InlineConfirm', defaultProps, _props);
const [confirmingId, setConfirmingId] = useState(null);
const convertedChildren = Children.toArray(children);
const prompt = convertedChildren.find((child)=>child.type !== InlineConfirmTarget && child.props?.inlineConfirmId === confirmingId);
const clearConfirm = ()=>setConfirmingId(null);
return /*#__PURE__*/ _jsx(InlineConfirmProvider, {
value: {
confirmingId,
setConfirmingId,
clearConfirm
},
children: prompt ?? children
});
};
InlineConfirm.Prompt = InlineConfirmPrompt;
InlineConfirm.Target = InlineConfirmTarget;
//# sourceMappingURL=InlineConfirm.js.map