@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
17 lines • 1.42 kB
JavaScript
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import { PlusIcon } from "@patternfly/react-icons";
import { getBezierPath, getMarkerEnd } from "reactflow";
const foreignObjectSize = 33;
export const ButtonEdge = ({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, label, style = {}, markerType, markerEndId, selected, data: { onEdgeClick }, }) => {
const [edgePath, edgeLabelX, edgeLabelY] = getBezierPath({
sourceX,
sourceY,
sourcePosition,
targetX,
targetY,
targetPosition,
});
const markerEnd = getMarkerEnd(markerType, markerEndId);
return (_jsxs(_Fragment, { children: [_jsx("path", { id: id, style: style, className: "react-flow__edge-path", d: edgePath, markerEnd: markerEnd }), !selected && (_jsx("text", { children: _jsx("textPath", { href: `#${id}`, style: { fontSize: "11px" }, startOffset: "50%", textAnchor: "middle", children: label }) })), selected && (_jsx("foreignObject", { width: foreignObjectSize, height: foreignObjectSize, x: edgeLabelX - foreignObjectSize / 2, y: edgeLabelY - foreignObjectSize / 2, className: "edgebutton-foreignobject", requiredExtensions: "http://www.w3.org/1999/xhtml", children: _jsx("button", { className: "edgebutton", onClick: (event) => onEdgeClick(event, id), children: _jsx(PlusIcon, {}) }) }))] }));
};
//# sourceMappingURL=ButtonEdge.js.map