@pie-lib/graphing 2.11.3-next.1 → 2.11.3-next.52

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/axis/arrow.js.map +1 -1
  2. package/lib/axis/axes.js.map +1 -1
  3. package/lib/axis/index.js.map +1 -1
  4. package/lib/bg.js.map +1 -1
  5. package/lib/container/actions.js.map +1 -1
  6. package/lib/container/index.js.map +1 -1
  7. package/lib/container/marks.js.map +1 -1
  8. package/lib/container/reducer.js.map +1 -1
  9. package/lib/coordinates-label.js.map +1 -1
  10. package/lib/graph-with-controls.js.map +1 -1
  11. package/lib/graph.js.map +1 -1
  12. package/lib/grid-setup.js.map +1 -1
  13. package/lib/grid.js.map +1 -1
  14. package/lib/index.js.map +1 -1
  15. package/lib/labels.js.map +1 -1
  16. package/lib/mark-label.js.map +1 -1
  17. package/lib/toggle-bar.js.map +1 -1
  18. package/lib/tool-menu.js.map +1 -1
  19. package/lib/tools/circle/bg-circle.js.map +1 -1
  20. package/lib/tools/circle/component.js.map +1 -1
  21. package/lib/tools/circle/index.js.map +1 -1
  22. package/lib/tools/index.js.map +1 -1
  23. package/lib/tools/line/component.js.map +1 -1
  24. package/lib/tools/line/index.js.map +1 -1
  25. package/lib/tools/parabola/component.js.map +1 -1
  26. package/lib/tools/parabola/index.js.map +1 -1
  27. package/lib/tools/point/component.js.map +1 -1
  28. package/lib/tools/point/index.js.map +1 -1
  29. package/lib/tools/polygon/component.js.map +1 -1
  30. package/lib/tools/polygon/index.js.map +1 -1
  31. package/lib/tools/polygon/line.js.map +1 -1
  32. package/lib/tools/polygon/polygon.js.map +1 -1
  33. package/lib/tools/ray/component.js.map +1 -1
  34. package/lib/tools/ray/index.js.map +1 -1
  35. package/lib/tools/segment/component.js.map +1 -1
  36. package/lib/tools/segment/index.js.map +1 -1
  37. package/lib/tools/shared/arrow-head.js.map +1 -1
  38. package/lib/tools/shared/line/index.js.map +1 -1
  39. package/lib/tools/shared/line/line-path.js.map +1 -1
  40. package/lib/tools/shared/line/with-root-edge.js.map +1 -1
  41. package/lib/tools/shared/point/arrow-point.js.map +1 -1
  42. package/lib/tools/shared/point/arrow.js.map +1 -1
  43. package/lib/tools/shared/point/base-point.js.map +1 -1
  44. package/lib/tools/shared/point/index.js.map +1 -1
  45. package/lib/tools/shared/styles.js.map +1 -1
  46. package/lib/tools/shared/types.js.map +1 -1
  47. package/lib/tools/sine/component.js.map +1 -1
  48. package/lib/tools/sine/index.js.map +1 -1
  49. package/lib/tools/vector/component.js.map +1 -1
  50. package/lib/tools/vector/index.js.map +1 -1
  51. package/lib/undo-redo.js.map +1 -1
  52. package/lib/use-debounce.js.map +1 -1
  53. package/lib/utils.js.map +1 -1
  54. package/package.json +5 -5
