{"version":3,"file":"static/js/vendors-a7b43752.82bbbb03.js","mappings":"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","sources":["../node_modules/@reactflow/minimap/node_modules/zustand/esm/shallow.mjs","../node_modules/@reactflow/minimap/dist/esm/index.mjs","../node_modules/@reactflow/node-resizer/dist/esm/index.mjs","../node_modules/@reactflow/node-toolbar/node_modules/zustand/esm/shallow.mjs","../node_modules/@reactflow/node-toolbar/dist/esm/index.mjs"],"sourcesContent":["function shallow$1(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nvar shallow = (objA, objB) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { shallow } from 'zustand/shallow'`.\"\n );\n }\n return shallow$1(objA, objB);\n};\n\nexport { shallow as default, shallow$1 as shallow };\n","import React, { memo, useRef, useEffect } from 'react';\nimport cc from 'classcat';\nimport { shallow } from 'zustand/shallow';\nimport { zoom, zoomIdentity } from 'd3-zoom';\nimport { select, pointer } from 'd3-selection';\nimport { useStore, getNodePositionWithOrigin, useStoreApi, Panel, getBoundsOfRects, getNodesBounds } from '@reactflow/core';\n\nconst MiniMapNode = ({ id, x, y, width, height, style, color, strokeColor, strokeWidth, className, borderRadius, shapeRendering, onClick, selected, }) => {\n const { background, backgroundColor } = style || {};\n const fill = (color || background || backgroundColor);\n return (React.createElement(\"rect\", { className: cc(['react-flow__minimap-node', { selected }, className]), x: x, y: y, rx: borderRadius, ry: borderRadius, width: width, height: height, fill: fill, stroke: strokeColor, strokeWidth: strokeWidth, shapeRendering: shapeRendering, onClick: onClick ? (event) => onClick(event, id) : undefined }));\n};\nMiniMapNode.displayName = 'MiniMapNode';\nvar MiniMapNode$1 = memo(MiniMapNode);\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nconst selector$1 = (s) => s.nodeOrigin;\nconst selectorNodes = (s) => s.getNodes().filter((node) => !node.hidden && node.width && node.height);\nconst getAttrFunction = (func) => (func instanceof Function ? func : () => func);\nfunction MiniMapNodes({ nodeStrokeColor = 'transparent', nodeColor = '#e2e2e2', nodeClassName = '', nodeBorderRadius = 5, nodeStrokeWidth = 2, \n// We need to rename the prop to be `CapitalCase` so that JSX will render it as\n// a component properly.\nnodeComponent: NodeComponent = MiniMapNode$1, onClick, }) {\n const nodes = useStore(selectorNodes, shallow);\n const nodeOrigin = useStore(selector$1);\n const nodeColorFunc = getAttrFunction(nodeColor);\n const nodeStrokeColorFunc = getAttrFunction(nodeStrokeColor);\n const nodeClassNameFunc = getAttrFunction(nodeClassName);\n const shapeRendering = typeof window === 'undefined' || !!window.chrome ? 'crispEdges' : 'geometricPrecision';\n return (React.createElement(React.Fragment, null, nodes.map((node) => {\n const { x, y } = getNodePositionWithOrigin(node, nodeOrigin).positionAbsolute;\n return (React.createElement(NodeComponent, { key: node.id, x: x, y: y, width: node.width, height: node.height, style: node.style, selected: node.selected, className: nodeClassNameFunc(node), color: nodeColorFunc(node), borderRadius: nodeBorderRadius, strokeColor: nodeStrokeColorFunc(node), strokeWidth: nodeStrokeWidth, shapeRendering: shapeRendering, onClick: onClick, id: node.id }));\n })));\n}\nvar MiniMapNodes$1 = memo(MiniMapNodes);\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nconst defaultWidth = 200;\nconst defaultHeight = 150;\nconst selector = (s) => {\n const nodes = s.getNodes();\n const viewBB = {\n x: -s.transform[0] / s.transform[2],\n y: -s.transform[1] / s.transform[2],\n width: s.width / s.transform[2],\n height: s.height / s.transform[2],\n };\n return {\n viewBB,\n boundingRect: nodes.length > 0 ? getBoundsOfRects(getNodesBounds(nodes, s.nodeOrigin), viewBB) : viewBB,\n rfId: s.rfId,\n };\n};\nconst ARIA_LABEL_KEY = 'react-flow__minimap-desc';\nfunction MiniMap({ style, className, nodeStrokeColor = 'transparent', nodeColor = '#e2e2e2', nodeClassName = '', nodeBorderRadius = 5, nodeStrokeWidth = 2, \n// We need to rename the prop to be `CapitalCase` so that JSX will render it as\n// a component properly.\nnodeComponent, maskColor = 'rgb(240, 240, 240, 0.6)', maskStrokeColor = 'none', maskStrokeWidth = 1, position = 'bottom-right', onClick, onNodeClick, pannable = false, zoomable = false, ariaLabel = 'React Flow mini map', inversePan = false, zoomStep = 10, offsetScale = 5, }) {\n const store = useStoreApi();\n const svg = useRef(null);\n const { boundingRect, viewBB, rfId } = useStore(selector, shallow);\n const elementWidth = style?.width ?? defaultWidth;\n const elementHeight = style?.height ?? defaultHeight;\n const scaledWidth = boundingRect.width / elementWidth;\n const scaledHeight = boundingRect.height / elementHeight;\n const viewScale = Math.max(scaledWidth, scaledHeight);\n const viewWidth = viewScale * elementWidth;\n const viewHeight = viewScale * elementHeight;\n const offset = offsetScale * viewScale;\n const x = boundingRect.x - (viewWidth - boundingRect.width) / 2 - offset;\n const y = boundingRect.y - (viewHeight - boundingRect.height) / 2 - offset;\n const width = viewWidth + offset * 2;\n const height = viewHeight + offset * 2;\n const labelledBy = `${ARIA_LABEL_KEY}-${rfId}`;\n const viewScaleRef = useRef(0);\n viewScaleRef.current = viewScale;\n useEffect(() => {\n if (svg.current) {\n const selection = select(svg.current);\n const zoomHandler = (event) => {\n const { transform, d3Selection, d3Zoom } = store.getState();\n if (event.sourceEvent.type !== 'wheel' || !d3Selection || !d3Zoom) {\n return;\n }\n const pinchDelta = -event.sourceEvent.deltaY *\n (event.sourceEvent.deltaMode === 1 ? 0.05 : event.sourceEvent.deltaMode ? 1 : 0.002) *\n zoomStep;\n const zoom = transform[2] * Math.pow(2, pinchDelta);\n d3Zoom.scaleTo(d3Selection, zoom);\n };\n const panHandler = (event) => {\n const { transform, d3Selection, d3Zoom, translateExtent, width, height } = store.getState();\n if (event.sourceEvent.type !== 'mousemove' || !d3Selection || !d3Zoom) {\n return;\n }\n // @TODO: how to calculate the correct next position? Math.max(1, transform[2]) is a workaround.\n const moveScale = viewScaleRef.current * Math.max(1, transform[2]) * (inversePan ? -1 : 1);\n const position = {\n x: transform[0] - event.sourceEvent.movementX * moveScale,\n y: transform[1] - event.sourceEvent.movementY * moveScale,\n };\n const extent = [\n [0, 0],\n [width, height],\n ];\n const nextTransform = zoomIdentity.translate(position.x, position.y).scale(transform[2]);\n const constrainedTransform = d3Zoom.constrain()(nextTransform, extent, translateExtent);\n d3Zoom.transform(d3Selection, constrainedTransform);\n };\n const zoomAndPanHandler = zoom()\n // @ts-ignore\n .on('zoom', pannable ? panHandler : null)\n // @ts-ignore\n .on('zoom.wheel', zoomable ? zoomHandler : null);\n selection.call(zoomAndPanHandler);\n return () => {\n selection.on('zoom', null);\n };\n }\n }, [pannable, zoomable, inversePan, zoomStep]);\n const onSvgClick = onClick\n ? (event) => {\n const rfCoord = pointer(event);\n onClick(event, { x: rfCoord[0], y: rfCoord[1] });\n }\n : undefined;\n const onSvgNodeClick = onNodeClick\n ? (event, nodeId) => {\n const node = store.getState().nodeInternals.get(nodeId);\n onNodeClick(event, node);\n }\n : undefined;\n return (React.createElement(Panel, { position: position, style: style, className: cc(['react-flow__minimap', className]), \"data-testid\": \"rf__minimap\" },\n React.createElement(\"svg\", { width: elementWidth, height: elementHeight, viewBox: `${x} ${y} ${width} ${height}`, role: \"img\", \"aria-labelledby\": labelledBy, ref: svg, onClick: onSvgClick },\n ariaLabel && React.createElement(\"title\", { id: labelledBy }, ariaLabel),\n React.createElement(MiniMapNodes$1, { onClick: onSvgNodeClick, nodeColor: nodeColor, nodeStrokeColor: nodeStrokeColor, nodeBorderRadius: nodeBorderRadius, nodeClassName: nodeClassName, nodeStrokeWidth: nodeStrokeWidth, nodeComponent: nodeComponent }),\n React.createElement(\"path\", { className: \"react-flow__minimap-mask\", d: `M${x - offset},${y - offset}h${width + offset * 2}v${height + offset * 2}h${-width - offset * 2}z\n M${viewBB.x},${viewBB.y}h${viewBB.width}v${viewBB.height}h${-viewBB.width}z`, fill: maskColor, fillRule: \"evenodd\", stroke: maskStrokeColor, strokeWidth: maskStrokeWidth, pointerEvents: \"none\" }))));\n}\nMiniMap.displayName = 'MiniMap';\nvar MiniMap$1 = memo(MiniMap);\n\nexport { MiniMap$1 as MiniMap };\n","import React, { memo, useRef, useEffect } from 'react';\nimport cc from 'classcat';\nimport { drag } from 'd3-drag';\nimport { select } from 'd3-selection';\nimport { useNodeId, useStoreApi, useGetPointerPosition, clamp } from '@reactflow/core';\n\nvar ResizeControlVariant;\n(function (ResizeControlVariant) {\n ResizeControlVariant[\"Line\"] = \"line\";\n ResizeControlVariant[\"Handle\"] = \"handle\";\n})(ResizeControlVariant || (ResizeControlVariant = {}));\n\n// returns an array of two numbers (0, 1 or -1) representing the direction of the resize\n// 0 = no change, 1 = increase, -1 = decrease\nfunction getDirection({ width, prevWidth, height, prevHeight, invertX, invertY }) {\n const deltaWidth = width - prevWidth;\n const deltaHeight = height - prevHeight;\n const direction = [deltaWidth > 0 ? 1 : deltaWidth < 0 ? -1 : 0, deltaHeight > 0 ? 1 : deltaHeight < 0 ? -1 : 0];\n if (deltaWidth && invertX) {\n direction[0] = direction[0] * -1;\n }\n if (deltaHeight && invertY) {\n direction[1] = direction[1] * -1;\n }\n return direction;\n}\n\nconst initPrevValues = { width: 0, height: 0, x: 0, y: 0 };\nconst initStartValues = {\n ...initPrevValues,\n pointerX: 0,\n pointerY: 0,\n aspectRatio: 1,\n};\nfunction ResizeControl({ nodeId, position, variant = ResizeControlVariant.Handle, className, style = {}, children, color, minWidth = 10, minHeight = 10, maxWidth = Number.MAX_VALUE, maxHeight = Number.MAX_VALUE, keepAspectRatio = false, shouldResize, onResizeStart, onResize, onResizeEnd, }) {\n const contextNodeId = useNodeId();\n const id = typeof nodeId === 'string' ? nodeId : contextNodeId;\n const store = useStoreApi();\n const resizeControlRef = useRef(null);\n const startValues = useRef(initStartValues);\n const prevValues = useRef(initPrevValues);\n const getPointerPosition = useGetPointerPosition();\n const defaultPosition = variant === ResizeControlVariant.Line ? 'right' : 'bottom-right';\n const controlPosition = position ?? defaultPosition;\n useEffect(() => {\n if (!resizeControlRef.current || !id) {\n return;\n }\n const selection = select(resizeControlRef.current);\n const enableX = controlPosition.includes('right') || controlPosition.includes('left');\n const enableY = controlPosition.includes('bottom') || controlPosition.includes('top');\n const invertX = controlPosition.includes('left');\n const invertY = controlPosition.includes('top');\n const dragHandler = drag()\n .on('start', (event) => {\n const node = store.getState().nodeInternals.get(id);\n const { xSnapped, ySnapped } = getPointerPosition(event);\n prevValues.current = {\n width: node?.width ?? 0,\n height: node?.height ?? 0,\n x: node?.position.x ?? 0,\n y: node?.position.y ?? 0,\n };\n startValues.current = {\n ...prevValues.current,\n pointerX: xSnapped,\n pointerY: ySnapped,\n aspectRatio: prevValues.current.width / prevValues.current.height,\n };\n onResizeStart?.(event, { ...prevValues.current });\n })\n .on('drag', (event) => {\n const { nodeInternals, triggerNodeChanges } = store.getState();\n const { xSnapped, ySnapped } = getPointerPosition(event);\n const node = nodeInternals.get(id);\n if (node) {\n const changes = [];\n const { pointerX: startX, pointerY: startY, width: startWidth, height: startHeight, x: startNodeX, y: startNodeY, aspectRatio, } = startValues.current;\n const { x: prevX, y: prevY, width: prevWidth, height: prevHeight } = prevValues.current;\n const distX = Math.floor(enableX ? xSnapped - startX : 0);\n const distY = Math.floor(enableY ? ySnapped - startY : 0);\n let width = clamp(startWidth + (invertX ? -distX : distX), minWidth, maxWidth);\n let height = clamp(startHeight + (invertY ? -distY : distY), minHeight, maxHeight);\n if (keepAspectRatio) {\n const nextAspectRatio = width / height;\n const isDiagonal = enableX && enableY;\n const isHorizontal = enableX && !enableY;\n const isVertical = enableY && !enableX;\n width = (nextAspectRatio <= aspectRatio && isDiagonal) || isVertical ? height * aspectRatio : width;\n height = (nextAspectRatio > aspectRatio && isDiagonal) || isHorizontal ? width / aspectRatio : height;\n if (width >= maxWidth) {\n width = maxWidth;\n height = maxWidth / aspectRatio;\n }\n else if (width <= minWidth) {\n width = minWidth;\n height = minWidth / aspectRatio;\n }\n if (height >= maxHeight) {\n height = maxHeight;\n width = maxHeight * aspectRatio;\n }\n else if (height <= minHeight) {\n height = minHeight;\n width = minHeight * aspectRatio;\n }\n }\n const isWidthChange = width !== prevWidth;\n const isHeightChange = height !== prevHeight;\n if (invertX || invertY) {\n const x = invertX ? startNodeX - (width - startWidth) : startNodeX;\n const y = invertY ? startNodeY - (height - startHeight) : startNodeY;\n // only transform the node if the width or height changes\n const isXPosChange = x !== prevX && isWidthChange;\n const isYPosChange = y !== prevY && isHeightChange;\n if (isXPosChange || isYPosChange) {\n const positionChange = {\n id: node.id,\n type: 'position',\n position: {\n x: isXPosChange ? x : prevX,\n y: isYPosChange ? y : prevY,\n },\n };\n changes.push(positionChange);\n prevValues.current.x = positionChange.position.x;\n prevValues.current.y = positionChange.position.y;\n }\n }\n if (isWidthChange || isHeightChange) {\n const dimensionChange = {\n id: id,\n type: 'dimensions',\n updateStyle: true,\n resizing: true,\n dimensions: {\n width: width,\n height: height,\n },\n };\n changes.push(dimensionChange);\n prevValues.current.width = width;\n prevValues.current.height = height;\n }\n if (changes.length === 0) {\n return;\n }\n const direction = getDirection({\n width: prevValues.current.width,\n prevWidth,\n height: prevValues.current.height,\n prevHeight,\n invertX,\n invertY,\n });\n const nextValues = { ...prevValues.current, direction };\n const callResize = shouldResize?.(event, nextValues);\n if (callResize === false) {\n return;\n }\n onResize?.(event, nextValues);\n triggerNodeChanges(changes);\n }\n })\n .on('end', (event) => {\n const dimensionChange = {\n id: id,\n type: 'dimensions',\n resizing: false,\n };\n onResizeEnd?.(event, { ...prevValues.current });\n store.getState().triggerNodeChanges([dimensionChange]);\n });\n selection.call(dragHandler);\n return () => {\n selection.on('.drag', null);\n };\n }, [\n id,\n controlPosition,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n keepAspectRatio,\n getPointerPosition,\n onResizeStart,\n onResize,\n onResizeEnd,\n ]);\n const positionClassNames = controlPosition.split('-');\n const colorStyleProp = variant === ResizeControlVariant.Line ? 'borderColor' : 'backgroundColor';\n const controlStyle = color ? { ...style, [colorStyleProp]: color } : style;\n return (React.createElement(\"div\", { className: cc(['react-flow__resize-control', 'nodrag', ...positionClassNames, variant, className]), ref: resizeControlRef, style: controlStyle }, children));\n}\nvar ResizeControl$1 = memo(ResizeControl);\n\nconst handleControls = ['top-left', 'top-right', 'bottom-left', 'bottom-right'];\nconst lineControls = ['top', 'right', 'bottom', 'left'];\nfunction NodeResizer({ nodeId, isVisible = true, handleClassName, handleStyle, lineClassName, lineStyle, color, minWidth = 10, minHeight = 10, maxWidth = Number.MAX_VALUE, maxHeight = Number.MAX_VALUE, keepAspectRatio = false, shouldResize, onResizeStart, onResize, onResizeEnd, }) {\n if (!isVisible) {\n return null;\n }\n return (React.createElement(React.Fragment, null,\n lineControls.map((c) => (React.createElement(ResizeControl$1, { key: c, className: lineClassName, style: lineStyle, nodeId: nodeId, position: c, variant: ResizeControlVariant.Line, color: color, minWidth: minWidth, minHeight: minHeight, maxWidth: maxWidth, maxHeight: maxHeight, onResizeStart: onResizeStart, keepAspectRatio: keepAspectRatio, shouldResize: shouldResize, onResize: onResize, onResizeEnd: onResizeEnd }))),\n handleControls.map((c) => (React.createElement(ResizeControl$1, { key: c, className: handleClassName, style: handleStyle, nodeId: nodeId, position: c, color: color, minWidth: minWidth, minHeight: minHeight, maxWidth: maxWidth, maxHeight: maxHeight, onResizeStart: onResizeStart, keepAspectRatio: keepAspectRatio, shouldResize: shouldResize, onResize: onResize, onResizeEnd: onResizeEnd })))));\n}\n\nexport { ResizeControl$1 as NodeResizeControl, NodeResizer, ResizeControlVariant };\n","function shallow$1(objA, objB) {\n if (Object.is(objA, objB)) {\n return true;\n }\n if (typeof objA !== \"object\" || objA === null || typeof objB !== \"object\" || objB === null) {\n return false;\n }\n if (objA instanceof Map && objB instanceof Map) {\n if (objA.size !== objB.size) return false;\n for (const [key, value] of objA) {\n if (!Object.is(value, objB.get(key))) {\n return false;\n }\n }\n return true;\n }\n if (objA instanceof Set && objB instanceof Set) {\n if (objA.size !== objB.size) return false;\n for (const value of objA) {\n if (!objB.has(value)) {\n return false;\n }\n }\n return true;\n }\n const keysA = Object.keys(objA);\n if (keysA.length !== Object.keys(objB).length) {\n return false;\n }\n for (const keyA of keysA) {\n if (!Object.prototype.hasOwnProperty.call(objB, keyA) || !Object.is(objA[keyA], objB[keyA])) {\n return false;\n }\n }\n return true;\n}\n\nvar shallow = (objA, objB) => {\n if ((import.meta.env ? import.meta.env.MODE : void 0) !== \"production\") {\n console.warn(\n \"[DEPRECATED] Default export is deprecated. Instead use `import { shallow } from 'zustand/shallow'`.\"\n );\n }\n return shallow$1(objA, objB);\n};\n\nexport { shallow as default, shallow$1 as shallow };\n","import React, { useCallback } from 'react';\nimport { useStore, useNodeId, getNodesBounds, internalsSymbol, Position } from '@reactflow/core';\nimport cc from 'classcat';\nimport { shallow } from 'zustand/shallow';\nimport { createPortal } from 'react-dom';\n\nconst selector = (state) => state.domNode?.querySelector('.react-flow__renderer');\nfunction NodeToolbarPortal({ children }) {\n const wrapperRef = useStore(selector);\n if (!wrapperRef) {\n return null;\n }\n return createPortal(children, wrapperRef);\n}\n\nconst nodeEqualityFn = (a, b) => a?.positionAbsolute?.x === b?.positionAbsolute?.x &&\n a?.positionAbsolute?.y === b?.positionAbsolute?.y &&\n a?.width === b?.width &&\n a?.height === b?.height &&\n a?.selected === b?.selected &&\n a?.[internalsSymbol]?.z === b?.[internalsSymbol]?.z;\nconst nodesEqualityFn = (a, b) => {\n return a.length === b.length && a.every((node, i) => nodeEqualityFn(node, b[i]));\n};\nconst storeSelector = (state) => ({\n transform: state.transform,\n nodeOrigin: state.nodeOrigin,\n selectedNodesCount: state.getNodes().filter((node) => node.selected).length,\n});\nfunction getTransform(nodeRect, transform, position, offset, align) {\n let alignmentOffset = 0.5;\n if (align === 'start') {\n alignmentOffset = 0;\n }\n else if (align === 'end') {\n alignmentOffset = 1;\n }\n // position === Position.Top\n // we set the x any y position of the toolbar based on the nodes position\n let pos = [\n (nodeRect.x + nodeRect.width * alignmentOffset) * transform[2] + transform[0],\n nodeRect.y * transform[2] + transform[1] - offset,\n ];\n // and than shift it based on the alignment. The shift values are in %.\n let shift = [-100 * alignmentOffset, -100];\n switch (position) {\n case Position.Right:\n pos = [\n (nodeRect.x + nodeRect.width) * transform[2] + transform[0] + offset,\n (nodeRect.y + nodeRect.height * alignmentOffset) * transform[2] + transform[1],\n ];\n shift = [0, -100 * alignmentOffset];\n break;\n case Position.Bottom:\n pos[1] = (nodeRect.y + nodeRect.height) * transform[2] + transform[1] + offset;\n shift[1] = 0;\n break;\n case Position.Left:\n pos = [\n nodeRect.x * transform[2] + transform[0] - offset,\n (nodeRect.y + nodeRect.height * alignmentOffset) * transform[2] + transform[1],\n ];\n shift = [-100, -100 * alignmentOffset];\n break;\n }\n return `translate(${pos[0]}px, ${pos[1]}px) translate(${shift[0]}%, ${shift[1]}%)`;\n}\nfunction NodeToolbar({ nodeId, children, className, style, isVisible, position = Position.Top, offset = 10, align = 'center', ...rest }) {\n const contextNodeId = useNodeId();\n const nodesSelector = useCallback((state) => {\n const nodeIds = Array.isArray(nodeId) ? nodeId : [nodeId || contextNodeId || ''];\n return nodeIds.reduce((acc, id) => {\n const node = state.nodeInternals.get(id);\n if (node) {\n acc.push(node);\n }\n return acc;\n }, []);\n }, [nodeId, contextNodeId]);\n const nodes = useStore(nodesSelector, nodesEqualityFn);\n const { transform, nodeOrigin, selectedNodesCount } = useStore(storeSelector, shallow);\n const isActive = typeof isVisible === 'boolean' ? isVisible : nodes.length === 1 && nodes[0].selected && selectedNodesCount === 1;\n if (!isActive || !nodes.length) {\n return null;\n }\n const nodeRect = getNodesBounds(nodes, nodeOrigin);\n const zIndex = Math.max(...nodes.map((node) => (node[internalsSymbol]?.z || 1) + 1));\n const wrapperStyle = {\n position: 'absolute',\n transform: getTransform(nodeRect, transform, position, offset, align),\n zIndex,\n ...style,\n };\n return (React.createElement(NodeToolbarPortal, null,\n React.createElement(\"div\", { style: wrapperStyle, className: cc(['react-flow__node-toolbar', className]), ...rest }, children)));\n}\n\nexport { NodeToolbar };\n"],"names":["shallow$1","objA","objB","Object","is","Map","size","key","value","get","Set","has","keysA","keys","length","keyA","prototype","hasOwnProperty","call","MiniMapNode","_ref","id","x","y","width","height","style","color","strokeColor","strokeWidth","className","borderRadius","shapeRendering","onClick","selected","background","backgroundColor","fill","React","cc","rx","ry","stroke","event","undefined","displayName","MiniMapNode$1","memo","selector$1","s","nodeOrigin","selectorNodes","getNodes","filter","node","hidden","getAttrFunction","func","Function","MiniMapNodes$1","_ref2","nodeStrokeColor","nodeColor","nodeClassName","nodeBorderRadius","nodeStrokeWidth","nodeComponent","NodeComponent","nodes","useStore","shallow","nodeColorFunc","nodeStrokeColorFunc","nodeClassNameFunc","window","chrome","map","getNodePositionWithOrigin","positionAbsolute","selector","viewBB","transform","boundingRect","getBoundsOfRects","getNodesBounds","rfId","MiniMap","_ref3","_style$width","_style$height","maskColor","maskStrokeColor","maskStrokeWidth","position","onNodeClick","pannable","zoomable","ariaLabel","inversePan","zoomStep","offsetScale","store","useStoreApi","svg","useRef","elementWidth","elementHeight","scaledWidth","scaledHeight","viewScale","Math","max","viewWidth","viewHeight","offset","labelledBy","concat","viewScaleRef","current","useEffect","selection","select","zoomHandler","d3Selection","d3Zoom","getState","sourceEvent","type","pinchDelta","deltaY","deltaMode","zoom","pow","scaleTo","panHandler","translateExtent","moveScale","movementX","movementY","extent","nextTransform","zoomIdentity","translate","scale","constrainedTransform","constrain","zoomAndPanHandler","on","onSvgClick","rfCoord","pointer","onSvgNodeClick","nodeId","nodeInternals","Panel","viewBox","role","ref","d","fillRule","pointerEvents","MiniMap$1","ResizeControlVariant","initPrevValues","initStartValues","_objectSpread","pointerX","pointerY","aspectRatio","ResizeControl$1","variant","Handle","children","minWidth","minHeight","maxWidth","Number","MAX_VALUE","maxHeight","keepAspectRatio","shouldResize","onResizeStart","onResize","onResizeEnd","contextNodeId","useNodeId","resizeControlRef","startValues","prevValues","getPointerPosition","useGetPointerPosition","defaultPosition","Line","controlPosition","enableX","includes","enableY","invertX","invertY","dragHandler","drag","_node$width","_node$height","_node$position$x","_node$position$y","xSnapped","ySnapped","triggerNodeChanges","changes","startX","startY","startWidth","startHeight","startNodeX","startNodeY","prevX","prevY","prevWidth","prevHeight","distX","floor","distY","clamp","nextAspectRatio","isDiagonal","isWidthChange","isHeightChange","isXPosChange","isYPosChange","positionChange","push","dimensionChange","updateStyle","resizing","dimensions","direction","deltaWidth","deltaHeight","getDirection","nextValues","positionClassNames","split","colorStyleProp","controlStyle","handleControls","lineControls","NodeResizer","isVisible","handleClassName","handleStyle","lineClassName","lineStyle","c","state","_state$domNode","domNode","querySelector","NodeToolbarPortal","wrapperRef","createPortal","nodesEqualityFn","a","b","every","i","nodeEqualityFn","_a$positionAbsolute","_b$positionAbsolute","_a$positionAbsolute2","_b$positionAbsolute2","_a$internalsSymbol","_b$internalsSymbol","internalsSymbol","z","storeSelector","selectedNodesCount","getTransform","nodeRect","align","alignmentOffset","pos","shift","Position","Right","Bottom","Left","NodeToolbar","Top","rest","_objectWithoutProperties","_excluded","nodesSelector","useCallback","Array","isArray","reduce","acc","zIndex","_node$internalsSymbol","wrapperStyle"],"sourceRoot":""}