@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
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["disabled","key","color","correct","incorrect"],"sources":["../../../src/tools/shared/styles.js"],"sourcesContent":["import { color } from '@pie-lib/render-ui';\n\nexport const disabled = (key = 'fill') => ({\n [key]: color.disabled(),\n pointerEvents: 'none'\n});\n\nexport const correct = (key = 'fill') => ({\n [key]: color.correct(),\n pointerEvents: 'none'\n});\nexport const incorrect = (key = 'fill') => ({\n [key]: color.incorrect(),\n pointerEvents: 'none'\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW;EAAA;;EAAA,IAACC,GAAD,uEAAO,MAAP;EAAA,yDACrBA,GADqB,EACfC,eAAA,CAAMF,QAAN,EADe,2DAEP,MAFO;AAAA,CAAjB;;;;AAKA,IAAMG,OAAO,GAAG,SAAVA,OAAU;EAAA;;EAAA,IAACF,GAAD,uEAAO,MAAP;EAAA,2DACpBA,GADoB,EACdC,eAAA,CAAMC,OAAN,EADc,4DAEN,MAFM;AAAA,CAAhB;;;;AAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY;EAAA;;EAAA,IAACH,GAAD,uEAAO,MAAP;EAAA,2DACtBA,GADsB,EAChBC,eAAA,CAAME,SAAN,EADgB,4DAER,MAFQ;AAAA,CAAlB"}
1
+ {"version":3,"sources":["../../../src/tools/shared/styles.js"],"names":["disabled","key","color","correct","incorrect"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,QAAQ,GAAG,SAAXA,QAAW;AAAA;;AAAA,MAACC,GAAD,uEAAO,MAAP;AAAA,2DACrBA,GADqB,EACfC,gBAAMF,QAAN,EADe,2DAEP,MAFO;AAAA,CAAjB;;;;AAKA,IAAMG,OAAO,GAAG,SAAVA,OAAU;AAAA;;AAAA,MAACF,GAAD,uEAAO,MAAP;AAAA,6DACpBA,GADoB,EACdC,gBAAMC,OAAN,EADc,4DAEN,MAFM;AAAA,CAAhB;;;;AAIA,IAAMC,SAAS,GAAG,SAAZA,SAAY;AAAA;;AAAA,MAACH,GAAD,uEAAO,MAAP;AAAA,6DACtBA,GADsB,EAChBC,gBAAME,SAAN,EADgB,4DAER,MAFQ;AAAA,CAAlB","sourcesContent":["import { color } from '@pie-lib/render-ui';\n\nexport const disabled = (key = 'fill') => ({\n [key]: color.disabled(),\n pointerEvents: 'none'\n});\n\nexport const correct = (key = 'fill') => ({\n [key]: color.correct(),\n pointerEvents: 'none'\n});\nexport const incorrect = (key = 'fill') => ({\n [key]: color.incorrect(),\n pointerEvents: 'none'\n});\n"],"file":"styles.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["ToolPropTypeFields","mark","PropTypes","any","onChange","func","onDragStart","onDragStop","ToolPropType","shape"],"sources":["../../../src/tools/shared/types.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nexport const ToolPropTypeFields = {\n mark: PropTypes.any,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func\n};\n\nexport const ToolPropType = PropTypes.shape(ToolPropTypeFields);\n"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,kBAAkB,GAAG;EAChCC,IAAI,EAAEC,qBAAA,CAAUC,GADgB;EAEhCC,QAAQ,EAAEF,qBAAA,CAAUG,IAFY;EAGhCC,WAAW,EAAEJ,qBAAA,CAAUG,IAHS;EAIhCE,UAAU,EAAEL,qBAAA,CAAUG;AAJU,CAA3B;;;AAOA,IAAMG,YAAY,GAAGN,qBAAA,CAAUO,KAAV,CAAgBT,kBAAhB,CAArB"}
1
+ {"version":3,"sources":["../../../src/tools/shared/types.js"],"names":["ToolPropTypeFields","mark","PropTypes","any","onChange","func","onDragStart","onDragStop","ToolPropType","shape"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,kBAAkB,GAAG;AAChCC,EAAAA,IAAI,EAAEC,sBAAUC,GADgB;AAEhCC,EAAAA,QAAQ,EAAEF,sBAAUG,IAFY;AAGhCC,EAAAA,WAAW,EAAEJ,sBAAUG,IAHS;AAIhCE,EAAAA,UAAU,EAAEL,sBAAUG;AAJU,CAA3B;;;AAOA,IAAMG,YAAY,GAAGN,sBAAUO,KAAV,CAAgBT,kBAAhB,CAArB","sourcesContent":["import PropTypes from 'prop-types';\n\nexport const ToolPropTypeFields = {\n mark: PropTypes.any,\n onChange: PropTypes.func,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func\n};\n\nexport const ToolPropType = PropTypes.shape(ToolPropTypeFields);\n"],"file":"types.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","names":["log","debug","Sine","withRootEdge","props","domain","graphProps","root","edge","getAmplitudeAndFreq","amplitude","freq","interval","FREQ_DIVIDER","dataPoints","x","buildDataPoints","min","max","sinY","phase","vertical","y","Component","rootEdgeComponent"],"sources":["../../../src/tools/sine/component.jsx"],"sourcesContent":["import debug from 'debug';\nimport { sinY, buildDataPoints, getAmplitudeAndFreq, FREQ_DIVIDER } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nlog('sine...');\n\nconst Sine = withRootEdge(props => {\n const { domain } = props.graphProps;\n\n const { root, edge } = props;\n const { amplitude, freq } = getAmplitudeAndFreq(root, edge);\n const interval = freq / FREQ_DIVIDER;\n log('[getPoints] amplitude:', amplitude, 'freq:', freq);\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n domain.min,\n domain.max,\n root,\n edge,\n interval,\n sinY(amplitude, freq, { phase: root.x, vertical: root.y })\n );\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Sine);\nexport default Component;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,IAAAC,iBAAA,EAAM,uBAAN,CAAZ;AAEAD,GAAG,CAAC,SAAD,CAAH;AAEA,IAAME,IAAI,GAAG,IAAAC,0BAAA,EAAa,UAAAC,KAAK,EAAI;EACjC,IAAQC,MAAR,GAAmBD,KAAK,CAACE,UAAzB,CAAQD,MAAR;EAEA,IAAQE,IAAR,GAAuBH,KAAvB,CAAQG,IAAR;EAAA,IAAcC,IAAd,GAAuBJ,KAAvB,CAAcI,IAAd;;EACA,2BAA4B,IAAAC,kCAAA,EAAoBF,IAApB,EAA0BC,IAA1B,CAA5B;EAAA,IAAQE,SAAR,wBAAQA,SAAR;EAAA,IAAmBC,IAAnB,wBAAmBA,IAAnB;;EACA,IAAMC,QAAQ,GAAGD,IAAI,GAAGE,2BAAxB;EACAb,GAAG,CAAC,wBAAD,EAA2BU,SAA3B,EAAsC,OAAtC,EAA+CC,IAA/C,CAAH;EAEA,IAAMG,UAAU,GACdN,IAAI,IAAIA,IAAI,CAACO,CAAL,KAAWR,IAAI,CAACQ,CAAxB,GACI,EADJ,GAEI,IAAAC,8BAAA,EACEX,MAAM,CAACY,GADT,EAEEZ,MAAM,CAACa,GAFT,EAGEX,IAHF,EAIEC,IAJF,EAKEI,QALF,EAME,IAAAO,mBAAA,EAAKT,SAAL,EAAgBC,IAAhB,EAAsB;IAAES,KAAK,EAAEb,IAAI,CAACQ,CAAd;IAAiBM,QAAQ,EAAEd,IAAI,CAACe;EAAhC,CAAtB,CANF,CAHN;EAWA,OAAO;IAAEf,IAAI,EAAEH,KAAK,CAACG,IAAd;IAAoBC,IAAI,EAAEJ,KAAK,CAACI,IAAhC;IAAsCM,UAAU,EAAVA;EAAtC,CAAP;AACD,CApBY,CAAb;AAsBA,IAAMS,SAAS,GAAG,IAAAC,+BAAA,EAAkBtB,IAAlB,CAAlB;eACeqB,S"}
1
+ {"version":3,"sources":["../../../src/tools/sine/component.jsx"],"names":["log","Sine","props","domain","graphProps","root","edge","amplitude","freq","interval","FREQ_DIVIDER","dataPoints","x","min","max","phase","vertical","y","Component"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;AAEAA,GAAG,CAAC,SAAD,CAAH;AAEA,IAAMC,IAAI,GAAG,gCAAa,UAAAC,KAAK,EAAI;AACjC,MAAQC,MAAR,GAAmBD,KAAK,CAACE,UAAzB,CAAQD,MAAR;AAEA,MAAQE,IAAR,GAAuBH,KAAvB,CAAQG,IAAR;AAAA,MAAcC,IAAd,GAAuBJ,KAAvB,CAAcI,IAAd;;AACA,6BAA4B,wCAAoBD,IAApB,EAA0BC,IAA1B,CAA5B;AAAA,MAAQC,SAAR,wBAAQA,SAAR;AAAA,MAAmBC,IAAnB,wBAAmBA,IAAnB;;AACA,MAAMC,QAAQ,GAAGD,IAAI,GAAGE,2BAAxB;AACAV,EAAAA,GAAG,CAAC,wBAAD,EAA2BO,SAA3B,EAAsC,OAAtC,EAA+CC,IAA/C,CAAH;AAEA,MAAMG,UAAU,GACdL,IAAI,IAAIA,IAAI,CAACM,CAAL,KAAWP,IAAI,CAACO,CAAxB,GACI,EADJ,GAEI,oCACET,MAAM,CAACU,GADT,EAEEV,MAAM,CAACW,GAFT,EAGET,IAHF,EAIEC,IAJF,EAKEG,QALF,EAME,yBAAKF,SAAL,EAAgBC,IAAhB,EAAsB;AAAEO,IAAAA,KAAK,EAAEV,IAAI,CAACO,CAAd;AAAiBI,IAAAA,QAAQ,EAAEX,IAAI,CAACY;AAAhC,GAAtB,CANF,CAHN;AAWA,SAAO;AAAEZ,IAAAA,IAAI,EAAEH,KAAK,CAACG,IAAd;AAAoBC,IAAAA,IAAI,EAAEJ,KAAK,CAACI,IAAhC;AAAsCK,IAAAA,UAAU,EAAVA;AAAtC,GAAP;AACD,CApBY,CAAb;AAsBA,IAAMO,SAAS,GAAG,qCAAkBjB,IAAlB,CAAlB;eACeiB,S","sourcesContent":["import debug from 'debug';\nimport { sinY, buildDataPoints, getAmplitudeAndFreq, FREQ_DIVIDER } from '@pie-lib/graphing-utils';\nimport { withRootEdge, rootEdgeComponent } from '../shared/line/with-root-edge';\n\nconst log = debug('pie-lib:graphing:sine');\n\nlog('sine...');\n\nconst Sine = withRootEdge(props => {\n const { domain } = props.graphProps;\n\n const { root, edge } = props;\n const { amplitude, freq } = getAmplitudeAndFreq(root, edge);\n const interval = freq / FREQ_DIVIDER;\n log('[getPoints] amplitude:', amplitude, 'freq:', freq);\n\n const dataPoints =\n edge && edge.x === root.x\n ? []\n : buildDataPoints(\n domain.min,\n domain.max,\n root,\n edge,\n interval,\n sinY(amplitude, freq, { phase: root.x, vertical: root.y })\n );\n return { root: props.root, edge: props.edge, dataPoints };\n});\n\nconst Component = rootEdgeComponent(Sine);\nexport default Component;\n"],"file":"component.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["log","debug","tool","type","Component","Sine","complete","data","mark","building","closed","addPoint","point","equalPoints","root","sameAxes","edge","undefined","Error"],"sources":["../../../src/tools/sine/index.js"],"sourcesContent":["import Sine from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:sine');\n\nexport const tool = () => ({\n type: 'sine',\n Component: Sine,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n log('add point to sine 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: 'sine',\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,uBAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAO;IACzBC,IAAI,EAAE,MADmB;IAEzBC,SAAS,EAAEC,qBAFc;IAGzBC,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;MACxB,uCAAYA,IAAZ;QAAkBC,QAAQ,EAAE,KAA5B;QAAmCC,MAAM,EAAE;MAA3C;IACD,CALwB;IAMzBC,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;MACzBR,GAAG,CAAC,2BAAD,EAA8BY,KAA9B,EAAqC,QAArC,EAA+CJ,IAA/C,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,MADD;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;EAzBwB,CAAP;AAAA,CAAb"}
1
+ {"version":3,"sources":["../../../src/tools/sine/index.js"],"names":["log","tool","type","Component","Sine","complete","data","mark","building","closed","addPoint","point","root","edge","undefined","Error"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,uBAAN,CAAZ;;AAEO,IAAMC,IAAI,GAAG,SAAPA,IAAO;AAAA,SAAO;AACzBC,IAAAA,IAAI,EAAE,MADmB;AAEzBC,IAAAA,SAAS,EAAEC,qBAFc;AAGzBC,IAAAA,QAAQ,EAAE,kBAACC,IAAD,EAAOC,IAAP,EAAgB;AACxB,6CAAYA,IAAZ;AAAkBC,QAAAA,QAAQ,EAAE,KAA5B;AAAmCC,QAAAA,MAAM,EAAE;AAA3C;AACD,KALwB;AAMzBC,IAAAA,QAAQ,EAAE,kBAACC,KAAD,EAAQJ,IAAR,EAAiB;AACzBP,MAAAA,GAAG,CAAC,2BAAD,EAA8BW,KAA9B,EAAqC,QAArC,EAA+CJ,IAA/C,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,MADD;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;AAzBwB,GAAP;AAAA,CAAb","sourcesContent":["import Sine from './component';\nimport debug from 'debug';\nimport { equalPoints, sameAxes } from '../../utils';\n\nconst log = debug('pie-lib:graphing:sine');\n\nexport const tool = () => ({\n type: 'sine',\n Component: Sine,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n log('add point to sine 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: 'sine',\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":["lineStyles","theme","line","styles","disabled","correct","incorrect","Line","props","className","classes","correctness","scale","graphProps","from","to","rest","startPoint","x","y","endPoint","length","getDistanceBetweenTwoPoints","classNames","propTypes","PropTypes","string","object","bool","any","types","PointType","StyledLine","withStyles","Vector","lineBase","Arrow","Component","lineToolComponent"],"sources":["../../../src/tools/vector/component.jsx"],"sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport { Arrow } from '../shared/point';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getDistanceBetweenTwoPoints } from '../../utils';\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n incorrect: styles.incorrect(theme, 'stroke')\n});\n\nexport const Line = props => {\n const {\n className,\n classes,\n disabled,\n correctness,\n graphProps: { scale },\n from,\n to,\n ...rest\n } = props;\n const startPoint = { x: scale.x(from.x), y: scale.y(from.y) };\n const endPoint = { x: scale.x(to.x), y: scale.y(to.y) };\n const length = getDistanceBetweenTwoPoints(startPoint, endPoint);\n\n return (\n <line\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n x1={startPoint.x}\n y1={startPoint.y}\n x2={endPoint.x}\n y2={endPoint.y}\n strokeDasharray={length - 7}\n {...rest}\n />\n );\n};\n\nLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType\n};\n\nconst StyledLine = withStyles(lineStyles)(Line);\nconst Vector = lineBase(StyledLine, { to: Arrow });\nconst Component = lineToolComponent(Vector);\n\nexport default Component;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;EAAA,OAAK;IAC3BC,IAAI,EAAEC,YAAA,CAAOD,IAAP,CAAYD,KAAZ,CADqB;IAE3BG,QAAQ,EAAED,YAAA,CAAOC,QAAP,CAAgBH,KAAhB,CAFiB;IAG3BI,OAAO,EAAEF,YAAA,CAAOE,OAAP,CAAeJ,KAAf,EAAsB,QAAtB,CAHkB;IAI3BK,SAAS,EAAEH,YAAA,CAAOG,SAAP,CAAiBL,KAAjB,EAAwB,QAAxB;EAJgB,CAAL;AAAA,CAAxB;;AAOO,IAAMM,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK,EAAI;EAC3B,IACEC,SADF,GASID,KATJ,CACEC,SADF;EAAA,IAEEC,OAFF,GASIF,KATJ,CAEEE,OAFF;EAAA,IAGEN,QAHF,GASII,KATJ,CAGEJ,QAHF;EAAA,IAIEO,WAJF,GASIH,KATJ,CAIEG,WAJF;EAAA,IAKgBC,KALhB,GASIJ,KATJ,CAKEK,UALF,CAKgBD,KALhB;EAAA,IAMEE,IANF,GASIN,KATJ,CAMEM,IANF;EAAA,IAOEC,EAPF,GASIP,KATJ,CAOEO,EAPF;EAAA,IAQKC,IARL,6CASIR,KATJ;EAUA,IAAMS,UAAU,GAAG;IAAEC,CAAC,EAAEN,KAAK,CAACM,CAAN,CAAQJ,IAAI,CAACI,CAAb,CAAL;IAAsBC,CAAC,EAAEP,KAAK,CAACO,CAAN,CAAQL,IAAI,CAACK,CAAb;EAAzB,CAAnB;EACA,IAAMC,QAAQ,GAAG;IAAEF,CAAC,EAAEN,KAAK,CAACM,CAAN,CAAQH,EAAE,CAACG,CAAX,CAAL;IAAoBC,CAAC,EAAEP,KAAK,CAACO,CAAN,CAAQJ,EAAE,CAACI,CAAX;EAAvB,CAAjB;EACA,IAAME,MAAM,GAAG,IAAAC,kCAAA,EAA4BL,UAA5B,EAAwCG,QAAxC,CAAf;EAEA,oBACE;IACE,SAAS,EAAE,IAAAG,sBAAA,EACTb,OAAO,CAACR,IADC,EAETE,QAAQ,IAAIM,OAAO,CAACN,QAFX,EAGTM,OAAO,CAACC,WAAD,CAHE,EAITF,SAJS,CADb;IAOE,EAAE,EAAEQ,UAAU,CAACC,CAPjB;IAQE,EAAE,EAAED,UAAU,CAACE,CARjB;IASE,EAAE,EAAEC,QAAQ,CAACF,CATf;IAUE,EAAE,EAAEE,QAAQ,CAACD,CAVf;IAWE,eAAe,EAAEE,MAAM,GAAG;EAX5B,GAYML,IAZN,EADF;AAgBD,CA/BM;;;AAiCPT,IAAI,CAACiB,SAAL,GAAiB;EACff,SAAS,EAAEgB,qBAAA,CAAUC,MADN;EAEfhB,OAAO,EAAEe,qBAAA,CAAUE,MAFJ;EAGfvB,QAAQ,EAAEqB,qBAAA,CAAUG,IAHL;EAIfjB,WAAW,EAAEc,qBAAA,CAAUC,MAJR;EAKfb,UAAU,EAAEY,qBAAA,CAAUI,GALP;EAMff,IAAI,EAAEgB,WAAA,CAAMC,SANG;EAOfhB,EAAE,EAAEe,WAAA,CAAMC;AAPK,CAAjB;AAUA,IAAMC,UAAU,GAAG,IAAAC,kBAAA,EAAWjC,UAAX,EAAuBO,IAAvB,CAAnB;AACA,IAAM2B,MAAM,GAAG,IAAAC,cAAA,EAASH,UAAT,EAAqB;EAAEjB,EAAE,EAAEqB;AAAN,CAArB,CAAf;AACA,IAAMC,SAAS,GAAG,IAAAC,uBAAA,EAAkBJ,MAAlB,CAAlB;eAEeG,S"}
1
+ {"version":3,"sources":["../../../src/tools/vector/component.jsx"],"names":["lineStyles","theme","line","styles","disabled","correct","incorrect","Line","props","className","classes","correctness","scale","graphProps","from","to","rest","startPoint","x","y","endPoint","length","propTypes","PropTypes","string","object","bool","any","types","PointType","StyledLine","Vector","Arrow","Component"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;AAAA,SAAK;AAC3BC,IAAAA,IAAI,EAAEC,aAAOD,IAAP,CAAYD,KAAZ,CADqB;AAE3BG,IAAAA,QAAQ,EAAED,aAAOC,QAAP,CAAgBH,KAAhB,CAFiB;AAG3BI,IAAAA,OAAO,EAAEF,aAAOE,OAAP,CAAeJ,KAAf,EAAsB,QAAtB,CAHkB;AAI3BK,IAAAA,SAAS,EAAEH,aAAOG,SAAP,CAAiBL,KAAjB,EAAwB,QAAxB;AAJgB,GAAL;AAAA,CAAxB;;AAOO,IAAMM,IAAI,GAAG,SAAPA,IAAO,CAAAC,KAAK,EAAI;AAC3B,MACEC,SADF,GASID,KATJ,CACEC,SADF;AAAA,MAEEC,OAFF,GASIF,KATJ,CAEEE,OAFF;AAAA,MAGEN,QAHF,GASII,KATJ,CAGEJ,QAHF;AAAA,MAIEO,WAJF,GASIH,KATJ,CAIEG,WAJF;AAAA,MAKgBC,KALhB,GASIJ,KATJ,CAKEK,UALF,CAKgBD,KALhB;AAAA,MAMEE,IANF,GASIN,KATJ,CAMEM,IANF;AAAA,MAOEC,EAPF,GASIP,KATJ,CAOEO,EAPF;AAAA,MAQKC,IARL,6CASIR,KATJ;AAUA,MAAMS,UAAU,GAAG;AAAEC,IAAAA,CAAC,EAAEN,KAAK,CAACM,CAAN,CAAQJ,IAAI,CAACI,CAAb,CAAL;AAAsBC,IAAAA,CAAC,EAAEP,KAAK,CAACO,CAAN,CAAQL,IAAI,CAACK,CAAb;AAAzB,GAAnB;AACA,MAAMC,QAAQ,GAAG;AAAEF,IAAAA,CAAC,EAAEN,KAAK,CAACM,CAAN,CAAQH,EAAE,CAACG,CAAX,CAAL;AAAoBC,IAAAA,CAAC,EAAEP,KAAK,CAACO,CAAN,CAAQJ,EAAE,CAACI,CAAX;AAAvB,GAAjB;AACA,MAAME,MAAM,GAAG,wCAA4BJ,UAA5B,EAAwCG,QAAxC,CAAf;AAEA,sBACE;AACE,IAAA,SAAS,EAAE,4BACTV,OAAO,CAACR,IADC,EAETE,QAAQ,IAAIM,OAAO,CAACN,QAFX,EAGTM,OAAO,CAACC,WAAD,CAHE,EAITF,SAJS,CADb;AAOE,IAAA,EAAE,EAAEQ,UAAU,CAACC,CAPjB;AAQE,IAAA,EAAE,EAAED,UAAU,CAACE,CARjB;AASE,IAAA,EAAE,EAAEC,QAAQ,CAACF,CATf;AAUE,IAAA,EAAE,EAAEE,QAAQ,CAACD,CAVf;AAWE,IAAA,eAAe,EAAEE,MAAM,GAAG;AAX5B,KAYML,IAZN,EADF;AAgBD,CA/BM;;;AAiCPT,IAAI,CAACe,SAAL,GAAiB;AACfb,EAAAA,SAAS,EAAEc,sBAAUC,MADN;AAEfd,EAAAA,OAAO,EAAEa,sBAAUE,MAFJ;AAGfrB,EAAAA,QAAQ,EAAEmB,sBAAUG,IAHL;AAIff,EAAAA,WAAW,EAAEY,sBAAUC,MAJR;AAKfX,EAAAA,UAAU,EAAEU,sBAAUI,GALP;AAMfb,EAAAA,IAAI,EAAEc,YAAMC,SANG;AAOfd,EAAAA,EAAE,EAAEa,YAAMC;AAPK,CAAjB;AAUA,IAAMC,UAAU,GAAG,wBAAW9B,UAAX,EAAuBO,IAAvB,CAAnB;AACA,IAAMwB,MAAM,GAAG,oBAASD,UAAT,EAAqB;AAAEf,EAAAA,EAAE,EAAEiB;AAAN,CAArB,CAAf;AACA,IAAMC,SAAS,GAAG,6BAAkBF,MAAlB,CAAlB;eAEeE,S","sourcesContent":["import { lineToolComponent, lineBase, styles } from '../shared/line';\nimport { Arrow } from '../shared/point';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { types } from '@pie-lib/plot';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { getDistanceBetweenTwoPoints } from '../../utils';\n\nconst lineStyles = theme => ({\n line: styles.line(theme),\n disabled: styles.disabled(theme),\n correct: styles.correct(theme, 'stroke'),\n incorrect: styles.incorrect(theme, 'stroke')\n});\n\nexport const Line = props => {\n const {\n className,\n classes,\n disabled,\n correctness,\n graphProps: { scale },\n from,\n to,\n ...rest\n } = props;\n const startPoint = { x: scale.x(from.x), y: scale.y(from.y) };\n const endPoint = { x: scale.x(to.x), y: scale.y(to.y) };\n const length = getDistanceBetweenTwoPoints(startPoint, endPoint);\n\n return (\n <line\n className={classNames(\n classes.line,\n disabled && classes.disabled,\n classes[correctness],\n className\n )}\n x1={startPoint.x}\n y1={startPoint.y}\n x2={endPoint.x}\n y2={endPoint.y}\n strokeDasharray={length - 7}\n {...rest}\n />\n );\n};\n\nLine.propTypes = {\n className: PropTypes.string,\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n graphProps: PropTypes.any,\n from: types.PointType,\n to: types.PointType\n};\n\nconst StyledLine = withStyles(lineStyles)(Line);\nconst Vector = lineBase(StyledLine, { to: Arrow });\nconst Component = lineToolComponent(Vector);\n\nexport default Component;\n"],"file":"component.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["tool","lineTool","Vector"],"sources":["../../../src/tools/vector/index.js"],"sourcesContent":["import Vector from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('vector', Vector);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,IAAAC,cAAA,EAAS,QAAT,EAAmBC,qBAAnB,CAAb"}
1
+ {"version":3,"sources":["../../../src/tools/vector/index.js"],"names":["tool","Vector"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,IAAI,GAAG,oBAAS,QAAT,EAAmBC,qBAAnB,CAAb","sourcesContent":["import Vector from './component';\nimport { lineTool } from '../shared/line';\n\nexport const tool = lineTool('vector', Vector);\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"undo-redo.js","names":["UndoRedo","props","classes","className","onUndo","onRedo","onReset","classNames","root","button","React","Component","PropTypes","object","string","func","isRequired","styles","theme","color","text","backgroundColor","background","marginBottom","spacing","unit","marginRight","primary","withStyles"],"sources":["../src/undo-redo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core';\nimport { color } from '@pie-lib/render-ui';\n\nexport class UndoRedo extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n onUndo: PropTypes.func.isRequired,\n onRedo: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired\n };\n static defaultProps = {};\n render() {\n const { classes, className, onUndo, onRedo, onReset } = this.props;\n return (\n <div className={classNames(className)}>\n <Button classes={{ root: classes.button }} onClick={onUndo}>\n Undo\n </Button>\n <Button classes={{ root: classes.button }} onClick={onRedo}>\n Redo\n </Button>\n <Button classes={{ root: classes.button }} onClick={onReset}>\n Reset\n </Button>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n button: {\n color: color.text(),\n backgroundColor: color.background(),\n marginBottom: theme.spacing.unit / 2,\n '&:not(:last-of-type)': {\n marginRight: theme.spacing.unit / 2\n },\n '&:hover': {\n backgroundColor: color.primary()\n }\n }\n});\n\nexport default withStyles(styles)(UndoRedo);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,Q;;;;;;;;;;;;WASX,kBAAS;MACP,kBAAwD,KAAKC,KAA7D;MAAA,IAAQC,OAAR,eAAQA,OAAR;MAAA,IAAiBC,SAAjB,eAAiBA,SAAjB;MAAA,IAA4BC,MAA5B,eAA4BA,MAA5B;MAAA,IAAoCC,MAApC,eAAoCA,MAApC;MAAA,IAA4CC,OAA5C,eAA4CA,OAA5C;MACA,oBACE;QAAK,SAAS,EAAE,IAAAC,sBAAA,EAAWJ,SAAX;MAAhB,gBACE,gCAAC,kBAAD;QAAQ,OAAO,EAAE;UAAEK,IAAI,EAAEN,OAAO,CAACO;QAAhB,CAAjB;QAA2C,OAAO,EAAEL;MAApD,UADF,eAIE,gCAAC,kBAAD;QAAQ,OAAO,EAAE;UAAEI,IAAI,EAAEN,OAAO,CAACO;QAAhB,CAAjB;QAA2C,OAAO,EAAEJ;MAApD,UAJF,eAOE,gCAAC,kBAAD;QAAQ,OAAO,EAAE;UAAEG,IAAI,EAAEN,OAAO,CAACO;QAAhB,CAAjB;QAA2C,OAAO,EAAEH;MAApD,WAPF,CADF;IAaD;;;EAxB2BI,iBAAA,CAAMC,S;;;iCAAvBX,Q,eACQ;EACjBE,OAAO,EAAEU,qBAAA,CAAUC,MADF;EAEjBV,SAAS,EAAES,qBAAA,CAAUE,MAFJ;EAGjBV,MAAM,EAAEQ,qBAAA,CAAUG,IAAV,CAAeC,UAHN;EAIjBX,MAAM,EAAEO,qBAAA,CAAUG,IAAV,CAAeC,UAJN;EAKjBV,OAAO,EAAEM,qBAAA,CAAUG,IAAV,CAAeC;AALP,C;iCADRhB,Q,kBAQW,E;;AAmBxB,IAAMiB,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACvBT,MAAM,EAAE;MACNU,KAAK,EAAEA,eAAA,CAAMC,IAAN,EADD;MAENC,eAAe,EAAEF,eAAA,CAAMG,UAAN,EAFX;MAGNC,YAAY,EAAEL,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAH7B;MAIN,wBAAwB;QACtBC,WAAW,EAAER,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB;MADZ,CAJlB;MAON,WAAW;QACTJ,eAAe,EAAEF,eAAA,CAAMQ,OAAN;MADR;IAPL;EADe,CAAL;AAAA,CAApB;;eAce,IAAAC,gBAAA,EAAWX,MAAX,EAAmBjB,QAAnB,C"}
1
+ {"version":3,"sources":["../src/undo-redo.jsx"],"names":["UndoRedo","props","classes","className","onUndo","onRedo","onReset","root","button","React","Component","PropTypes","object","string","func","isRequired","styles","theme","color","text","backgroundColor","background","marginBottom","spacing","unit","marginRight","primary"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,Q;;;;;;;;;;;;WASX,kBAAS;AACP,wBAAwD,KAAKC,KAA7D;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,MAA5B,eAA4BA,MAA5B;AAAA,UAAoCC,MAApC,eAAoCA,MAApC;AAAA,UAA4CC,OAA5C,eAA4CA,OAA5C;AACA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWH,SAAX;AAAhB,sBACE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAEI,UAAAA,IAAI,EAAEL,OAAO,CAACM;AAAhB,SAAjB;AAA2C,QAAA,OAAO,EAAEJ;AAApD,gBADF,eAIE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAEG,UAAAA,IAAI,EAAEL,OAAO,CAACM;AAAhB,SAAjB;AAA2C,QAAA,OAAO,EAAEH;AAApD,gBAJF,eAOE,gCAAC,kBAAD;AAAQ,QAAA,OAAO,EAAE;AAAEE,UAAAA,IAAI,EAAEL,OAAO,CAACM;AAAhB,SAAjB;AAA2C,QAAA,OAAO,EAAEF;AAApD,iBAPF,CADF;AAaD;;;EAxB2BG,kBAAMC,S;;;iCAAvBV,Q,eACQ;AACjBE,EAAAA,OAAO,EAAES,sBAAUC,MADF;AAEjBT,EAAAA,SAAS,EAAEQ,sBAAUE,MAFJ;AAGjBT,EAAAA,MAAM,EAAEO,sBAAUG,IAAV,CAAeC,UAHN;AAIjBV,EAAAA,MAAM,EAAEM,sBAAUG,IAAV,CAAeC,UAJN;AAKjBT,EAAAA,OAAO,EAAEK,sBAAUG,IAAV,CAAeC;AALP,C;iCADRf,Q,kBAQW,E;;AAmBxB,IAAMgB,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBT,IAAAA,MAAM,EAAE;AACNU,MAAAA,KAAK,EAAEA,gBAAMC,IAAN,EADD;AAENC,MAAAA,eAAe,EAAEF,gBAAMG,UAAN,EAFX;AAGNC,MAAAA,YAAY,EAAEL,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAH7B;AAIN,8BAAwB;AACtBC,QAAAA,WAAW,EAAER,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB;AADZ,OAJlB;AAON,iBAAW;AACTJ,QAAAA,eAAe,EAAEF,gBAAMQ,OAAN;AADR;AAPL;AADe,GAAL;AAAA,CAApB;;eAce,sBAAWV,MAAX,EAAmBhB,QAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core';\nimport { color } from '@pie-lib/render-ui';\n\nexport class UndoRedo extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n onUndo: PropTypes.func.isRequired,\n onRedo: PropTypes.func.isRequired,\n onReset: PropTypes.func.isRequired\n };\n static defaultProps = {};\n render() {\n const { classes, className, onUndo, onRedo, onReset } = this.props;\n return (\n <div className={classNames(className)}>\n <Button classes={{ root: classes.button }} onClick={onUndo}>\n Undo\n </Button>\n <Button classes={{ root: classes.button }} onClick={onRedo}>\n Redo\n </Button>\n <Button classes={{ root: classes.button }} onClick={onReset}>\n Reset\n </Button>\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n button: {\n color: color.text(),\n backgroundColor: color.background(),\n marginBottom: theme.spacing.unit / 2,\n '&:not(:last-of-type)': {\n marginRight: theme.spacing.unit / 2\n },\n '&:hover': {\n backgroundColor: color.primary()\n }\n }\n});\n\nexport default withStyles(styles)(UndoRedo);\n"],"file":"undo-redo.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-debounce.js","names":["useDebounce","value","delay","useState","debouncedValue","setDebouncedValue","useEffect","handler","setTimeout","clearTimeout"],"sources":["../src/use-debounce.js"],"sourcesContent":["import { useState, useEffect } from 'react';\n\nexport const useDebounce = (value, delay) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => clearTimeout(handler);\n }, [value]);\n return debouncedValue;\n};\n"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,KAAR,EAAkB;EAC3C,gBAA4C,IAAAC,eAAA,EAASF,KAAT,CAA5C;EAAA;EAAA,IAAOG,cAAP;EAAA,IAAuBC,iBAAvB;;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACd,IAAMC,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC/BH,iBAAiB,CAACJ,KAAD,CAAjB;IACD,CAFyB,EAEvBC,KAFuB,CAA1B;IAGA,OAAO;MAAA,OAAMO,YAAY,CAACF,OAAD,CAAlB;IAAA,CAAP;EACD,CALD,EAKG,CAACN,KAAD,CALH;EAMA,OAAOG,cAAP;AACD,CAVM"}
1
+ {"version":3,"sources":["../src/use-debounce.js"],"names":["useDebounce","value","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"mappings":";;;;;;;;;;;AAAA;;AAEO,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAQC,KAAR,EAAkB;AAC3C,kBAA4C,qBAASD,KAAT,CAA5C;AAAA;AAAA,MAAOE,cAAP;AAAA,MAAuBC,iBAAvB;;AAEA,wBAAU,YAAM;AACd,QAAMC,OAAO,GAAGC,UAAU,CAAC,YAAM;AAC/BF,MAAAA,iBAAiB,CAACH,KAAD,CAAjB;AACD,KAFyB,EAEvBC,KAFuB,CAA1B;AAGA,WAAO;AAAA,aAAMK,YAAY,CAACF,OAAD,CAAlB;AAAA,KAAP;AACD,GALD,EAKG,CAACJ,KAAD,CALH;AAMA,SAAOE,cAAP;AACD,CAVM","sourcesContent":["import { useState, useEffect } from 'react';\n\nexport const useDebounce = (value, delay) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => clearTimeout(handler);\n }, [value]);\n return debouncedValue;\n};\n"],"file":"use-debounce.js"}
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["tickCount","utils","bounds","point","getAngleDeg","arrowDimensions","getTickValues","prop","tickValues","tickVal","min","indexOf","push","Math","round","step","max","filter","tV","countWords","label","isEmpty","words","split","length","findLongestWord","longestWord","replace","sort","a","b","amountToIncreaseWidth","polygonToArea","points","h","head","area","left","x","top","y","bottom","right","tail","reduce","p","lineToArea","from","to","pointsToArea","invariant","isDomainRangeEqual","graphProps","nextGraphProps","isEqual","domain","range","getRightestPoints","sortedPoints","cloneDeep","getMiddleOfTwoPoints","roundNumber","number","parseFloat","toFixed","sameAxes","p1","p2","equalPoints","getDistanceBetweenTicks","axis","size","nbOfTicks","thinnerShapesNeeded","width","height","getAdjustedGraphLimits","domainTicksDistance","rangeTicksDistance","domainPadding","rangePadding","getDistanceBetweenTwoPoints","sqrt","sortPoints","array","checkCollinearity","c","isSameLine","markA","markB","isSameCircle","root","edge","isDuplicatedMark","mark","marks","oldMark","type","building","filteredMarks","m","index","findIndex","splice","duplicated","find"],"sources":["../src/utils.js"],"sourcesContent":["import head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport { utils } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport cloneDeep from 'lodash/cloneDeep';\n\nexport const tickCount = utils.tickCount;\nexport const bounds = utils.bounds;\nexport const point = utils.point;\n\n//TODO: This can be removed?\nexport const getAngleDeg = () => 0;\n//TODO: This can be removed?\nexport const arrowDimensions = () => 0;\n\nexport const getTickValues = prop => {\n const tickValues = [];\n let tickVal = 0;\n\n while (tickVal >= prop.min && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal - prop.step) * 10000) / 10000;\n }\n\n tickVal = Math.round(prop.step * 10000) / 10000;\n\n while (tickVal <= prop.max && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n\n // return only ticks that are inside the min-max interval\n if (tickValues) {\n return tickValues.filter(tV => tV >= prop.min && tV <= prop.max);\n }\n\n return [];\n};\n\nexport const countWords = label => {\n if (label == null || isEmpty(label)) {\n return 1;\n }\n\n const words = label.split(' ');\n return words.length;\n};\n\n// findLongestWord is also used in plot\nexport const findLongestWord = label => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in plot\nexport const amountToIncreaseWidth = longestWord => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 10;\n};\n\nexport const polygonToArea = points => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => pointsToArea(from, to);\n\nexport const pointsToArea = (a, b) => {\n invariant(!!a && !!b, 'a or b is undefined');\n const left = Math.min(a.x, b.x);\n const top = Math.max(a.y, b.y);\n const bottom = Math.min(a.y, b.y);\n const right = Math.max(a.x, b.x);\n return { left, top, bottom, right };\n};\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return (\n isEqual(graphProps.domain, nextGraphProps.domain) &&\n isEqual(graphProps.range, nextGraphProps.range)\n );\n};\n\nexport const getRightestPoints = points => {\n const sortedPoints = cloneDeep(points);\n sortedPoints.sort((a, b) => b.x - a.x);\n\n return { a: sortedPoints[0], b: sortedPoints[1] };\n};\n\nexport const getMiddleOfTwoPoints = (a, b) => ({\n x: (a.x + b.x) / 2,\n y: (a.y + b.y) / 2\n});\n\nexport const roundNumber = number => parseFloat(number.toFixed(4));\n\nexport const sameAxes = (p1, p2) =>\n p1 && p2 && (roundNumber(p1.x) === roundNumber(p2.x) || roundNumber(p1.y) === roundNumber(p2.y));\n\nexport const equalPoints = (p1, p2) =>\n p1 &&\n p2 &&\n isEqual(\n {\n x: roundNumber(p1.x),\n y: roundNumber(p1.y)\n },\n {\n x: roundNumber(p2.x),\n y: roundNumber(p2.y)\n }\n );\n\nconst getDistanceBetweenTicks = (axis, size) => {\n const { min, max, step } = axis;\n const nbOfTicks = (max - min) / step;\n\n return size / nbOfTicks;\n};\n\nexport const thinnerShapesNeeded = graphProps => {\n const {\n domain,\n range,\n size: { width, height }\n } = graphProps;\n\n // 14 is the default width of a point\n return getDistanceBetweenTicks(domain, width) < 14 || getDistanceBetweenTicks(range, height) < 14;\n};\n\nexport const getAdjustedGraphLimits = graphProps => {\n const {\n domain,\n range,\n size: { width, height }\n } = graphProps;\n const domainTicksDistance = getDistanceBetweenTicks(domain, width);\n const rangeTicksDistance = getDistanceBetweenTicks(range, height);\n\n // 15 is the distance required for the arrow to extend the graph\n const domainPadding = domain.step / (domainTicksDistance / 15);\n const rangePadding = range.step / (rangeTicksDistance / 15);\n\n return {\n domain: {\n min: domain.min - domainPadding,\n max: domain.max + domainPadding\n },\n range: {\n min: range.min - rangePadding,\n max: range.max + rangePadding\n }\n };\n};\n\nexport const getDistanceBetweenTwoPoints = (a, b) =>\n Math.sqrt((b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y));\n\nconst sortPoints = array => (array || []).sort((a, b) => a.x - b.x || a.y - b.y);\n\n// check colliniarity of 3 points (source: https://www.geeksforgeeks.org/program-check-three-points-collinear/)\nconst checkCollinearity = (a, b, c) => (a.x - b.x) * (c.y - b.y) === (c.x - b.x) * (a.y - b.y);\n\n// 2 lines are overlapping if all 4 points are collinear\nconst isSameLine = (markA, markB) =>\n checkCollinearity(markA.from, markB.from, markB.to) &&\n checkCollinearity(markA.to, markB.from, markB.to);\n\nconst isSameCircle = (markA, markB) =>\n equalPoints(markA.root, markB.root) &&\n getDistanceBetweenTwoPoints(markB.root, markB.edge) ===\n getDistanceBetweenTwoPoints(markA.root, markA.edge);\n\nexport const isDuplicatedMark = (mark, marks, oldMark) => {\n const { type, building } = mark;\n\n if (building) {\n return false;\n }\n\n const filteredMarks = (marks || []).filter(m => m.type === type && !m.building);\n const index = filteredMarks.findIndex(m => isEqual(m, oldMark));\n\n if (index !== -1) {\n filteredMarks.splice(index, 1);\n }\n\n const duplicated = filteredMarks.find(m => {\n if (type === 'circle' || type === 'parabola' || type === 'sine') {\n const { root, edge } = mark;\n\n return (\n (equalPoints(root, m.root) && equalPoints(edge, m.edge)) ||\n (type === 'circle' && isSameCircle(m, mark))\n );\n } else if (type === 'line' || type === 'ray' || type === 'segment' || type === 'vector') {\n const { from, to } = mark;\n\n return (\n (equalPoints(from, m.from) && equalPoints(to, m.to)) ||\n (equalPoints(from, m.to) && equalPoints(to, m.from)) ||\n (type === 'line' && isSameLine(m, mark))\n );\n } else if (type === 'polygon') {\n return isEqual(sortPoints(cloneDeep(mark.points)), sortPoints(cloneDeep(m.points)));\n } else if (type === 'point') {\n return equalPoints(m, mark);\n }\n });\n\n return !!duplicated;\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEO,IAAMA,SAAS,GAAGC,WAAA,CAAMD,SAAxB;;AACA,IAAME,MAAM,GAAGD,WAAA,CAAMC,MAArB;;AACA,IAAMC,KAAK,GAAGF,WAAA,CAAME,KAApB,C,CAEP;;;;AACO,IAAMC,WAAW,GAAG,SAAdA,WAAc;EAAA,OAAM,CAAN;AAAA,CAApB,C,CACP;;;;;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB;EAAA,OAAM,CAAN;AAAA,CAAxB;;;;AAEA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,IAAI,EAAI;EACnC,IAAMC,UAAU,GAAG,EAAnB;EACA,IAAIC,OAAO,GAAG,CAAd;;EAEA,OAAOA,OAAO,IAAIF,IAAI,CAACG,GAAhB,IAAuBF,UAAU,CAACG,OAAX,CAAmBF,OAAnB,IAA8B,CAA5D,EAA+D;IAC7DD,UAAU,CAACI,IAAX,CAAgBH,OAAhB;IACAA,OAAO,GAAGI,IAAI,CAACC,KAAL,CAAW,CAACL,OAAO,GAAGF,IAAI,CAACQ,IAAhB,IAAwB,KAAnC,IAA4C,KAAtD;EACD;;EAEDN,OAAO,GAAGI,IAAI,CAACC,KAAL,CAAWP,IAAI,CAACQ,IAAL,GAAY,KAAvB,IAAgC,KAA1C;;EAEA,OAAON,OAAO,IAAIF,IAAI,CAACS,GAAhB,IAAuBR,UAAU,CAACG,OAAX,CAAmBF,OAAnB,IAA8B,CAA5D,EAA+D;IAC7DD,UAAU,CAACI,IAAX,CAAgBH,OAAhB;IACAA,OAAO,GAAGI,IAAI,CAACC,KAAL,CAAW,CAACL,OAAO,GAAGF,IAAI,CAACQ,IAAhB,IAAwB,KAAnC,IAA4C,KAAtD;EACD,CAdkC,CAgBnC;;;EACA,IAAIP,UAAJ,EAAgB;IACd,OAAOA,UAAU,CAACS,MAAX,CAAkB,UAAAC,EAAE;MAAA,OAAIA,EAAE,IAAIX,IAAI,CAACG,GAAX,IAAkBQ,EAAE,IAAIX,IAAI,CAACS,GAAjC;IAAA,CAApB,CAAP;EACD;;EAED,OAAO,EAAP;AACD,CAtBM;;;;AAwBA,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;EACjC,IAAIA,KAAK,IAAI,IAAT,IAAiB,IAAAC,mBAAA,EAAQD,KAAR,CAArB,EAAqC;IACnC,OAAO,CAAP;EACD;;EAED,IAAME,KAAK,GAAGF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAAd;EACA,OAAOD,KAAK,CAACE,MAAb;AACD,CAPM,C,CASP;;;;;AACO,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAAAL,KAAK,EAAI;EACtC,IAAIM,WAAW,GAAG,CAACN,KAAK,IAAI,EAAV,EACfO,OADe,CACP,UADO,EACK,EADL,EAEfJ,KAFe,CAET,GAFS,EAGfK,IAHe,CAGV,UAACC,CAAD,EAAIC,CAAJ;IAAA,OAAUA,CAAC,CAACN,MAAF,GAAWK,CAAC,CAACL,MAAvB;EAAA,CAHU,CAAlB;EAKA,OAAOE,WAAW,CAAC,CAAD,CAAX,CAAeF,MAAtB;AACD,CAPM,C,CASP;;;;;AACO,IAAMO,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAAL,WAAW,EAAI;EAClD,IAAI,CAACA,WAAL,EAAkB;IAChB,OAAO,CAAP;EACD;;EAED,OAAOA,WAAW,GAAG,EAArB;AACD,CANM;;;;AAQA,IAAMM,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,MAAM,EAAI;EACrC,IAAMC,CAAC,GAAG,IAAAC,gBAAA,EAAKF,MAAL,CAAV;EACA,IAAMG,IAAI,GAAG;IACXC,IAAI,EAAEH,CAAC,CAACI,CADG;IAEXC,GAAG,EAAEL,CAAC,CAACM,CAFI;IAGXC,MAAM,EAAEP,CAAC,CAACM,CAHC;IAIXE,KAAK,EAAER,CAAC,CAACI;EAJE,CAAb;EAMA,OAAO,IAAAK,gBAAA,EAAKV,MAAL,EAAaW,MAAb,CAAoB,UAACf,CAAD,EAAIgB,CAAJ,EAAU;IACnChB,CAAC,CAACQ,IAAF,GAASxB,IAAI,CAACH,GAAL,CAASmB,CAAC,CAACQ,IAAX,EAAiBQ,CAAC,CAACP,CAAnB,CAAT;IACAT,CAAC,CAACU,GAAF,GAAQ1B,IAAI,CAACG,GAAL,CAASa,CAAC,CAACU,GAAX,EAAgBM,CAAC,CAACL,CAAlB,CAAR;IACAX,CAAC,CAACY,MAAF,GAAW5B,IAAI,CAACH,GAAL,CAASmB,CAAC,CAACY,MAAX,EAAmBI,CAAC,CAACL,CAArB,CAAX;IACAX,CAAC,CAACa,KAAF,GAAU7B,IAAI,CAACG,GAAL,CAASa,CAAC,CAACa,KAAX,EAAkBG,CAAC,CAACP,CAApB,CAAV;IACA,OAAOT,CAAP;EACD,CANM,EAMJO,IANI,CAAP;AAOD,CAfM;;;;AAiBA,IAAMU,UAAU,GAAG,SAAbA,UAAa,CAACC,IAAD,EAAOC,EAAP;EAAA,OAAcC,YAAY,CAACF,IAAD,EAAOC,EAAP,CAA1B;AAAA,CAAnB;;;;AAEA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACpB,CAAD,EAAIC,CAAJ,EAAU;EACpC,IAAAoB,qBAAA,EAAU,CAAC,CAACrB,CAAF,IAAO,CAAC,CAACC,CAAnB,EAAsB,qBAAtB;EACA,IAAMO,IAAI,GAAGxB,IAAI,CAACH,GAAL,CAASmB,CAAC,CAACS,CAAX,EAAcR,CAAC,CAACQ,CAAhB,CAAb;EACA,IAAMC,GAAG,GAAG1B,IAAI,CAACG,GAAL,CAASa,CAAC,CAACW,CAAX,EAAcV,CAAC,CAACU,CAAhB,CAAZ;EACA,IAAMC,MAAM,GAAG5B,IAAI,CAACH,GAAL,CAASmB,CAAC,CAACW,CAAX,EAAcV,CAAC,CAACU,CAAhB,CAAf;EACA,IAAME,KAAK,GAAG7B,IAAI,CAACG,GAAL,CAASa,CAAC,CAACS,CAAX,EAAcR,CAAC,CAACQ,CAAhB,CAAd;EACA,OAAO;IAAED,IAAI,EAAJA,IAAF;IAAQE,GAAG,EAAHA,GAAR;IAAaE,MAAM,EAANA,MAAb;IAAqBC,KAAK,EAALA;EAArB,CAAP;AACD,CAPM;;;;AASA,IAAMS,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,UAAD,EAAaC,cAAb,EAAgC;EAChE,OACE,IAAAC,mBAAA,EAAQF,UAAU,CAACG,MAAnB,EAA2BF,cAAc,CAACE,MAA1C,KACA,IAAAD,mBAAA,EAAQF,UAAU,CAACI,KAAnB,EAA0BH,cAAc,CAACG,KAAzC,CAFF;AAID,CALM;;;;AAOA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAxB,MAAM,EAAI;EACzC,IAAMyB,YAAY,GAAG,IAAAC,qBAAA,EAAU1B,MAAV,CAArB;EACAyB,YAAY,CAAC9B,IAAb,CAAkB,UAACC,CAAD,EAAIC,CAAJ;IAAA,OAAUA,CAAC,CAACQ,CAAF,GAAMT,CAAC,CAACS,CAAlB;EAAA,CAAlB;EAEA,OAAO;IAAET,CAAC,EAAE6B,YAAY,CAAC,CAAD,CAAjB;IAAsB5B,CAAC,EAAE4B,YAAY,CAAC,CAAD;EAArC,CAAP;AACD,CALM;;;;AAOA,IAAME,oBAAoB,GAAG,SAAvBA,oBAAuB,CAAC/B,CAAD,EAAIC,CAAJ;EAAA,OAAW;IAC7CQ,CAAC,EAAE,CAACT,CAAC,CAACS,CAAF,GAAMR,CAAC,CAACQ,CAAT,IAAc,CAD4B;IAE7CE,CAAC,EAAE,CAACX,CAAC,CAACW,CAAF,GAAMV,CAAC,CAACU,CAAT,IAAc;EAF4B,CAAX;AAAA,CAA7B;;;;AAKA,IAAMqB,WAAW,GAAG,SAAdA,WAAc,CAAAC,MAAM;EAAA,OAAIC,UAAU,CAACD,MAAM,CAACE,OAAP,CAAe,CAAf,CAAD,CAAd;AAAA,CAA1B;;;;AAEA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,EAAD,EAAKC,EAAL;EAAA,OACtBD,EAAE,IAAIC,EAAN,KAAaN,WAAW,CAACK,EAAE,CAAC5B,CAAJ,CAAX,KAAsBuB,WAAW,CAACM,EAAE,CAAC7B,CAAJ,CAAjC,IAA2CuB,WAAW,CAACK,EAAE,CAAC1B,CAAJ,CAAX,KAAsBqB,WAAW,CAACM,EAAE,CAAC3B,CAAJ,CAAzF,CADsB;AAAA,CAAjB;;;;AAGA,IAAM4B,WAAW,GAAG,SAAdA,WAAc,CAACF,EAAD,EAAKC,EAAL;EAAA,OACzBD,EAAE,IACFC,EADA,IAEA,IAAAb,mBAAA,EACE;IACEhB,CAAC,EAAEuB,WAAW,CAACK,EAAE,CAAC5B,CAAJ,CADhB;IAEEE,CAAC,EAAEqB,WAAW,CAACK,EAAE,CAAC1B,CAAJ;EAFhB,CADF,EAKE;IACEF,CAAC,EAAEuB,WAAW,CAACM,EAAE,CAAC7B,CAAJ,CADhB;IAEEE,CAAC,EAAEqB,WAAW,CAACM,EAAE,CAAC3B,CAAJ;EAFhB,CALF,CAHyB;AAAA,CAApB;;;;AAcP,IAAM6B,uBAAuB,GAAG,SAA1BA,uBAA0B,CAACC,IAAD,EAAOC,IAAP,EAAgB;EAC9C,IAAQ7D,GAAR,GAA2B4D,IAA3B,CAAQ5D,GAAR;EAAA,IAAaM,GAAb,GAA2BsD,IAA3B,CAAatD,GAAb;EAAA,IAAkBD,IAAlB,GAA2BuD,IAA3B,CAAkBvD,IAAlB;EACA,IAAMyD,SAAS,GAAG,CAACxD,GAAG,GAAGN,GAAP,IAAcK,IAAhC;EAEA,OAAOwD,IAAI,GAAGC,SAAd;AACD,CALD;;AAOO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAArB,UAAU,EAAI;EAC/C,IACEG,MADF,GAIIH,UAJJ,CACEG,MADF;EAAA,IAEEC,KAFF,GAIIJ,UAJJ,CAEEI,KAFF;EAAA,uBAIIJ,UAJJ,CAGEmB,IAHF;EAAA,IAGUG,KAHV,oBAGUA,KAHV;EAAA,IAGiBC,MAHjB,oBAGiBA,MAHjB,CAD+C,CAO/C;;EACA,OAAON,uBAAuB,CAACd,MAAD,EAASmB,KAAT,CAAvB,GAAyC,EAAzC,IAA+CL,uBAAuB,CAACb,KAAD,EAAQmB,MAAR,CAAvB,GAAyC,EAA/F;AACD,CATM;;;;AAWA,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAAAxB,UAAU,EAAI;EAClD,IACEG,MADF,GAIIH,UAJJ,CACEG,MADF;EAAA,IAEEC,KAFF,GAIIJ,UAJJ,CAEEI,KAFF;EAAA,wBAIIJ,UAJJ,CAGEmB,IAHF;EAAA,IAGUG,KAHV,qBAGUA,KAHV;EAAA,IAGiBC,MAHjB,qBAGiBA,MAHjB;EAKA,IAAME,mBAAmB,GAAGR,uBAAuB,CAACd,MAAD,EAASmB,KAAT,CAAnD;EACA,IAAMI,kBAAkB,GAAGT,uBAAuB,CAACb,KAAD,EAAQmB,MAAR,CAAlD,CAPkD,CASlD;;EACA,IAAMI,aAAa,GAAGxB,MAAM,CAACxC,IAAP,IAAe8D,mBAAmB,GAAG,EAArC,CAAtB;EACA,IAAMG,YAAY,GAAGxB,KAAK,CAACzC,IAAN,IAAc+D,kBAAkB,GAAG,EAAnC,CAArB;EAEA,OAAO;IACLvB,MAAM,EAAE;MACN7C,GAAG,EAAE6C,MAAM,CAAC7C,GAAP,GAAaqE,aADZ;MAEN/D,GAAG,EAAEuC,MAAM,CAACvC,GAAP,GAAa+D;IAFZ,CADH;IAKLvB,KAAK,EAAE;MACL9C,GAAG,EAAE8C,KAAK,CAAC9C,GAAN,GAAYsE,YADZ;MAELhE,GAAG,EAAEwC,KAAK,CAACxC,GAAN,GAAYgE;IAFZ;EALF,CAAP;AAUD,CAvBM;;;;AAyBA,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA8B,CAACpD,CAAD,EAAIC,CAAJ;EAAA,OACzCjB,IAAI,CAACqE,IAAL,CAAU,CAACpD,CAAC,CAACQ,CAAF,GAAMT,CAAC,CAACS,CAAT,KAAeR,CAAC,CAACQ,CAAF,GAAMT,CAAC,CAACS,CAAvB,IAA4B,CAACR,CAAC,CAACU,CAAF,GAAMX,CAAC,CAACW,CAAT,KAAeV,CAAC,CAACU,CAAF,GAAMX,CAAC,CAACW,CAAvB,CAAtC,CADyC;AAAA,CAApC;;;;AAGP,IAAM2C,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK;EAAA,OAAI,CAACA,KAAK,IAAI,EAAV,EAAcxD,IAAd,CAAmB,UAACC,CAAD,EAAIC,CAAJ;IAAA,OAAUD,CAAC,CAACS,CAAF,GAAMR,CAAC,CAACQ,CAAR,IAAaT,CAAC,CAACW,CAAF,GAAMV,CAAC,CAACU,CAA/B;EAAA,CAAnB,CAAJ;AAAA,CAAxB,C,CAEA;;;AACA,IAAM6C,iBAAiB,GAAG,SAApBA,iBAAoB,CAACxD,CAAD,EAAIC,CAAJ,EAAOwD,CAAP;EAAA,OAAa,CAACzD,CAAC,CAACS,CAAF,GAAMR,CAAC,CAACQ,CAAT,KAAegD,CAAC,CAAC9C,CAAF,GAAMV,CAAC,CAACU,CAAvB,MAA8B,CAAC8C,CAAC,CAAChD,CAAF,GAAMR,CAAC,CAACQ,CAAT,KAAeT,CAAC,CAACW,CAAF,GAAMV,CAAC,CAACU,CAAvB,CAA3C;AAAA,CAA1B,C,CAEA;;;AACA,IAAM+C,UAAU,GAAG,SAAbA,UAAa,CAACC,KAAD,EAAQC,KAAR;EAAA,OACjBJ,iBAAiB,CAACG,KAAK,CAACzC,IAAP,EAAa0C,KAAK,CAAC1C,IAAnB,EAAyB0C,KAAK,CAACzC,EAA/B,CAAjB,IACAqC,iBAAiB,CAACG,KAAK,CAACxC,EAAP,EAAWyC,KAAK,CAAC1C,IAAjB,EAAuB0C,KAAK,CAACzC,EAA7B,CAFA;AAAA,CAAnB;;AAIA,IAAM0C,YAAY,GAAG,SAAfA,YAAe,CAACF,KAAD,EAAQC,KAAR;EAAA,OACnBrB,WAAW,CAACoB,KAAK,CAACG,IAAP,EAAaF,KAAK,CAACE,IAAnB,CAAX,IACAV,2BAA2B,CAACQ,KAAK,CAACE,IAAP,EAAaF,KAAK,CAACG,IAAnB,CAA3B,KACEX,2BAA2B,CAACO,KAAK,CAACG,IAAP,EAAaH,KAAK,CAACI,IAAnB,CAHV;AAAA,CAArB;;AAKO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,IAAD,EAAOC,KAAP,EAAcC,OAAd,EAA0B;EACxD,IAAQC,IAAR,GAA2BH,IAA3B,CAAQG,IAAR;EAAA,IAAcC,QAAd,GAA2BJ,IAA3B,CAAcI,QAAd;;EAEA,IAAIA,QAAJ,EAAc;IACZ,OAAO,KAAP;EACD;;EAED,IAAMC,aAAa,GAAG,CAACJ,KAAK,IAAI,EAAV,EAAc9E,MAAd,CAAqB,UAAAmF,CAAC;IAAA,OAAIA,CAAC,CAACH,IAAF,KAAWA,IAAX,IAAmB,CAACG,CAAC,CAACF,QAA1B;EAAA,CAAtB,CAAtB;EACA,IAAMG,KAAK,GAAGF,aAAa,CAACG,SAAd,CAAwB,UAAAF,CAAC;IAAA,OAAI,IAAA9C,mBAAA,EAAQ8C,CAAR,EAAWJ,OAAX,CAAJ;EAAA,CAAzB,CAAd;;EAEA,IAAIK,KAAK,KAAK,CAAC,CAAf,EAAkB;IAChBF,aAAa,CAACI,MAAd,CAAqBF,KAArB,EAA4B,CAA5B;EACD;;EAED,IAAMG,UAAU,GAAGL,aAAa,CAACM,IAAd,CAAmB,UAAAL,CAAC,EAAI;IACzC,IAAIH,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,UAA9B,IAA4CA,IAAI,KAAK,MAAzD,EAAiE;MAC/D,IAAQN,IAAR,GAAuBG,IAAvB,CAAQH,IAAR;MAAA,IAAcC,IAAd,GAAuBE,IAAvB,CAAcF,IAAd;MAEA,OACGxB,WAAW,CAACuB,IAAD,EAAOS,CAAC,CAACT,IAAT,CAAX,IAA6BvB,WAAW,CAACwB,IAAD,EAAOQ,CAAC,CAACR,IAAT,CAAzC,IACCK,IAAI,KAAK,QAAT,IAAqBP,YAAY,CAACU,CAAD,EAAIN,IAAJ,CAFpC;IAID,CAPD,MAOO,IAAIG,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,KAA5B,IAAqCA,IAAI,KAAK,SAA9C,IAA2DA,IAAI,KAAK,QAAxE,EAAkF;MACvF,IAAQlD,IAAR,GAAqB+C,IAArB,CAAQ/C,IAAR;MAAA,IAAcC,EAAd,GAAqB8C,IAArB,CAAc9C,EAAd;MAEA,OACGoB,WAAW,CAACrB,IAAD,EAAOqD,CAAC,CAACrD,IAAT,CAAX,IAA6BqB,WAAW,CAACpB,EAAD,EAAKoD,CAAC,CAACpD,EAAP,CAAzC,IACCoB,WAAW,CAACrB,IAAD,EAAOqD,CAAC,CAACpD,EAAT,CAAX,IAA2BoB,WAAW,CAACpB,EAAD,EAAKoD,CAAC,CAACrD,IAAP,CADvC,IAECkD,IAAI,KAAK,MAAT,IAAmBV,UAAU,CAACa,CAAD,EAAIN,IAAJ,CAHhC;IAKD,CARM,MAQA,IAAIG,IAAI,KAAK,SAAb,EAAwB;MAC7B,OAAO,IAAA3C,mBAAA,EAAQ6B,UAAU,CAAC,IAAAxB,qBAAA,EAAUmC,IAAI,CAAC7D,MAAf,CAAD,CAAlB,EAA4CkD,UAAU,CAAC,IAAAxB,qBAAA,EAAUyC,CAAC,CAACnE,MAAZ,CAAD,CAAtD,CAAP;IACD,CAFM,MAEA,IAAIgE,IAAI,KAAK,OAAb,EAAsB;MAC3B,OAAO7B,WAAW,CAACgC,CAAD,EAAIN,IAAJ,CAAlB;IACD;EACF,CArBkB,CAAnB;EAuBA,OAAO,CAAC,CAACU,UAAT;AACD,CAtCM"}
1
+ {"version":3,"sources":["../src/utils.js"],"names":["tickCount","utils","bounds","point","getAngleDeg","arrowDimensions","getTickValues","prop","tickValues","tickVal","min","indexOf","push","Math","round","step","max","filter","tV","countWords","label","words","split","length","findLongestWord","longestWord","replace","sort","a","b","amountToIncreaseWidth","polygonToArea","points","h","area","left","x","top","y","bottom","right","reduce","p","lineToArea","from","to","pointsToArea","isDomainRangeEqual","graphProps","nextGraphProps","domain","range","getRightestPoints","sortedPoints","getMiddleOfTwoPoints","roundNumber","number","parseFloat","toFixed","sameAxes","p1","p2","equalPoints","getDistanceBetweenTicks","axis","size","nbOfTicks","thinnerShapesNeeded","width","height","getAdjustedGraphLimits","domainTicksDistance","rangeTicksDistance","domainPadding","rangePadding","getDistanceBetweenTwoPoints","sqrt","sortPoints","array","checkCollinearity","c","isSameLine","markA","markB","isSameCircle","root","edge","isDuplicatedMark","mark","marks","oldMark","type","building","filteredMarks","m","index","findIndex","splice","duplicated","find"],"mappings":"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","sourcesContent":["import head from 'lodash/head';\nimport tail from 'lodash/tail';\nimport { utils } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport isEqual from 'lodash/isEqual';\nimport isEmpty from 'lodash/isEmpty';\nimport cloneDeep from 'lodash/cloneDeep';\n\nexport const tickCount = utils.tickCount;\nexport const bounds = utils.bounds;\nexport const point = utils.point;\n\n//TODO: This can be removed?\nexport const getAngleDeg = () => 0;\n//TODO: This can be removed?\nexport const arrowDimensions = () => 0;\n\nexport const getTickValues = prop => {\n const tickValues = [];\n let tickVal = 0;\n\n while (tickVal >= prop.min && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal - prop.step) * 10000) / 10000;\n }\n\n tickVal = Math.round(prop.step * 10000) / 10000;\n\n while (tickVal <= prop.max && tickValues.indexOf(tickVal) < 0) {\n tickValues.push(tickVal);\n tickVal = Math.round((tickVal + prop.step) * 10000) / 10000;\n }\n\n // return only ticks that are inside the min-max interval\n if (tickValues) {\n return tickValues.filter(tV => tV >= prop.min && tV <= prop.max);\n }\n\n return [];\n};\n\nexport const countWords = label => {\n if (label == null || isEmpty(label)) {\n return 1;\n }\n\n const words = label.split(' ');\n return words.length;\n};\n\n// findLongestWord is also used in plot\nexport const findLongestWord = label => {\n let longestWord = (label || '')\n .replace(/<[^>]+>/g, '')\n .split(' ')\n .sort((a, b) => b.length - a.length);\n\n return longestWord[0].length;\n};\n\n// amountToIncreaseWidth is also used in plot\nexport const amountToIncreaseWidth = longestWord => {\n if (!longestWord) {\n return 0;\n }\n\n return longestWord * 10;\n};\n\nexport const polygonToArea = points => {\n const h = head(points);\n const area = {\n left: h.x,\n top: h.y,\n bottom: h.y,\n right: h.x\n };\n return tail(points).reduce((a, p) => {\n a.left = Math.min(a.left, p.x);\n a.top = Math.max(a.top, p.y);\n a.bottom = Math.min(a.bottom, p.y);\n a.right = Math.max(a.right, p.x);\n return a;\n }, area);\n};\n\nexport const lineToArea = (from, to) => pointsToArea(from, to);\n\nexport const pointsToArea = (a, b) => {\n invariant(!!a && !!b, 'a or b is undefined');\n const left = Math.min(a.x, b.x);\n const top = Math.max(a.y, b.y);\n const bottom = Math.min(a.y, b.y);\n const right = Math.max(a.x, b.x);\n return { left, top, bottom, right };\n};\n\nexport const isDomainRangeEqual = (graphProps, nextGraphProps) => {\n return (\n isEqual(graphProps.domain, nextGraphProps.domain) &&\n isEqual(graphProps.range, nextGraphProps.range)\n );\n};\n\nexport const getRightestPoints = points => {\n const sortedPoints = cloneDeep(points);\n sortedPoints.sort((a, b) => b.x - a.x);\n\n return { a: sortedPoints[0], b: sortedPoints[1] };\n};\n\nexport const getMiddleOfTwoPoints = (a, b) => ({\n x: (a.x + b.x) / 2,\n y: (a.y + b.y) / 2\n});\n\nexport const roundNumber = number => parseFloat(number.toFixed(4));\n\nexport const sameAxes = (p1, p2) =>\n p1 && p2 && (roundNumber(p1.x) === roundNumber(p2.x) || roundNumber(p1.y) === roundNumber(p2.y));\n\nexport const equalPoints = (p1, p2) =>\n p1 &&\n p2 &&\n isEqual(\n {\n x: roundNumber(p1.x),\n y: roundNumber(p1.y)\n },\n {\n x: roundNumber(p2.x),\n y: roundNumber(p2.y)\n }\n );\n\nconst getDistanceBetweenTicks = (axis, size) => {\n const { min, max, step } = axis;\n const nbOfTicks = (max - min) / step;\n\n return size / nbOfTicks;\n};\n\nexport const thinnerShapesNeeded = graphProps => {\n const {\n domain,\n range,\n size: { width, height }\n } = graphProps;\n\n // 14 is the default width of a point\n return getDistanceBetweenTicks(domain, width) < 14 || getDistanceBetweenTicks(range, height) < 14;\n};\n\nexport const getAdjustedGraphLimits = graphProps => {\n const {\n domain,\n range,\n size: { width, height }\n } = graphProps;\n const domainTicksDistance = getDistanceBetweenTicks(domain, width);\n const rangeTicksDistance = getDistanceBetweenTicks(range, height);\n\n // 15 is the distance required for the arrow to extend the graph\n const domainPadding = domain.step / (domainTicksDistance / 15);\n const rangePadding = range.step / (rangeTicksDistance / 15);\n\n return {\n domain: {\n min: domain.min - domainPadding,\n max: domain.max + domainPadding\n },\n range: {\n min: range.min - rangePadding,\n max: range.max + rangePadding\n }\n };\n};\n\nexport const getDistanceBetweenTwoPoints = (a, b) =>\n Math.sqrt((b.x - a.x) * (b.x - a.x) + (b.y - a.y) * (b.y - a.y));\n\nconst sortPoints = array => (array || []).sort((a, b) => a.x - b.x || a.y - b.y);\n\n// check colliniarity of 3 points (source: https://www.geeksforgeeks.org/program-check-three-points-collinear/)\nconst checkCollinearity = (a, b, c) => (a.x - b.x) * (c.y - b.y) === (c.x - b.x) * (a.y - b.y);\n\n// 2 lines are overlapping if all 4 points are collinear\nconst isSameLine = (markA, markB) =>\n checkCollinearity(markA.from, markB.from, markB.to) &&\n checkCollinearity(markA.to, markB.from, markB.to);\n\nconst isSameCircle = (markA, markB) =>\n equalPoints(markA.root, markB.root) &&\n getDistanceBetweenTwoPoints(markB.root, markB.edge) ===\n getDistanceBetweenTwoPoints(markA.root, markA.edge);\n\nexport const isDuplicatedMark = (mark, marks, oldMark) => {\n const { type, building } = mark;\n\n if (building) {\n return false;\n }\n\n const filteredMarks = (marks || []).filter(m => m.type === type && !m.building);\n const index = filteredMarks.findIndex(m => isEqual(m, oldMark));\n\n if (index !== -1) {\n filteredMarks.splice(index, 1);\n }\n\n const duplicated = filteredMarks.find(m => {\n if (type === 'circle' || type === 'parabola' || type === 'sine') {\n const { root, edge } = mark;\n\n return (\n (equalPoints(root, m.root) && equalPoints(edge, m.edge)) ||\n (type === 'circle' && isSameCircle(m, mark))\n );\n } else if (type === 'line' || type === 'ray' || type === 'segment' || type === 'vector') {\n const { from, to } = mark;\n\n return (\n (equalPoints(from, m.from) && equalPoints(to, m.to)) ||\n (equalPoints(from, m.to) && equalPoints(to, m.from)) ||\n (type === 'line' && isSameLine(m, mark))\n );\n } else if (type === 'polygon') {\n return isEqual(sortPoints(cloneDeep(mark.points)), sortPoints(cloneDeep(m.points)));\n } else if (type === 'point') {\n return equalPoints(m, mark);\n }\n });\n\n return !!duplicated;\n};\n"],"file":"utils.js"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.11.3-next.1+7088b0ff",
6
+ "version": "2.11.3-next.52+67ed9334",
7
7
  "description": "Graphing components",
8
8
  "keywords": [
9
9
  "react",
@@ -18,10 +18,10 @@
18
18
  "dependencies": {
19
19
  "@mapbox/point-geometry": "^0.1.0",
20
20
  "@material-ui/core": "^3.8.3",
21
- "@pie-lib/drag": "^1.1.52",
21
+ "@pie-lib/drag": "^1.1.53-next.950+67ed9334",
22
22
  "@pie-lib/graphing-utils": "^1.1.20",
23
- "@pie-lib/plot": "^2.5.3-next.1+7088b0ff",
24
- "@pie-lib/render-ui": "^4.13.7-next.43+7088b0ff",
23
+ "@pie-lib/plot": "^2.5.2",
24
+ "@pie-lib/render-ui": "^4.13.6",
25
25
  "@vx/axis": "^0.0.189",
26
26
  "@vx/clip-path": "^0.0.189",
27
27
  "@vx/event": "^0.0.189",
@@ -44,6 +44,6 @@
44
44
  "peerDependencies": {
45
45
  "react": "^16.8.1"
46
46
  },
47
- "gitHead": "7088b0ff539185f61af22b79f2f122c093e972cb",
47
+ "gitHead": "67ed9334c986af832b0a9058b696bc803acd3d74",
48
48
  "scripts": {}
49
49
  }