-
Notifications
You must be signed in to change notification settings - Fork 34
/
Copy pathbundle.js.map
1 lines (1 loc) · 61.6 KB
/
bundle.js.map
1
{"version":3,"file":"bundle.js","sources":["src/components/Connector/Connector.js","src/components/Connector/ConnectorCurve.js","src/components/Connector/ConnectorElbow.js","src/components/Connector/ConnectorLine.js","src/components/Connector/ConnectorEnd.js","src/components/Connector/ConnectorEndDot.js","src/components/Connector/ConnectorEndArrow.js","src/components/Handle.js","src/components/Subject/Subject.js","src/components/Subject/SubjectBadge.js","src/components/Subject/SubjectCircle.js","src/components/Subject/SubjectRect.js","src/components/Subject/SubjectThreshold.js","src/components/Subject/SubjectBracket.js","src/components/Subject/SubjectCustom.js","src/components/Note/Note.js","src/components/Note/BracketNote.js","src/components/Annotation.js","src/components/EditableAnnotation.js","src/components/Types.js","src/components/index.js","src/components/web.js"],"sourcesContent":["import React from \"react\"\n\nexport default class Connector extends React.Component {\n getComponents() {}\n\n render() {\n const { color, dx, dy, customID } = this.props\n\n if (dx === 0 && dy === 0) {\n return <g className=\"annotation-connector\" />\n }\n\n const d = this.getComponents(this.props) || []\n const cleanedProps = Object.assign({}, this.props)\n delete cleanedProps.children\n\n const childrenWithProps = React.Children.map(this.props.children, child =>\n React.cloneElement(child, {\n ...cleanedProps,\n ...child.props,\n scale: cleanedProps.endScale || child.props.endScale,\n lineData: d.components[0].data\n })\n )\n\n return (\n <g className=\"annotation-connector\" {...this.props.gAttrs}>\n {d.components &&\n d.components.map((c, i) => {\n const attrs = {}\n if (!c) return null\n Object.keys(c.attrs).forEach(k => {\n if (c.attrs[k] && k !== \"text\") {\n attrs[k.replace(/-([a-z])/g, g => g[1].toUpperCase())] =\n c.attrs[k]\n }\n })\n return (\n <c.type\n mask={customID ? `url(#${customID})` : undefined}\n key={i}\n className={c.className}\n fill=\"none\"\n stroke={color}\n {...attrs}\n >\n {c.attrs.text}\n </c.type>\n )\n })}\n {childrenWithProps}\n </g>\n )\n }\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Curve from \"viz-annotation/lib/Connector/type-curve\"\nimport Connector from \"./Connector\"\n\nexport default class ConnectorCurve extends Connector {\n getComponents({\n curve,\n points,\n x,\n y,\n dx,\n dy,\n radius,\n outerRadius,\n width,\n height\n }) {\n return Curve({\n curve,\n points,\n x,\n y,\n dx,\n dy,\n radius,\n outerRadius,\n width,\n height\n })\n }\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Elbow from \"viz-annotation/lib/Connector/type-elbow\"\nimport Connector from \"./Connector\"\n\nexport default class ConnectorElbow extends Connector {\n getComponents({\n x,\n y,\n dy,\n dx,\n radius,\n radiusPadding,\n outerRadius,\n width,\n height\n }) {\n return Elbow({\n x,\n y,\n dx,\n dy,\n radius,\n radiusPadding,\n outerRadius,\n width,\n height\n })\n }\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Line from \"viz-annotation/lib/Connector/type-line\"\nimport Connector from \"./Connector\"\n\nexport default class ConnectorLine extends Connector {\n getComponents({ x, y, dy, dx, radius, outerRadius, width, height }) {\n return Line({ x, y, dx, dy, radius, outerRadius, width, height })\n }\n}\n","import React from \"react\"\n\nexport default class ConnectorEnd extends React.Component {\n getComponents() {}\n\n render() {\n const { color } = this.props\n const d = this.getComponents(this.props) || []\n const c = d.components[0]\n\n return <c.type className={c.className} {...c.attrs} fill={color} />\n }\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport EndDot from \"viz-annotation/lib/Connector/end-dot\"\nimport ConnectorEnd from \"./ConnectorEnd\"\nimport PropTypes from \"prop-types\"\n\nexport default class ConnectorEndDot extends ConnectorEnd {\n getComponents({ x, y, dy, dx, lineData, scale }) {\n return EndDot({ x, y, dx, dy, lineData, scale })\n }\n}\n\nConnectorEndDot.propTypes = {\n x: PropTypes.number,\n y: PropTypes.number,\n dx: PropTypes.number,\n dy: PropTypes.number,\n scale: PropTypes.number,\n lineData: PropTypes.array\n //array of arrays of x,y coordinates for the connector line\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport EndArrow from \"viz-annotation/lib/Connector/end-arrow\"\nimport ConnectorEnd from \"./ConnectorEnd\"\nimport PropTypes from \"prop-types\"\n\nexport default class ConnectorEndArrow extends ConnectorEnd {\n getComponents({ x, y, dy, dx, lineData, scale }) {\n let start = lineData[1]\n const end = lineData[0]\n const distance = Math.sqrt(\n Math.pow(start[0] - end[0], 2) + Math.pow(start[1] - end[1], 2)\n )\n if (distance < 5 && lineData[2]) {\n start = lineData[2]\n }\n\n return EndArrow({ x, y, dx, dy, start, end, scale })\n }\n}\n\nConnectorEndArrow.propTypes = {\n x: PropTypes.number,\n y: PropTypes.number,\n dx: PropTypes.number,\n dy: PropTypes.number,\n scale: PropTypes.number,\n lineData: PropTypes.array\n}\n","import React from \"react\"\nimport { DraggableCore } from \"react-draggable\"\nimport PropTypes from \"prop-types\"\n\nexport default class Handle extends React.Component {\n render() {\n const {\n x = 0,\n y = 0,\n r = 10,\n handleStart,\n handleDrag,\n handleStop,\n offsetParent\n } = this.props\n\n return (\n <DraggableCore\n handle=\".handle\"\n defaultPosition={{ x: 0, y: 0 }}\n position={null}\n onStart={handleStart}\n onDrag={handleDrag}\n onStop={handleStop}\n offsetParent={offsetParent}\n defaultClassNameDragging=\"dragging\"\n >\n <circle\n className=\"handle\"\n cx={x}\n cy={y}\n r={r}\n strokeDasharray=\"5\"\n stroke=\"grey\"\n fill=\"white\"\n fillOpacity={0}\n />\n </DraggableCore>\n )\n }\n}\n\nHandle.propTypes = {\n x: PropTypes.number,\n y: PropTypes.number,\n r: PropTypes.number,\n handleStart: PropTypes.func,\n handleStop: PropTypes.func,\n handleDrag: PropTypes.func\n}\n","import React from \"react\"\nimport Handle from \"../Handle\"\n\nexport default class Subject extends React.Component {\n getComponents() {}\n\n render() {\n const { editMode, color } = this.props\n\n const d = this.getComponents(this.props) || {}\n\n let handles\n if (editMode) {\n handles = [\n <Handle\n key=\"subject-handle\"\n handleStart={this.props.dragStart}\n handleStop={this.props.dragEnd}\n handleDrag={this.props.dragSubject}\n />\n ]\n\n if (d.handles) {\n handles = handles.concat(\n d.handles.map((h, i) => (\n <Handle\n key={`subjecthandle-${i}`}\n handleStart={this.props.dragStart}\n handleStop={this.props.dragEnd}\n x={h.x}\n y={h.y}\n offsetParent={h.offsetParent && this.subject}\n handleDrag={(e, data) => {\n this.props.dragSubjectSettings(e, d.handleFunction(h, data))\n }}\n />\n ))\n )\n }\n }\n\n return (\n <g\n className=\"annotation-subject\"\n {...this.props.gAttrs}\n ref={subject => {\n this.subject = subject\n }}\n >\n {d.components &&\n d.components.map((c, i) => {\n const attrs = {}\n if (!c) return null\n Object.keys(c.attrs).forEach(k => {\n if (c.attrs[k] && k !== \"text\") {\n attrs[k.replace(/-([a-z])/g, g => g[1].toUpperCase())] =\n c.attrs[k]\n }\n })\n return (\n <c.type\n key={i}\n className={c.className}\n fill=\"none\"\n stroke={color}\n {...attrs}\n >\n {c.attrs.text}\n </c.type>\n )\n })}\n {handles}\n </g>\n )\n }\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Badge from \"viz-annotation/lib/Subject/badge\"\nimport Subject from \"./Subject\"\nimport PropTypes from \"prop-types\"\n\nexport default class SubjectBadge extends Subject {\n getComponents({ leftRight, topBottom, text, editMode, color, radius }) {\n const components = Badge({\n leftRight,\n topBottom,\n text,\n editMode,\n color,\n radius\n })\n\n components.handleKeys = { leftRight, topBottom }\n components.handleFunction = (h, data) => {\n const lr =\n data.x < -radius * 2\n ? \"left\"\n : data.x > radius * 2 ? \"right\" : undefined\n const tb =\n data.y < -radius * 2\n ? \"top\"\n : data.y > radius * 2 ? \"bottom\" : undefined\n\n return {\n leftRight: lr,\n topBottom: tb\n }\n }\n\n return components\n }\n}\n\nSubjectBadge.propTypes = {\n leftRight: PropTypes.oneOf([\"left\", \"right\"]),\n topBottom: PropTypes.oneOf([\"top\", \"bottom\"]),\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n color: PropTypes.string,\n editMode: PropTypes.bool\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Circle from \"viz-annotation/lib/Subject/circle\"\nimport Subject from \"./Subject\"\nimport PropTypes from \"prop-types\"\n\nexport default class SubjectCircle extends Subject {\n getComponents({\n radius = 20,\n innerRadius,\n outerRadius,\n radiusPadding,\n editMode\n }) {\n const components = Circle({\n radius,\n radiusPadding,\n innerRadius,\n outerRadius,\n editMode\n })\n\n components.handleKeys = { radius, innerRadius, outerRadius }\n components.handleFunction = (h, data) => {\n return {\n [h.key]: components.handleKeys[h.key] + data.deltaX * Math.sqrt(2)\n }\n }\n return components\n }\n}\n\nSubjectCircle.propTypes = {\n radius: PropTypes.number,\n innerRadius: PropTypes.number,\n outerRadius: PropTypes.number,\n radiusPadding: PropTypes.number,\n editMode: PropTypes.bool\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Rect from \"viz-annotation/lib/Subject/rect\"\nimport Subject from \"./Subject\"\nimport PropTypes from \"prop-types\"\n\nexport default class SubjectRect extends Subject {\n getComponents({ width = 100, height = 100, editMode }) {\n const components = Rect({ width, height, editMode })\n components.handleKeys = { width, height }\n\n components.handleFunction = (h, data) => {\n return {\n [h.key]: h.key === \"width\" ? width + data.deltaX : height + data.deltaY\n }\n }\n\n return components\n }\n}\n\nSubjectRect.propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n editMode: PropTypes.bool\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Threshold from \"viz-annotation/lib/Subject/threshold\"\nimport Subject from \"./Subject\"\nimport PropTypes from \"prop-types\"\n\nexport default class SubjectThreshold extends Subject {\n getComponents({ x1, x2, y1, y2, x, y, editMode }) {\n return Threshold({ x1, x2, y1, y2, x, y, editMode })\n }\n}\n\nSubjectThreshold.propTypes = {\n x: PropTypes.number,\n x1: PropTypes.number,\n x2: PropTypes.number,\n y: PropTypes.number,\n y1: PropTypes.number,\n y2: PropTypes.number,\n editMode: PropTypes.bool\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\nimport Bracket from \"viz-annotation/lib/Subject/bracket\"\nimport Subject from \"./Subject\"\nimport PropTypes from \"prop-types\"\n\nexport default class SubjectBracket extends Subject {\n getComponents({ height, width, depth = 20, type = \"square\", editMode }) {\n const components = Bracket({ height, width, depth, type, editMode })\n\n const handleKeys = { height, width, depth }\n components.handleFunction = (h, data) => {\n if (h.key === \"depth\") {\n return {\n depth: depth + data[`delta${h.type}`]\n }\n } else {\n return {\n [h.key]:\n handleKeys[h.key] + data[h.key === \"width\" ? \"deltaX\" : \"deltaY\"]\n }\n }\n }\n\n return components\n }\n}\n\nSubjectBracket.propTypes = {\n width: PropTypes.number,\n height: PropTypes.number,\n depth: PropTypes.number,\n editMode: PropTypes.bool\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\n// import Bracket from \"./bracket\"\nimport Subject from \"./Subject\"\nimport PropTypes from \"prop-types\"\nimport Handle from \"../Handle\"\n\nexport default class SubjectCustom extends Subject {\n render() {\n const { custom = \"M0,0\", customID, editMode, transform } = this.props\n\n let handles\n if (editMode) {\n handles = (\n <Handle\n handleStart={this.props.dragStart}\n handleStop={this.props.dragEnd}\n handleDrag={this.props.dragSubject}\n />\n )\n }\n\n return (\n <g className=\"annotation-subject\">\n <g transform={transform}>\n {typeof custom === \"string\" ? (\n <path d={custom} pointerEvents=\"none\" />\n ) : (\n <g pointerEvents=\"none\">{custom}</g>\n )}\n <mask id={customID} pointerEvents=\"none\">\n <g transform={transform}>\n <rect\n x={\"-100%\"}\n y={\"-100%\"}\n height={\"200%\"}\n width={\"200%\"}\n fill=\"white\"\n pointerEvents=\"none\"\n />\n {typeof custom === \"string\" ? (\n <path d={custom} fill=\"black\" pointerEvents=\"none\" />\n ) : (\n <g fill=\"black\" pointerEvents=\"none\">\n {custom.map((c, i) => {\n return React.cloneElement(\n c,\n Object.assign({}, c.props, {\n fill: \"black\",\n opacity: 1,\n key: `customSubject-${i}`\n })\n )\n })}\n </g>\n )}\n }\n </g>\n </mask>\n </g>\n {handles}\n </g>\n )\n }\n}\n\nSubjectCustom.propTypes = {\n editMode: PropTypes.bool\n}\n","import React from \"react\"\nimport alignment from \"viz-annotation/lib/Note/alignment\"\nimport Handle from \"../Handle\"\nimport noteVertical from \"viz-annotation/lib/Note/lineType-vertical\"\nimport noteHorizontal from \"viz-annotation/lib/Note/lineType-horizontal\"\nimport PropTypes from \"prop-types\"\n\nconst getOuterBBox = (...domNodes) => {\n return [...domNodes].reduce(\n (p, c) => {\n if (c) {\n const bbox = c.getBBox()\n p.x = Math.min(p.x, bbox.x)\n p.y = Math.min(p.y, bbox.y)\n p.width = Math.max(p.width, bbox.width)\n\n const yOffset = c && c.attributes && c.attributes.y\n p.height = Math.max(\n p.height,\n ((yOffset && parseFloat(yOffset.value)) || 0) + bbox.height\n )\n }\n return p\n },\n { x: 0, y: 0, width: 0, height: 0 }\n )\n}\n\nexport default class Note extends React.Component {\n constructor(props) {\n super(props)\n\n this.updateText = this.updateText.bind(this)\n }\n state = {\n translateX: 0,\n translateY: 0,\n labelOffset: 0,\n changed: 0,\n bbox: { width: 0, height: 0, x: 0, y: 0 }\n }\n componentDidMount() {\n this.updateText(this.props)\n }\n componentWillReceiveProps(nextProps) {\n if (\n nextProps.title !== this.props.title ||\n nextProps.label !== this.props.label ||\n nextProps.wrap !== this.props.wrap\n ) {\n this.updateText(nextProps)\n }\n if (\n nextProps.editMode &&\n (nextProps.align === \"dynamic\" || !nextProps.align)\n ) {\n this.updateText(nextProps)\n }\n }\n updateText({\n orientation,\n padding,\n align,\n lineType,\n label,\n title,\n wrap,\n wrapSplitter,\n dx,\n dy\n }) {\n const newState = {\n titleWrapped: null,\n labelWrapped: null\n }\n newState.changed = this.state.changed + 1\n\n if (title) {\n newState.titleWrapped =\n this.refs.title &&\n this.wrapText(\n this.refs.title,\n newState.changed,\n title,\n wrap,\n wrapSplitter\n )\n }\n if (label)\n newState.labelWrapped =\n this.refs.label &&\n this.wrapText(\n this.refs.label,\n newState.changed,\n label,\n wrap,\n wrapSplitter\n )\n\n this.setState(newState, () => {\n const setLabel = () => {\n const bbox = getOuterBBox(this.refs.title, this.refs.label)\n const noteParams = {\n padding,\n bbox,\n offset: { x: dx, y: dy },\n orientation,\n align\n }\n if (lineType === \"vertical\") noteParams.orientation = \"leftRight\"\n else if (lineType === \"horizontal\") noteParams.orientation = \"topBottom\"\n\n const { x, y } = alignment(noteParams)\n\n this.setState({\n translateX: x,\n translateY: y,\n bbox\n })\n }\n\n this.setState(\n {\n labelOffset: (title && this.refs.title.getBBox().height) || 0\n },\n setLabel\n )\n })\n }\n\n wrapText(textRef, key, text, width, wrapSplitter) {\n const initialAttrs = {\n x: 0,\n dy: \"1.2em\"\n }\n\n const words = text\n .split(wrapSplitter || /[ \\t\\r\\n]+/)\n .reverse()\n .filter(w => w !== \"\")\n\n let word,\n line = []\n\n const tspans = []\n\n while ((word = words.pop())) {\n line.push(word)\n textRef.lastChild.textContent = line.join(\" \")\n\n const length = textRef.lastChild.getComputedTextLength()\n\n textRef.lastChild.textContent = \"\"\n\n if (length > width && line.length > 1) {\n line.pop()\n tspans.push(\n <tspan key={tspans.length + text} {...initialAttrs}>\n {line.join(\" \")}\n </tspan>\n )\n line = [word]\n }\n }\n\n if (line.length !== 0) {\n tspans.push(\n <tspan key={tspans.length + text} {...initialAttrs}>\n {line.join(\" \")}\n </tspan>\n )\n }\n\n return (\n <tspan {...initialAttrs} key={key + text}>\n {tspans}\n </tspan>\n )\n }\n\n componentDidUpdate(prevProps) {\n const { orientation, padding, align, dx, dy, lineType } = this.props\n\n if (\n this.state.bbox.width &&\n (prevProps.dx !== this.props.dx || prevProps.dy !== this.props.dy) &&\n (this.refs.title || this.refs.label)\n ) {\n const bbox = getOuterBBox(this.refs.title, this.refs.label)\n const noteParams = {\n padding,\n bbox,\n offset: { x: dx, y: dy },\n orientation,\n align\n }\n\n if (lineType === \"vertical\") noteParams.orientation = \"leftRight\"\n else if (lineType === \"horizontal\") noteParams.orientation = \"topBottom\"\n\n const { x, y } = alignment(noteParams)\n const updates = { bbox }\n if (this.state.translateX !== x) updates.translateX = x\n if (this.state.translateY !== y) updates.translateY = y\n if (\n updates.translateX !== undefined ||\n updates.translateY !== undefined\n ) {\n this.setState(updates)\n }\n } else if (\n this.state.align !== prevProps.align ||\n this.props.orientation !== prevProps.orientation ||\n this.props.padding !== prevProps.padding\n ) {\n const noteParams = {\n padding,\n bbox: this.state.bbox,\n offset: { x: dx, y: dy },\n orientation,\n align\n }\n\n if (lineType === \"vertical\") noteParams.orientation = \"leftRight\"\n else if (lineType === \"horizontal\") noteParams.orientation = \"topBottom\"\n\n const { x, y } = alignment(noteParams)\n const updates = {}\n if (this.state.translateX !== x) updates.translateX = x\n if (this.state.translateY !== y) updates.translateY = y\n if (\n updates.translateX !== undefined ||\n updates.translateY !== undefined\n ) {\n this.setState(updates)\n }\n }\n }\n\n render() {\n const {\n dx,\n dy,\n title,\n label,\n align,\n editMode,\n lineType,\n color,\n titleColor,\n labelColor\n } = this.props\n\n let noteTitle, noteText, noteLineType\n if (title) {\n noteTitle = (\n <text\n ref=\"title\"\n className=\"annotation-note-title\"\n fontWeight=\"bold\"\n key=\"title\"\n fill={titleColor || color}\n >\n {this.state.titleWrapped || (\n <tspan x={0} dy=\".8em\">\n {title}\n </tspan>\n )}\n </text>\n )\n }\n\n if (label) {\n noteText = (\n <text\n ref=\"label\"\n className=\"annotation-note-label\"\n y={this.state.labelOffset * 1.1}\n key=\"label\"\n fill={labelColor || color}\n >\n {this.state.labelWrapped || (\n <tspan x={0} dy=\".8em\">\n {label}\n </tspan>\n )}\n </text>\n )\n }\n\n if (lineType && this.state.bbox.width) {\n const noteParams = {\n bbox: this.state.bbox,\n align,\n offset: { x: dx, y: dy }\n }\n\n const noteComponent = ((lineType === \"vertical\" &&\n noteVertical(noteParams)) ||\n (lineType === \"horizontal\" && noteHorizontal(noteParams))\n ).components[0]\n\n noteLineType = (\n <noteComponent.type\n className={noteComponent.className}\n {...noteComponent.attrs}\n stroke={color}\n />\n )\n }\n\n let handle\n\n if (editMode) {\n handle = (\n <Handle\n handleStart={this.props.dragStart}\n handleStop={this.props.dragEnd}\n handleDrag={this.props.dragNote}\n />\n )\n }\n\n return (\n <g\n transform={`translate(${dx}, ${dy})`}\n className=\"annotation-note\"\n {...this.props.gProps}\n >\n <g\n className=\"annotation-note-content\"\n transform={`translate(${this.state.translateX},\n ${this.state.translateY})`}\n ref=\"note\"\n >\n <rect\n className=\"annotation-note-bg\"\n width={this.state.bbox.width}\n height={this.state.bbox.height}\n stroke=\"none\"\n fill=\"white\"\n fillOpacity=\"0\"\n />\n {noteTitle}\n {noteText}\n </g>\n {noteLineType}\n {handle}\n </g>\n )\n }\n}\n\nNote.defaultProps = {\n wrap: 120,\n align: \"dynamic\",\n orientation: \"topBottom\",\n padding: 3\n}\n\nNote.propTypes = {\n dx: PropTypes.number,\n dy: PropTypes.number,\n title: PropTypes.string,\n label: PropTypes.string,\n orientation: PropTypes.oneOf([\"leftRight\", \"topBottom\"]),\n padding: PropTypes.number,\n align: PropTypes.oneOf([\n \"left\",\n \"right\",\n \"middle\",\n \"top\",\n \"bottom\",\n \"dynamic\"\n ]),\n editMode: PropTypes.bool,\n lineType: PropTypes.oneOf([\"vertical\", \"horizontal\"]),\n color: PropTypes.string,\n titleColor: PropTypes.string,\n labelColor: PropTypes.string\n}\n","/* eslint-disable no-unused-vars */\nimport React from \"react\"\n/* eslint-enable no-unused-vars */\n\nimport Note from \"./Note\"\n\nexport default function BracketNote({ width, height, depth, ...rest }) {\n let dx = rest.dx,\n orientation,\n align = \"middle\",\n dy = rest.dy\n\n if (height) {\n if (!dy) dy = height / 2\n if (!dx) dx = depth\n orientation = \"leftRight\"\n } else if (width) {\n if (!dx) dx = width / 2\n if (!dy) dy = depth\n orientation = \"topBottom\"\n }\n\n return (\n <Note\n align={align}\n orientation={orientation}\n padding={10}\n {...rest}\n editMode={false}\n dx={dx}\n dy={dy}\n />\n )\n}\n","import React from \"react\"\nimport classnames from \"classnames\"\nimport PropTypes from \"prop-types\"\n\nexport default class Annotation extends React.Component {\n render() {\n const { x, y, nx, ny, events } = this.props\n\n const cleanedProps = Object.assign({}, this.props)\n delete cleanedProps.children\n\n if (nx !== undefined) cleanedProps.dx = nx - x\n if (ny !== undefined) cleanedProps.dy = ny - y\n\n const childrenWithProps = React.Children\n .toArray(this.props.children)\n .map(child =>\n React.cloneElement(child, {\n ...cleanedProps,\n ...child.props\n })\n )\n\n Object.keys(events).forEach(k => {\n events[k] = events[k].bind(this, this.props, this.state)\n })\n\n return (\n <g\n className={classnames(\"annotation\", this.props.className)}\n transform={`translate(${x}, ${y})`}\n {...events}\n >\n {childrenWithProps}\n </g>\n )\n }\n}\n\nAnnotation.defaultProps = {\n x: 0,\n y: 0,\n dx: 0,\n dy: 0,\n color: \"grey\",\n events: {}\n}\n\nAnnotation.propTypes = {\n x: PropTypes.number,\n y: PropTypes.number,\n dx: PropTypes.number,\n dy: PropTypes.number,\n color: PropTypes.string,\n editMode: PropTypes.bool,\n events: PropTypes.object\n}\n","import React from \"react\"\nimport Annotation from \"./Annotation\"\nimport classnames from \"classnames\"\n\nexport default class EditableAnnotation extends React.Component {\n state = {\n x: 0,\n y: 0,\n dx: 0,\n dy: 0\n }\n\n componentWillMount() {\n this.setState({\n x: this.props.x,\n y: this.props.y,\n dx: this.props.dx,\n dy: this.props.dy\n })\n }\n\n getData() {\n return Object.assign({}, this.props, this.state)\n }\n\n dragEnd() {\n if (this.props.onDragEnd) {\n this.props.onDragEnd(this.getData())\n }\n }\n\n dragStart() {\n if (this.props.onDragStart) {\n this.props.onDragStart(this.getData())\n }\n }\n\n dragSubject(event, data) {\n this.setState(\n {\n x: this.state.x + data.deltaX,\n y: this.state.y + data.deltaY\n },\n () => {\n if (this.props.onDrag) this.props.onDrag(this.getData())\n }\n )\n }\n\n dragSubjectSettings(event, data) {\n this.setState(data, () => {\n if (this.props.onDrag) this.props.onDrag(this.getData())\n })\n }\n\n dragNote(event, data) {\n this.setState(\n {\n dx: this.state.dx + data.deltaX,\n dy: this.state.dy + data.deltaY\n },\n () => {\n if (this.props.onDrag) this.props.onDrag(this.getData())\n }\n )\n }\n\n render() {\n const cleanedProps = Object.assign({}, this.props, {\n ...this.state,\n dragSubject: this.dragSubject.bind(this),\n dragNote: this.dragNote.bind(this),\n dragSubjectSettings: this.dragSubjectSettings.bind(this),\n dragEnd: this.dragEnd.bind(this),\n dragStart: this.dragStart.bind(this),\n editMode: true,\n className: classnames(this.props.className, \"editable\")\n })\n\n return <Annotation {...cleanedProps} />\n }\n}\n","import React from \"react\"\nimport Annotation from \"./Annotation\"\nimport EditableAnnotation from \"./EditableAnnotation\"\nimport ConnectorLine from \"./Connector/ConnectorLine\"\nimport ConnectorElbow from \"./Connector/ConnectorElbow\"\nimport ConnectorCurve from \"./Connector/ConnectorCurve\"\nimport ConnectorEndDot from \"./Connector/ConnectorEndDot\"\nimport ConnectorEndArrow from \"./Connector/ConnectorEndArrow\"\nimport DefaultSubject from \"./Subject/Subject\"\nimport SubjectCircle from \"./Subject/SubjectCircle\"\nimport SubjectBadge from \"./Subject/SubjectBadge\"\nimport SubjectBracket from \"./Subject/SubjectBracket\"\nimport BracketNote from \"./Note/BracketNote\"\nimport SubjectRect from \"./Subject/SubjectRect\"\nimport SubjectThreshold from \"./Subject/SubjectThreshold\"\nimport SubjectCustom from \"./Subject/SubjectCustom\"\nimport Note from \"./Note/Note\"\nimport classnames from \"classnames\"\n\nconst getAnnotationType = editMode =>\n editMode ? EditableAnnotation : Annotation\n\nconst annotationMapper = (\n props,\n Connector,\n NoteDefaultProps = {},\n Subject = DefaultSubject,\n SubjectDefaultProps = {},\n NoteType = Note\n) => {\n const {\n disable = [],\n connector,\n note,\n subject,\n x,\n y,\n dx,\n dy,\n nx,\n ny,\n color,\n className,\n onDrag,\n onDragStart,\n onDragEnd,\n editMode,\n events\n } = props\n const CONNECTORS = {\n type: {\n curve: ConnectorCurve,\n line: ConnectorLine,\n elbow: ConnectorElbow\n },\n end: {\n dot: ConnectorEndDot,\n arrow: ConnectorEndArrow\n }\n }\n\n let ConnectorType, ConnectorEndType\n if (disable.indexOf(\"connector\") === -1) {\n ConnectorType = (connector && CONNECTORS.type[connector.type]) || Connector\n ConnectorEndType = connector && CONNECTORS.end[connector.end]\n }\n\n const AnnotationType = getAnnotationType(props.editMode)\n return (\n <AnnotationType\n x={x}\n y={y}\n dx={dx}\n dy={dy}\n nx={nx}\n ny={ny}\n color={color}\n className={className}\n onDrag={onDrag}\n onDragStart={onDragStart}\n onDragEnd={onDragEnd}\n editMode={editMode}\n {...SubjectDefaultProps}\n {...subject}\n events={events}\n >\n {ConnectorType && (\n <ConnectorType {...connector}>\n {ConnectorEndType && <ConnectorEndType />}\n </ConnectorType>\n )}\n {Subject && disable.indexOf(\"subject\") === -1 && <Subject />}\n {note &&\n disable.indexOf(\"note\") === -1 && (\n <NoteType {...NoteDefaultProps} {...note} />\n )}\n </AnnotationType>\n )\n}\n\nexport function AnnotationLabel(props) {\n const className = classnames(\"label\", props.className)\n return annotationMapper({ ...props, className }, ConnectorLine, {\n align: \"middle\"\n })\n}\n\nexport function AnnotationCallout(props) {\n const className = classnames(\"callout\", props.className)\n return annotationMapper({ ...props, className }, ConnectorLine, {\n lineType: \"horizontal\"\n })\n}\n\nexport function AnnotationCalloutElbow(props) {\n const className = classnames(\"callout elbow\", props.className)\n return annotationMapper({ ...props, className }, ConnectorElbow, {\n lineType: \"horizontal\"\n })\n}\n\nexport function AnnotationCalloutCurve(props) {\n const className = classnames(\"callout curve\", props.className)\n return annotationMapper({ ...props, className }, ConnectorCurve, {\n lineType: \"horizontal\"\n })\n}\n\nexport function AnnotationCalloutCircle(props) {\n const className = classnames(\"callout circle\", props.className)\n return annotationMapper(\n { ...props, className },\n ConnectorElbow,\n { lineType: \"horizontal\" },\n SubjectCircle,\n { radius: 20 }\n )\n}\n\nexport function AnnotationCalloutRect(props) {\n const className = classnames(\"callout rect\", props.className)\n return annotationMapper(\n { ...props, className },\n ConnectorElbow,\n { lineType: \"horizontal\" },\n SubjectRect,\n { width: 100, height: 100 }\n )\n}\n\nexport function AnnotationXYThreshold(props) {\n const className = classnames(\"callout xythreshold\", props.className)\n return annotationMapper(\n { ...props, className },\n ConnectorElbow,\n { lineType: \"horizontal\" },\n SubjectThreshold\n )\n}\n\nexport function AnnotationBadge(props) {\n const className = classnames(\"badge\", props.className)\n return annotationMapper(\n { disable: [\"connector\", \"note\"], ...props, className },\n null,\n null,\n SubjectBadge\n )\n}\n\nexport function AnnotationBracket(props) {\n const className = classnames(\"bracket\", props.className)\n return annotationMapper(\n { disable: [\"connector\"], ...props, className },\n null,\n null,\n SubjectBracket,\n { depth: 20 },\n BracketNote\n )\n}\n\nexport function AnnotationCalloutCustom(props) {\n const className = classnames(\"callout custom\", props.className)\n return annotationMapper(\n { ...props, className },\n ConnectorElbow,\n { lineType: \"horizontal\" },\n SubjectCustom\n )\n}\n","// export individual components\nimport Connector from \"./Connector/Connector\"\nimport ConnectorCurve from \"./Connector/ConnectorCurve\"\nimport ConnectorElbow from \"./Connector/ConnectorElbow\"\nimport ConnectorLine from \"./Connector/ConnectorLine\"\nimport ConnectorEndDot from \"./Connector/ConnectorEndDot\"\nimport ConnectorEndArrow from \"./Connector/ConnectorEndArrow\"\n\nimport Subject from \"./Subject/Subject\"\nimport SubjectBadge from \"./Subject/SubjectBadge\"\nimport SubjectCircle from \"./Subject/SubjectCircle\"\nimport SubjectRect from \"./Subject/SubjectRect\"\nimport SubjectThreshold from \"./Subject/SubjectThreshold\"\nimport SubjectBracket from \"./Subject/SubjectBracket\"\nimport SubjectCustom from \"./Subject/SubjectCustom\"\n\nimport Note from \"./Note/Note\"\nimport BracketNote from \"./Note/BracketNote\"\n\nimport Annotation from \"./Annotation\"\nimport EditableAnnotation from \"./EditableAnnotation\"\n\nimport {\n AnnotationLabel,\n AnnotationCallout,\n AnnotationCalloutCircle,\n AnnotationCalloutCurve,\n AnnotationCalloutElbow,\n AnnotationCalloutRect,\n AnnotationXYThreshold,\n AnnotationBadge,\n AnnotationBracket,\n AnnotationCalloutCustom\n} from \"./Types\"\n\nexport {\n Connector,\n ConnectorCurve,\n ConnectorElbow,\n ConnectorLine,\n ConnectorEndDot,\n ConnectorEndArrow,\n Subject,\n SubjectBadge,\n SubjectCircle,\n SubjectRect,\n SubjectThreshold,\n SubjectBracket,\n SubjectCustom,\n Note,\n BracketNote,\n Annotation,\n EditableAnnotation,\n AnnotationLabel,\n AnnotationCallout,\n AnnotationCalloutCircle,\n AnnotationCalloutCurve,\n AnnotationCalloutElbow,\n AnnotationCalloutRect,\n AnnotationXYThreshold,\n AnnotationBadge,\n AnnotationBracket,\n AnnotationCalloutCustom\n}\n\nexport default {\n Connector,\n ConnectorCurve,\n ConnectorElbow,\n ConnectorLine,\n ConnectorEndDot,\n ConnectorEndArrow,\n Subject,\n SubjectBadge,\n SubjectCircle,\n SubjectRect,\n SubjectThreshold,\n SubjectBracket,\n SubjectCustom,\n Note,\n BracketNote,\n Annotation,\n EditableAnnotation,\n AnnotationLabel,\n AnnotationCallout,\n AnnotationCalloutCircle,\n AnnotationCalloutCurve,\n AnnotationCalloutElbow,\n AnnotationCalloutRect,\n AnnotationXYThreshold,\n AnnotationBadge,\n AnnotationBracket,\n AnnotationCalloutCustom\n}\n","import Annotations from \"./index\"\nwindow.Annotations = Annotations\n"],"names":["Connector","props","color","dx","dy","customID","d","getComponents","cleanedProps","Object","assign","children","childrenWithProps","React","Children","map","cloneElement","child","endScale","components","data","gAttrs","c","i","attrs","keys","forEach","k","replace","g","toUpperCase","undefined","className","text","Component","ConnectorCurve","curve","points","x","y","radius","outerRadius","width","height","Curve","ConnectorElbow","radiusPadding","Elbow","ConnectorLine","Line","ConnectorEnd","ConnectorEndDot","lineData","scale","EndDot","propTypes","PropTypes","number","array","ConnectorEndArrow","start","end","distance","Math","sqrt","pow","EndArrow","Handle","r","handleStart","handleDrag","handleStop","offsetParent","func","Subject","editMode","handles","dragStart","dragEnd","dragSubject","concat","h","subject","e","dragSubjectSettings","handleFunction","SubjectBadge","leftRight","topBottom","Badge","handleKeys","lr","tb","oneOf","oneOfType","string","bool","SubjectCircle","innerRadius","Circle","key","deltaX","SubjectRect","Rect","deltaY","SubjectThreshold","x1","x2","y1","y2","Threshold","SubjectBracket","depth","type","Bracket","SubjectCustom","custom","transform","getOuterBBox","domNodes","reduce","p","bbox","getBBox","min","max","yOffset","attributes","parseFloat","value","Note","state","updateText","bind","nextProps","title","label","wrap","align","orientation","padding","lineType","wrapSplitter","newState","changed","titleWrapped","refs","wrapText","labelWrapped","setState","setLabel","noteParams","alignment","textRef","initialAttrs","words","split","reverse","filter","w","word","line","tspans","pop","push","lastChild","textContent","join","length","getComputedTextLength","prevProps","updates","translateX","translateY","titleColor","labelColor","noteTitle","noteText","noteLineType","labelOffset","noteComponent","noteVertical","noteHorizontal","handle","dragNote","gProps","defaultProps","BracketNote","rest","Annotation","nx","ny","events","toArray","classnames","object","EditableAnnotation","onDragEnd","getData","onDragStart","event","onDrag","getAnnotationType","annotationMapper","NoteDefaultProps","DefaultSubject","SubjectDefaultProps","NoteType","disable","connector","note","CONNECTORS","ConnectorType","ConnectorEndType","indexOf","AnnotationType","AnnotationLabel","AnnotationCallout","AnnotationCalloutElbow","AnnotationCalloutCurve","AnnotationCalloutCircle","AnnotationCalloutRect","AnnotationXYThreshold","AnnotationBadge","AnnotationBracket","AnnotationCalloutCustom","window","Annotations"],"mappings":"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"}