UNPKG

@atlaskit/editor-plugin-card

Version:

Card plugin for @atlaskit/editor-core

68 lines (67 loc) 2.5 kB
import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; /** * @jsxRuntime classic * @jsx jsx */ import { useCallback, useState } from 'react'; // not permitted to migrate atlaskit packages to compiled yet, see https://hello.atlassian.net/wiki/spaces/UAF/pages/3006969423/Migrating+AFM+platform+components+to+Compiled+a+guide // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports import { css, jsx } from '@emotion/react'; import { OverlayButton } from '@atlaskit/editor-common/link'; import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals'; var ConfigureOverlayWrapperStyles = css({ position: 'relative', left: "var(--ds-space-025, 2px)" }); var OverlayWrapper = function OverlayWrapper(_ref) { var view = _ref.view, targetElementPos = _ref.targetElementPos, children = _ref.children, hoverCallback = _ref.isHoveredCallback, onOpenLinkClick = _ref.onOpenLinkClick; var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), showConfigureButton = _useState2[0], setShowConfigureButton = _useState2[1]; var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), dropdownOpen = _useState4[0], setDropdownOpen = _useState4[1]; var onDropdownChange = useCallback(function (isOpen) { setDropdownOpen(isOpen); if (!isOpen) { setShowConfigureButton(false); } }, []); return jsx("span", { onMouseEnter: function onMouseEnter() { setShowConfigureButton(true); hoverCallback(true); }, onMouseLeave: function onMouseLeave() { if (!dropdownOpen) { setShowConfigureButton(false); hoverCallback(false); } }, onFocus: expValEquals('platform_editor_a11y_eslint_fix', 'isEnabled', true) ? function () { setShowConfigureButton(true); hoverCallback(true); } : undefined, onBlur: expValEquals('platform_editor_a11y_eslint_fix', 'isEnabled', true) ? function () { if (!dropdownOpen) { setShowConfigureButton(false); hoverCallback(false); } } : undefined, "data-testid": "inline-card-overlay-wrapper" }, jsx("span", { css: ConfigureOverlayWrapperStyles }, showConfigureButton && jsx(OverlayButton, { editorView: view, targetElementPos: targetElementPos, onDropdownChange: onDropdownChange, onOpenLinkClick: onOpenLinkClick })), children); }; export default OverlayWrapper;