@atlaskit/editor-plugin-card
Version:
Card plugin for @atlaskit/editor-core
22 lines • 652 B
JavaScript
import React, { useCallback, useMemo } from 'react';
import { useSmartLinkActions } from '@atlaskit/smart-card/hooks';
export const PreviewInvoker = ({
url,
appearance,
children
}) => {
const actions = useSmartLinkActions({
url,
appearance
});
const preview = useMemo(() => actions.find(action => action.id === 'preview-content'), [actions]);
const invokePreview = useCallback(() => {
try {
preview === null || preview === void 0 ? void 0 : preview.invoke();
} catch {}
}, [preview]);
return /*#__PURE__*/React.createElement(React.Fragment, null, children({
canPreview: !!preview,
invokePreview
}));
};