package/lib/grid.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","getTickValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","classes","getAdditionalGridProps","r","grid","color","primary","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","object","isRequired","types","GraphPropsType","withStyles","stroke"],"sources":["../src/grid.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types, utils } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range\n }\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep\n }).filter(value => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep\n }).filter(value => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero -\n rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length ||\n columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength\n );\n const filteredRowValues = rowTickLabelValues.filter(\n value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n };\n };\n\n render() {\n const { classes, graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n return (\n <>\n <vx.Grid\n innerRef={r => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n className={classes.grid}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({\n grid: {\n stroke: 'purple' // TODO hardcoded color\n }\n}))(Grid);\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/grid.jsx"],"names":["Grid","rowTickValues","columnTickValues","props","graphProps","scale","size","width","height","domain","range","rowTickLabelValues","step","labelStep","filter","value","includes","columnTickLabelValues","minValueLength","length","Math","min","toString","replace","maxValueLength","max","rowLabelLength","horizontalDistanceToZero","x","verticalDistanceToZero","y","columnLabelLength","rowStrokeDasharray","columnStrokeDasharray","displayAdditionalGrid","filteredColumnValues","filteredRowValues","classes","getAdditionalGridProps","r","grid","color","primary","React","Component","disabled","PropTypes","bool","disabledAdditionalGrid","object","isRequired","types","GraphPropsType","stroke"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as vx from '@vx/grid';\nimport { types, utils } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getTickValues } from './utils';\n\nexport class Grid extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n disabledAdditionalGrid: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n graphProps: types.GraphPropsType.isRequired\n };\n\n getAdditionalGridProps = (rowTickValues, columnTickValues) => {\n const {\n graphProps: {\n scale,\n size: { width, height },\n domain,\n range\n }\n } = this.props;\n const rowTickLabelValues = getTickValues({\n ...range,\n step: range.labelStep\n }).filter(value => rowTickValues.includes(value));\n const columnTickLabelValues = getTickValues({\n ...domain,\n step: domain.labelStep\n }).filter(value => columnTickValues.includes(value));\n\n const minValueLength =\n (rowTickLabelValues.length &&\n Math.min(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n const maxValueLength =\n (rowTickLabelValues.length &&\n Math.max(...rowTickLabelValues)\n .toString()\n .replace(/[.-]/g, '').length) ||\n 1;\n\n const rowLabelLength = Math.max(minValueLength, maxValueLength) * 9 + 22;\n const horizontalDistanceToZero = scale.x(0);\n const verticalDistanceToZero = scale.y(0);\n const columnLabelLength = 28;\n const rowStrokeDasharray = `${horizontalDistanceToZero -\n rowLabelLength} ${rowLabelLength} ${width}`;\n const columnStrokeDasharray = `${verticalDistanceToZero} ${columnLabelLength} ${height}`;\n\n const displayAdditionalGrid =\n domain.labelStep > 0 &&\n range.labelStep > 0 &&\n rowTickLabelValues &&\n columnTickLabelValues &&\n rowTickLabelValues.length > 1 &&\n columnTickLabelValues.length > 1 &&\n (rowTickLabelValues.length !== rowTickValues.length ||\n columnTickLabelValues.length !== columnTickValues.length);\n\n const filteredColumnValues = columnTickLabelValues.filter(\n value => value >= 0 || horizontalDistanceToZero - scale.x(value) > rowLabelLength\n );\n const filteredRowValues = rowTickLabelValues.filter(\n value => value >= 0 || scale.y(value) - verticalDistanceToZero > columnLabelLength\n );\n\n return {\n rowTickLabelValues: filteredRowValues,\n columnTickLabelValues: filteredColumnValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n };\n };\n\n render() {\n const { classes, graphProps } = this.props;\n const {\n scale,\n size: { height, width },\n domain,\n range\n } = graphProps;\n const rowTickValues = getTickValues(range);\n const columnTickValues = getTickValues(domain);\n const {\n rowTickLabelValues,\n columnTickLabelValues,\n rowStrokeDasharray,\n columnStrokeDasharray,\n displayAdditionalGrid\n } = this.getAdditionalGridProps(rowTickValues, columnTickValues);\n\n return (\n <>\n <vx.Grid\n innerRef={r => (this.grid = r)}\n xScale={scale.x}\n yScale={scale.y}\n width={width}\n height={height}\n className={classes.grid}\n rowTickValues={rowTickValues}\n columnTickValues={columnTickValues}\n />\n {displayAdditionalGrid && (\n <>\n <vx.GridRows\n scale={scale.y}\n width={width}\n tickValues={rowTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={rowStrokeDasharray}\n />\n <vx.GridColumns\n scale={scale.x}\n height={height}\n tickValues={columnTickLabelValues}\n stroke={color.primary()}\n strokeDasharray={columnStrokeDasharray}\n />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withStyles(() => ({\n grid: {\n stroke: 'purple' // TODO hardcoded color\n }\n}))(Grid);\n"],"file":"grid.js"}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.js"],"sourcesContent":["import Graph from './graph';\nimport GraphContainer from './container';\nimport GridSetup from './grid-setup';\nimport * as tools from './tools';\nimport ToolMenu from './tool-menu';\n\nexport { Graph, GraphContainer, GridSetup, ToolMenu, tools };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA"}
1
+ {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AACA","sourcesContent":["import Graph from './graph';\nimport GraphContainer from './container';\nimport GridSetup from './grid-setup';\nimport * as tools from './tools';\nimport ToolMenu from './tool-menu';\n\nexport { Graph, GraphContainer, GridSetup, ToolMenu, tools };\n"],"file":"index.js"}
package/lib/labels.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"labels.js","names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","disabledLabel","placeholder","text","graphProps","classes","onChange","size","domain","range","totalHeight","padding","totalWidth","transform","finalHeight","activePlugins","cn","bottomLabel","disabledAxisLabel","axisLabel","position","noBorder","React","Component","PropTypes","string","object","bool","types","GraphPropsType","isRequired","Label","withStyles","theme","label","fill","color","secondary","fontSize","typography","textAlign","pointerEvents","marginTop","LabelType","Labels","newValue","value","labels","disabledLabels","placeholders","onChangeLabel","className","shape"],"sources":["../src/labels.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height;\n case 'right':\n return -height - 10;\n default:\n return -height + 10;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n disabledLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired\n };\n\n static defaultProps = {\n onChange: () => {}\n };\n\n render() {\n const { disabledLabel, placeholder, text, side, graphProps, classes, onChange } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n const finalHeight = side === 'bottom' ? height + 22 : height + 18;\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math'\n // 'languageCharacters'\n ];\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={finalHeight}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <EditableHtml\n className={cn(\n {\n [classes.bottomLabel]: side === 'bottom',\n [classes.disabledAxisLabel]: disabledLabel\n },\n classes.axisLabel\n )}\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noBorder: true\n }}\n activePlugins={activePlugins}\n />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n padding: '0 4px'\n },\n disabledAxisLabel: {\n pointerEvents: 'none'\n },\n bottomLabel: {\n marginTop: '44px'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabledLabels: PropTypes.bool,\n placeholders: PropTypes.object,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n\n onChangeLabel = (newValue, side) => {\n const { value, onChange } = this.props;\n const labels = {\n ...value,\n [side]: newValue\n };\n\n onChange(labels);\n };\n\n render() {\n const { disabledLabels, placeholders = {}, value = {}, graphProps } = this.props;\n\n return (\n <React.Fragment>\n <Label\n key=\"left\"\n side=\"left\"\n text={value.left}\n disabledLabel={disabledLabels}\n placeholder={placeholders.left}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'left')}\n />\n <Label\n key=\"top\"\n side=\"top\"\n text={value.top}\n disabledLabel={disabledLabels}\n placeholder={placeholders.top}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'top')}\n />\n <Label\n key=\"bottom\"\n side=\"bottom\"\n text={value.bottom}\n disabledLabel={disabledLabels}\n placeholder={placeholders.bottom}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'bottom')}\n />\n <Label\n key=\"right\"\n side=\"right\"\n text={value.right}\n disabledLabel={disabledLabels}\n placeholder={placeholders.right}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'right')}\n />\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/labels.jsx"],"names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","disabledLabel","placeholder","text","graphProps","classes","onChange","size","domain","range","totalHeight","padding","totalWidth","transform","finalHeight","activePlugins","bottomLabel","disabledAxisLabel","axisLabel","position","noBorder","React","Component","PropTypes","string","object","bool","types","GraphPropsType","isRequired","Label","theme","label","fill","color","secondary","fontSize","typography","textAlign","pointerEvents","marginTop","LabelType","Labels","newValue","value","labels","disabledLabels","placeholders","onChangeLabel","className","shape"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height;\n case 'right':\n return -height - 10;\n default:\n return -height + 10;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n disabledLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired\n };\n\n static defaultProps = {\n onChange: () => {}\n };\n\n render() {\n const { disabledLabel, placeholder, text, side, graphProps, classes, onChange } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n const finalHeight = side === 'bottom' ? height + 22 : height + 18;\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math'\n // 'languageCharacters'\n ];\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={finalHeight}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <EditableHtml\n className={cn(\n {\n [classes.bottomLabel]: side === 'bottom',\n [classes.disabledAxisLabel]: disabledLabel\n },\n classes.axisLabel\n )}\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noBorder: true\n }}\n activePlugins={activePlugins}\n />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n padding: '0 4px'\n },\n disabledAxisLabel: {\n pointerEvents: 'none'\n },\n bottomLabel: {\n marginTop: '44px'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabledLabels: PropTypes.bool,\n placeholders: PropTypes.object,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n\n onChangeLabel = (newValue, side) => {\n const { value, onChange } = this.props;\n const labels = {\n ...value,\n [side]: newValue\n };\n\n onChange(labels);\n };\n\n render() {\n const { disabledLabels, placeholders = {}, value = {}, graphProps } = this.props;\n\n return (\n <React.Fragment>\n <Label\n key=\"left\"\n side=\"left\"\n text={value.left}\n disabledLabel={disabledLabels}\n placeholder={placeholders.left}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'left')}\n />\n <Label\n key=\"top\"\n side=\"top\"\n text={value.top}\n disabledLabel={disabledLabels}\n placeholder={placeholders.top}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'top')}\n />\n <Label\n key=\"bottom\"\n side=\"bottom\"\n text={value.bottom}\n disabledLabel={disabledLabels}\n placeholder={placeholders.bottom}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'bottom')}\n />\n <Label\n key=\"right\"\n side=\"right\"\n text={value.right}\n disabledLabel={disabledLabels}\n placeholder={placeholders.right}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'right')}\n />\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"file":"labels.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"mark-label.js","names":["styles","theme","input","padding","spacing","unit","fontFamily","typography","fontSize","border","color","secondary","borderRadius","primaryDark","disabled","background","disabledMark","position","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","useState","setInput","_ref","useCallback","node","classes","externalInputRef","inputRef","label","setLabel","onChange","e","target","value","debouncedLabel","useDebounce","useEffect","getBoundingClientRect","pos","leftTop","style","pointerEvents","disabledInput","r","cn","propTypes","PropTypes","bool","func","types","GraphPropsType","object","withStyles"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport cn from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { useDebounce } from './use-debounce';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = theme => ({\n input: {\n float: 'right',\n padding: theme.spacing.unit * 0.5,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${color.secondary()}`,\n borderRadius: '3px',\n color: color.primaryDark()\n },\n disabled: {\n border: `solid 1px ${color.primaryDark()}`,\n background: color.background()\n },\n disabledMark: {\n border: `solid 1px ${color.disabled()}`,\n background: color.background(),\n color: color.disabled()\n }\n});\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n }\n};\n\nexport const MarkLabel = props => {\n const [input, setInput] = useState(null);\n const _ref = useCallback(node => setInput(node));\n\n const { mark, graphProps, classes, disabled, inputRef: externalInputRef } = props;\n const [label, setLabel] = useState(mark.label);\n\n const onChange = e => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n ...leftTop\n };\n\n const disabledInput = disabled || mark.disabled;\n\n return (\n <AutosizeInput\n inputRef={r => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabledInput}\n inputClassName={cn(classes.input, disabled && classes.disabled, mark.disabled && classes.disabledMark)}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object\n};\n\nexport default withStyles(styles)(MarkLabel);\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/mark-label.jsx"],"names":["styles","theme","input","padding","spacing","unit","fontFamily","typography","fontSize","border","color","secondary","borderRadius","primaryDark","disabled","background","disabledMark","position","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","setInput","_ref","node","classes","externalInputRef","inputRef","label","setLabel","onChange","e","target","value","debouncedLabel","getBoundingClientRect","pos","leftTop","style","pointerEvents","disabledInput","r","propTypes","PropTypes","bool","func","types","GraphPropsType","object"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport cn from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport { useDebounce } from './use-debounce';\nimport { color } from '@pie-lib/render-ui';\n\nconst styles = theme => ({\n input: {\n float: 'right',\n padding: theme.spacing.unit * 0.5,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${color.secondary()}`,\n borderRadius: '3px',\n color: color.primaryDark()\n },\n disabled: {\n border: `solid 1px ${color.primaryDark()}`,\n background: color.background()\n },\n disabledMark: {\n border: `solid 1px ${color.disabled()}`,\n background: color.background(),\n color: color.disabled()\n }\n});\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height\n };\n }\n }\n};\n\nexport const MarkLabel = props => {\n const [input, setInput] = useState(null);\n const _ref = useCallback(node => setInput(node));\n\n const { mark, graphProps, classes, disabled, inputRef: externalInputRef } = props;\n const [label, setLabel] = useState(mark.label);\n\n const onChange = e => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'absolute',\n pointerEvents: 'auto',\n ...leftTop\n };\n\n const disabledInput = disabled || mark.disabled;\n\n return (\n <AutosizeInput\n inputRef={r => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabledInput}\n inputClassName={cn(classes.input, disabled && classes.disabled, mark.disabled && classes.disabledMark)}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n classes: PropTypes.object,\n inputRef: PropTypes.func,\n mark: PropTypes.object\n};\n\nexport default withStyles(styles)(MarkLabel);\n"],"file":"mark-label.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-bar.js","names":["buttonStyles","root","color","text","backgroundColor","primary","selected","background","border","secondary","notSelected","disabled","MiniButton","withStyles","props","classes","className","value","onClick","cn","propTypes","PropTypes","bool","object","string","disabledClassName","func","ToggleBar","e","onChange","target","textContent","dragIndex","hoverIndex","options","onChangeToolsOrder","dragged","splice","selectedToolType","draggableTools","toolsContainer","map","option","index","allTools","includes","isSelected","toolRef","React","createRef","moveTool","button","select","Component","isRequired","arrayOf","styles","theme","display","flexWrap","marginRight","spacing","unit","marginBottom","under","position","top","left","zIndex","pointerEvents","wrapper","hidden","opacity","withDragContext","DRAG_TYPE","Item","children","connectDragSource","connectDropTarget","connectDragPreview","isDragging","oneOfType","node","itemSource","canDrag","draggable","beginDrag","itemTarget","hover","monitor","getItem","current","hoverBoundingRect","getBoundingClientRect","hoverMiddleX","right","clientOffset","getClientOffset","hoverClientX","x","collectTarget","connect","dropTarget","collectSource","dragSource","dragPreview","DragTool","DropTarget","DragSource"],"sources":["../src/toggle-bar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools/index';\nimport { withDragContext, DragSource, DropTarget } from '@pie-lib/drag';\n\nconst buttonStyles = () => ({\n root: {\n color: color.text(),\n '&:hover': {\n backgroundColor: color.primary()\n }\n },\n selected: {\n backgroundColor: color.background(),\n border: `1px solid ${color.secondary()}`\n },\n notSelected: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.background()\n },\n disabled: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.disabled()\n }\n});\n\nexport const MiniButton = withStyles(buttonStyles)(props => {\n const { disabled, classes, className, selected, value, onClick } = props;\n\n return (\n <Button\n size=\"small\"\n disabled={disabled}\n className={cn(classes.root, selected && classes.selected, className)}\n classes={{ disabled: cn(disabled && classes.disabled) }}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={onClick}\n >\n {value}\n </Button>\n );\n});\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n classes: PropTypes.object,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeToolsOrder: PropTypes.func\n };\n\n static defaultProps = {};\n\n select = e => this.props.onChange(e.target.textContent);\n\n moveTool = (dragIndex, hoverIndex) => {\n const { options, onChangeToolsOrder } = this.props;\n const dragged = options[dragIndex];\n\n options.splice(dragIndex, 1);\n options.splice(hoverIndex, 0, dragged);\n\n onChangeToolsOrder(options);\n };\n\n render() {\n const { classes, className, disabled, options, selectedToolType, draggableTools } = this.props;\n\n return (\n <div className={cn(className, classes.toolsContainer)}>\n {(options || []).map((option, index) => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n const toolRef = React.createRef();\n\n return (\n <DragTool\n key={option}\n index={index}\n draggable={draggableTools}\n moveTool={this.moveTool}\n classes={classes}\n toolRef={toolRef}\n >\n <MiniButton\n className={cn(classes.button, isSelected && classes.selected)}\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n />\n </DragTool>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n toolsContainer: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n button: {\n marginRight: theme.spacing.unit / 2,\n marginBottom: theme.spacing.unit / 2,\n color: color.text(),\n backgroundColor: color.background()\n },\n under: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: -1,\n pointerEvents: 'none'\n },\n wrapper: {\n position: 'relative'\n },\n hidden: {\n opacity: 0\n }\n});\n\nexport default withDragContext(withStyles(styles)(ToggleBar));\n\nconst DRAG_TYPE = 'tool';\n\nexport class Item extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n connectDragSource: PropTypes.func.isRequired,\n connectDragPreview: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n isDragging: PropTypes.bool\n };\n\n static defaultProps = {};\n\n render() {\n const {\n classes,\n children,\n connectDragSource,\n connectDropTarget,\n connectDragPreview,\n isDragging,\n toolRef\n } = this.props;\n\n return (\n <div className={classes.wrapper} ref={toolRef}>\n {connectDragSource(\n connectDropTarget(<div className={isDragging && classes.hidden}>{children}</div>)\n )}\n {connectDragPreview(<div className={classes.under}>{children}</div>)}\n </div>\n );\n }\n}\n\nconst itemSource = {\n canDrag(props) {\n return props.draggable;\n },\n beginDrag(props) {\n return {\n index: props.index\n };\n }\n};\n\nconst itemTarget = {\n hover(props, monitor) {\n const dragIndex = monitor.getItem().index;\n const { toolRef, index: hoverIndex } = props;\n\n if (dragIndex === hoverIndex || !toolRef.current) {\n return;\n }\n\n const hoverBoundingRect = toolRef.current?.getBoundingClientRect();\n const hoverMiddleX = (hoverBoundingRect.right - hoverBoundingRect.left) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientX = clientOffset.x - hoverBoundingRect.left;\n\n if (dragIndex < hoverIndex && hoverClientX < hoverMiddleX) {\n return;\n }\n\n if (dragIndex > hoverIndex && hoverClientX > hoverMiddleX) {\n return;\n }\n\n props.moveTool(dragIndex, hoverIndex);\n monitor.getItem().index = hoverIndex;\n }\n};\n\nconst collectTarget = connect => ({ connectDropTarget: connect.dropTarget() });\n\nconst collectSource = (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging()\n});\n\nconst DragTool = DropTarget(\n DRAG_TYPE,\n itemTarget,\n collectTarget\n)(DragSource(DRAG_TYPE, itemSource, collectSource)(Item));\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/toggle-bar.jsx"],"names":["buttonStyles","root","color","text","backgroundColor","primary","selected","background","border","secondary","notSelected","disabled","MiniButton","props","classes","className","value","onClick","propTypes","PropTypes","bool","object","string","disabledClassName","func","ToggleBar","e","onChange","target","textContent","dragIndex","hoverIndex","options","onChangeToolsOrder","dragged","splice","selectedToolType","draggableTools","toolsContainer","map","option","index","allTools","includes","isSelected","toolRef","React","createRef","moveTool","button","select","Component","isRequired","arrayOf","styles","theme","display","flexWrap","marginRight","spacing","unit","marginBottom","under","position","top","left","zIndex","pointerEvents","wrapper","hidden","opacity","DRAG_TYPE","Item","children","connectDragSource","connectDropTarget","connectDragPreview","isDragging","oneOfType","node","itemSource","canDrag","draggable","beginDrag","itemTarget","hover","monitor","getItem","current","hoverBoundingRect","getBoundingClientRect","hoverMiddleX","right","clientOffset","getClientOffset","hoverClientX","x","collectTarget","connect","dropTarget","collectSource","dragSource","dragPreview","DragTool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport cn from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools/index';\nimport { withDragContext, DragSource, DropTarget } from '@pie-lib/drag';\n\nconst buttonStyles = () => ({\n root: {\n color: color.text(),\n '&:hover': {\n backgroundColor: color.primary()\n }\n },\n selected: {\n backgroundColor: color.background(),\n border: `1px solid ${color.secondary()}`\n },\n notSelected: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.background()\n },\n disabled: {\n '& span': {\n color: color.primary()\n },\n backgroundColor: color.disabled()\n }\n});\n\nexport const MiniButton = withStyles(buttonStyles)(props => {\n const { disabled, classes, className, selected, value, onClick } = props;\n\n return (\n <Button\n size=\"small\"\n disabled={disabled}\n className={cn(classes.root, selected && classes.selected, className)}\n classes={{ disabled: cn(disabled && classes.disabled) }}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={onClick}\n >\n {value}\n </Button>\n );\n});\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n classes: PropTypes.object,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func\n};\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeToolsOrder: PropTypes.func\n };\n\n static defaultProps = {};\n\n select = e => this.props.onChange(e.target.textContent);\n\n moveTool = (dragIndex, hoverIndex) => {\n const { options, onChangeToolsOrder } = this.props;\n const dragged = options[dragIndex];\n\n options.splice(dragIndex, 1);\n options.splice(hoverIndex, 0, dragged);\n\n onChangeToolsOrder(options);\n };\n\n render() {\n const { classes, className, disabled, options, selectedToolType, draggableTools } = this.props;\n\n return (\n <div className={cn(className, classes.toolsContainer)}>\n {(options || []).map((option, index) => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n const toolRef = React.createRef();\n\n return (\n <DragTool\n key={option}\n index={index}\n draggable={draggableTools}\n moveTool={this.moveTool}\n classes={classes}\n toolRef={toolRef}\n >\n <MiniButton\n className={cn(classes.button, isSelected && classes.selected)}\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n />\n </DragTool>\n );\n }\n })}\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n toolsContainer: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n button: {\n marginRight: theme.spacing.unit / 2,\n marginBottom: theme.spacing.unit / 2,\n color: color.text(),\n backgroundColor: color.background()\n },\n under: {\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: -1,\n pointerEvents: 'none'\n },\n wrapper: {\n position: 'relative'\n },\n hidden: {\n opacity: 0\n }\n});\n\nexport default withDragContext(withStyles(styles)(ToggleBar));\n\nconst DRAG_TYPE = 'tool';\n\nexport class Item extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n connectDragSource: PropTypes.func.isRequired,\n connectDragPreview: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n isDragging: PropTypes.bool\n };\n\n static defaultProps = {};\n\n render() {\n const {\n classes,\n children,\n connectDragSource,\n connectDropTarget,\n connectDragPreview,\n isDragging,\n toolRef\n } = this.props;\n\n return (\n <div className={classes.wrapper} ref={toolRef}>\n {connectDragSource(\n connectDropTarget(<div className={isDragging && classes.hidden}>{children}</div>)\n )}\n {connectDragPreview(<div className={classes.under}>{children}</div>)}\n </div>\n );\n }\n}\n\nconst itemSource = {\n canDrag(props) {\n return props.draggable;\n },\n beginDrag(props) {\n return {\n index: props.index\n };\n }\n};\n\nconst itemTarget = {\n hover(props, monitor) {\n const dragIndex = monitor.getItem().index;\n const { toolRef, index: hoverIndex } = props;\n\n if (dragIndex === hoverIndex || !toolRef.current) {\n return;\n }\n\n const hoverBoundingRect = toolRef.current?.getBoundingClientRect();\n const hoverMiddleX = (hoverBoundingRect.right - hoverBoundingRect.left) / 2;\n const clientOffset = monitor.getClientOffset();\n const hoverClientX = clientOffset.x - hoverBoundingRect.left;\n\n if (dragIndex < hoverIndex && hoverClientX < hoverMiddleX) {\n return;\n }\n\n if (dragIndex > hoverIndex && hoverClientX > hoverMiddleX) {\n return;\n }\n\n props.moveTool(dragIndex, hoverIndex);\n monitor.getItem().index = hoverIndex;\n }\n};\n\nconst collectTarget = connect => ({ connectDropTarget: connect.dropTarget() });\n\nconst collectSource = (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging()\n});\n\nconst DragTool = DropTarget(\n DRAG_TYPE,\n itemTarget,\n collectTarget\n)(DragSource(DRAG_TYPE, itemSource, collectSource)(Item));\n"],"file":"toggle-bar.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-menu.js","names":["ToolMenu","tools","showLabel","onChangeTools","props","push","className","currentToolType","disabled","draggableTools","labelModeEnabled","onToggleLabelMode","onChange","toolbarTools","some","t","filter","tT","classNames","updateToolsOrder","React","Component","PropTypes","string","bool","func","arrayOf"],"sources":["../src/tool-menu.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar, { MiniButton } from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onToggleLabelMode: PropTypes.func,\n onChangeTools: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n toolbarTools: []\n };\n\n updateToolsOrder = (tools, showLabel) => {\n const { onChangeTools } = this.props;\n\n if (showLabel) {\n tools.push('label');\n }\n\n onChangeTools(tools);\n };\n\n render() {\n const {\n className,\n currentToolType,\n disabled,\n draggableTools,\n labelModeEnabled,\n onToggleLabelMode,\n onChange\n } = this.props;\n let { toolbarTools } = this.props;\n\n const showLabel = toolbarTools && toolbarTools.some(t => t === 'label');\n\n toolbarTools = (toolbarTools || []).filter(tT => tT !== 'label');\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n draggableTools={draggableTools}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n onChangeToolsOrder={tools => this.updateToolsOrder(tools, showLabel)}\n />\n\n {showLabel && (\n <MiniButton\n disabled={disabled}\n value={'Label'}\n onClick={onToggleLabelMode}\n selected={labelModeEnabled}\n />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;IAEaA,Q;;;;;;;;;;;;;;;yGAiBQ,UAACC,KAAD,EAAQC,SAAR,EAAsB;MACvC,IAAQC,aAAR,GAA0B,MAAKC,KAA/B,CAAQD,aAAR;;MAEA,IAAID,SAAJ,EAAe;QACbD,KAAK,CAACI,IAAN,CAAW,OAAX;MACD;;MAEDF,aAAa,CAACF,KAAD,CAAb;IACD,C;;;;;;WAED,kBAAS;MAAA;;MACP,kBAQI,KAAKG,KART;MAAA,IACEE,SADF,eACEA,SADF;MAAA,IAEEC,eAFF,eAEEA,eAFF;MAAA,IAGEC,QAHF,eAGEA,QAHF;MAAA,IAIEC,cAJF,eAIEA,cAJF;MAAA,IAKEC,gBALF,eAKEA,gBALF;MAAA,IAMEC,iBANF,eAMEA,iBANF;MAAA,IAOEC,QAPF,eAOEA,QAPF;MASA,IAAMC,YAAN,GAAuB,KAAKT,KAA5B,CAAMS,YAAN;MAEA,IAAMX,SAAS,GAAGW,YAAY,IAAIA,YAAY,CAACC,IAAb,CAAkB,UAAAC,CAAC;QAAA,OAAIA,CAAC,KAAK,OAAV;MAAA,CAAnB,CAAlC;MAEAF,YAAY,GAAG,CAACA,YAAY,IAAI,EAAjB,EAAqBG,MAArB,CAA4B,UAAAC,EAAE;QAAA,OAAIA,EAAE,KAAK,OAAX;MAAA,CAA9B,CAAf;MAEA,oBACE;QAAK,SAAS,EAAE,IAAAC,sBAAA,EAAWZ,SAAX;MAAhB,gBACE,gCAAC,qBAAD;QACE,QAAQ,EAAEE,QADZ;QAEE,cAAc,EAAEC,cAFlB;QAGE,OAAO,EAAEI,YAHX;QAIE,gBAAgB,EAAEN,eAJpB;QAKE,QAAQ,EAAEK,QALZ;QAME,kBAAkB,EAAE,4BAAAX,KAAK;UAAA,OAAI,MAAI,CAACkB,gBAAL,CAAsBlB,KAAtB,EAA6BC,SAA7B,CAAJ;QAAA;MAN3B,EADF,EAUGA,SAAS,iBACR,gCAAC,qBAAD;QACE,QAAQ,EAAEM,QADZ;QAEE,KAAK,EAAE,OAFT;QAGE,OAAO,EAAEG,iBAHX;QAIE,QAAQ,EAAED;MAJZ,EAXJ,CADF;IAqBD;;;EAhE2BU,iBAAA,CAAMC,S;;;iCAAvBrB,Q,eACQ;EACjBM,SAAS,EAAEgB,qBAAA,CAAUC,MADJ;EAEjBhB,eAAe,EAAEe,qBAAA,CAAUC,MAFV;EAGjBf,QAAQ,EAAEc,qBAAA,CAAUE,IAHH;EAIjBf,cAAc,EAAEa,qBAAA,CAAUE,IAJT;EAKjBd,gBAAgB,EAAEY,qBAAA,CAAUE,IALX;EAMjBZ,QAAQ,EAAEU,qBAAA,CAAUG,IANH;EAOjBd,iBAAiB,EAAEW,qBAAA,CAAUG,IAPZ;EAQjBtB,aAAa,EAAEmB,qBAAA,CAAUG,IARR;EASjBZ,YAAY,EAAES,qBAAA,CAAUI,OAAV,CAAkBJ,qBAAA,CAAUC,MAA5B;AATG,C;iCADRvB,Q,kBAaW;EACpBa,YAAY,EAAE;AADM,C;eAsDTb,Q"}
1
+ {"version":3,"sources":["../src/tool-menu.jsx"],"names":["ToolMenu","tools","showLabel","onChangeTools","props","push","className","currentToolType","disabled","draggableTools","labelModeEnabled","onToggleLabelMode","onChange","toolbarTools","some","t","filter","tT","updateToolsOrder","React","Component","PropTypes","string","bool","func","arrayOf"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;;;IAEaA,Q;;;;;;;;;;;;;;;yGAiBQ,UAACC,KAAD,EAAQC,SAAR,EAAsB;AACvC,UAAQC,aAAR,GAA0B,MAAKC,KAA/B,CAAQD,aAAR;;AAEA,UAAID,SAAJ,EAAe;AACbD,QAAAA,KAAK,CAACI,IAAN,CAAW,OAAX;AACD;;AAEDF,MAAAA,aAAa,CAACF,KAAD,CAAb;AACD,K;;;;;;WAED,kBAAS;AAAA;;AACP,wBAQI,KAAKG,KART;AAAA,UACEE,SADF,eACEA,SADF;AAAA,UAEEC,eAFF,eAEEA,eAFF;AAAA,UAGEC,QAHF,eAGEA,QAHF;AAAA,UAIEC,cAJF,eAIEA,cAJF;AAAA,UAKEC,gBALF,eAKEA,gBALF;AAAA,UAMEC,iBANF,eAMEA,iBANF;AAAA,UAOEC,QAPF,eAOEA,QAPF;AASA,UAAMC,YAAN,GAAuB,KAAKT,KAA5B,CAAMS,YAAN;AAEA,UAAMX,SAAS,GAAGW,YAAY,IAAIA,YAAY,CAACC,IAAb,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,KAAK,OAAV;AAAA,OAAnB,CAAlC;AAEAF,MAAAA,YAAY,GAAG,CAACA,YAAY,IAAI,EAAjB,EAAqBG,MAArB,CAA4B,UAAAC,EAAE;AAAA,eAAIA,EAAE,KAAK,OAAX;AAAA,OAA9B,CAAf;AAEA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWX,SAAX;AAAhB,sBACE,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEE,QADZ;AAEE,QAAA,cAAc,EAAEC,cAFlB;AAGE,QAAA,OAAO,EAAEI,YAHX;AAIE,QAAA,gBAAgB,EAAEN,eAJpB;AAKE,QAAA,QAAQ,EAAEK,QALZ;AAME,QAAA,kBAAkB,EAAE,4BAAAX,KAAK;AAAA,iBAAI,MAAI,CAACiB,gBAAL,CAAsBjB,KAAtB,EAA6BC,SAA7B,CAAJ;AAAA;AAN3B,QADF,EAUGA,SAAS,iBACR,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAEM,QADZ;AAEE,QAAA,KAAK,EAAE,OAFT;AAGE,QAAA,OAAO,EAAEG,iBAHX;AAIE,QAAA,QAAQ,EAAED;AAJZ,QAXJ,CADF;AAqBD;;;EAhE2BS,kBAAMC,S;;;iCAAvBpB,Q,eACQ;AACjBM,EAAAA,SAAS,EAAEe,sBAAUC,MADJ;AAEjBf,EAAAA,eAAe,EAAEc,sBAAUC,MAFV;AAGjBd,EAAAA,QAAQ,EAAEa,sBAAUE,IAHH;AAIjBd,EAAAA,cAAc,EAAEY,sBAAUE,IAJT;AAKjBb,EAAAA,gBAAgB,EAAEW,sBAAUE,IALX;AAMjBX,EAAAA,QAAQ,EAAES,sBAAUG,IANH;AAOjBb,EAAAA,iBAAiB,EAAEU,sBAAUG,IAPZ;AAQjBrB,EAAAA,aAAa,EAAEkB,sBAAUG,IARR;AASjBX,EAAAA,YAAY,EAAEQ,sBAAUI,OAAV,CAAkBJ,sBAAUC,MAA5B;AATG,C;iCADRtB,Q,kBAaW;AACpBa,EAAAA,YAAY,EAAE;AADM,C;eAsDTb,Q","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport ToggleBar, { MiniButton } from './toggle-bar';\n\nexport class ToolMenu extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n currentToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n labelModeEnabled: PropTypes.bool,\n onChange: PropTypes.func,\n onToggleLabelMode: PropTypes.func,\n onChangeTools: PropTypes.func,\n toolbarTools: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n toolbarTools: []\n };\n\n updateToolsOrder = (tools, showLabel) => {\n const { onChangeTools } = this.props;\n\n if (showLabel) {\n tools.push('label');\n }\n\n onChangeTools(tools);\n };\n\n render() {\n const {\n className,\n currentToolType,\n disabled,\n draggableTools,\n labelModeEnabled,\n onToggleLabelMode,\n onChange\n } = this.props;\n let { toolbarTools } = this.props;\n\n const showLabel = toolbarTools && toolbarTools.some(t => t === 'label');\n\n toolbarTools = (toolbarTools || []).filter(tT => tT !== 'label');\n\n return (\n <div className={classNames(className)}>\n <ToggleBar\n disabled={disabled}\n draggableTools={draggableTools}\n options={toolbarTools}\n selectedToolType={currentToolType}\n onChange={onChange}\n onChangeToolsOrder={tools => this.updateToolsOrder(tools, showLabel)}\n />\n\n {showLabel && (\n <MiniButton\n disabled={disabled}\n value={'Label'}\n onClick={onToggleLabelMode}\n selected={labelModeEnabled}\n />\n )}\n </div>\n );\n }\n}\n\nexport default ToolMenu;\n"],"file":"tool-menu.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"bg-circle.js","names":["RawCircle","props","classes","disabled","className","correctness","x","y","radius","graphProps","rest","scale","rx","Math","abs","ry","classNames","bgCircle","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","primaryLight","transition","primaryDark","correct","incorrect","BgCircle","withStyles","gridDraggable","bounds","domain","range","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","newPoint","point","add"],"sources":["../../../src/tools/circle/bg-circle.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, correct, incorrect } from '../shared/styles';\n\n/**\n * A low level circle component\n *\n * TODO: This and base point have a lot of similarities - merge commonality\n *\n */\nclass RawCircle extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const {\n classes,\n disabled,\n className,\n correctness,\n x,\n y,\n radius,\n graphProps,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <ellipse\n className={classNames(\n classes.bgCircle,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\nconst applyStyle = fn => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke')\n }\n});\n\nconst styles = () => ({\n bgCircle: {\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n disabled: applyStyle(disabled),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect)\n});\n\nexport const BgCircle = withStyles(styles)(RawCircle);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n }\n})(BgCircle);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;IACMA,S;;;;;;;;;;;;WAYJ,kBAAS;MACP,kBAUI,KAAKC,KAVT;MAAA,IACEC,OADF,eACEA,OADF;MAAA,IAEEC,QAFF,eAEEA,QAFF;MAAA,IAGEC,SAHF,eAGEA,SAHF;MAAA,IAIEC,WAJF,eAIEA,WAJF;MAAA,IAKEC,CALF,eAKEA,CALF;MAAA,IAMEC,CANF,eAMEA,CANF;MAAA,IAOEC,MAPF,eAOEA,MAPF;MAAA,IAQEC,UARF,eAQEA,UARF;MAAA,IASKC,IATL;MAWA,IAAQC,KAAR,GAAkBF,UAAlB,CAAQE,KAAR;MACA,IAAMC,EAAE,GAAGC,IAAI,CAACC,GAAL,CAASH,KAAK,CAACL,CAAN,CAAQA,CAAC,GAAGE,MAAZ,IAAsBG,KAAK,CAACL,CAAN,CAAQA,CAAR,CAA/B,CAAX;MACA,IAAMS,EAAE,GAAGF,IAAI,CAACC,GAAL,CAASH,KAAK,CAACJ,CAAN,CAAQA,CAAC,GAAGC,MAAZ,IAAsBG,KAAK,CAACJ,CAAN,CAAQA,CAAR,CAA/B,CAAX;MAEA,oBACE;QACE,SAAS,EAAE,IAAAS,sBAAA,EACTd,OAAO,CAACe,QADC,EAETd,QAAQ,IAAID,OAAO,CAACC,QAFX,EAGTD,OAAO,CAACG,WAAD,CAHE,EAITD,SAJS,CADb;QAOE,EAAE,EAAEO,KAAK,CAACL,CAAN,CAAQA,CAAR,CAPN;QAQE,EAAE,EAAEK,KAAK,CAACJ,CAAN,CAAQA,CAAR,CARN;QASE,EAAE,EAAEK,EATN;QAUE,EAAE,EAAEG;MAVN,GAWML,IAXN,EADF;IAeD;;;EA3CqBQ,iBAAA,CAAMC,S;;iCAAxBnB,S,eACe;EACjBE,OAAO,EAAEkB,qBAAA,CAAUC,MAAV,CAAiBC,UADT;EAEjBlB,SAAS,EAAEgB,qBAAA,CAAUG,MAFJ;EAGjBlB,WAAW,EAAEe,qBAAA,CAAUG,MAHN;EAIjBpB,QAAQ,EAAEiB,qBAAA,CAAUI,IAJH;EAKjBlB,CAAC,EAAEc,qBAAA,CAAUK,MAAV,CAAiBH,UALH;EAMjBf,CAAC,EAAEa,qBAAA,CAAUK,MAAV,CAAiBH,UANH;EAOjBd,MAAM,EAAEY,qBAAA,CAAUK,MAPD;EAQjBhB,UAAU,EAAEiB,WAAA,CAAMC,cAAN,CAAqBL;AARhB,C;;AA6CrB,IAAMM,UAAU,GAAG,SAAbA,UAAa,CAAAC,EAAE;EAAA,uCAChBA,EAAE,CAAC,QAAD,CADc;IAEnB;MACEC,WAAW,EAAE;IADf,GAEKD,EAAE,CAAC,QAAD,CAFP;EAFmB;AAAA,CAArB;;AAQA,IAAME,MAAM,GAAG,SAATA,MAAS;EAAA,OAAO;IACpBd,QAAQ,EAAE;MACRe,IAAI,EAAE,aADE;MAERC,MAAM,EAAEC,eAAA,CAAMC,YAAN,EAFA;MAGRL,WAAW,EAAE,CAHL;MAIRM,UAAU,EAAE,kDAJJ;MAKR,WAAW;QACTN,WAAW,EAAE,CADJ;QAETG,MAAM,EAAEC,eAAA,CAAMG,WAAN;MAFC;IALH,CADU;IAWpBlC,QAAQ,EAAEyB,UAAU,CAACzB,iBAAD,CAXA;IAYpBmC,OAAO,EAAEV,UAAU,CAACU,gBAAD,CAZC;IAapBC,SAAS,EAAEX,UAAU,CAACW,kBAAD;EAbD,CAAP;AAAA,CAAf;;AAgBO,IAAMC,QAAQ,GAAG,IAAAC,kBAAA,EAAWV,MAAX,EAAmB/B,SAAnB,CAAjB;;;eAEQ,IAAA0C,mBAAA,EAAc;EAC3BC,MAAM,EAAE,gBAAC1C,KAAD,QAA8B;IAAA,IAApB2C,MAAoB,QAApBA,MAAoB;IAAA,IAAZC,KAAY,QAAZA,KAAY;IACpC,IAAQvC,CAAR,GAAiBL,KAAjB,CAAQK,CAAR;IAAA,IAAWC,CAAX,GAAiBN,KAAjB,CAAWM,CAAX;IACA,IAAMuC,IAAI,GAAG;MAAEC,IAAI,EAAEzC,CAAR;MAAW0C,GAAG,EAAEzC,CAAhB;MAAmB0C,MAAM,EAAE1C,CAA3B;MAA8B2C,KAAK,EAAE5C;IAArC,CAAb;IACA,OAAO6C,KAAK,CAACR,MAAN,CAAaG,IAAb,EAAmBF,MAAnB,EAA2BC,KAA3B,CAAP;EACD,CAL0B;EAM3BO,WAAW,EAAE,qBAAAnD,KAAK,EAAI;IACpB,IAAQK,CAAR,GAAiBL,KAAjB,CAAQK,CAAR;IAAA,IAAWC,CAAX,GAAiBN,KAAjB,CAAWM,CAAX;IACA,OAAO;MAAED,CAAC,EAADA,CAAF;MAAKC,CAAC,EAADA;IAAL,CAAP;EACD,CAT0B;EAU3B8C,SAAS,EAAE,mBAACpD,KAAD,EAAQqD,KAAR,EAAkB;IAC3B,IAAMC,QAAQ,GAAGJ,KAAK,CAACK,KAAN,CAAYvD,KAAZ,EAAmBwD,GAAnB,CAAuBN,KAAK,CAACK,KAAN,CAAYF,KAAZ,CAAvB,CAAjB;IACA,OAAOC,QAAP;EACD;AAb0B,CAAd,EAcZf,QAdY,C"}
1
+ {"version":3,"sources":["../../../src/tools/circle/bg-circle.jsx"],"names":["RawCircle","props","classes","disabled","className","correctness","x","y","radius","graphProps","rest","scale","rx","Math","abs","ry","bgCircle","React","Component","PropTypes","object","isRequired","string","bool","number","types","GraphPropsType","applyStyle","fn","strokeWidth","styles","fill","stroke","color","primaryLight","transition","primaryDark","correct","incorrect","BgCircle","bounds","domain","range","area","left","top","bottom","right","utils","anchorPoint","fromDelta","delta","newPoint","point","add"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { types, gridDraggable } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\nimport * as utils from '../../utils';\nimport { disabled, correct, incorrect } from '../shared/styles';\n\n/**\n * A low level circle component\n *\n * TODO: This and base point have a lot of similarities - merge commonality\n *\n */\nclass RawCircle extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n x: PropTypes.number.isRequired,\n y: PropTypes.number.isRequired,\n radius: PropTypes.number,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const {\n classes,\n disabled,\n className,\n correctness,\n x,\n y,\n radius,\n graphProps,\n ...rest\n } = this.props;\n const { scale } = graphProps;\n const rx = Math.abs(scale.x(x + radius) - scale.x(x));\n const ry = Math.abs(scale.y(y + radius) - scale.y(y));\n\n return (\n <ellipse\n className={classNames(\n classes.bgCircle,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n cx={scale.x(x)}\n cy={scale.y(y)}\n rx={rx}\n ry={ry}\n {...rest}\n />\n );\n }\n}\n\nconst applyStyle = fn => ({\n ...fn('stroke'),\n '&:hover': {\n strokeWidth: 3,\n ...fn('stroke')\n }\n});\n\nconst styles = () => ({\n bgCircle: {\n fill: 'transparent',\n stroke: color.primaryLight(),\n strokeWidth: 3,\n transition: 'stroke 200ms ease-in, stroke-width 200ms ease-in',\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n disabled: applyStyle(disabled),\n correct: applyStyle(correct),\n incorrect: applyStyle(incorrect)\n});\n\nexport const BgCircle = withStyles(styles)(RawCircle);\n\nexport default gridDraggable({\n bounds: (props, { domain, range }) => {\n const { x, y } = props;\n const area = { left: x, top: y, bottom: y, right: x };\n return utils.bounds(area, domain, range);\n },\n anchorPoint: props => {\n const { x, y } = props;\n return { x, y };\n },\n fromDelta: (props, delta) => {\n const newPoint = utils.point(props).add(utils.point(delta));\n return newPoint;\n }\n})(BgCircle);\n"],"file":"bg-circle.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","names":["opacityPulsate","opacity","getRadius","from","outer","c","point","dist","RawBaseCircle","props","middle","onChange","to","equalPoints","getMiddleOfTwoPoints","draggedFrom","label","onChangePoint","draggedTo","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","isEmpty","input","focus","disabled","classes","coordinatesOnHover","building","onDragStart","onDragStop","onClick","correctness","graphProps","labelNode","labelModeEnabled","common","radius","fromLabelNode","toLabelNode","circleLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","classNames","bgCircleBuilding","x","y","dragCircle","clickPoint","dragTo","dragFrom","React","Component","PropTypes","bool","object","isRequired","className","string","types","PointType","func","GraphPropsType","BaseCircle","withStyles","theme","outerLine","fill","stroke","color","primaryLight","strokeWidth","primaryDark","root","secondaryLight","animation","animationIterationCount","rootEdgeComponent"],"sources":["../../../src/tools/circle/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst opacityPulsate = opacity => ({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' }\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func\n };\n\n static defaultProps = {\n onClick: () => ({})\n };\n\n onChangePoint = point => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragFrom = draggedFrom => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = draggedTo => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = draggedFrom => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState(\n {\n draggedroot: undefined,\n draggedOuter: undefined,\n isCircleDrag: false\n },\n () => {\n onChange(updated);\n }\n );\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type) => {\n const { changeMarkProps, from, to } = this.props;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n classes,\n coordinatesOnHover,\n building,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled\n } = this.props;\n const common = { onDragStart, onDragStop, graphProps, onClick };\n\n to = to || from;\n\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from && from.hasOwnProperty('label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode\n );\n }\n\n if (to && to.hasOwnProperty('label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode\n );\n }\n\n if (middle && middle.hasOwnProperty('label')) {\n circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode\n );\n }\n }\n\n return (\n <g>\n <BgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && classes.bgCircleBuilding)}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className={classes.from}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\nexport const BaseCircle = withStyles(theme => ({\n outerLine: {\n fill: 'rgb(0,0,0,0)', // TODO hardcoded color\n stroke: color.primaryLight(),\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n root: {},\n bgCircleBuilding: {\n stroke: color.secondaryLight(),\n animation: 'opacityPulse 2s ease-out',\n animationIterationCount: 'infinite',\n opacity: 1\n },\n '@keyframes opacityPulse': opacityPulsate('0.3')\n}))(RawBaseCircle);\n\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/tools/circle/component.jsx"],"names":["opacityPulsate","opacity","getRadius","from","outer","c","dist","RawBaseCircle","point","props","middle","onChange","to","draggedFrom","label","onChangePoint","draggedTo","diff","sub","updated","setState","draggedroot","undefined","draggedOuter","isCircleDrag","type","changeMarkProps","update","input","focus","disabled","classes","coordinatesOnHover","building","onDragStart","onDragStop","onClick","correctness","graphProps","labelNode","labelModeEnabled","common","radius","fromLabelNode","toLabelNode","circleLabelNode","hasOwnProperty","ReactDOM","createPortal","r","labelChange","bgCircleBuilding","x","y","dragCircle","clickPoint","dragTo","dragFrom","React","Component","PropTypes","bool","object","isRequired","className","string","types","PointType","func","GraphPropsType","BaseCircle","theme","outerLine","fill","stroke","color","primaryLight","strokeWidth","primaryDark","root","secondaryLight","animation","animationIterationCount"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { BasePoint } from '../shared/point';\nimport BgCircle from './bg-circle';\nimport { getMiddleOfTwoPoints, point, equalPoints } from '../../utils';\nimport classNames from 'classnames';\nimport { types } from '@pie-lib/plot';\nimport { rootEdgeComponent } from '../shared/line/with-root-edge';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst opacityPulsate = opacity => ({\n '0%': { opacity: '0.0' },\n '50%': { opacity },\n '100%': { opacity: '0.0' }\n});\n\nconst getRadius = (from, outer) => {\n const c = point(from);\n return c.dist(point(outer));\n};\n\nexport class RawBaseCircle extends React.Component {\n static propTypes = {\n building: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n coordinatesOnHover: PropTypes.bool,\n correctness: PropTypes.string,\n from: types.PointType,\n disabled: PropTypes.bool,\n to: types.PointType,\n middle: types.PointType,\n onChange: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n onClick: PropTypes.func,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n changeMarkProps: PropTypes.func\n };\n\n static defaultProps = {\n onClick: () => ({})\n };\n\n onChangePoint = point => {\n const { middle, onChange } = this.props;\n const { from, to } = point;\n\n // because point.from.label and point.to.label can be different\n if (!equalPoints(from, to)) {\n if (middle) {\n point.middle = { ...middle, ...getMiddleOfTwoPoints(from, to) };\n }\n\n onChange(point);\n }\n };\n\n dragFrom = draggedFrom => {\n const { from, to } = this.props;\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (!equalPoints(draggedFrom, to)) {\n this.onChangePoint({ from: draggedFrom, to });\n }\n };\n\n dragTo = draggedTo => {\n const { from, to } = this.props;\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n if (!equalPoints(from, draggedTo)) {\n this.onChangePoint({ from, to: draggedTo });\n }\n };\n\n dragCircle = draggedFrom => {\n const { from, to, onChange, middle } = this.props;\n const diff = point(from).sub(point(draggedFrom));\n const draggedTo = point(to).sub(diff);\n\n if (from.label) {\n draggedFrom.label = from.label;\n }\n\n if (to.label) {\n draggedTo.label = to.label;\n }\n\n const updated = { from: draggedFrom, to: draggedTo };\n\n if (middle) {\n updated.middle = { ...middle, ...getMiddleOfTwoPoints(draggedFrom, draggedTo) };\n }\n\n this.setState(\n {\n draggedroot: undefined,\n draggedOuter: undefined,\n isCircleDrag: false\n },\n () => {\n onChange(updated);\n }\n );\n };\n\n labelChange = (point, type) => {\n const { changeMarkProps } = this.props;\n const update = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete update.label;\n }\n\n changeMarkProps({ [type]: update });\n };\n\n clickPoint = (point, type) => {\n const { changeMarkProps, from, to } = this.props;\n\n if (type === 'middle' && !point && from && to) {\n point = { ...point, ...getMiddleOfTwoPoints(from, to) };\n }\n\n changeMarkProps({ from, to, [type]: { label: '', ...point } });\n\n if (this.input[type]) {\n this.input[type].focus();\n }\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n let {\n from,\n to,\n middle,\n disabled,\n classes,\n coordinatesOnHover,\n building,\n onDragStart,\n onDragStop,\n onClick,\n correctness,\n graphProps,\n labelNode,\n labelModeEnabled\n } = this.props;\n const common = { onDragStart, onDragStop, graphProps, onClick };\n\n to = to || from;\n\n const radius = getRadius(from, to);\n\n let fromLabelNode = null;\n let toLabelNode = null;\n let circleLabelNode = null;\n\n if (labelNode) {\n if (from && from.hasOwnProperty('label')) {\n fromLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.from = r)}\n disabled={!labelModeEnabled}\n mark={from}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...from, label }, 'from')}\n />,\n labelNode\n );\n }\n\n if (to && to.hasOwnProperty('label')) {\n toLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.to = r)}\n disabled={!labelModeEnabled}\n mark={to}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...to, label }, 'to')}\n />,\n labelNode\n );\n }\n\n if (middle && middle.hasOwnProperty('label')) {\n circleLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input.middle = r)}\n disabled={!labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={label => this.labelChange({ ...middle, label }, 'middle')}\n />,\n labelNode\n );\n }\n }\n\n return (\n <g>\n <BgCircle\n disabled={building || disabled}\n correctness={correctness}\n className={classNames(building && classes.bgCircleBuilding)}\n x={from.x}\n y={from.y}\n radius={radius}\n onDrag={this.dragCircle}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(middle, 'middle') : common.onClick}\n />\n {circleLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={to.x}\n y={to.y}\n onDrag={this.dragTo}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(to, 'to') : common.onClick}\n />\n {toLabelNode}\n\n <BasePoint\n disabled={building || disabled}\n coordinatesOnHover={coordinatesOnHover}\n correctness={correctness}\n labelNode={labelNode}\n x={from.x}\n y={from.y}\n className={classes.from}\n onDrag={this.dragFrom}\n {...common}\n onClick={labelModeEnabled ? () => this.clickPoint(from, 'from') : common.onClick}\n />\n {fromLabelNode}\n </g>\n );\n }\n}\n\nexport const BaseCircle = withStyles(theme => ({\n outerLine: {\n fill: 'rgb(0,0,0,0)', // TODO hardcoded color\n stroke: color.primaryLight(),\n strokeWidth: 4,\n '&:hover': {\n strokeWidth: 6,\n stroke: color.primaryDark()\n }\n },\n root: {},\n bgCircleBuilding: {\n stroke: color.secondaryLight(),\n animation: 'opacityPulse 2s ease-out',\n animationIterationCount: 'infinite',\n opacity: 1\n },\n '@keyframes opacityPulse': opacityPulsate('0.3')\n}))(RawBaseCircle);\n\nconst Component = rootEdgeComponent(BaseCircle);\nexport default Component;\n"],"file":"component.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["tool","type","Component","Circle","hover","point","mark","edge","addPoint","equalPoints","root","building"],"sources":["../../../src/tools/circle/index.js"],"sourcesContent":["import Circle from './component';\nimport { equalPoints } from '../../utils';\n\nexport const tool = () => ({\n type: 'circle',\n Component: Circle,\n hover: (point, mark) => {\n return { ...mark, edge: point };\n },\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'circle',\n root: point,\n building: true\n };\n } else {\n return { ...mark, edge: point, building: false };\n }\n }\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,QADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,KAAK,EAAE,eAACC,KAAD,EAAQC,IAAR,EAAiB;MACtB,uCAAYA,IAAZ;QAAkBC,IAAI,EAAEF;MAAxB;IACD,CALwB;IAMzBG,QAAQ,EAAE,kBAACH,KAAD,EAAQC,IAAR,EAAiB;MACzB,IAAIA,IAAI,IAAI,IAAAG,kBAAA,EAAYH,IAAI,CAACI,IAAjB,EAAuBL,KAAvB,CAAZ,EAA2C;QACzC,OAAOC,IAAP;MACD;;MAED,IAAI,CAACA,IAAL,EAAW;QACT,OAAO;UACLL,IAAI,EAAE,QADD;UAELS,IAAI,EAAEL,KAFD;UAGLM,QAAQ,EAAE;QAHL,CAAP;MAKD,CAND,MAMO;QACL,uCAAYL,IAAZ;UAAkBC,IAAI,EAAEF,KAAxB;UAA+BM,QAAQ,EAAE;QAAzC;MACD;IACF;EApBwB,CAAP;AAAA,CAAb"}
1
+ {"version":3,"sources":["../../../src/tools/circle/index.js"],"names":["tool","type","Component","Circle","hover","point","mark","edge","addPoint","root","building"],"mappings":";;;;;;;;;;;AAAA;;AACA;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,QADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,KAAK,EAAE,eAACC,KAAD,EAAQC,IAAR,EAAiB;AACtB,6CAAYA,IAAZ;AAAkBC,QAAAA,IAAI,EAAEF;AAAxB;AACD,KALwB;AAMzBG,IAAAA,QAAQ,EAAE,kBAACH,KAAD,EAAQC,IAAR,EAAiB;AACzB,UAAIA,IAAI,IAAI,wBAAYA,IAAI,CAACG,IAAjB,EAAuBJ,KAAvB,CAAZ,EAA2C;AACzC,eAAOC,IAAP;AACD;;AAED,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,QADD;AAELQ,UAAAA,IAAI,EAAEJ,KAFD;AAGLK,UAAAA,QAAQ,EAAE;AAHL,SAAP;AAKD,OAND,MAMO;AACL,+CAAYJ,IAAZ;AAAkBC,UAAAA,IAAI,EAAEF,KAAxB;AAA+BK,UAAAA,QAAQ,EAAE;AAAzC;AACD;AACF;AApBwB,GAAP;AAAA,CAAb","sourcesContent":["import Circle from './component';\nimport { equalPoints } from '../../utils';\n\nexport const tool = () => ({\n type: 'circle',\n Component: Circle,\n hover: (point, mark) => {\n return { ...mark, edge: point };\n },\n addPoint: (point, mark) => {\n if (mark && equalPoints(mark.root, point)) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'circle',\n root: point,\n building: true\n };\n } else {\n return { ...mark, edge: point, building: false };\n }\n }\n});\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["allTools","toolsArr","circle","line","parabola","point","polygon","ray","segment","sine","vector"],"sources":["../../src/tools/index.js"],"sourcesContent":["import { tool as point } from './point';\nimport { tool as circle } from './circle';\nimport { tool as polygon } from './polygon';\nimport { tool as sine } from './sine/index';\nimport { tool as parabola } from './parabola/index';\nimport { tool as line } from './line';\nimport { tool as segment } from './segment';\nimport { tool as ray } from './ray';\nimport { tool as vector } from './vector';\n\nconst allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector'\n];\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector()\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,CACf,QADe,EAEf,MAFe,EAGf,OAHe,EAIf,UAJe,EAKf,OALe,EAMf,SANe,EAOf,KAPe,EAQf,SARe,EASf,MATe,EAUf,QAVe,CAAjB;;AAaA,IAAMC,QAAQ,GAAG,CACf,IAAAC,YAAA,GADe,EAEf,IAAAC,UAAA,GAFe,EAGf,IAAAC,YAAA,GAHe,EAIf,IAAAC,WAAA,GAJe,EAKf,IAAAC,aAAA,GALe,EAMf,IAAAC,SAAA,GANe,EAOf,IAAAC,aAAA,GAPe,EAQf,IAAAC,WAAA,GARe,EASf,IAAAC,YAAA,GATe,CAAjB"}
1
+ {"version":3,"sources":["../../src/tools/index.js"],"names":["allTools","toolsArr"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,CACf,QADe,EAEf,MAFe,EAGf,OAHe,EAIf,UAJe,EAKf,OALe,EAMf,SANe,EAOf,KAPe,EAQf,SARe,EASf,MATe,EAUf,QAVe,CAAjB;;AAaA,IAAMC,QAAQ,GAAG,CACf,mBADe,EAEf,iBAFe,EAGf,mBAHe,EAIf,kBAJe,EAKf,oBALe,EAMf,gBANe,EAOf,oBAPe,EAQf,kBARe,EASf,mBATe,CAAjB","sourcesContent":["import { tool as point } from './point';\nimport { tool as circle } from './circle';\nimport { tool as polygon } from './polygon';\nimport { tool as sine } from './sine/index';\nimport { tool as parabola } from './parabola/index';\nimport { tool as line } from './line';\nimport { tool as segment } from './segment';\nimport { tool as ray } from './ray';\nimport { tool as vector } from './vector';\n\nconst allTools = [\n 'circle',\n 'line',\n 'label',\n 'parabola',\n 'point',\n 'polygon',\n 'ray',\n 'segment',\n 'sine',\n 'vector'\n];\n\nconst toolsArr = [\n circle(),\n line(),\n parabola(),\n point(),\n polygon(),\n ray(),\n segment(),\n sine(),\n vector()\n];\n\nexport { allTools, toolsArr, circle, line, point, parabola, polygon, ray, sine, vector };\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","names":["markerId","genUid","lineStyles","theme","line","styles","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","ArrowedLine","props","className","classes","correctness","graphProps","from","to","rest","scale","getAdjustedGraphLimits","domain","range","trig","edges","eFrom","eTo","suffix","thinnerShapesNeeded","classNames","x","y","propTypes","PropTypes","string","object","bool","types","GraphPropsType","PointType","StyledArrowedLine","withStyles","Line","lineBase","Component","lineToolComponent"],"sources":["../../../src/tools/line/component.jsx"],"sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { trig, types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst markerId = genUid();\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme)\n});\n\nexport const ArrowedLine = props => {\n const { className, classes, correctness, disabled, graphProps, from, to, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [eFrom, eTo] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(eFrom.x)}\n y1={scale.y(eFrom.y)}\n x2={scale.x(eTo.x)}\n y2={scale.y(eTo.y)}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n markerStart={`url(#${props.markerId || markerId}-${suffix})`}\n {...rest}\n />\n </g>\n );\n};\n\nArrowedLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string\n};\n\nconst StyledArrowedLine = withStyles(lineStyles)(ArrowedLine);\n\nconst Line = lineBase(StyledArrowedLine);\nconst Component = lineToolComponent(Line);\n\nexport default Component;\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/tools/line/component.jsx"],"names":["markerId","lineStyles","theme","line","styles","enabledArrow","arrow","disabledArrow","disabled","correct","correctArrow","incorrect","incorrectArrow","ArrowedLine","props","className","classes","correctness","graphProps","from","to","rest","scale","domain","range","trig","edges","eFrom","eTo","suffix","x","y","propTypes","PropTypes","string","object","bool","types","GraphPropsType","PointType","StyledArrowedLine","Line","Component"],"mappings":"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","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { trig, types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { ArrowMarker, genUid } from '../shared/arrow-head';\nimport { thinnerShapesNeeded, getAdjustedGraphLimits } from '../../utils';\n\nconst markerId = genUid();\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n enabledArrow: styles.arrow(theme),\n disabledArrow: styles.disabledArrow(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n correctArrow: styles.correct(theme),\n incorrect: styles.incorrect(theme, 'stroke'),\n incorrectArrow: styles.incorrect(theme)\n});\n\nexport const ArrowedLine = props => {\n const { className, classes, correctness, disabled, graphProps, from, to, ...rest } = props;\n const { scale } = graphProps;\n const { domain, range } = getAdjustedGraphLimits(graphProps);\n const [eFrom, eTo] = trig.edges(domain, range)(from, to);\n const suffix = correctness || (disabled && 'disabled') || 'enabled';\n\n return (\n <g>\n <defs>\n <ArrowMarker\n size={thinnerShapesNeeded(graphProps) ? 4 : 5}\n id={`${props.markerId || markerId}-${suffix}`}\n className={classNames(classes[`${suffix}Arrow`])}\n />\n </defs>\n <line\n x1={scale.x(eFrom.x)}\n y1={scale.y(eFrom.y)}\n x2={scale.x(eTo.x)}\n y2={scale.y(eTo.y)}\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n markerEnd={`url(#${props.markerId || markerId}-${suffix})`}\n markerStart={`url(#${props.markerId || markerId}-${suffix})`}\n {...rest}\n />\n </g>\n );\n};\n\nArrowedLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n correctness: PropTypes.string,\n disabled: PropTypes.bool,\n graphProps: types.GraphPropsType,\n from: types.PointType,\n to: types.PointType,\n markerId: PropTypes.string\n};\n\nconst StyledArrowedLine = withStyles(lineStyles)(ArrowedLine);\n\nconst Line = lineBase(StyledArrowedLine);\nconst Component = lineToolComponent(Line);\n\nexport default Component;\n"],"file":"component.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["tool","lineTool","Line"],"sources":["../../../src/tools/line/index.js"],"sourcesContent":["import Line from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('line', Line);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,IAAAC,cAAA,EAAS,MAAT,EAAiBC,qBAAjB,CAAb"}
1
+ {"version":3,"sources":["../../../src/tools/line/index.js"],"names":["tool","Line"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,oBAAS,MAAT,EAAiBC,qBAAjB,CAAb","sourcesContent":["import Line from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('line', Line);\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","names":["log","debug","Parabola","withRootEdge","props","domain","graphProps","root","edge","interval","dataPoints","x","buildDataPoints","min","max","step","parabolaFromTwoPoints","Component","rootEdgeComponent"],"sources":["../../../src/tools/parabola/component.jsx"],"sourcesContent":["import debug from 'debug';\nimport { buildDataPoints, parabolaFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nconst Parabola = withRootEdge(props => {\n const { domain } = props.graphProps;\n\n const { root, edge } = props;\n const interval = 1;\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n domain.min,\n domain.max,\n root,\n edge,\n domain.step || interval,\n parabolaFromTwoPoints(root, edge)\n );\n log('dataPoints:', dataPoints);\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Parabola);\nexport default Component;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,uBAAN,CAAZ;AAEA,IAAMC,QAAQ,GAAG,IAAAC,0BAAA,EAAa,UAAAC,KAAK,EAAI;EACrC,IAAQC,MAAR,GAAmBD,KAAK,CAACE,UAAzB,CAAQD,MAAR;EAEA,IAAQE,IAAR,GAAuBH,KAAvB,CAAQG,IAAR;EAAA,IAAcC,IAAd,GAAuBJ,KAAvB,CAAcI,IAAd;EACA,IAAMC,QAAQ,GAAG,CAAjB;EAEA,IAAMC,UAAU,GACdF,IAAI,IAAIA,IAAI,CAACG,CAAL,KAAWJ,IAAI,CAACI,CAAxB,GACI,EADJ,GAEI,IAAAC,8BAAA,EACEP,MAAM,CAACQ,GADT,EAEER,MAAM,CAACS,GAFT,EAGEP,IAHF,EAIEC,IAJF,EAKEH,MAAM,CAACU,IAAP,IAAeN,QALjB,EAME,IAAAO,oCAAA,EAAsBT,IAAtB,EAA4BC,IAA5B,CANF,CAHN;EAWAR,GAAG,CAAC,aAAD,EAAgBU,UAAhB,CAAH;EACA,OAAO;IAAEH,IAAI,EAAEH,KAAK,CAACG,IAAd;IAAoBC,IAAI,EAAEJ,KAAK,CAACI,IAAhC;IAAsCE,UAAU,EAAVA;EAAtC,CAAP;AACD,CAnBgB,CAAjB;AAqBA,IAAMO,SAAS,GAAG,IAAAC,+BAAA,EAAkBhB,QAAlB,CAAlB;eACee,S"}
1
+ {"version":3,"sources":["../../../src/tools/parabola/component.jsx"],"names":["log","Parabola","props","domain","graphProps","root","edge","interval","dataPoints","x","min","max","step","Component"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;AAEA,IAAMC,QAAQ,GAAG,gCAAa,UAAAC,KAAK,EAAI;AACrC,MAAQC,MAAR,GAAmBD,KAAK,CAACE,UAAzB,CAAQD,MAAR;AAEA,MAAQE,IAAR,GAAuBH,KAAvB,CAAQG,IAAR;AAAA,MAAcC,IAAd,GAAuBJ,KAAvB,CAAcI,IAAd;AACA,MAAMC,QAAQ,GAAG,CAAjB;AAEA,MAAMC,UAAU,GACdF,IAAI,IAAIA,IAAI,CAACG,CAAL,KAAWJ,IAAI,CAACI,CAAxB,GACI,EADJ,GAEI,oCACEN,MAAM,CAACO,GADT,EAEEP,MAAM,CAACQ,GAFT,EAGEN,IAHF,EAIEC,IAJF,EAKEH,MAAM,CAACS,IAAP,IAAeL,QALjB,EAME,0CAAsBF,IAAtB,EAA4BC,IAA5B,CANF,CAHN;AAWAN,EAAAA,GAAG,CAAC,aAAD,EAAgBQ,UAAhB,CAAH;AACA,SAAO;AAAEH,IAAAA,IAAI,EAAEH,KAAK,CAACG,IAAd;AAAoBC,IAAAA,IAAI,EAAEJ,KAAK,CAACI,IAAhC;AAAsCE,IAAAA,UAAU,EAAVA;AAAtC,GAAP;AACD,CAnBgB,CAAjB;AAqBA,IAAMK,SAAS,GAAG,qCAAkBZ,QAAlB,CAAlB;eACeY,S","sourcesContent":["import debug from 'debug';\nimport { buildDataPoints, parabolaFromTwoPoints } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nconst Parabola = withRootEdge(props => {\n const { domain } = props.graphProps;\n\n const { root, edge } = props;\n const interval = 1;\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n domain.min,\n domain.max,\n root,\n edge,\n domain.step || interval,\n parabolaFromTwoPoints(root, edge)\n );\n log('dataPoints:', dataPoints);\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Parabola);\nexport default Component;\n"],"file":"component.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["log","debug","tool","type","Component","Parabola","complete","data","mark","building","closed","addPoint","point","equalPoints","root","sameAxes","edge","undefined","Error"],"sources":["../../../src/tools/parabola/index.js"],"sourcesContent":["import Parabola from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:parabola');\n\nexport const tool = () => ({\n type: 'parabola',\n Component: Parabola,\n complete: (data, mark) => ({ ...mark, building: false, closed: true }),\n addPoint: (point, mark) => {\n log('add point to parabola model: ', point, 'mark: ', mark);\n if (mark && (equalPoints(mark.root, point) || sameAxes(mark.root, point))) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'parabola',\n root: point,\n edge: undefined,\n closed: false,\n building: true\n };\n } else if (mark && !mark.root) {\n throw new Error('no root - should never happen');\n } else {\n return { ...mark, edge: point, closed: true, building: false };\n }\n }\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,2BAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,UADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP;MAAA,uCAAsBA,IAAtB;QAA4BC,QAAQ,EAAE,KAAtC;QAA6CC,MAAM,EAAE;MAArD;IAAA,CAHe;IAIzBC,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;MACzBR,GAAG,CAAC,+BAAD,EAAkCY,KAAlC,EAAyC,QAAzC,EAAmDJ,IAAnD,CAAH;;MACA,IAAIA,IAAI,KAAK,IAAAK,kBAAA,EAAYL,IAAI,CAACM,IAAjB,EAAuBF,KAAvB,KAAiC,IAAAG,eAAA,EAASP,IAAI,CAACM,IAAd,EAAoBF,KAApB,CAAtC,CAAR,EAA2E;QACzE,OAAOJ,IAAP;MACD;;MAED,IAAI,CAACA,IAAL,EAAW;QACT,OAAO;UACLL,IAAI,EAAE,UADD;UAELW,IAAI,EAAEF,KAFD;UAGLI,IAAI,EAAEC,SAHD;UAILP,MAAM,EAAE,KAJH;UAKLD,QAAQ,EAAE;QALL,CAAP;MAOD,CARD,MAQO,IAAID,IAAI,IAAI,CAACA,IAAI,CAACM,IAAlB,EAAwB;QAC7B,MAAM,IAAII,KAAJ,CAAU,+BAAV,CAAN;MACD,CAFM,MAEA;QACL,uCAAYV,IAAZ;UAAkBQ,IAAI,EAAEJ,KAAxB;UAA+BF,MAAM,EAAE,IAAvC;UAA6CD,QAAQ,EAAE;QAAvD;MACD;IACF;EAvBwB,CAAP;AAAA,CAAb"}
1
+ {"version":3,"sources":["../../../src/tools/parabola/index.js"],"names":["log","tool","type","Component","Parabola","complete","data","mark","building","closed","addPoint","point","root","edge","undefined","Error"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,2BAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,UADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP;AAAA,6CAAsBA,IAAtB;AAA4BC,QAAAA,QAAQ,EAAE,KAAtC;AAA6CC,QAAAA,MAAM,EAAE;AAArD;AAAA,KAHe;AAIzBC,IAAAA,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;AACzBP,MAAAA,GAAG,CAAC,+BAAD,EAAkCW,KAAlC,EAAyC,QAAzC,EAAmDJ,IAAnD,CAAH;;AACA,UAAIA,IAAI,KAAK,wBAAYA,IAAI,CAACK,IAAjB,EAAuBD,KAAvB,KAAiC,qBAASJ,IAAI,CAACK,IAAd,EAAoBD,KAApB,CAAtC,CAAR,EAA2E;AACzE,eAAOJ,IAAP;AACD;;AAED,UAAI,CAACA,IAAL,EAAW;AACT,eAAO;AACLL,UAAAA,IAAI,EAAE,UADD;AAELU,UAAAA,IAAI,EAAED,KAFD;AAGLE,UAAAA,IAAI,EAAEC,SAHD;AAILL,UAAAA,MAAM,EAAE,KAJH;AAKLD,UAAAA,QAAQ,EAAE;AALL,SAAP;AAOD,OARD,MAQO,IAAID,IAAI,IAAI,CAACA,IAAI,CAACK,IAAlB,EAAwB;AAC7B,cAAM,IAAIG,KAAJ,CAAU,+BAAV,CAAN;AACD,OAFM,MAEA;AACL,+CAAYR,IAAZ;AAAkBM,UAAAA,IAAI,EAAEF,KAAxB;AAA+BF,UAAAA,MAAM,EAAE,IAAvC;AAA6CD,UAAAA,QAAQ,EAAE;AAAvD;AACD;AACF;AAvBwB,GAAP;AAAA,CAAb","sourcesContent":["import Parabola from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:parabola');\n\nexport const tool = () => ({\n type: 'parabola',\n Component: Parabola,\n complete: (data, mark) => ({ ...mark, building: false, closed: true }),\n addPoint: (point, mark) => {\n log('add point to parabola model: ', point, 'mark: ', mark);\n if (mark && (equalPoints(mark.root, point) || sameAxes(mark.root, point))) {\n return mark;\n }\n\n if (!mark) {\n return {\n type: 'parabola',\n root: point,\n edge: undefined,\n closed: false,\n building: true\n };\n } else if (mark && !mark.root) {\n throw new Error('no root - should never happen');\n } else {\n return { ...mark, edge: point, closed: true, building: false };\n }\n }\n});\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","names":["Point","props","p","mark","state","setState","update","label","onChange","undefined","isEqual","isEmpty","labelModeEnabled","onClick","input","focus","coordinatesOnHover","graphProps","labelNode","move","startDrag","stopDrag","clickPoint","hasOwnProperty","ReactDOM","createPortal","r","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields"],"sources":["../../../src/tools/point/component.jsx"],"sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = p => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = label => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (labelModeEnabled) {\n onChange(mark, { label: '', ...mark });\n if (this.input) {\n this.input.focus();\n }\n } else {\n onClick(mark);\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n />\n {labelNode &&\n mark.hasOwnProperty('label') &&\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input = r)}\n disabled={!labelModeEnabled}\n mark={mark}\n graphProps={graphProps}\n onChange={this.labelChange}\n />,\n labelNode\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Point;\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/tools/point/component.jsx"],"names":["Point","props","p","mark","state","setState","update","label","onChange","undefined","labelModeEnabled","onClick","input","focus","coordinatesOnHover","graphProps","labelNode","move","startDrag","stopDrag","clickPoint","hasOwnProperty","ReactDOM","createPortal","r","labelChange","React","Component","types","GraphPropsType","isRequired","ToolPropTypeFields"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;IAEaA,K;;;;;AAQX,iBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,6FAKZ,UAAAC,CAAC,EAAI;AACV,UAAMC,IAAI,mCAAQ,MAAKC,KAAL,CAAWD,IAAnB,GAA4BD,CAA5B,CAAV;;AACA,YAAKG,QAAL,CAAc;AAAEF,QAAAA,IAAI,EAAJA;AAAF,OAAd;AACD,KARkB;AAAA,kGAUP,YAAM;AAChB,UAAMG,MAAM,qBAAQ,MAAKL,KAAL,CAAWE,IAAnB,CAAZ;;AAEA,UAAIG,MAAM,CAACC,KAAP,KAAiB,EAArB,EAAyB;AACvB,eAAOD,MAAM,CAACC,KAAd;AACD;;AACD,YAAKF,QAAL,CAAc;AAAEF,QAAAA,IAAI,EAAEG;AAAR,OAAd;AACD,KAjBkB;AAAA,iGAmBR,YAAM;AACf,UAAQE,QAAR,GAAqB,MAAKP,KAA1B,CAAQO,QAAR;;AACA,UAAML,IAAI,qBAAQ,MAAKC,KAAL,CAAWD,IAAnB,CAAV;;AACA,YAAKE,QAAL,CAAc;AAAEF,QAAAA,IAAI,EAAEM;AAAR,OAAd,EAAmC,YAAM;AACvC,YAAI,CAAC,yBAAQ,MAAKR,KAAL,CAAWE,IAAnB,EAAyBA,IAAzB,CAAL,EAAqC;AACnCK,UAAAA,QAAQ,CAAC,MAAKP,KAAL,CAAWE,IAAZ,EAAkBA,IAAlB,CAAR;AACD;AACF,OAJD;AAKD,KA3BkB;AAAA,oGA6BL,UAAAI,KAAK,EAAI;AACrB,UAAQC,QAAR,GAAqB,MAAKP,KAA1B,CAAQO,QAAR;;AACA,UAAMF,MAAM,mCAAQ,MAAKL,KAAL,CAAWE,IAAnB;AAAyBI,QAAAA,KAAK,EAALA;AAAzB,QAAZ;;AAEA,UAAI,CAACA,KAAD,IAAU,yBAAQA,KAAR,CAAd,EAA8B;AAC5B,eAAOD,MAAM,CAACC,KAAd;AACD;;AAED,YAAKF,QAAL,CAAc;AAAEF,QAAAA,IAAI,EAAEG;AAAR,OAAd,EAAgC,YAAM;AACpCE,QAAAA,QAAQ,CAAC,MAAKP,KAAL,CAAWE,IAAZ,EAAkBG,MAAlB,CAAR;AACD,OAFD;AAGD,KAxCkB;AAAA,mGA0CN,YAAM;AACjB,wBAAsD,MAAKL,KAA3D;AAAA,UAAQS,gBAAR,eAAQA,gBAAR;AAAA,UAA0BF,QAA1B,eAA0BA,QAA1B;AAAA,UAAoCG,OAApC,eAAoCA,OAApC;AAAA,UAA6CR,IAA7C,eAA6CA,IAA7C;;AAEA,UAAIO,gBAAJ,EAAsB;AACpBF,QAAAA,QAAQ,CAACL,IAAD;AAASI,UAAAA,KAAK,EAAE;AAAhB,WAAuBJ,IAAvB,EAAR;;AACA,YAAI,MAAKS,KAAT,EAAgB;AACd,gBAAKA,KAAL,CAAWC,KAAX;AACD;AACF,OALD,MAKO;AACLF,QAAAA,OAAO,CAACR,IAAD,CAAP;AACD;AACF,KArDkB;AAEjB,UAAKC,KAAL,GAAa,EAAb;AAFiB;AAGlB;;;;WAoDD,kBAAS;AAAA;;AACP,yBAAwE,KAAKH,KAA7E;AAAA,UAAQa,kBAAR,gBAAQA,kBAAR;AAAA,UAA4BC,UAA5B,gBAA4BA,UAA5B;AAAA,UAAwCC,SAAxC,gBAAwCA,SAAxC;AAAA,UAAmDN,gBAAnD,gBAAmDA,gBAAnD;AACA,UAAMP,IAAI,GAAG,KAAKC,KAAL,CAAWD,IAAX,GAAkB,KAAKC,KAAL,CAAWD,IAA7B,GAAoC,KAAKF,KAAL,CAAWE,IAA5D;AAEA,0BACE,gCAAC,iBAAD,CAAO,QAAP,qBACE,gCAAC,gBAAD,gCACMA,IADN;AAEE,QAAA,kBAAkB,EAAEW,kBAFtB;AAGE,QAAA,UAAU,EAAEC,UAHd;AAIE,QAAA,SAAS,EAAEC,SAJb;AAKE,QAAA,MAAM,EAAE,KAAKC,IALf;AAME,QAAA,WAAW,EAAE,KAAKC,SANpB;AAOE,QAAA,UAAU,EAAE,KAAKC,QAPnB;AAQE,QAAA,OAAO,EAAE,KAAKC;AARhB,SADF,EAWGJ,SAAS,IACRb,IAAI,CAACkB,cAAL,CAAoB,OAApB,CADD,iBAECC,qBAASC,YAAT,eACE,gCAAC,qBAAD;AACE,QAAA,QAAQ,EAAE,kBAAAC,CAAC;AAAA,iBAAK,MAAI,CAACZ,KAAL,GAAaY,CAAlB;AAAA,SADb;AAEE,QAAA,QAAQ,EAAE,CAACd,gBAFb;AAGE,QAAA,IAAI,EAAEP,IAHR;AAIE,QAAA,UAAU,EAAEY,UAJd;AAKE,QAAA,QAAQ,EAAE,KAAKU;AALjB,QADF,EAQET,SARF,CAbJ,CADF;AA0BD;;;EA7FwBU,kBAAMC,S;;;iCAApB3B,K;AAETe,EAAAA,UAAU,EAAEa,YAAMC,cAAN,CAAqBC;GAC9BC,yB;iCAHM/B,K,kBAMW,E;eA0FTA,K","sourcesContent":["import React from 'react';\nimport { BasePoint } from '../shared/point';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { types } from '@pie-lib/plot';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\n\nexport class Point extends React.Component {\n static propTypes = {\n graphProps: types.GraphPropsType.isRequired,\n ...ToolPropTypeFields\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n move = p => {\n const mark = { ...this.state.mark, ...p };\n this.setState({ mark });\n };\n\n startDrag = () => {\n const update = { ...this.props.mark };\n\n if (update.label === '') {\n delete update.label;\n }\n this.setState({ mark: update });\n };\n\n stopDrag = () => {\n const { onChange } = this.props;\n const mark = { ...this.state.mark };\n this.setState({ mark: undefined }, () => {\n if (!isEqual(this.props.mark, mark)) {\n onChange(this.props.mark, mark);\n }\n });\n };\n\n labelChange = label => {\n const { onChange } = this.props;\n const update = { ...this.props.mark, label };\n\n if (!label || isEmpty(label)) {\n delete update.label;\n }\n\n this.setState({ mark: update }, () => {\n onChange(this.props.mark, update);\n });\n };\n\n clickPoint = () => {\n const { labelModeEnabled, onChange, onClick, mark } = this.props;\n\n if (labelModeEnabled) {\n onChange(mark, { label: '', ...mark });\n if (this.input) {\n this.input.focus();\n }\n } else {\n onClick(mark);\n }\n };\n\n render() {\n const { coordinatesOnHover, graphProps, labelNode, labelModeEnabled } = this.props;\n const mark = this.state.mark ? this.state.mark : this.props.mark;\n\n return (\n <React.Fragment>\n <BasePoint\n {...mark}\n coordinatesOnHover={coordinatesOnHover}\n graphProps={graphProps}\n labelNode={labelNode}\n onDrag={this.move}\n onDragStart={this.startDrag}\n onDragStop={this.stopDrag}\n onClick={this.clickPoint}\n />\n {labelNode &&\n mark.hasOwnProperty('label') &&\n ReactDOM.createPortal(\n <MarkLabel\n inputRef={r => (this.input = r)}\n disabled={!labelModeEnabled}\n mark={mark}\n graphProps={graphProps}\n onChange={this.labelChange}\n />,\n labelNode\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Point;\n"],"file":"component.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["tool","label","type","Component","Point","addPoint","point"],"sources":["../../../src/tools/point/index.js"],"sourcesContent":["import Point from './component';\n\nexport const tool = () => ({\n label: 'Point',\n type: 'point',\n Component: Point,\n addPoint: point => ({\n type: 'point',\n ...point\n })\n});\n"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,KAAK,EAAE,OADkB;IAEzBC,IAAI,EAAE,OAFmB;IAGzBC,SAAS,EAAEC,qBAHc;IAIzBC,QAAQ,EAAE,kBAAAC,KAAK;MAAA;QACbJ,IAAI,EAAE;MADO,GAEVI,KAFU;IAAA;EAJU,CAAP;AAAA,CAAb"}
1
+ {"version":3,"sources":["../../../src/tools/point/index.js"],"names":["tool","label","type","Component","Point","addPoint","point"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEO,IAAMA,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,KAAK,EAAE,OADkB;AAEzBC,IAAAA,IAAI,EAAE,OAFmB;AAGzBC,IAAAA,SAAS,EAAEC,qBAHc;AAIzBC,IAAAA,QAAQ,EAAE,kBAAAC,KAAK;AAAA;AACbJ,QAAAA,IAAI,EAAE;AADO,SAEVI,KAFU;AAAA;AAJU,GAAP;AAAA,CAAb","sourcesContent":["import Point from './component';\n\nexport const tool = () => ({\n label: 'Point',\n type: 'point',\n Component: Point,\n addPoint: point => ({\n type: 'point',\n ...point\n })\n});\n"],"file":"index.js"}