{"version":3,"file":"magnet-highlighter.cjs","sources":["../../../src/presets/magnet-highlighter.ts"],"sourcesContent":["import type { dia} from '@joint/core';\nimport { highlighters, V } from '@joint/core';\nimport { CONNECTING_CLASS_NAME } from './link-view';\n\n/** Name used to register this highlighter in the paper's highlighterNamespace. */\nexport const MAGNET_HIGHLIGHTER_NAME = 'magnetHighlighter';\n\n/**\n * Custom highlighter that combines a stroke outline with a CSS class\n * on the magnet element. The stroke element carries `jj-magnet-highlighter` which\n * allows CSS @starting-style transitions to animate the highlighter's appearance.\n */\nexport const MagnetHighlighter = highlighters.stroke.extend({\n    className: 'jj-magnet-highlighter',\n    classNamePrefix: '',\n\n    highlight(this: highlighters.stroke, cellView: dia.CellView, node: SVGElement): void {\n        V(node).addClass(CONNECTING_CLASS_NAME);\n        highlighters.stroke.prototype.highlight.call(this, cellView, node);\n    },\n\n    unhighlight(_cellView: dia.CellView, node: SVGElement): void {\n        V(node).removeClass(CONNECTING_CLASS_NAME);\n        // @ts-expect-error - calling protected method of parent class\n        highlighters.stroke.prototype.unhighlight.call(this, _cellView, node);\n    },\n});\n"],"names":["highlighters","V","CONNECTING_CLASS_NAME"],"mappings":"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"}