@semcore/d3-chart 2.2.1 → 2.2.4
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.
- package/CHANGELOG.md +21 -0
- package/README.md +2 -2
- package/lib/cjs/Area.js +9 -9
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +19 -17
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +11 -11
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +12 -12
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +1 -1
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +8 -8
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +9 -9
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js +8 -8
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +11 -11
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +4 -4
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +8 -8
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +4 -4
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/RadialTree.js +99 -59
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +10 -10
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ResponsiveContainer.js +1 -1
- package/lib/cjs/ResponsiveContainer.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +7 -7
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js +8 -8
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js +8 -8
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +15 -11
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +9 -9
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/color.js.map +1 -1
- package/lib/cjs/createElement.js +3 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/radial-tree.shadow.css +0 -1
- package/lib/cjs/types/index.d.ts +3 -0
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +9 -9
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +19 -17
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +11 -11
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +12 -12
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +1 -1
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +8 -8
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +9 -9
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js +8 -8
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +11 -11
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +4 -4
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +8 -8
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +4 -4
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/RadialTree.js +99 -59
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +10 -10
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ResponsiveContainer.js +1 -1
- package/lib/es6/ResponsiveContainer.js.map +1 -1
- package/lib/es6/ScatterPlot.js +7 -7
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js +8 -8
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js +8 -8
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +15 -11
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +9 -9
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/color.js.map +1 -1
- package/lib/es6/createElement.js +3 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/radial-tree.shadow.css +0 -1
- package/lib/es6/types/index.d.ts +3 -0
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/index.d.ts +3 -0
- package/package.json +1 -1
- package/src/Area.jsx +0 -137
- package/src/Axis.jsx +0 -314
- package/src/Bar.jsx +0 -149
- package/src/Bubble.jsx +0 -165
- package/src/ClipPath.jsx +0 -47
- package/src/Donut.jsx +0 -319
- package/src/Dots.jsx +0 -97
- package/src/GroupBar.jsx +0 -76
- package/src/HorizontalBar.jsx +0 -135
- package/src/Hover.jsx +0 -153
- package/src/Line.jsx +0 -89
- package/src/Plot.jsx +0 -79
- package/src/RadialTree.tsx +0 -767
- package/src/ReferenceLine.jsx +0 -146
- package/src/ResponsiveContainer.jsx +0 -84
- package/src/ScatterPlot.jsx +0 -112
- package/src/StackBar.jsx +0 -105
- package/src/StackedArea.jsx +0 -65
- package/src/Tooltip.jsx +0 -145
- package/src/Venn.jsx +0 -114
- package/src/color.js +0 -21
- package/src/createElement.jsx +0 -135
- package/src/index.js +0 -27
- package/src/style/area.shadow.css +0 -37
- package/src/style/axis.shadow.css +0 -85
- package/src/style/bar.shadow.css +0 -21
- package/src/style/bubble.shadow.css +0 -45
- package/src/style/donut.shadow.css +0 -24
- package/src/style/dot.shadow.css +0 -29
- package/src/style/hover.shadow.css +0 -9
- package/src/style/line.shadow.css +0 -29
- package/src/style/plot.shadow.css +0 -6
- package/src/style/radial-tree.shadow.css +0 -34
- package/src/style/reference-line.shadow.css +0 -37
- package/src/style/scatterplot.shadow.css +0 -27
- package/src/style/tooltip.shadow.css +0 -36
- package/src/style/var.css +0 -125
- package/src/style/venn.shadow.css +0 -29
- package/src/types/Area.d.ts +0 -48
- package/src/types/Axis.d.ts +0 -64
- package/src/types/Bar.d.ts +0 -52
- package/src/types/Bubble.d.ts +0 -32
- package/src/types/ClipPath.d.ts +0 -26
- package/src/types/Donut.d.ts +0 -46
- package/src/types/GroupBar.d.ts +0 -20
- package/src/types/HorizontalBar.d.ts +0 -29
- package/src/types/Hover.d.ts +0 -15
- package/src/types/Line.d.ts +0 -50
- package/src/types/Plot.d.ts +0 -16
- package/src/types/ReferenceLine.d.ts +0 -31
- package/src/types/ResponsiveContainer.d.ts +0 -20
- package/src/types/ScatterPlot.d.ts +0 -27
- package/src/types/StackBar.d.ts +0 -26
- package/src/types/StackedArea.d.ts +0 -26
- package/src/types/Tooltip.d.ts +0 -33
- package/src/types/Venn.d.ts +0 -45
- package/src/types/context.d.ts +0 -6
- package/src/types/index.d.ts +0 -56
- package/src/utils.ts +0 -227
package/lib/es6/types/index.d.ts
CHANGED
package/lib/es6/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils.ts"],"names":["extent","bisector","scaleQuantize","CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","prev","next","defNext","find","length","defPrev","getIndexFromData","bisect","center","step","index","findIndex","console","warn","roundedPath","w","h","r","tl","tr","bl","br","result","getBandwidth","Math","abs","memoize","func","results","args","argsKey","join","measureText","text","fontSize","span","document","createElement","style","split","line","append","createTextNode","display","body","textWidth","offsetWidth","remove"],"mappings":";;;;;;;;;;;;AAAA,SAASA,MAAT,EAAiBC,QAAjB,QAA0C,UAA1C;AACA,SACEC,aADF,QAQO,UARP;AAWA,IAAMC,QAAQ,GAAG;AACfC,EAAAA,eAAe,EAAEC,MAAM,CAAC,iBAAD;AADR,CAAjB;AAIA,SAASF,QAAT;AAEA,OAAO,IAAMG,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAuCC,OAAvC,EAA+D;AACzF,MAAMC,IAAI,GAAIF,KAAK,CAACG,aAAN,IAAuBH,KAAK,CAACI,MAA3C;AACA,MAAMC,IAAI,GAAGJ,OAAO,CAACK,qBAAR,EAAb;AACA,SAAO,CAACN,KAAK,CAACO,OAAN,GAAgBF,IAAI,CAACG,IAArB,GAA4BN,IAAI,CAACO,UAAlC,EAA8CT,KAAK,CAACU,OAAN,GAAgBL,IAAI,CAACM,GAArB,GAA2BT,IAAI,CAACU,SAA9E,CAAP;AACD,CAJM;AAUP,OAAO,IAAMC,MAAM,GAAG,SAATA,MAAS,CACpBC,KADoB,EAEpBC,KAFoB,EAGjB;AACH,MAAID,KAAK,CAACD,MAAV,EAAkB,OAAOC,KAAK,CAACD,MAAN,CAAaE,KAAb,CAAP;AAElB,MAAMC,KAAK,GAAGF,KAAK,CAACE,KAAN,EAAd;AACA,MAAMC,MAAM,GAAGH,KAAK,CAACG,MAAN,EAAf;AAEA,SAAOtB,aAAa,GACjBsB,MADI,CACID,KAAK,CAAC,CAAD,CAAL,IAAYA,KAAK,CAAC,CAAD,CAAjB,GAAuBA,KAAvB,GAA+BA,KAAK,CAACE,KAAN,GAAcC,OAAd,EADnC,EAEJH,KAFI,CAEGA,KAAK,CAAC,CAAD,CAAL,IAAYA,KAAK,CAAC,CAAD,CAAjB,GAAuBC,MAAvB,GAAgCA,MAAM,CAACC,KAAP,GAAeC,OAAf,EAFnC,EAE0EJ,KAF1E,CAAP;AAGD,CAZM;AAcP,OAAO,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,CAAD,EAAYC,CAAZ;AAAA,SAA0B,UAACC,IAAD;AAAA,WACvDA,IAAI,CAACF,CAAD,CAAJ,KAAY,IAAZ,IAAoBE,IAAI,CAACD,CAAD,CAAJ,KAAY,IADuB;AAAA,GAA1B;AAAA,CAAxB;AAGP,OAAO,IAAME,WAAW,GAAG,SAAdA,WAAc,CAACH,CAAD,EAAYC,CAAZ;AAAA,SAA0B,UAACC,IAAD;AAAA,WACnDA,IAAI,CAACF,CAAD,CAAJ,KAAY,IAAZ,IAAoBE,IAAI,CAACF,CAAD,CAAJ,KAAYI,SAAhC,IAA6CF,IAAI,CAACD,CAAD,CAAJ,KAAY,IAAzD,IAAiEC,IAAI,CAACD,CAAD,CAAJ,KAAYG,SAD1B;AAAA,GAA1B;AAAA,CAApB;AAGP,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAA8BZ,KAA9B,EAA4CC,KAA5C;AAAA,SAC9BD,KAAK,CAACa,SAAN,GAAkBb,KAAK,CAACC,KAAD,CAAL,GAAgBD,KAAK,CAACa,SAAN,KAAoB,CAAtD,GAA0Db,KAAK,CAACC,KAAD,CADjC;AAAA,CAAzB;AAGP,OAAO,IAAMa,MAAM,GAAG,SAATA,MAAS,CAMpBC,IANoB,EAOpBC,GAPoB,EAQjB;AACH,MAAI,OAAOA,GAAP,KAAe,QAAnB,EAA6B;AAC3B,WAAOrC,MAAM,CAACoC,IAAD,EAAO,UAACE,CAAD;AAAA,aAAOA,CAAC,CAACD,GAAD,CAAR;AAAA,KAAP,CAAb;AACD;;AACD,SAAOrC,MAAM,CAACoC,IAAD,EAAOC,GAAP,CAAb;AACD,CAbM;AAeP,OAAO,IAAME,WAAW,GAAG,SAAdA,WAAc,CAIzBH,IAJyB,EAKzBI,OALyB,EAMzBC,IANyB;AAAA,SAQzBL,IAAI,CAACM,MAAL,CAAY,UAACC,GAAD,EAAML,CAAN,EAASM,CAAT,EAAYR,IAAZ,EAAqB;AAC/B,QAAII,OAAO,CAACF,CAAD,CAAX,EAAgB;AACdK,MAAAA,GAAG,CAACE,IAAJ,qBACGJ,IADH,EACU,IADV;AAGD,KAJD,MAIO;AACL,UAAMK,IAAI,GAAGV,IAAI,CAACQ,CAAC,GAAG,CAAL,CAAjB;AACA,UAAMG,IAAI,GAAGX,IAAI,CAACQ,CAAC,GAAG,CAAL,CAAjB;;AAEA,UAAIA,CAAC,KAAK,CAAV,EAAa;AACX,YAAMI,OAAO,GAAGZ,IAAI,CAACa,IAAL,CAAUT,OAAV,CAAhB;AACAG,QAAAA,GAAG,CAACE,IAAJ,iCACKP,CADL,2BAEGG,IAFH,EAEUO,OAAO,GAAGA,OAAO,CAACP,IAAD,CAAV,GAAmB,IAFpC;AAID,OAVI,CAYL;;;AACA,UAAIK,IAAI,IAAIN,OAAO,CAACM,IAAD,CAAnB,EAA2B;AACzBH,QAAAA,GAAG,CAACE,IAAJ,CAASC,IAAT;AACD,OAfI,CAiBL;;;AACA,UAAIC,IAAI,IAAIP,OAAO,CAACO,IAAD,CAAnB,EAA2B;AACzBJ,QAAAA,GAAG,CAACE,IAAJ,CAASE,IAAT;AACD;;AAED,UAAIX,IAAI,CAACc,MAAL,GAAc,CAAd,KAAoBN,CAAxB,EAA2B;AACzB,YAAMO,OAAO,GAAGf,IAAI,CAACX,KAAL,GAAaC,OAAb,GAAuBuB,IAAvB,CAA4BT,OAA5B,CAAhB;AACAG,QAAAA,GAAG,CAACE,IAAJ,iCACKP,CADL,2BAEGG,IAFH,EAEUU,OAAO,GAAGA,OAAO,CAACV,IAAD,CAAV,GAAmB,IAFpC;AAID;AACF;;AACD,WAAOE,GAAP;AACD,GApCD,EAoCG,EApCH,CARyB;AAAA,CAApB;AAoDP,OAAO,IAAMS,gBAAgB,GAAG,SAAnBA,gBAAmB,CAM9BhB,IAN8B,EAO9Bf,KAP8B,EAQ9BgB,GAR8B,EAS9Bf,KAT8B,EAU3B;AACH;AACA,MAAI,YAAYD,KAAZ,IAAqB,OAAOA,KAAK,CAACD,MAAb,KAAwB,UAAjD,EAA6D;AAC3D,QAAMiC,MAAM,GAAGpD,QAAQ,CAAC,UAACqC,CAAD;AAAA,aAAkCA,CAAC,CAACD,GAAD,CAAnC;AAAA,KAAD,CAAR,CAAmDiB,MAAlE;AACA,WAAOD,MAAM,CAACjB,IAAD,EAAOd,KAAP,CAAb;AACD,GAHD,CAIA;AAJA,OAKK,IAAI,UAAUD,KAAV,IAAmB,OAAOA,KAAK,CAACkC,IAAb,KAAsB,WAA7C,EAA0D;AAC7D,QAAMC,KAAK,GAAGpB,IAAI,CAACqB,SAAL,CAAe,UAACnB,CAAD;AAAA,aAAOA,CAAC,CAACD,GAAD,CAAD,KAAWf,KAAlB;AAAA,KAAf,CAAd;AACA,WAAOkC,KAAK,IAAI,CAAT,GAAaA,KAAb,GAAqB,IAA5B;AACD,GAHI,MAGE;AACL;AACAE,IAAAA,OAAO,CAACC,IAAR,CAAa,uEAAb;AACA,WAAO,IAAP;AACD;AACF,CAzBM;AA2BP,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CACzBhC,CADyB,EAEzBC,CAFyB,EAGzBgC,CAHyB,EAIzBC,CAJyB,EAKzBC,CALyB,EAUtB;AAAA,MAJHC,EAIG,uEAJE,KAIF;AAAA,MAHHC,EAGG,uEAHE,KAGF;AAAA,MAFHC,EAEG,uEAFE,KAEF;AAAA,MADHC,EACG,uEADE,KACF;AACH,MAAIC,MAAM,GAAG,OAAOxC,CAAC,GAAGmC,CAAX,IAAgB,GAAhB,GAAsBlC,CAAnC;AACAuC,EAAAA,MAAM,IAAI,OAAOP,CAAC,GAAG,IAAIE,CAAf,CAAV;;AACA,MAAIE,EAAJ,EAAQ;AACNG,IAAAA,MAAM,IAAI,MAAML,CAAN,GAAU,GAAV,GAAgBA,CAAhB,GAAoB,SAApB,GAAgCA,CAAhC,GAAoC,GAApC,GAA0CA,CAApD;AACD,GAFD,MAEO;AACLK,IAAAA,MAAM,IAAI,MAAML,CAAhB;AACAK,IAAAA,MAAM,IAAI,MAAML,CAAhB;AACD;;AACDK,EAAAA,MAAM,IAAI,OAAON,CAAC,GAAG,IAAIC,CAAf,CAAV;;AACA,MAAII,EAAJ,EAAQ;AACNC,IAAAA,MAAM,IAAI,MAAML,CAAN,GAAU,GAAV,GAAgBA,CAAhB,GAAoB,SAApB,GAAgC,CAACA,CAAjC,GAAqC,GAArC,GAA2CA,CAArD;AACD,GAFD,MAEO;AACLK,IAAAA,MAAM,IAAI,MAAML,CAAhB;AACAK,IAAAA,MAAM,IAAI,MAAM,CAACL,CAAjB;AACD;;AACDK,EAAAA,MAAM,IAAI,OAAO,IAAIL,CAAJ,GAAQF,CAAf,CAAV;;AACA,MAAIK,EAAJ,EAAQ;AACNE,IAAAA,MAAM,IAAI,MAAML,CAAN,GAAU,GAAV,GAAgBA,CAAhB,GAAoB,SAApB,GAAgC,CAACA,CAAjC,GAAqC,GAArC,GAA2C,CAACA,CAAtD;AACD,GAFD,MAEO;AACLK,IAAAA,MAAM,IAAI,MAAM,CAACL,CAAjB;AACAK,IAAAA,MAAM,IAAI,MAAM,CAACL,CAAjB;AACD;;AACDK,EAAAA,MAAM,IAAI,OAAO,IAAIL,CAAJ,GAAQD,CAAf,CAAV;;AACA,MAAIE,EAAJ,EAAQ;AACNI,IAAAA,MAAM,IAAI,MAAML,CAAN,GAAU,GAAV,GAAgBA,CAAhB,GAAoB,SAApB,GAAgCA,CAAhC,GAAoC,GAApC,GAA0C,CAACA,CAArD;AACD,GAFD,MAEO;AACLK,IAAAA,MAAM,IAAI,MAAM,CAACL,CAAjB;AACAK,IAAAA,MAAM,IAAI,MAAML,CAAhB;AACD;;AACDK,EAAAA,MAAM,IAAI,GAAV;AACA,SAAOA,MAAP;AACD,CA1CM;AA4CP,OAAO,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAA8BhD,KAA9B,EAA+C;AACzE,MAAI,eAAeA,KAAnB,EAA0B;AACxB,WAAOA,KAAK,CAACa,SAAN,EAAP;AACD;;AAED,MAAMX,KAAK,GAAGF,KAAK,CAACE,KAAN,EAAd;AACA,MAAMC,MAAM,GAAGH,KAAK,CAACG,MAAN,EAAf;AACA,SAAO8C,IAAI,CAACC,GAAL,CAAShD,KAAK,CAACA,KAAK,CAAC2B,MAAN,GAAe,CAAhB,CAAL,GAA0B3B,KAAK,CAAC,CAAD,CAAxC,IAA+CC,MAAM,CAAC0B,MAA7D;AACD,CARM;AAUP,OAAO,IAAMsB,OAAO,GAAG,SAAVA,OAAU,CAAuCC,IAAvC,EAA4D;AACjF,MAAMC,OAAoC,GAAG,EAA7C;AACA,SAAQ,YAAoB;AAAA,sCAAhBC,IAAgB;AAAhBA,MAAAA,IAAgB;AAAA;;AAC1B,QAAMC,OAAO,GAAGD,IAAI,CAACE,IAAL,CAAU,GAAV,CAAhB;;AACA,QAAI,CAACH,OAAO,CAACE,OAAD,CAAZ,EAAuB;AACrBF,MAAAA,OAAO,CAACE,OAAD,CAAP,GAAmBH,IAAI,MAAJ,SAAQE,IAAR,CAAnB;AACD;;AACD,WAAOD,OAAO,CAACE,OAAD,CAAd;AACD,GAND;AAOD,CATM;AAWP,OAAO,IAAME,WAAW,GAAGN,OAAO,CAAC,UAACO,IAAD,EAAeC,QAAf,EAAqC;AACtE,MAAI,CAACD,IAAL,EAAW,OAAO,CAAP;AAEX,MAAME,IAAI,GAAGC,QAAQ,CAACC,aAAT,CAAuB,MAAvB,CAAb;;AACA,MAAIH,QAAJ,EAAc;AACZC,IAAAA,IAAI,CAACG,KAAL,CAAWJ,QAAX,aAAyBA,QAAzB;AACD;;AANqE,6CAOnDD,IAAI,CAACM,KAAL,CAAW,IAAX,CAPmD;AAAA;;AAAA;AAOtE,wDAAqC;AAAA,UAA1BC,IAA0B;AACnCL,MAAAA,IAAI,CAACM,MAAL,CAAYL,QAAQ,CAACM,cAAT,CAAwBF,IAAxB,CAAZ;AACAL,MAAAA,IAAI,CAACM,MAAL,CAAYL,QAAQ,CAACC,aAAT,CAAuB,IAAvB,CAAZ;AACD;AAVqE;AAAA;AAAA;AAAA;AAAA;;AAWtEF,EAAAA,IAAI,CAACG,KAAL,CAAWK,OAAX,GAAqB,cAArB;AACAP,EAAAA,QAAQ,CAACQ,IAAT,CAAcH,MAAd,CAAqBN,IAArB;AACA,MAAMU,SAAS,GAAGV,IAAI,CAACW,WAAvB;AACAX,EAAAA,IAAI,CAACY,MAAL;AACA,SAAOF,SAAP;AACD,CAhBiC,CAA3B","sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if (scale.invert) return scale.invert(value);\n\n const range = scale.range() as number[];\n const domain = scale.domain();\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends Iterable<{ [key in Key]: Numeric | null | undefined }> = Iterable<{\n [key in Key]: Numeric | null | undefined;\n }>,\n>(\n data: Data,\n key: Key,\n) => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]);\n }\n return extent(data, key);\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Data extends {\n [key: string]: number;\n } = {},\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: string,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n // eslint-disable-next-line no-console\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = 'M' + (x + r) + ',' + y;\n result += 'h' + (w - 2 * r);\n if (tr) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;\n } else {\n result += 'h' + r;\n result += 'v' + r;\n }\n result += 'v' + (h - 2 * r);\n if (br) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;\n } else {\n result += 'v' + r;\n result += 'h' + -r;\n }\n result += 'h' + (2 * r - w);\n if (bl) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;\n } else {\n result += 'h' + -r;\n result += 'v' + -r;\n }\n result += 'v' + (2 * r - h);\n if (tl) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;\n } else {\n result += 'v' + -r;\n result += 'h' + r;\n }\n result += 'z';\n return result;\n};\n\nexport const getBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale) => {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n\n const range = scale.range();\n const domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n span.remove();\n return textWidth;\n});\n"],"file":"utils.js"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["extent","bisector","scaleQuantize","CONSTANT","VIRTUAL_ELEMENT","Symbol","eventToPoint","event","svgRoot","node","currentTarget","target","rect","getBoundingClientRect","clientX","left","clientLeft","clientY","top","clientTop","invert","scale","value","range","domain","slice","reverse","definedNullData","x","y","plot","definedData","undefined","scaleOfBandwidth","bandwidth","minMax","data","key","d","getNullData","defined","name","reduce","acc","i","push","prev","next","defNext","find","length","defPrev","getIndexFromData","bisect","center","step","index","findIndex","console","warn","roundedPath","w","h","r","tl","tr","bl","br","result","getBandwidth","Math","abs","memoize","func","results","args","argsKey","join","measureText","text","fontSize","span","document","createElement","style","split","line","append","createTextNode","display","body","textWidth","offsetWidth","remove"],"sources":["../../src/utils.ts"],"sourcesContent":["import { extent, bisector, Numeric } from 'd3-array';\nimport {\n scaleQuantize,\n ScaleIdentity,\n ScaleTime,\n ScaleContinuousNumeric,\n ScaleBand,\n ScalePoint,\n NumberValue,\n} from 'd3-scale';\nimport React from 'react';\n\nconst CONSTANT = {\n VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),\n} as const;\n\nexport { CONSTANT };\n\nexport const eventToPoint = (event: React.MouseEvent<HTMLElement>, svgRoot: SVGElement) => {\n const node = (event.currentTarget || event.target) as HTMLElement;\n const rect = svgRoot.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n};\n\ntype InvertableScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>;\nexport const invert = <Scale extends InvertableScale = InvertableScale>(\n scale: Scale,\n value: number,\n) => {\n if (scale.invert) return scale.invert(value);\n\n const range = scale.range() as number[];\n const domain = scale.domain();\n\n return scaleQuantize()\n .domain((range[0] <= range[1] ? range : range.slice().reverse()) as NumberValue[])\n .range((range[0] <= range[1] ? domain : domain.slice().reverse()) as number[])(value);\n};\n\nexport const definedNullData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[y] !== null;\n\nexport const definedData = (x: number, y: number) => (plot: { [xOrY: number]: unknown }) =>\n plot[x] !== null && plot[x] !== undefined && plot[y] !== null && plot[y] !== undefined;\n\nexport const scaleOfBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale, value: number) =>\n scale.bandwidth ? scale(value)! + scale.bandwidth() / 2 : scale(value);\n\nexport const minMax = <\n Key extends string = string,\n Data extends Iterable<{ [key in Key]: Numeric | null | undefined }> = Iterable<{\n [key in Key]: Numeric | null | undefined;\n }>,\n>(\n data: Data,\n key: Key,\n) => {\n if (typeof key === 'string') {\n return extent(data, (d) => d[key]);\n }\n return extent(data, key);\n};\n\nexport const getNullData = <\n Name extends string = string,\n Data extends { [name in Name]?: unknown | null } = {},\n>(\n data: Data[],\n defined: (data: Data) => boolean,\n name: Name,\n) =>\n data.reduce((acc, d, i, data) => {\n if (defined(d)) {\n acc.push({\n [name]: null,\n } as Data);\n } else {\n const prev = data[i - 1];\n const next = data[i + 1];\n\n if (i === 0) {\n const defNext = data.find(defined);\n acc.push({\n ...d,\n [name]: defNext ? defNext[name] : null,\n });\n }\n\n // prev\n if (prev && defined(prev)) {\n acc.push(prev);\n }\n\n // next\n if (next && defined(next)) {\n acc.push(next);\n }\n\n if (data.length - 1 === i) {\n const defPrev = data.slice().reverse().find(defined);\n acc.push({\n ...d,\n [name]: defPrev ? defPrev[name] : null,\n });\n }\n }\n return acc;\n }, [] as Data[]);\n\ntype IndexFromDataScale =\n | ScaleIdentity\n | ScaleTime<unknown, unknown>\n | ScaleContinuousNumeric<unknown, unknown>\n | ScaleBand<{}>\n | ScalePoint<{}>;\nexport const getIndexFromData = <\n Data extends {\n [key: string]: number;\n } = {},\n Scale extends IndexFromDataScale = IndexFromDataScale,\n>(\n data: Data[],\n scale: Scale,\n key: string,\n value: number,\n) => {\n // detect line chart\n if ('invert' in scale && typeof scale.invert === 'function') {\n const bisect = bisector((d: { [key: string]: number }) => d[key]).center;\n return bisect(data, value);\n }\n // detect bar chart\n else if ('step' in scale && typeof scale.step !== 'undefined') {\n const index = data.findIndex((d) => d[key] === value);\n return index >= 0 ? index : null;\n } else {\n // eslint-disable-next-line no-console\n console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');\n return null;\n }\n};\n\nexport const roundedPath = (\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n tl = false,\n tr = false,\n bl = false,\n br = false,\n) => {\n let result = 'M' + (x + r) + ',' + y;\n result += 'h' + (w - 2 * r);\n if (tr) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;\n } else {\n result += 'h' + r;\n result += 'v' + r;\n }\n result += 'v' + (h - 2 * r);\n if (br) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;\n } else {\n result += 'v' + r;\n result += 'h' + -r;\n }\n result += 'h' + (2 * r - w);\n if (bl) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;\n } else {\n result += 'h' + -r;\n result += 'v' + -r;\n }\n result += 'v' + (2 * r - h);\n if (tl) {\n result += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;\n } else {\n result += 'v' + -r;\n result += 'h' + r;\n }\n result += 'z';\n return result;\n};\n\nexport const getBandwidth = <Scale extends ScaleBand<{}>>(scale: Scale) => {\n if ('bandwidth' in scale) {\n return scale.bandwidth();\n }\n\n const range = scale.range();\n const domain = scale.domain();\n return Math.abs(range[range.length - 1] - range[0]) / domain.length;\n};\n\nexport const memoize = <Func extends (...args: any[]) => any>(func: Func): Func => {\n const results: { [cacheKey: string]: any } = {};\n return ((...args: any[]) => {\n const argsKey = args.join(',');\n if (!results[argsKey]) {\n results[argsKey] = func(...args);\n }\n return results[argsKey];\n }) as Func;\n};\n\nexport const measureText = memoize((text: string, fontSize?: number) => {\n if (!text) return 0;\n\n const span = document.createElement('span');\n if (fontSize) {\n span.style.fontSize = `${fontSize}px`;\n }\n for (const line of text.split('\\n')) {\n span.append(document.createTextNode(line));\n span.append(document.createElement('br'));\n }\n span.style.display = 'inline-block';\n document.body.append(span);\n const textWidth = span.offsetWidth;\n span.remove();\n return textWidth;\n});\n"],"mappings":"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"}
|
package/lib/types/index.d.ts
CHANGED
package/package.json
CHANGED
package/src/Area.jsx
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { area, curveLinear, line } from 'd3-shape';
|
|
3
|
-
import Dots from './Dots';
|
|
4
|
-
import { Component, sstyled } from '@semcore/core';
|
|
5
|
-
import createElement from './createElement';
|
|
6
|
-
import { definedData, scaleOfBandwidth, getNullData, definedNullData } from './utils';
|
|
7
|
-
import ClipPath from './ClipPath';
|
|
8
|
-
import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
|
|
9
|
-
import findComponent from '@semcore/utils/lib/findComponent';
|
|
10
|
-
|
|
11
|
-
import style from './style/area.shadow.css';
|
|
12
|
-
|
|
13
|
-
class AreaRoot extends Component {
|
|
14
|
-
static displayName = 'Area';
|
|
15
|
-
static style = style;
|
|
16
|
-
static enhance = [uniqueIDEnhancement()];
|
|
17
|
-
|
|
18
|
-
static defaultProps = ({ x, y, y0, $rootProps, curve = curveLinear, scale }) => {
|
|
19
|
-
const [xScale, yScale] = scale || $rootProps.scale;
|
|
20
|
-
const yRange = yScale.range();
|
|
21
|
-
|
|
22
|
-
return {
|
|
23
|
-
d3: area()
|
|
24
|
-
.defined(definedData(x, y))
|
|
25
|
-
.curve(curve)
|
|
26
|
-
.x((p) => scaleOfBandwidth(xScale, p[x]))
|
|
27
|
-
.y0((p) => (p[y0] ? scaleOfBandwidth(yScale, p[y0]) : yRange[0]))
|
|
28
|
-
.y1((p) => scaleOfBandwidth(yScale, p[y])),
|
|
29
|
-
d3Line: line()
|
|
30
|
-
.defined(definedData(x, y))
|
|
31
|
-
.curve(curve)
|
|
32
|
-
.x((p) => scaleOfBandwidth(xScale, p[x]))
|
|
33
|
-
.y((p) => scaleOfBandwidth(yScale, p[y])),
|
|
34
|
-
duration: 500,
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
getDotsProps() {
|
|
39
|
-
const { x, y, color, data, d3Line } = this.asProps;
|
|
40
|
-
|
|
41
|
-
return {
|
|
42
|
-
x,
|
|
43
|
-
y,
|
|
44
|
-
data,
|
|
45
|
-
d3: d3Line,
|
|
46
|
-
color,
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
getNullProps() {
|
|
51
|
-
const { x, y, color, data, d3Line } = this.asProps;
|
|
52
|
-
return {
|
|
53
|
-
data: getNullData(data, definedNullData(x, y), y),
|
|
54
|
-
d3: d3Line,
|
|
55
|
-
color,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
getLineProps() {
|
|
60
|
-
const { duration, color, data, d3Line, uid } = this.asProps;
|
|
61
|
-
|
|
62
|
-
return {
|
|
63
|
-
uid,
|
|
64
|
-
data,
|
|
65
|
-
d3: d3Line,
|
|
66
|
-
color,
|
|
67
|
-
duration,
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
render() {
|
|
72
|
-
const SArea = this.Element;
|
|
73
|
-
const SAreaLine = 'path';
|
|
74
|
-
const { styles, hide, d3, d3Line, data, color, uid, size, duration, Children } = this.asProps;
|
|
75
|
-
const advanceMode = !!findComponent(Children, [Area.Line.displayName]);
|
|
76
|
-
|
|
77
|
-
return sstyled(styles)(
|
|
78
|
-
<>
|
|
79
|
-
{!advanceMode && (
|
|
80
|
-
<SAreaLine
|
|
81
|
-
clipPath={`url(#${uid})`}
|
|
82
|
-
d={d3Line(data)}
|
|
83
|
-
color={color}
|
|
84
|
-
use:duration={`${duration}ms`}
|
|
85
|
-
/>
|
|
86
|
-
)}
|
|
87
|
-
<SArea
|
|
88
|
-
clipPath={`url(#${uid})`}
|
|
89
|
-
render="path"
|
|
90
|
-
d={d3(data)}
|
|
91
|
-
hide={hide}
|
|
92
|
-
color={color}
|
|
93
|
-
use:duration={`${duration}ms`}
|
|
94
|
-
/>
|
|
95
|
-
{duration && (
|
|
96
|
-
<ClipPath
|
|
97
|
-
setAttributeTag={(rect) => {
|
|
98
|
-
rect.setAttribute('width', size[0]);
|
|
99
|
-
}}
|
|
100
|
-
id={uid}
|
|
101
|
-
x="0"
|
|
102
|
-
y="0"
|
|
103
|
-
width={0}
|
|
104
|
-
height={size[1]}
|
|
105
|
-
transition={`width ${duration}ms ease-in-out`}
|
|
106
|
-
/>
|
|
107
|
-
)}
|
|
108
|
-
</>,
|
|
109
|
-
);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
function Line(props) {
|
|
114
|
-
const { Element: SAreaLine, styles, d3, data, color, duration, uid } = props;
|
|
115
|
-
return sstyled(styles)(
|
|
116
|
-
<SAreaLine
|
|
117
|
-
render="path"
|
|
118
|
-
clipPath={`url(#${uid})`}
|
|
119
|
-
d={d3(data)}
|
|
120
|
-
color={color}
|
|
121
|
-
use:duration={`${duration}ms`}
|
|
122
|
-
/>,
|
|
123
|
-
);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
function Null(props) {
|
|
127
|
-
const { Element: SNull, styles, d3, data, hide, color } = props;
|
|
128
|
-
return sstyled(styles)(<SNull render="path" d={d3(data)} hide={hide} color={color} />);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
const Area = createElement(AreaRoot, {
|
|
132
|
-
Dots,
|
|
133
|
-
Null,
|
|
134
|
-
Line,
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
export default Area;
|
package/src/Axis.jsx
DELETED
|
@@ -1,314 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Component, sstyled } from '@semcore/core';
|
|
3
|
-
import createElement from './createElement';
|
|
4
|
-
import { scaleOfBandwidth } from './utils';
|
|
5
|
-
|
|
6
|
-
import style from './style/axis.shadow.css';
|
|
7
|
-
|
|
8
|
-
const CUSTOM_0 = Symbol('custom_0');
|
|
9
|
-
const CUSTOM_1 = Symbol('custom_1');
|
|
10
|
-
|
|
11
|
-
const MAP_INDEX_SCALE_SYMBOL = {
|
|
12
|
-
0: CUSTOM_0,
|
|
13
|
-
1: CUSTOM_1,
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
const MAP_POSITION_REVERT = {
|
|
17
|
-
top: 'bottom',
|
|
18
|
-
right: 'left',
|
|
19
|
-
bottom: 'top',
|
|
20
|
-
left: 'right',
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const MAP_POSITION_AXIS = {
|
|
24
|
-
top: ([xScale, yScale]) => {
|
|
25
|
-
const xRange = xScale.range();
|
|
26
|
-
const yRange = yScale.range();
|
|
27
|
-
return {
|
|
28
|
-
x1: xRange[0],
|
|
29
|
-
y1: yRange[1],
|
|
30
|
-
x2: xRange[1],
|
|
31
|
-
y2: yRange[1],
|
|
32
|
-
};
|
|
33
|
-
},
|
|
34
|
-
bottom: ([xScale, yScale]) => {
|
|
35
|
-
const xRange = xScale.range();
|
|
36
|
-
const yRange = yScale.range();
|
|
37
|
-
return {
|
|
38
|
-
x1: xRange[0],
|
|
39
|
-
y1: yRange[0],
|
|
40
|
-
x2: xRange[1],
|
|
41
|
-
y2: yRange[0],
|
|
42
|
-
};
|
|
43
|
-
},
|
|
44
|
-
right: ([xScale, yScale]) => {
|
|
45
|
-
const xRange = xScale.range();
|
|
46
|
-
const yRange = yScale.range();
|
|
47
|
-
return {
|
|
48
|
-
x1: xRange[1],
|
|
49
|
-
y1: yRange[0],
|
|
50
|
-
x2: xRange[1],
|
|
51
|
-
y2: yRange[1],
|
|
52
|
-
};
|
|
53
|
-
},
|
|
54
|
-
left: ([xScale, yScale]) => {
|
|
55
|
-
const xRange = xScale.range();
|
|
56
|
-
const yRange = yScale.range();
|
|
57
|
-
return {
|
|
58
|
-
x1: xRange[0],
|
|
59
|
-
y1: yRange[0],
|
|
60
|
-
x2: xRange[0],
|
|
61
|
-
y2: yRange[1],
|
|
62
|
-
};
|
|
63
|
-
},
|
|
64
|
-
[CUSTOM_0]: ([xScale, yScale], pos) => {
|
|
65
|
-
const xRange = xScale.range();
|
|
66
|
-
return {
|
|
67
|
-
x1: xRange[0],
|
|
68
|
-
y1: scaleOfBandwidth(yScale, pos),
|
|
69
|
-
x2: xRange[1],
|
|
70
|
-
y2: scaleOfBandwidth(yScale, pos),
|
|
71
|
-
};
|
|
72
|
-
},
|
|
73
|
-
[CUSTOM_1]: ([xScale, yScale], pos) => {
|
|
74
|
-
const yRange = yScale.range();
|
|
75
|
-
return {
|
|
76
|
-
x1: scaleOfBandwidth(xScale, pos),
|
|
77
|
-
y1: yRange[0],
|
|
78
|
-
x2: scaleOfBandwidth(xScale, pos),
|
|
79
|
-
y2: yRange[1],
|
|
80
|
-
};
|
|
81
|
-
},
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
const MAP_POSITION_TICK = {
|
|
85
|
-
top: ([xScale, yScale], value) => {
|
|
86
|
-
const yRange = yScale.range();
|
|
87
|
-
return {
|
|
88
|
-
x: scaleOfBandwidth(xScale, value),
|
|
89
|
-
y: yRange[1],
|
|
90
|
-
};
|
|
91
|
-
},
|
|
92
|
-
bottom: ([xScale, yScale], value) => {
|
|
93
|
-
const yRange = yScale.range();
|
|
94
|
-
return {
|
|
95
|
-
x: scaleOfBandwidth(xScale, value),
|
|
96
|
-
y: yRange[0],
|
|
97
|
-
};
|
|
98
|
-
},
|
|
99
|
-
right: ([xScale, yScale], value) => {
|
|
100
|
-
const xRange = xScale.range();
|
|
101
|
-
return {
|
|
102
|
-
x: xRange[1],
|
|
103
|
-
y: scaleOfBandwidth(yScale, value),
|
|
104
|
-
};
|
|
105
|
-
},
|
|
106
|
-
left: ([xScale, yScale], value) => {
|
|
107
|
-
const xRange = xScale.range();
|
|
108
|
-
return {
|
|
109
|
-
x: xRange[0],
|
|
110
|
-
y: scaleOfBandwidth(yScale, value),
|
|
111
|
-
};
|
|
112
|
-
},
|
|
113
|
-
[CUSTOM_0]: ([xScale, yScale], value, pos) => {
|
|
114
|
-
return {
|
|
115
|
-
x: scaleOfBandwidth(xScale, value),
|
|
116
|
-
y: scaleOfBandwidth(yScale, pos),
|
|
117
|
-
};
|
|
118
|
-
},
|
|
119
|
-
[CUSTOM_1]: ([xScale, yScale], value, pos) => {
|
|
120
|
-
return {
|
|
121
|
-
x: scaleOfBandwidth(xScale, pos),
|
|
122
|
-
y: scaleOfBandwidth(yScale, value),
|
|
123
|
-
};
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
const MAP_POSITION_GRID = {
|
|
128
|
-
0: ([xScale, yScale], value) => {
|
|
129
|
-
const yRange = yScale.range();
|
|
130
|
-
const x = scaleOfBandwidth(xScale, value);
|
|
131
|
-
return {
|
|
132
|
-
x1: x,
|
|
133
|
-
y1: yRange[0],
|
|
134
|
-
x2: x,
|
|
135
|
-
y2: yRange[1],
|
|
136
|
-
};
|
|
137
|
-
},
|
|
138
|
-
1: ([xScale, yScale], value) => {
|
|
139
|
-
const xRange = xScale.range();
|
|
140
|
-
const y = scaleOfBandwidth(yScale, value);
|
|
141
|
-
return {
|
|
142
|
-
x1: xRange[0],
|
|
143
|
-
y1: y,
|
|
144
|
-
x2: xRange[1],
|
|
145
|
-
y2: y,
|
|
146
|
-
};
|
|
147
|
-
},
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
const OFFSET_TITLE = 10;
|
|
151
|
-
const MAP_POSITION_TITlE = {
|
|
152
|
-
top: ([xScale]) => {
|
|
153
|
-
const xRange = xScale.range();
|
|
154
|
-
return {
|
|
155
|
-
x: (xRange[1] + xRange[0]) / 2,
|
|
156
|
-
y: OFFSET_TITLE,
|
|
157
|
-
};
|
|
158
|
-
},
|
|
159
|
-
bottom: ([xScale], [, height]) => {
|
|
160
|
-
const xRange = xScale.range();
|
|
161
|
-
return {
|
|
162
|
-
x: (xRange[1] + xRange[0]) / 2,
|
|
163
|
-
y: height - OFFSET_TITLE,
|
|
164
|
-
};
|
|
165
|
-
},
|
|
166
|
-
right: ([, yScale], [width]) => {
|
|
167
|
-
const yRange = yScale.range();
|
|
168
|
-
return {
|
|
169
|
-
x: width - OFFSET_TITLE,
|
|
170
|
-
y: (yRange[0] + yRange[1]) / 2,
|
|
171
|
-
};
|
|
172
|
-
},
|
|
173
|
-
left: ([, yScale]) => {
|
|
174
|
-
const yRange = yScale.range();
|
|
175
|
-
return {
|
|
176
|
-
x: OFFSET_TITLE,
|
|
177
|
-
y: (yRange[0] + yRange[1]) / 2,
|
|
178
|
-
};
|
|
179
|
-
},
|
|
180
|
-
};
|
|
181
|
-
|
|
182
|
-
function renderValue(value) {
|
|
183
|
-
if (value instanceof Date) {
|
|
184
|
-
return value.toLocaleDateString();
|
|
185
|
-
}
|
|
186
|
-
return value;
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
class AxisRoot extends Component {
|
|
190
|
-
static displayName = 'Axis';
|
|
191
|
-
|
|
192
|
-
static style = style;
|
|
193
|
-
|
|
194
|
-
get ticks() {
|
|
195
|
-
const { ticks, indexScale, scale } = this.asProps;
|
|
196
|
-
const scl = scale[indexScale];
|
|
197
|
-
return ticks || (scl.ticks && scl.ticks()) || (scl.domain && scl.domain()) || [];
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
getTitleProps() {
|
|
201
|
-
const { position } = this.asProps;
|
|
202
|
-
return {
|
|
203
|
-
position: MAP_POSITION_REVERT[position],
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
getTicksProps() {
|
|
208
|
-
const { position, indexScale } = this.asProps;
|
|
209
|
-
return {
|
|
210
|
-
ticks: this.ticks,
|
|
211
|
-
indexScale,
|
|
212
|
-
position,
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
getGridProps() {
|
|
217
|
-
const { indexScale } = this.asProps;
|
|
218
|
-
return {
|
|
219
|
-
ticks: this.ticks,
|
|
220
|
-
indexScale,
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
render() {
|
|
225
|
-
const SAxis = this.Element;
|
|
226
|
-
const { styles, position, scale, hide, indexScale } = this.asProps;
|
|
227
|
-
|
|
228
|
-
const pos =
|
|
229
|
-
MAP_POSITION_AXIS[position] ?? MAP_POSITION_AXIS[MAP_INDEX_SCALE_SYMBOL[indexScale]];
|
|
230
|
-
|
|
231
|
-
return sstyled(styles)(<SAxis render="line" hide={hide} {...pos(scale, position)} />);
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
function Ticks(props) {
|
|
236
|
-
const { Element: STick, styles, scale, ticks, position, hide, indexScale } = props;
|
|
237
|
-
|
|
238
|
-
const pos = MAP_POSITION_TICK[position] ?? MAP_POSITION_TICK[MAP_INDEX_SCALE_SYMBOL[indexScale]];
|
|
239
|
-
const positionClass = MAP_POSITION_TICK[position] ? position : 'custom_' + indexScale;
|
|
240
|
-
|
|
241
|
-
return ticks.map((value, i) => {
|
|
242
|
-
return sstyled(styles)(
|
|
243
|
-
<STick
|
|
244
|
-
key={i}
|
|
245
|
-
render="text"
|
|
246
|
-
childrenPosition="inside"
|
|
247
|
-
__excludeProps={['data', 'scale', 'format', 'value']}
|
|
248
|
-
value={value}
|
|
249
|
-
index={i}
|
|
250
|
-
position={positionClass}
|
|
251
|
-
hide={hide}
|
|
252
|
-
{...pos(scale, value, position)}
|
|
253
|
-
>
|
|
254
|
-
{renderValue(value)}
|
|
255
|
-
</STick>,
|
|
256
|
-
);
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
|
|
260
|
-
function Grid(props) {
|
|
261
|
-
const { Element: SGrid, styles, scale, ticks, indexScale } = props;
|
|
262
|
-
|
|
263
|
-
return ticks.map((value, i) => {
|
|
264
|
-
return sstyled(styles)(
|
|
265
|
-
<SGrid key={i} render="line" {...MAP_POSITION_GRID[indexScale](scale, value)} />,
|
|
266
|
-
);
|
|
267
|
-
});
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
function Title(props) {
|
|
271
|
-
const { Element: STitle, styles, scale, position, size } = props;
|
|
272
|
-
|
|
273
|
-
const { x, y } = MAP_POSITION_TITlE[position](scale, size);
|
|
274
|
-
|
|
275
|
-
const sstyles = sstyled(styles);
|
|
276
|
-
const sTitleStyles = sstyles.cn('STitle', {
|
|
277
|
-
'transform-origin': `${x.toFixed(2)}px ${y.toFixed(2)}px`,
|
|
278
|
-
});
|
|
279
|
-
|
|
280
|
-
return sstyled(styles)(
|
|
281
|
-
<STitle
|
|
282
|
-
render="text"
|
|
283
|
-
childrenPosition="inside"
|
|
284
|
-
position={position}
|
|
285
|
-
className={sTitleStyles.className}
|
|
286
|
-
style={sTitleStyles.style}
|
|
287
|
-
x={x}
|
|
288
|
-
y={y}
|
|
289
|
-
/>,
|
|
290
|
-
);
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
const XAxis = createElement(AxisRoot, {
|
|
294
|
-
Ticks,
|
|
295
|
-
Grid,
|
|
296
|
-
Title,
|
|
297
|
-
});
|
|
298
|
-
XAxis.defaultProps = {
|
|
299
|
-
indexScale: 0,
|
|
300
|
-
position: 'bottom',
|
|
301
|
-
};
|
|
302
|
-
|
|
303
|
-
const YAxis = createElement(AxisRoot, {
|
|
304
|
-
Ticks,
|
|
305
|
-
Grid,
|
|
306
|
-
Title,
|
|
307
|
-
});
|
|
308
|
-
YAxis.defaultProps = {
|
|
309
|
-
indexScale: 1,
|
|
310
|
-
position: 'left',
|
|
311
|
-
hide: true,
|
|
312
|
-
};
|
|
313
|
-
|
|
314
|
-
export { XAxis, YAxis };
|