@semcore/d3-chart 2.17.2 → 2.17.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 +9 -3
- package/lib/cjs/Area.js +14 -14
- package/lib/cjs/Area.js.map +1 -1
- package/lib/cjs/Axis.js +23 -22
- package/lib/cjs/Axis.js.map +1 -1
- package/lib/cjs/Bar.js +12 -12
- package/lib/cjs/Bar.js.map +1 -1
- package/lib/cjs/Bubble.js +13 -13
- package/lib/cjs/Bubble.js.map +1 -1
- package/lib/cjs/ClipPath.js +2 -2
- package/lib/cjs/ClipPath.js.map +1 -1
- package/lib/cjs/Donut.js +45 -43
- package/lib/cjs/Donut.js.map +1 -1
- package/lib/cjs/Dots.js +11 -11
- package/lib/cjs/Dots.js.map +1 -1
- package/lib/cjs/GroupBar.js.map +1 -1
- package/lib/cjs/HorizontalBar.js +12 -12
- package/lib/cjs/HorizontalBar.js.map +1 -1
- package/lib/cjs/Hover.js +7 -7
- package/lib/cjs/Hover.js.map +1 -1
- package/lib/cjs/Line.js +12 -12
- package/lib/cjs/Line.js.map +1 -1
- package/lib/cjs/Plot.js +8 -8
- package/lib/cjs/Plot.js.map +1 -1
- package/lib/cjs/Radar.js +46 -45
- package/lib/cjs/Radar.js.map +1 -1
- package/lib/cjs/RadialTree.js +30 -29
- package/lib/cjs/RadialTree.js.map +1 -1
- package/lib/cjs/ReferenceLine.js +14 -14
- package/lib/cjs/ReferenceLine.js.map +1 -1
- package/lib/cjs/ScatterPlot.js +9 -9
- package/lib/cjs/ScatterPlot.js.map +1 -1
- package/lib/cjs/StackBar.js.map +1 -1
- package/lib/cjs/StackedArea.js.map +1 -1
- package/lib/cjs/Tooltip.js +10 -10
- package/lib/cjs/Tooltip.js.map +1 -1
- package/lib/cjs/Venn.js +8 -8
- package/lib/cjs/Venn.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yModule.js +4 -5
- package/lib/cjs/a11y/PlotA11yModule.js.map +1 -1
- package/lib/cjs/a11y/PlotA11yView.js +6 -6
- package/lib/cjs/a11y/PlotA11yView.js.map +1 -1
- package/lib/cjs/a11y/focus.js +0 -3
- package/lib/cjs/a11y/focus.js.map +1 -1
- package/lib/cjs/a11y/hints.js.map +1 -1
- package/lib/cjs/a11y/insights.js +1 -1
- package/lib/cjs/a11y/insights.js.map +1 -1
- package/lib/cjs/a11y/intl.js +2 -4
- package/lib/cjs/a11y/intl.js.map +1 -1
- package/lib/cjs/a11y/locale.js +0 -1
- package/lib/cjs/a11y/locale.js.map +1 -1
- package/lib/cjs/createElement.js +1 -2
- package/lib/cjs/createElement.js.map +1 -1
- package/lib/cjs/types/index.d.js.map +1 -1
- package/lib/cjs/utils.js +17 -18
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Area.js +14 -14
- package/lib/es6/Area.js.map +1 -1
- package/lib/es6/Axis.js +23 -22
- package/lib/es6/Axis.js.map +1 -1
- package/lib/es6/Bar.js +12 -12
- package/lib/es6/Bar.js.map +1 -1
- package/lib/es6/Bubble.js +13 -13
- package/lib/es6/Bubble.js.map +1 -1
- package/lib/es6/ClipPath.js +2 -2
- package/lib/es6/ClipPath.js.map +1 -1
- package/lib/es6/Donut.js +46 -44
- package/lib/es6/Donut.js.map +1 -1
- package/lib/es6/Dots.js +11 -11
- package/lib/es6/Dots.js.map +1 -1
- package/lib/es6/GroupBar.js.map +1 -1
- package/lib/es6/HorizontalBar.js +12 -12
- package/lib/es6/HorizontalBar.js.map +1 -1
- package/lib/es6/Hover.js +7 -7
- package/lib/es6/Hover.js.map +1 -1
- package/lib/es6/Line.js +12 -12
- package/lib/es6/Line.js.map +1 -1
- package/lib/es6/Plot.js +8 -8
- package/lib/es6/Plot.js.map +1 -1
- package/lib/es6/Radar.js +46 -45
- package/lib/es6/Radar.js.map +1 -1
- package/lib/es6/RadialTree.js +30 -29
- package/lib/es6/RadialTree.js.map +1 -1
- package/lib/es6/ReferenceLine.js +14 -14
- package/lib/es6/ReferenceLine.js.map +1 -1
- package/lib/es6/ScatterPlot.js +9 -9
- package/lib/es6/ScatterPlot.js.map +1 -1
- package/lib/es6/StackBar.js.map +1 -1
- package/lib/es6/StackedArea.js.map +1 -1
- package/lib/es6/Tooltip.js +10 -10
- package/lib/es6/Tooltip.js.map +1 -1
- package/lib/es6/Venn.js +8 -8
- package/lib/es6/Venn.js.map +1 -1
- package/lib/es6/a11y/PlotA11yModule.js +4 -5
- package/lib/es6/a11y/PlotA11yModule.js.map +1 -1
- package/lib/es6/a11y/PlotA11yView.js +6 -6
- package/lib/es6/a11y/PlotA11yView.js.map +1 -1
- package/lib/es6/a11y/focus.js +0 -3
- package/lib/es6/a11y/focus.js.map +1 -1
- package/lib/es6/a11y/hints.js.map +1 -1
- package/lib/es6/a11y/insights.js +1 -1
- package/lib/es6/a11y/insights.js.map +1 -1
- package/lib/es6/a11y/intl.js +2 -4
- package/lib/es6/a11y/intl.js.map +1 -1
- package/lib/es6/a11y/locale.js +0 -1
- package/lib/es6/a11y/locale.js.map +1 -1
- package/lib/es6/createElement.js +1 -2
- package/lib/es6/createElement.js.map +1 -1
- package/lib/es6/types/index.d.js +1 -2
- package/lib/es6/types/index.d.js.map +1 -1
- package/lib/es6/utils.js +17 -18
- package/lib/es6/utils.js.map +1 -1
- package/lib/types/index.d.ts +2 -2
- package/package.json +1 -1
package/lib/cjs/Bubble.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Bubble.js","names":["_core","require","_react","_interopRequireDefault","_d3Scale","_d3Transition","_canUseDOM","_uniqueID","_createElement","_ClipPath","_utils","style","sstyled","insert","BubbleRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","scaleSqrt","domain","Math","max","_toConsumableArray2","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray2","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","cn","bindHandlerTooltip","_objectSpread2","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Component","uniqueIDEnhancement","Bubble","_default","exports"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip =\n (visible, props) =>\n ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render=\"circle\"\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy=\".3em\"\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":";;;;;;;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,SAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,MAAA,GAAAT,OAAA;AAAgD;AAAA,IAAAU,KAAA,+BAAAX,KAAA,CAAAY,OAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAAA,IAI1CC,UAAU,0BAAAC,UAAA;EAAA,IAAAC,UAAA,aAAAF,UAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,OAAAC,aAAA,aAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAA,IAAAM,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,qBAWG,IAAAa,qBAAS,GAAE,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAA,IAAAJ,gBAAA,iBAAAC,uBAAA,aAAAZ,KAAA,yBAO/D,UAACgB,OAAO,EAAEC,KAAK;MAAA,OACf,UAAAC,KAAA,EAAgC;QAAA,IAApBC,CAAC,GAAAD,KAAA,CAAVE,OAAO;UAAcC,CAAC,GAAAH,KAAA,CAAVI,OAAO;QACpB,IAAQC,YAAY,GAAKvB,KAAA,CAAKwB,OAAO,CAA7BD,YAAY;QACpBvB,KAAA,CAAKyB,cAAc,CAACC,qBAAqB,GAAG1B,KAAA,CAAK2B,6BAA6B,CAACR,CAAC,EAAEE,CAAC,CAAC;QACpFrB,KAAA,CAAKyB,cAAc,CAACG,eAAQ,CAACC,eAAe,CAAC,GAAG,IAAI;QACpDN,YAAY,CAACO,IAAI,CAAC,kBAAkB,EAAEd,OAAO,EAAEC,KAAK,EAAEjB,KAAA,CAAKyB,cAAc,CAAC;MAC5E,CAAC;IAAA;IAAA,OAAAzB,KAAA;EAAA;EAAA,IAAA+B,aAAA,aAAApC,UAAA;IAAAqC,GAAA;IAAAC,KAAA,EAXH,SAAAN,8BAAA,EAA4C;MAAA,IAAdR,CAAC,GAAAhB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC;MAAA,IAAEkB,CAAC,GAAAlB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA+B,SAAA,GAAA/B,SAAA,MAAG,CAAC;MACxC,OAAO;QAAA,OAAO;UAAEgC,KAAK,EAAE,CAAC;UAAEC,MAAM,EAAE,CAAC;UAAEC,GAAG,EAAEhB,CAAC;UAAEiB,KAAK,EAAEnB,CAAC;UAAEoB,MAAM,EAAElB,CAAC;UAAEmB,IAAI,EAAErB;QAAE,CAAC;MAAA,CAAC;IAC9E;EAAC;IAAAa,GAAA;IAAAC,KAAA,EAWD,SAAAQ,gBAAA,EAAkB;MAChB,IAAAC,aAAA,GAAuC,IAAI,CAAClB,OAAO;QAA3CmB,QAAQ,GAAAD,aAAA,CAARC,QAAQ;QAAEC,GAAG,GAAAF,aAAA,CAAHE,GAAG;QAAEC,IAAI,GAAAH,aAAA,CAAJG,IAAI;QAAEZ,KAAK,GAAAS,aAAA,CAALT,KAAK;MAClC,IAAMa,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBC,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAzC,KAAA,CAARwC,IAAI,MAAAE,mBAAA,aAAQN,IAAI,CAACO,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACpB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDqB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMC,UAAU,GAAG,IAAAC,wBAAU,GAAE,CAACC,SAAS,EAAE,CAACC,SAAS,SAAAhD,MAAA,CAASkC,GAAG,EAAAlC,MAAA,CAAGkC,GAAG,OAAI,CAACe,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;MAExF,IAAMC,cAAc,GAAGL,UAAU,CAACM,IAAI,EAAE;MACxC,IAAIlB,QAAQ,GAAG,CAAC,IAAIiB,cAAc,EAAE;QAClCL,UAAU,CACPC,UAAU,EAAE,CACZb,QAAQ,CAACA,QAAQ,CAAC,CAClBgB,IAAI,CAAC,GAAG,EAAE,UAAUG,CAAC,EAAEC,GAAG,EAAE;UAC3B,OAAOjB,CAAC,CAACD,IAAI,CAACkB,GAAG,CAAC,CAAC9B,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;MACN;IACF;EAAC;IAAAD,GAAA;IAAAC,KAAA,EAED,SAAA+B,mBAAA,EAAqB;MACnB,IAAI,CAACvB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAgC,kBAAA,EAAoB;MAClB,IAAI,CAACxB,eAAe,EAAE;IACxB;EAAC;IAAAT,GAAA;IAAAC,KAAA,EAED,SAAAiC,aAAaC,CAAC,EAAEC,CAAC,EAAE;MAAA,IAAAC,IAAA,EAAAC,QAAA;MACjB,IAAAC,cAAA,GAeI,IAAI,CAAC/C,OAAO;QAddgD,KAAK,GAAAD,cAAA,CAALC,KAAK;QACLC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLtD,CAAC,GAAAoD,cAAA,CAADpD,CAAC;QACDE,CAAC,GAAAkD,cAAA,CAADlD,CAAC;QACDqD,MAAM,GAAAH,cAAA,CAANG,MAAM;QACNC,MAAM,GAAAJ,cAAA,CAANI,MAAM;QACN/B,GAAG,GAAA2B,cAAA,CAAH3B,GAAG;QACHD,QAAQ,GAAA4B,cAAA,CAAR5B,QAAQ;QACRV,KAAK,GAAAsC,cAAA,CAALtC,KAAK;QACL2C,KAAK,GAAAL,cAAA,CAALK,KAAK;QACLC,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACXC,IAAI,GAAAP,cAAA,CAAJO,IAAI;QACJjC,IAAI,GAAA0B,cAAA,CAAJ1B,IAAI;QACJkC,WAAW,GAAAR,cAAA,CAAXQ,WAAW;MAEb,IAAAC,MAAA,OAAAC,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAF,MAAA;QAAEG,MAAM,GAAAH,MAAA;MAErB,IAAMI,OAAO,GAAG,IAAI,CAACC,OAAO;MAC5B,IAAMC,OAAO,GAAG,MAAM;MACtB,IAAMC,MAAM,GAAG,MAAM;MACrB,IAAMzC,CAAC,GAAG,IAAAC,kBAAS,GAAE,CAClBC,MAAM,CAAC,CAAC,CAAC,EAAEC,IAAI,CAACC,GAAG,CAAAzC,KAAA,CAARwC,IAAI,MAAAE,mBAAA,aAAQN,IAAI,CAACO,GAAG,CAAC,UAACC,EAAE;QAAA,OAAKA,EAAE,CAACpB,KAAK,CAAC;MAAA,EAAC,EAAC,CAAC,CAAC,CACrDqB,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;MAErB,IAAMkC,MAAM,GAAGvC,IAAI,CAACwC,GAAG,CAACP,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE7D,IAAMoC,aAAa,GACjBZ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAGU,MAAM,IAAIN,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAA0D,kBAAW,EAACxB,CAAC,CAACS,KAAK,CAAC,CAAC,GACnF,OAAO,GACP,MAAM;MACZ,IAAMgB,aAAa,GAAG;QACpBtD,KAAK,EAAE4C,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC;QAC7CO,IAAI,EAAE0C,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC,GAAG5B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC;MAC7C,CAAC,CAACyD,aAAa,CAAC;MAEhB,OAAArB,IAAA,GAAO,IAAA5E,aAAO,EAACkF,MAAM,CAAC,eACpB5F,MAAA,YAAAgC,aAAA,MAAAsD,IAAA,CAAAwB,EAAA;QAAA,kBAAAnF,MAAA,CACkB0D,CAAC;QAAA,eACJ,IAAI,CAAC0B,kBAAkB,CAAC,IAAI,MAAAC,cAAA,iBAAAA,cAAA,iBAAO,IAAI,CAAC9E,KAAK;UAAE+E,MAAM,EAAE5B;QAAC,GAAG;QAAA,gBAC1D,IAAI,CAAC0B,kBAAkB,CAAC,KAAK,MAAAC,cAAA,iBAAAA,cAAA,iBAAO,IAAI,CAAC9E,KAAK;UAAE+E,MAAM,EAAE5B;QAAC;MAAG,IAEzES,WAAW,iBACV9F,MAAA,YAAAgC,aAAA,CAACuE,OAAO,EAAAjB,IAAA,CAAAwB,EAAA;QAAA;QAAA,KAEHX,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC;QAAA,KACxBS,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAhE,MAAA,CACSkC,GAAG;QAAA,UAAA0B,QAAA,GACdH,CAAC,CAACK,KAAK,CAAC,cAAAF,QAAA,cAAAA,QAAA,GAAIE,KAAK;QAAA,eACXO;MAAW,IACzB,GAED,CACD,eACDhG,MAAA,YAAAgC,aAAA,CAACqE,OAAO,EAAAf,IAAA,CAAAwB,EAAA;QAAA;QAAA,SAAAnF,MAAA,CAECkC,GAAG,EAAAlC,MAAA,CAAGkC,GAAG;QAAA,SACTwB,CAAC;QAAA,UACD,QAAQ;QAAA,oBAAA1D,MAAA,CACGkC,GAAG;QAAA,MACjBsC,MAAM,CAACf,CAAC,CAAChD,CAAC,CAAC,CAAC,GAAGuD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxBS,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,SACrBP,CAAC,CAACK,KAAK,CAAC;QAAA,KACZ1B,CAAC,CAACqB,CAAC,CAAClC,KAAK,CAAC,CAAC;QAAA,mBAAAvB,MAAA,CACGiC,QAAQ;QAAA,eACZoC;MAAW,GACxB,EACDZ,CAAC,CAACS,KAAK,CAAC,iBACP7F,MAAA,YAAAgC,aAAA,CAACwE,MAAM,EAAAlB,IAAA,CAAAwB,EAAA;QAAA;QAAA,KAEFD,aAAa;QAAA,KACbT,MAAM,CAAChB,CAAC,CAAC9C,CAAC,CAAC,CAAC,GAAGqD,MAAM,CAAC,CAAC,CAAC;QAAA,MACxB,MAAM;QAAA,oBAAAhE,MAAA,CACSkC,GAAG;QAAA,YACX8C,aAAa;QAAA,SAChBvB,CAAC,CAACK,KAAK,CAAC;QAAA,eACFO;MAAW,IAEvBZ,CAAC,CAACS,KAAK,CAAC,CAEZ,CACC;IAER;EAAC;IAAA5C,GAAA;IAAAC,KAAA,EAED,SAAAgE,OAAA,EAAS;MACP,IAAAC,cAAA,GAA0C,IAAI,CAAC1E,OAAO;QAA9CqB,IAAI,GAAAqD,cAAA,CAAJrD,IAAI;QAAED,GAAG,GAAAsD,cAAA,CAAHtD,GAAG;QAAE6B,KAAK,GAAAyB,cAAA,CAALzB,KAAK;QAAEtD,CAAC,GAAA+E,cAAA,CAAD/E,CAAC;QAAEE,CAAC,GAAA6E,cAAA,CAAD7E,CAAC;QAAEY,KAAK,GAAAiE,cAAA,CAALjE,KAAK;MACrC,IAAAkE,OAAA,OAAAlB,eAAA,aAAyBR,KAAK;QAAvBS,MAAM,GAAAiB,OAAA;QAAEhB,MAAM,GAAAgB,OAAA;MACrB,IAAMC,KAAK,GAAGnD,IAAI,CAACoD,GAAG,CAACnB,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMgD,KAAK,GAAGrD,IAAI,CAACoD,GAAG,CAAClB,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG6B,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC7D,IAAMiD,OAAO,GAAGtD,IAAI,CAACwC,GAAG,CAACP,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE4B,MAAM,CAAC5B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAC9D,IAAMkD,OAAO,GAAGvD,IAAI,CAACwC,GAAG,CAACN,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE6B,MAAM,CAAC7B,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;MAE9D,IAAI,CAAC9B,OAAO,CAACiF,gBAAgB,CAACC,oBAAoB,CAACvF,CAAC,EAAEE,CAAC,EAAEY,KAAK,CAAC;MAC/D,IAAI,CAACT,OAAO,CAACiF,gBAAgB,CAACE,iBAAiB,CAAC,cAAc,CAAC;MAE/D,oBACE5H,MAAA,YAAAgC,aAAA,CAAAhC,MAAA,YAAA6H,QAAA,QACG/D,IAAI,CAACO,GAAG,CAAC,IAAI,CAACc,YAAY,CAAC2C,IAAI,CAAC,IAAI,CAAC,CAAC,EACtChE,IAAI,CAACO,GAAG,CAAC,IAAI,CAACX,eAAe,CAACoE,IAAI,CAAC,IAAI,CAAC,CAAC,eAC1C9H,MAAA,YAAAgC,aAAA,CAACzB,SAAA,WAAQ;QACP,mBAAW;QACXwH,EAAE,EAAElE,GAAI;QACRzB,CAAC,EAAEoF,OAAQ;QACXlF,CAAC,EAAEmF,OAAQ;QACXrE,KAAK,KAAAzB,MAAA,CAAK0F,KAAK,OAAK;QACpBhE,MAAM,KAAA1B,MAAA,CAAK4F,KAAK;MAAK,EACrB,CACD;IAEP;EAAC;EAAA,OAAA3G,UAAA;AAAA,EArKsBoH,eAAS;AAAA,IAAApG,gBAAA,aAA5BhB,UAAU,iBACO,QAAQ;AAAA,IAAAgB,gBAAA,aADzBhB,UAAU,WAECH,KAAK;AAAA,IAAAmB,gBAAA,aAFhBhB,UAAU,aAGG,CAAC,IAAAqH,oBAAmB,GAAE,CAAC;AAAA,IAAArG,gBAAA,aAHpChB,UAAU,kBAKQ;EACpB+E,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACd/B,QAAQ,EAAE,GAAG;EACbkC,WAAW,EAAE;AACf,CAAC;AA+JH,IAAMoC,MAAM,GAAG,IAAAlG,yBAAa,EAACpB,UAAU,CAAC;AAAC,IAAAuH,QAAA,GAE1BD,MAAM;AAAAE,OAAA,cAAAD,QAAA"}
|
|
1
|
+
{"version":3,"file":"Bubble.js","names":["_core","require","_react","_interopRequireDefault","_d3Scale","_d3Transition","_canUseDOM","_uniqueID","_createElement","_ClipPath","_utils","style","sstyled","insert","BubbleRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","visible","props","_ref2","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_createClass2","key","value","undefined","width","height","top","right","bottom","left","animationCircle","_this$asProps","duration","uid","data","z","scaleSqrt","domain","Math","max","_toConsumableArray2","map","el","range","selectRect","transition","selection","selectAll","attr","selectRectNode","node","_","ind","componentDidUpdate","componentDidMount","renderCircle","d","i","_ref","_d$color","_this$asProps2","color","scale","offset","styles","label","markedCross","size","transparent","_scale","_slicedToArray2","xScale","yScale","SBubble","Element","SCenter","SLabel","margin","min","labelPosition","measureText","labelDistance","cn","bindHandlerTooltip","_objectSpread2","xIndex","render","_this$asProps3","_scale2","xSize","abs","ySize","xMargin","yMargin","dataHintsHandler","specifyDataRowFields","establishDataType","Fragment","bind","id","Component","uniqueIDEnhancement","Bubble","_default","exports"],"sources":["../../src/Bubble.jsx"],"sourcesContent":["import React from 'react';\nimport { scaleSqrt } from 'd3-scale';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport ClipPath from './ClipPath';\nimport { CONSTANT, measureText } from './utils';\n\nimport style from './style/bubble.shadow.css';\n\nclass BubbleRoot extends Component {\n static displayName = 'Bubble';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n offset: [0, 0],\n duration: 500,\n markedCross: true,\n };\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationCircle() {\n const { duration, uid, data, value } = this.asProps;\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const selectRect = transition().selection().selectAll(`[id^=${uid}${uid}]`).attr('r', 0);\n\n const selectRectNode = selectRect.node();\n if (duration > 0 && selectRectNode) {\n selectRect\n .transition()\n .duration(duration)\n .attr('r', function (_, ind) {\n return z(data[ind][value]);\n });\n }\n }\n\n componentDidUpdate() {\n this.animationCircle();\n }\n\n componentDidMount() {\n this.animationCircle();\n }\n\n renderCircle(d, i) {\n const {\n color,\n scale,\n x,\n y,\n offset,\n styles,\n uid,\n duration,\n value,\n label,\n markedCross,\n size,\n data,\n transparent,\n } = this.asProps;\n const [xScale, yScale] = scale;\n\n const SBubble = this.Element;\n const SCenter = 'text';\n const SLabel = 'text';\n const z = scaleSqrt()\n .domain([0, Math.max(...data.map((el) => el[value]))])\n .range([5.5, 50.5]);\n\n const margin = Math.min(xScale.range()[0], xScale.range()[1]);\n\n const labelPosition =\n size[0] - 2 * margin - (xScale(d[x]) + offset[0] + z(d[value])) < measureText(d[label])\n ? 'right'\n : 'left';\n const labelDistance = {\n right: xScale(d[x]) + offset[0] - z(d[value]),\n left: xScale(d[x]) + offset[0] + z(d[value]),\n }[labelPosition];\n\n return sstyled(styles)(\n <g\n key={`circle(#${i})`}\n onMouseMove={this.bindHandlerTooltip(true, { ...this.props, xIndex: i })}\n onMouseLeave={this.bindHandlerTooltip(false, { ...this.props, xIndex: i })}\n >\n {markedCross && (\n <SCenter\n aria-hidden\n x={xScale(d[x]) + offset[0]}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n color={d[color] ?? color}\n transparent={transparent}\n >\n +\n </SCenter>\n )}\n <SBubble\n aria-hidden\n id={`${uid}${uid}`}\n index={i}\n render='circle'\n clipPath={`url(#${uid})`}\n cx={xScale(d[x]) + offset[0]}\n cy={yScale(d[y]) + offset[1]}\n color={d[color]}\n r={z(d[value])}\n use:duration={`${duration}ms`}\n transparent={transparent}\n />\n {d[label] && (\n <SLabel\n aria-hidden\n x={labelDistance}\n y={yScale(d[y]) + offset[1]}\n dy='.3em'\n clipPath={`url(#${uid})`}\n position={labelPosition}\n color={d[color]}\n transparent={transparent}\n >\n {d[label]}\n </SLabel>\n )}\n </g>,\n );\n }\n\n render() {\n const { data, uid, scale, x, y, value } = this.asProps;\n const [xScale, yScale] = scale;\n const xSize = Math.abs(xScale.range()[0] - xScale.range()[1]);\n const ySize = Math.abs(yScale.range()[0] - yScale.range()[1]);\n const xMargin = Math.min(xScale.range()[0], xScale.range()[1]);\n const yMargin = Math.min(yScale.range()[0], yScale.range()[1]);\n\n this.asProps.dataHintsHandler.specifyDataRowFields(x, y, value);\n this.asProps.dataHintsHandler.establishDataType('points-cloud');\n\n return (\n <>\n {data.map(this.renderCircle.bind(this))}\n {data.map(this.animationCircle.bind(this))}\n <ClipPath\n aria-hidden\n id={uid}\n x={xMargin}\n y={yMargin}\n width={`${xSize}px`}\n height={`${ySize}px`}\n />\n </>\n );\n }\n}\n\nconst Bubble = createElement(BubbleRoot);\n\nexport default Bubble;\n"],"mappings":"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"}
|
package/lib/cjs/ClipPath.js
CHANGED
|
@@ -50,7 +50,8 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
50
50
|
if (!document || !id || !document.querySelector("#".concat(id))) return;
|
|
51
51
|
var svg = document.querySelector("#".concat(id)).closest('svg');
|
|
52
52
|
Array.from(svg.querySelectorAll("[clip-path=\"url(#".concat(id, ")\"]"))).forEach(function (node) {
|
|
53
|
-
|
|
53
|
+
var _node$getTotalLength;
|
|
54
|
+
node === null || node === void 0 ? void 0 : (_node$getTotalLength = node.getTotalLength) === null || _node$getTotalLength === void 0 ? void 0 : _node$getTotalLength.call(node);
|
|
54
55
|
});
|
|
55
56
|
this.setAttributeTag();
|
|
56
57
|
}
|
|
@@ -62,7 +63,6 @@ var ClipPath = /*#__PURE__*/function (_Component) {
|
|
|
62
63
|
}, {
|
|
63
64
|
key: "render",
|
|
64
65
|
value: function render() {
|
|
65
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
66
66
|
var _this$asProps2 = this.asProps,
|
|
67
67
|
id = _this$asProps2.id,
|
|
68
68
|
transition = _this$asProps2.transition,
|
package/lib/cjs/ClipPath.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClipPath.js","names":["_react","_interopRequireDefault","require","_core","_interopRequireWildcard","_propsForElement","_excluded","ClipPath","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","_createClass2","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties2","createElement","ref","refClipPath","_extends2","_objectSpread2","propsForElement","Component","_default","createComponent","exports"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node
|
|
1
|
+
{"version":3,"file":"ClipPath.js","names":["_react","_interopRequireDefault","require","_core","_interopRequireWildcard","_propsForElement","_excluded","ClipPath","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","_createClass2","key","value","setAttributeTag","_this$asProps","asProps","id","tag","from","document","querySelectorAll","forEach","componentDidMount","querySelector","svg","closest","node","_node$getTotalLength","getTotalLength","componentDidUpdate","render","_this$asProps2","transition","Tag","style","className","other","_objectWithoutProperties2","createElement","ref","refClipPath","_extends2","_objectSpread2","propsForElement","Component","_default","createComponent","exports"],"sources":["../../src/ClipPath.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component } from '@semcore/core';\nimport propsForElement from '@semcore/utils/lib/propsForElement';\n\nclass ClipPath extends Component {\n static defaultProps = {\n tag: 'rect',\n id: '',\n transition: '',\n setAttributeTag: null,\n };\n\n refClipPath = React.createRef();\n\n setAttributeTag() {\n const { id, tag, setAttributeTag } = this.asProps;\n if (setAttributeTag) {\n Array.from(document.querySelectorAll(`#${id} ${tag}`)).forEach(setAttributeTag);\n }\n }\n\n componentDidMount() {\n const { id } = this.asProps;\n if (!document || !id || !document.querySelector(`#${id}`)) return;\n const svg = document.querySelector(`#${id}`).closest('svg');\n Array.from(svg.querySelectorAll(`[clip-path=\"url(#${id})\"]`)).forEach((node) => {\n node?.getTotalLength?.();\n });\n this.setAttributeTag();\n }\n\n componentDidUpdate() {\n this.setAttributeTag();\n }\n\n render() {\n const { id, transition, tag: Tag, style, className, ...other } = this.asProps;\n return (\n <clipPath aria-hidden ref={this.refClipPath} id={id}>\n <Tag style={{ ...style, transition }} {...propsForElement(other, Tag)} />\n </clipPath>\n );\n }\n}\n\nexport default createComponent(ClipPath);\n"],"mappings":"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"}
|
package/lib/cjs/Donut.js
CHANGED
|
@@ -26,13 +26,13 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
26
26
|
var _utils = require("./utils");
|
|
27
27
|
var _excluded = ["Element", "styles", "d3Arc", "data", "color", "$animationActivePie", "active", "d3ArcOut", "name", "dataKey", "dataHintsHandler", "transparent"];
|
|
28
28
|
/*__reshadow-styles__:"./style/donut.shadow.css"*/
|
|
29
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
30
|
-
"__SPie": "
|
|
31
|
-
"_color": "
|
|
32
|
-
"--color": "--
|
|
33
|
-
"_transparent": "
|
|
34
|
-
"__SEmptyData": "
|
|
35
|
-
"__SLabel": "
|
|
29
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SPie_1b4fv_gg_{stroke:var(--intergalactic-chart-grid-border, #ffffff);fill:var(--intergalactic-chart-palette-order-1, #2bb3ff)}.___SPie_1b4fv_gg_.__color_1b4fv_gg_{fill:var(--color_1b4fv)}.___SPie_1b4fv_gg_.__transparent_1b4fv_gg_{opacity:.3}.___SEmptyData_1b4fv_gg_{fill:var(--intergalactic-chart-palette-order-null, #e0e1e9)}.___SEmptyData_1b4fv_gg_.__color_1b4fv_gg_{fill:var(--color_1b4fv)}.___SLabel_1b4fv_gg_{text-anchor:middle;vertical-anchor:middle}" /*__inner_css_end__*/, "1b4fv_gg_") /*__reshadow_css_end__*/, {
|
|
30
|
+
"__SPie": "___SPie_1b4fv_gg_",
|
|
31
|
+
"_color": "__color_1b4fv_gg_",
|
|
32
|
+
"--color": "--color_1b4fv",
|
|
33
|
+
"_transparent": "__transparent_1b4fv_gg_",
|
|
34
|
+
"__SEmptyData": "___SEmptyData_1b4fv_gg_",
|
|
35
|
+
"__SLabel": "___SLabel_1b4fv_gg_"
|
|
36
36
|
});
|
|
37
37
|
var DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');
|
|
38
38
|
function transitionAnglePie(_ref4) {
|
|
@@ -69,16 +69,19 @@ function transitionAnglePie(_ref4) {
|
|
|
69
69
|
function transitionRadiusPie(_ref5) {
|
|
70
70
|
var data = _ref5.data,
|
|
71
71
|
selector = _ref5.selector,
|
|
72
|
+
element = _ref5.element,
|
|
72
73
|
duration = _ref5.duration,
|
|
73
74
|
innerRadius = _ref5.innerRadius,
|
|
74
|
-
|
|
75
|
+
outerRadiusStartEnd = _ref5.outerRadiusStartEnd;
|
|
75
76
|
return (0, _d3Transition.transition)().selection().select(selector).interrupt().transition().duration(duration).attrTween('d', function () {
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
var iOuterRadius = (0, _d3Interpolate.interpolate)(
|
|
77
|
+
var _outerRadiusStartEnd = (0, _slicedToArray2["default"])(outerRadiusStartEnd, 2),
|
|
78
|
+
start = _outerRadiusStartEnd[0],
|
|
79
|
+
end = _outerRadiusStartEnd[1];
|
|
80
|
+
var iOuterRadius = (0, _d3Interpolate.interpolate)(start, end);
|
|
80
81
|
return function (t) {
|
|
81
|
-
var
|
|
82
|
+
var outerRadiusPX = iOuterRadius(t);
|
|
83
|
+
element.dataset['currentRadius'] = outerRadiusPX;
|
|
84
|
+
var d3ArcOut = (0, _d3Shape.arc)().innerRadius(innerRadius).outerRadius(outerRadiusPX);
|
|
82
85
|
return d3ArcOut(data);
|
|
83
86
|
};
|
|
84
87
|
});
|
|
@@ -86,13 +89,12 @@ function transitionRadiusPie(_ref5) {
|
|
|
86
89
|
var increaseFactor = 8;
|
|
87
90
|
function getOuterRadius(_ref6) {
|
|
88
91
|
var size = _ref6.size,
|
|
89
|
-
halfsize = _ref6.halfsize
|
|
90
|
-
outerRadius = _ref6.outerRadius;
|
|
92
|
+
halfsize = _ref6.halfsize;
|
|
91
93
|
var _size = (0, _slicedToArray2["default"])(size, 2),
|
|
92
94
|
width = _size[0],
|
|
93
95
|
height = _size[1];
|
|
94
96
|
var minORmax = halfsize ? Math.max : Math.min;
|
|
95
|
-
return
|
|
97
|
+
return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;
|
|
96
98
|
}
|
|
97
99
|
var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
98
100
|
(0, _inherits2["default"])(DonutRoot, _Component);
|
|
@@ -120,28 +122,22 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
120
122
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "animationActivePie", function (_ref8) {
|
|
121
123
|
var data = _ref8.data,
|
|
122
124
|
active = _ref8.active,
|
|
123
|
-
selector = _ref8.selector
|
|
125
|
+
selector = _ref8.selector,
|
|
126
|
+
element = _ref8.element;
|
|
124
127
|
var _this$asProps = _this.asProps,
|
|
125
128
|
duration = _this$asProps.duration,
|
|
126
129
|
innerRadius = _this$asProps.innerRadius,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
data: data,
|
|
139
|
-
selector: "#".concat(_this.id, " ").concat(selector),
|
|
140
|
-
duration: duration === 0 ? 0 : 300,
|
|
141
|
-
innerRadius: innerRadius,
|
|
142
|
-
outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius]
|
|
143
|
-
});
|
|
144
|
-
}
|
|
130
|
+
d3Arc = _this$asProps.d3Arc;
|
|
131
|
+
var outerRadius = d3Arc.outerRadius()();
|
|
132
|
+
if (_this.canAnimatedHover && duration > 0) {
|
|
133
|
+
transitionRadiusPie({
|
|
134
|
+
data: data,
|
|
135
|
+
selector: "#".concat(_this.id, " ").concat(selector),
|
|
136
|
+
element: element,
|
|
137
|
+
duration: duration === 0 ? 0 : 300,
|
|
138
|
+
innerRadius: innerRadius,
|
|
139
|
+
outerRadiusStartEnd: active ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor] : [+element.dataset['currentRadius'] || outerRadius, outerRadius]
|
|
140
|
+
});
|
|
145
141
|
}
|
|
146
142
|
});
|
|
147
143
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "animationUpdatePie", function () {
|
|
@@ -256,7 +252,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
256
252
|
_this2.animationActivePie({
|
|
257
253
|
active: true,
|
|
258
254
|
data: data,
|
|
259
|
-
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
|
|
255
|
+
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]"),
|
|
256
|
+
element: e.target
|
|
260
257
|
});
|
|
261
258
|
}
|
|
262
259
|
},
|
|
@@ -265,7 +262,8 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
265
262
|
_this2.animationActivePie({
|
|
266
263
|
active: false,
|
|
267
264
|
data: data,
|
|
268
|
-
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]")
|
|
265
|
+
selector: "[d=\"".concat(e.target.getAttribute('d'), "\"]"),
|
|
266
|
+
element: e.target
|
|
269
267
|
});
|
|
270
268
|
}
|
|
271
269
|
}
|
|
@@ -326,16 +324,15 @@ var DonutRoot = /*#__PURE__*/function (_Component) {
|
|
|
326
324
|
_ref18$halfsize = _ref18.halfsize,
|
|
327
325
|
halfsize = _ref18$halfsize === void 0 ? false : _ref18$halfsize,
|
|
328
326
|
size = _ref18.$rootProps.size;
|
|
329
|
-
var d3Arc = (0, _d3Shape.arc)().outerRadius(getOuterRadius({
|
|
327
|
+
var d3Arc = (0, _d3Shape.arc)().outerRadius(outerRadius || getOuterRadius({
|
|
330
328
|
size: size,
|
|
331
329
|
halfsize: halfsize,
|
|
332
330
|
outerRadius: outerRadius
|
|
333
331
|
})).innerRadius(innerRadius);
|
|
334
|
-
var d3ArcOut = (0, _d3Shape.arc)().outerRadius(getOuterRadius({
|
|
332
|
+
var d3ArcOut = (0, _d3Shape.arc)().outerRadius((outerRadius || getOuterRadius({
|
|
335
333
|
size: size,
|
|
336
|
-
halfsize: halfsize
|
|
337
|
-
|
|
338
|
-
}) + increaseFactor).innerRadius(innerRadius);
|
|
334
|
+
halfsize: halfsize
|
|
335
|
+
})) + increaseFactor).innerRadius(innerRadius);
|
|
339
336
|
var d3Pie = (0, _d3Shape.pie)().sort(null).value(function (_ref19) {
|
|
340
337
|
var _ref20 = (0, _slicedToArray2["default"])(_ref19, 2),
|
|
341
338
|
value = _ref20[1];
|
|
@@ -371,7 +368,10 @@ function Pie(_ref15) {
|
|
|
371
368
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
372
369
|
isMount = _useState2[0],
|
|
373
370
|
setIsMount = _useState2[1];
|
|
371
|
+
var pieRef = (0, _react.useRef)(null);
|
|
374
372
|
(0, _react.useEffect)(function () {
|
|
373
|
+
pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();
|
|
374
|
+
|
|
375
375
|
// do not run animation on first render
|
|
376
376
|
if (!isMount) {
|
|
377
377
|
setIsMount(true);
|
|
@@ -381,7 +381,8 @@ function Pie(_ref15) {
|
|
|
381
381
|
$animationActivePie({
|
|
382
382
|
active: active,
|
|
383
383
|
data: data,
|
|
384
|
-
selector: "[name=\"".concat(other.name, "\"]")
|
|
384
|
+
selector: "[name=\"".concat(other.name, "\"]"),
|
|
385
|
+
element: pieRef.current
|
|
385
386
|
});
|
|
386
387
|
}
|
|
387
388
|
}, [active]);
|
|
@@ -389,6 +390,7 @@ function Pie(_ref15) {
|
|
|
389
390
|
dataHintsHandler.describeValueEntity(dataKey, name);
|
|
390
391
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SPie, _ref.cn("SPie", {
|
|
391
392
|
"render": 'path',
|
|
393
|
+
"ref": pieRef,
|
|
392
394
|
"color": color,
|
|
393
395
|
"d": active ? d3ArcOut(data) : d3Arc(data),
|
|
394
396
|
"transparent": transparent
|
package/lib/cjs/Donut.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Donut.js","names":["_core","require","_react","_interopRequireWildcard","_d3Shape","_d3Interpolate","_d3Transition","_canUseDOM","_interopRequireDefault","_getOriginChildren","_uniqueID","_createElement","_utils","_excluded","style","sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","transition","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","arc","startAngle","endAngle","iStartAngle","interpolate","iEndAngle","t","transitionRadiusPie","_ref5","data","innerRadius","outerRadiusMinMax","select","_outerRadiusMinMax","_slicedToArray2","min","max","iOuterRadius","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","DonutRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","_outerRadius","canAnimatedHover","id","_this$asProps2","on","_createClass2","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","Component","uniqueIDEnhancement","_ref18","_ref18$innerRadius","_ref18$halfsize","pie","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties2","_useState","useState","_useState2","isMount","setIsMount","useEffect","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle","_default","exports"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({ selector, duration, halfsize, d3Arc, d3ArcOut, arcs, activeIndexPie }) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function(_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function(t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({ data, selector, duration, innerRadius, outerRadiusMinMax }) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function() {\n const [min, max] = outerRadiusMinMax;\n const iOuterRadius = interpolate(min, max);\n return function(t) {\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(iOuterRadius(t));\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize, outerRadius }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return outerRadius || minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius(getOuterRadius({ size, halfsize, outerRadius }) + increaseFactor)\n .innerRadius(innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie, d3Arc, d3ArcOut, duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue = pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = ({ data, active, selector }) => {\n const { duration, innerRadius, outerRadius: _outerRadius, size, halfsize } = this.asProps;\n const outerRadius = getOuterRadius({ size, halfsize, outerRadius: _outerRadius });\n\n if (this.canAnimatedHover) {\n if (duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusMinMax: active ? [outerRadius, outerRadius + increaseFactor] : [outerRadius + increaseFactor, outerRadius],\n });\n }\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false, data, selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n });\n }\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (<Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />);\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n\n useEffect(() => {\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({ active, data, selector: `[name=\"${other.name}\"]` });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(<SPie\n render='path'\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />);\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(<SEmptyData render='path' color={color}\n d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />);\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(<SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>);\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Donut.js","names":["_core","require","_react","_interopRequireWildcard","_d3Shape","_d3Interpolate","_d3Transition","_canUseDOM","_interopRequireDefault","_getOriginChildren","_uniqueID","_createElement","_utils","_excluded","style","sstyled","insert","DEFAULT_INSTANCE","Symbol","transitionAnglePie","_ref4","selector","duration","halfsize","d3Arc","d3ArcOut","arcs","activeIndexPie","transition","selection","selectAll","interrupt","attrTween","_","ind","d","Object","assign","self","initAngle","Math","PI","prevStartAngle","prevEndAngle","arc","startAngle","endAngle","iStartAngle","interpolate","iEndAngle","t","transitionRadiusPie","_ref5","data","element","innerRadius","outerRadiusStartEnd","select","_outerRadiusStartEnd","_slicedToArray2","start","end","iOuterRadius","outerRadiusPX","dataset","outerRadius","increaseFactor","getOuterRadius","_ref6","size","_size","width","height","minORmax","max","min","DonutRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","canUseDOM","document","createElement","undefined","visible","props","_ref7","x","clientX","y","clientY","eventEmitter","asProps","virtualElement","getBoundingClientRect","generateGetBoundingClientRect","CONSTANT","VIRTUAL_ELEMENT","emit","_ref8","active","_this$asProps","canAnimatedHover","id","_this$asProps2","on","_createClass2","key","get","_this$asProps3","uid","value","top","right","bottom","left","getArcs","_this$asProps4","Children","d3Pie","pieData","entries","keys","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","Donut","Pie","push","dataKey","filter","_ref9","_ref10","includes","sort","_ref11","_ref12","_ref13","a","_ref14","b","indexOf","minValue","cur","map","getPieProps","_this2","_this$asProps5","find","$animationActivePie","animationActivePie","onMouseMove","bindHandlerTooltip","onMouseLeave","onMouseOver","e","target","getAttribute","onMouseOut","getEmptyDataProps","componentDidUpdate","prevProps","$rootProps","animationUpdatePie","componentDidMount","render","_this$asProps6","dataHintsHandler","establishDataType","_size2","Element","k","childrenPosition","transform","Component","uniqueIDEnhancement","_ref18","_ref18$innerRadius","_ref18$halfsize","pie","_ref19","_ref20","_ref15","_ref","SPie","styles","color","name","transparent","other","_objectWithoutProperties2","_useState","useState","_useState2","isMount","setIsMount","pieRef","useRef","useEffect","current","describeValueEntity","cn","EmptyData","_ref16","_ref2","SEmptyData","Label","_ref17","_ref3","SLabel","children","label","setTitle","_default","exports"],"sources":["../../src/Donut.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { arc, pie } from 'd3-shape';\nimport { interpolate } from 'd3-interpolate';\nimport { transition } from 'd3-transition';\nimport { Component, sstyled } from '@semcore/core';\nimport canUseDOM from '@semcore/utils/lib/canUseDOM';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport createElement from './createElement';\nimport { CONSTANT } from './utils';\n\nimport style from './style/donut.shadow.css';\n\nconst DEFAULT_INSTANCE = Symbol('DEFAULT_INSTANCE');\n\nfunction transitionAnglePie({\n selector,\n duration,\n halfsize,\n d3Arc,\n d3ArcOut,\n arcs,\n activeIndexPie,\n}) {\n return transition()\n .selection()\n .selectAll(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function (_, ind) {\n if (!arcs[ind]) return () => '';\n const d = Object.assign({}, arcs[ind]);\n const self = this;\n const initAngle = halfsize ? -Math.PI / 2 : 0;\n let prevStartAngle = initAngle;\n let prevEndAngle = initAngle;\n if (self.arc) {\n prevStartAngle = self.arc.startAngle;\n prevEndAngle = self.arc.endAngle;\n }\n const iStartAngle = interpolate(prevStartAngle, d.startAngle);\n const iEndAngle = interpolate(prevEndAngle, d.endAngle);\n return function (t) {\n d.startAngle = iStartAngle(t);\n d.endAngle = iEndAngle(t);\n self.arc = d;\n return ind === activeIndexPie ? d3ArcOut(self.arc) : d3Arc(self.arc);\n };\n });\n}\n\nfunction transitionRadiusPie({\n data,\n selector,\n element,\n duration,\n innerRadius,\n outerRadiusStartEnd,\n}) {\n return transition()\n .selection()\n .select(selector)\n .interrupt()\n .transition()\n .duration(duration)\n .attrTween('d', function () {\n const [start, end] = outerRadiusStartEnd;\n const iOuterRadius = interpolate(start, end);\n return function (t) {\n const outerRadiusPX = iOuterRadius(t);\n element.dataset['currentRadius'] = outerRadiusPX;\n const d3ArcOut = arc().innerRadius(innerRadius).outerRadius(outerRadiusPX);\n return d3ArcOut(data);\n };\n });\n}\n\nconst increaseFactor = 8;\n\nfunction getOuterRadius({ size, halfsize }) {\n const [width, height] = size;\n const minORmax = halfsize ? Math.max : Math.min;\n return minORmax(width - increaseFactor * 2, height - increaseFactor * 2) / 2;\n}\n\nclass DonutRoot extends Component {\n static displayName = 'Donut';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = ({\n innerRadius = 0,\n outerRadius,\n halfsize = false,\n $rootProps: { size },\n }) => {\n const d3Arc = arc()\n .outerRadius(outerRadius || getOuterRadius({ size, halfsize, outerRadius }))\n .innerRadius(innerRadius);\n\n const d3ArcOut = arc()\n .outerRadius((outerRadius || getOuterRadius({ size, halfsize })) + increaseFactor)\n .innerRadius(innerRadius);\n\n let d3Pie = pie()\n .sort(null)\n .value(([, value]) => value);\n d3Pie[DEFAULT_INSTANCE] = true;\n\n if (halfsize) {\n d3Pie = d3Pie.startAngle(-Math.PI / 2).endAngle(Math.PI / 2);\n }\n return {\n d3Pie,\n d3Arc,\n d3ArcOut,\n duration: 500,\n };\n };\n\n get id() {\n const { uid, id } = this.asProps;\n return id || uid;\n }\n\n virtualElement = canUseDOM() ? document.createElement('div') : {};\n activeIndexPie = undefined;\n canAnimatedHover = false;\n\n generateGetBoundingClientRect(x = 0, y = 0) {\n return () => ({ width: 0, height: 0, top: y, right: x, bottom: y, left: x });\n }\n\n getArcs() {\n const { Children, data, d3Pie } = this.asProps;\n let pieData = Object.entries(data);\n\n if (d3Pie[DEFAULT_INSTANCE]) {\n const keys = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === Donut.Pie) {\n acc.push(child.props.dataKey);\n }\n return acc;\n }, []);\n pieData = Object.entries(data)\n .filter(([key]) => keys.includes(key))\n .sort(([a], [b]) => (keys.indexOf(a) > keys.indexOf(b) ? 1 : -1));\n }\n const minValue =\n pieData.reduce((acc, cur) => {\n if (cur[1]) acc += cur[1];\n return acc;\n }, 0) / 100;\n pieData = pieData.map((d) => {\n if (d[1] && d[1] < minValue) d[1] = minValue;\n return d;\n });\n return d3Pie(pieData);\n }\n\n bindHandlerTooltip = (visible, props) => ({ clientX: x, clientY: y }) => {\n const { eventEmitter } = this.asProps;\n this.virtualElement.getBoundingClientRect = this.generateGetBoundingClientRect(x, y);\n this.virtualElement[CONSTANT.VIRTUAL_ELEMENT] = true;\n eventEmitter.emit('onTooltipVisible', visible, props, this.virtualElement);\n };\n\n animationActivePie = ({ data, active, selector, element }) => {\n const { duration, innerRadius, d3Arc } = this.asProps;\n const outerRadius = d3Arc.outerRadius()();\n if (this.canAnimatedHover && duration > 0) {\n transitionRadiusPie({\n data,\n selector: `#${this.id} ${selector}`,\n element,\n duration: duration === 0 ? 0 : 300,\n innerRadius,\n outerRadiusStartEnd: active\n ? [+element.dataset['currentRadius'] || outerRadius, outerRadius + increaseFactor]\n : [+element.dataset['currentRadius'] || outerRadius, outerRadius],\n });\n }\n };\n\n animationUpdatePie = () => {\n const { duration, d3Arc, halfsize, d3ArcOut } = this.asProps;\n this.canAnimatedHover = false;\n if (duration > 0) {\n transitionAnglePie({\n selector: `#${this.id} [data-ui-name=\"Donut.Pie\"]`,\n duration,\n arcs: this.arcs,\n halfsize,\n d3Arc,\n d3ArcOut,\n activeIndexPie: this.activeIndexPie,\n }).on('end', () => {\n this.canAnimatedHover = true;\n });\n } else {\n this.canAnimatedHover = true;\n }\n };\n\n getPieProps(props, ind) {\n const { d3Arc, d3ArcOut } = this.asProps;\n const { active } = props;\n const data = this.arcs.find((arc) => arc.data[0] === props.dataKey);\n if (active) {\n this.activeIndexPie = ind;\n }\n\n return {\n data,\n d3Arc,\n d3ArcOut,\n $animationActivePie: this.animationActivePie,\n onMouseMove: this.bindHandlerTooltip(true, props),\n onMouseLeave: this.bindHandlerTooltip(false, props),\n onMouseOver: (e) => {\n if (!active) {\n this.animationActivePie({\n active: true,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n onMouseOut: (e) => {\n if (!active) {\n this.animationActivePie({\n active: false,\n data,\n selector: `[d=\"${e.target.getAttribute('d')}\"]`,\n element: e.target,\n });\n }\n },\n };\n }\n\n getEmptyDataProps() {\n const { d3Arc } = this.asProps;\n return {\n d3Arc,\n };\n }\n\n componentDidUpdate(prevProps) {\n const { data } = this.asProps;\n if (prevProps.$rootProps.data !== data) {\n this.animationUpdatePie();\n }\n }\n\n componentDidMount() {\n this.animationUpdatePie();\n }\n\n render() {\n const { halfsize, size } = this.asProps;\n this.asProps.dataHintsHandler.establishDataType('values-set');\n const [width, height] = size;\n const Element = this.Element;\n const k = halfsize ? 1 : 2;\n this.arcs = this.getArcs();\n return (\n <Element\n aria-hidden\n id={this.id}\n render='g'\n childrenPosition='inside'\n transform={`translate(${width / 2},${height / k})`}\n />\n );\n }\n}\n\nfunction Pie({\n Element: SPie,\n styles,\n d3Arc,\n data,\n color,\n $animationActivePie,\n active,\n d3ArcOut,\n name,\n dataKey,\n dataHintsHandler,\n transparent,\n ...other\n}) {\n const [isMount, setIsMount] = useState(false);\n const pieRef = useRef(null);\n\n useEffect(() => {\n pieRef.current.dataset['currentRadius'] = (active ? d3ArcOut : d3Arc).outerRadius()();\n\n // do not run animation on first render\n if (!isMount) {\n setIsMount(true);\n return;\n }\n if (active !== undefined && active !== null) {\n $animationActivePie({\n active,\n data,\n selector: `[name=\"${other.name}\"]`,\n element: pieRef.current,\n });\n }\n }, [active]);\n\n dataHintsHandler.establishDataType('values-set');\n dataHintsHandler.describeValueEntity(dataKey, name);\n\n return sstyled(styles)(\n <SPie\n render='path'\n ref={pieRef}\n color={color}\n d={active ? d3ArcOut(data) : d3Arc(data)}\n transparent={transparent}\n />,\n );\n}\n\nfunction EmptyData({ Element: SEmptyData, styles, d3Arc, color }) {\n return sstyled(styles)(\n <SEmptyData render='path' color={color} d={d3Arc({ endAngle: Math.PI * 2, startAngle: 0 })} />,\n );\n}\n\nfunction Label({ Element: SLabel, styles, Children, children, label, dataHintsHandler }) {\n dataHintsHandler.setTitle('vertical', label || children);\n\n return sstyled(styles)(\n <SLabel render='text' x='0' y='0' aria-hidden>\n <Children />\n </SLabel>,\n );\n}\n\nconst Donut = createElement(DonutRoot, { Pie, Label, EmptyData });\n\nexport default Donut;\n"],"mappings":"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"}
|
package/lib/cjs/Dots.js
CHANGED
|
@@ -14,15 +14,15 @@ var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"
|
|
|
14
14
|
var _createElement = _interopRequireDefault(require("./createElement"));
|
|
15
15
|
var _utils = require("./utils");
|
|
16
16
|
/*__reshadow-styles__:"./style/dot.shadow.css"*/
|
|
17
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
18
|
-
"__SDots": "
|
|
19
|
-
"__SDot": "
|
|
20
|
-
"--duration": "--
|
|
21
|
-
"_hide": "
|
|
22
|
-
"_active": "
|
|
23
|
-
"_color": "
|
|
24
|
-
"--color": "--
|
|
25
|
-
"_transparent": "
|
|
17
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDots_1cya0_gg_ .___SDot_1cya0_gg_{transition-duration:var(--duration_1cya0)}.___SDot_1cya0_gg_{stroke-width:2px;stroke:var(--intergalactic-chart-grid-border, #ffffff);r:6px;fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:cx,cy;transition-timing-function:ease-in-out}.___SDot_1cya0_gg_.__hide_1cya0_gg_{display:none}.___SDot_1cya0_gg_.__active_1cya0_gg_{r:8px}.___SDot_1cya0_gg_.__color_1cya0_gg_{fill:var(--color_1cya0)}.___SDot_1cya0_gg_.__transparent_1cya0_gg_{opacity:.3}" /*__inner_css_end__*/, "1cya0_gg_") /*__reshadow_css_end__*/, {
|
|
18
|
+
"__SDots": "___SDots_1cya0_gg_",
|
|
19
|
+
"__SDot": "___SDot_1cya0_gg_",
|
|
20
|
+
"--duration": "--duration_1cya0",
|
|
21
|
+
"_hide": "__hide_1cya0_gg_",
|
|
22
|
+
"_active": "__active_1cya0_gg_",
|
|
23
|
+
"_color": "__color_1cya0_gg_",
|
|
24
|
+
"--color": "--color_1cya0",
|
|
25
|
+
"_transparent": "__transparent_1cya0_gg_"
|
|
26
26
|
});
|
|
27
27
|
var EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];
|
|
28
28
|
function Dots(props) {
|
|
@@ -83,8 +83,8 @@ function Dots(props) {
|
|
|
83
83
|
if (!visible) return acc;
|
|
84
84
|
acc.push((_ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDot, _ref.cn("SDot", {
|
|
85
85
|
"aria-hidden": true,
|
|
86
|
-
"key": i,
|
|
87
|
-
"render":
|
|
86
|
+
"key": "".concat(i),
|
|
87
|
+
"render": 'circle',
|
|
88
88
|
"visible": visible,
|
|
89
89
|
"__excludeProps": EXCLUDE_PROPS,
|
|
90
90
|
"value": d,
|
package/lib/cjs/Dots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dots.js","names":["_core","require","_d3Array","_react","_interopRequireWildcard","_rafTrottle","_interopRequireDefault","_createElement","_utils","style","sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","bisector","d","center","_useState","useState","_useState2","_slicedToArray2","activeIndex","setActiveIndex","handlerMouseMoveRoot","useCallback","trottle","e","_scale","xScale","_eventToPoint","eventToPoint","current","_eventToPoint2","pX","vX","invert","handlerMouseLeaveRoot","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","createElement","cn","concat","_default","exports"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={i}\n render
|
|
1
|
+
{"version":3,"file":"Dots.js","names":["_core","require","_d3Array","_react","_interopRequireWildcard","_rafTrottle","_interopRequireDefault","_createElement","_utils","style","sstyled","insert","EXCLUDE_PROPS","Dots","props","_ref2","SDot","Element","styles","data","color","d3","x","y","eventEmitter","display","hide","rootRef","scale","_props$duration","duration","transparent","SDots","bisect","bisector","d","center","_useState","useState","_useState2","_slicedToArray2","activeIndex","setActiveIndex","handlerMouseMoveRoot","useCallback","trottle","e","_scale","xScale","_eventToPoint","eventToPoint","current","_eventToPoint2","pX","vX","invert","handlerMouseLeaveRoot","useEffect","unsubscribeMouseMoveRoot","subscribe","persist","unsubscribeMouseLeaveRoot","dots","reduce","acc","i","_ref","isPrev","defined","isNext","active","visible","push","createElement","cn","concat","_default","exports"],"sources":["../../src/Dots.jsx"],"sourcesContent":["import { bisector } from 'd3-array';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { sstyled } from '@semcore/core';\nimport trottle from '@semcore/utils/lib/rafTrottle';\nimport createElement from './createElement';\nimport { eventToPoint, invert } from './utils';\n\nimport style from './style/dot.shadow.css';\n\nconst EXCLUDE_PROPS = ['data', 'scale', 'value', 'display'];\n\nfunction Dots(props) {\n const {\n Element: SDot,\n styles,\n data,\n color,\n d3,\n x,\n y,\n eventEmitter,\n display,\n hide,\n rootRef,\n scale,\n duration = 500,\n transparent,\n } = props;\n const SDots = 'g';\n const bisect = bisector((d) => d[x]).center;\n const [activeIndex, setActiveIndex] = useState(null);\n\n const handlerMouseMoveRoot = useCallback(\n trottle((e) => {\n const [xScale] = scale;\n const [pX] = eventToPoint(e, rootRef.current);\n const vX = invert(xScale, pX);\n setActiveIndex(bisect(data, vX));\n }),\n [scale, data],\n );\n\n const handlerMouseLeaveRoot = useCallback(\n trottle(() => {\n setActiveIndex(null);\n }),\n [],\n );\n\n useEffect(() => {\n const unsubscribeMouseMoveRoot = eventEmitter.subscribe('onMouseMoveChart', (e) => {\n e.persist();\n handlerMouseMoveRoot(e);\n });\n\n const unsubscribeMouseLeaveRoot = eventEmitter.subscribe(\n 'onMouseLeaveChart',\n handlerMouseLeaveRoot,\n );\n\n return () => {\n unsubscribeMouseMoveRoot();\n unsubscribeMouseLeaveRoot();\n };\n }, [eventEmitter, scale, data, x, y]);\n\n const dots = data.reduce((acc, d, i) => {\n const isPrev = d3.defined()(data[i - 1] || {});\n const isNext = d3.defined()(data[i + 1] || {});\n const active = i === activeIndex;\n const visible = display || i === activeIndex || (!isPrev && !isNext);\n if (!d3.defined()(d)) return acc;\n if (!visible) return acc;\n acc.push(\n sstyled(styles)(\n <SDot\n aria-hidden\n key={`${i}`}\n render='circle'\n visible={visible}\n __excludeProps={EXCLUDE_PROPS}\n value={d}\n index={i}\n cx={d3.x()(d)}\n cy={d3.y()(d)}\n active={active}\n hide={hide}\n color={color}\n transparent={transparent}\n />,\n ),\n );\n return acc;\n }, []);\n return sstyled(styles)(<SDots use:duration={`${duration}ms`}>{dots}</SDots>);\n}\n\nDots.style = style;\n\nexport default createElement(Dots);\n"],"mappings":"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"}
|
package/lib/cjs/GroupBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupBar.js","names":["_react","_interopRequireDefault","require","_core","_getOriginChildren","_createElement","_Bar","_HorizontalBar","GroupBarRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getScaleGroup","_this$asProps","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","getBarProps","_ref","offset","width","groupKey","getHorizontalBarProps","_ref2","height","render","Element","dataHintsHandler","establishDataType","createElement","childrenPosition","Component","_defineProperty2","_default","exports"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman) ❤️\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render
|
|
1
|
+
{"version":3,"file":"GroupBar.js","names":["_react","_interopRequireDefault","require","_core","_getOriginChildren","_createElement","_Bar","_HorizontalBar","GroupBarRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getScaleGroup","_this$asProps","asProps","Children","scale","scaleGroup","x","xyScale","domain","React","toArray","getOriginChildren","reduce","acc","child","isValidElement","type","GroupBar","Bar","props","hide","push","y","HorizontalBar","copy","range","bandwidth","paddingInner","paddingOuter","getBarProps","_ref","offset","width","groupKey","getHorizontalBarProps","_ref2","height","render","Element","dataHintsHandler","establishDataType","createElement","childrenPosition","Component","_defineProperty2","_default","exports"],"sources":["../../src/GroupBar.jsx"],"sourcesContent":["import React from 'react';\nimport { Component } from '@semcore/core';\nimport getOriginChildren from '@semcore/utils/lib/getOriginChildren';\nimport createElement from './createElement';\nimport Bar from './Bar';\nimport HorizontalBar from './HorizontalBar';\n\nclass GroupBarRoot extends Component {\n static displayName = 'GroupBar';\n\n getScaleGroup() {\n const { Children, scale, scaleGroup, x } = this.asProps;\n // TODO: love that hack (by lsroman) ❤️\n const xyScale = x ? scale[0] : scale[1];\n\n if (scaleGroup) return scaleGroup;\n\n const domain = React.Children.toArray(getOriginChildren(Children)).reduce((acc, child) => {\n if (React.isValidElement(child) && child.type === GroupBar.Bar && !child.props.hide) {\n acc.push(child.props.y);\n }\n if (\n React.isValidElement(child) &&\n child.type === GroupBar.HorizontalBar &&\n !child.props.hide\n ) {\n acc.push(child.props.x);\n }\n return acc;\n }, []);\n\n return xyScale\n .copy()\n .range([0, xyScale.bandwidth()])\n .domain(domain)\n .paddingInner(xyScale.paddingOuter())\n .paddingOuter(0);\n }\n\n getBarProps({ y }) {\n const { x } = this.asProps;\n\n return {\n offset: [this.scaleGroup(y), 0],\n width: this.scaleGroup.bandwidth(),\n x,\n groupKey: x,\n };\n }\n\n getHorizontalBarProps({ x }) {\n const { y } = this.asProps;\n\n return {\n offset: [0, this.scaleGroup(x)],\n height: this.scaleGroup.bandwidth(),\n y,\n groupKey: y,\n };\n }\n\n render() {\n const Element = this.Element;\n this.scaleGroup = this.getScaleGroup();\n\n this.asProps.dataHintsHandler.establishDataType('grouped-values');\n\n return (\n <Element aria-hidden render='g' childrenPosition='inside' scaleGroup={this.scaleGroup} />\n );\n }\n}\n\nconst GroupBar = createElement(GroupBarRoot, {\n Bar,\n HorizontalBar,\n});\n\nexport default GroupBar;\n"],"mappings":"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"}
|
package/lib/cjs/HorizontalBar.js
CHANGED
|
@@ -18,14 +18,14 @@ var _createElement = _interopRequireDefault(require("./createElement"));
|
|
|
18
18
|
var _ClipPath = _interopRequireDefault(require("./ClipPath"));
|
|
19
19
|
var _utils = require("./utils");
|
|
20
20
|
/*__reshadow-styles__:"./style/bar.shadow.css"*/
|
|
21
|
-
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".
|
|
22
|
-
"__SBar": "
|
|
23
|
-
"--duration": "--
|
|
24
|
-
"_color": "
|
|
25
|
-
"--color": "--
|
|
26
|
-
"_hide": "
|
|
27
|
-
"_transparent": "
|
|
28
|
-
"__SBackground": "
|
|
21
|
+
var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SBar_1ecvr_gg_{fill:var(--intergalactic-chart-palette-order-1, #2bb3ff);transition-property:height,width,y;transition-duration:var(--duration_1ecvr);transition-timing-function:ease-in-out}.___SBar_1ecvr_gg_.__color_1ecvr_gg_{fill:var(--color_1ecvr)}.___SBar_1ecvr_gg_.__hide_1ecvr_gg_{display:none}.___SBar_1ecvr_gg_.__transparent_1ecvr_gg_{opacity:.3}.___SBackground_1ecvr_gg_{fill:var(--intergalactic-chart-palette-order-other-data, #c4c7cf)}" /*__inner_css_end__*/, "1ecvr_gg_") /*__reshadow_css_end__*/, {
|
|
22
|
+
"__SBar": "___SBar_1ecvr_gg_",
|
|
23
|
+
"--duration": "--duration_1ecvr",
|
|
24
|
+
"_color": "__color_1ecvr_gg_",
|
|
25
|
+
"--color": "--color_1ecvr",
|
|
26
|
+
"_hide": "__hide_1ecvr_gg_",
|
|
27
|
+
"_transparent": "__transparent_1ecvr_gg_",
|
|
28
|
+
"__SBackground": "___SBackground_1ecvr_gg_"
|
|
29
29
|
});
|
|
30
30
|
var MIN_WIDTH = 2;
|
|
31
31
|
exports.MIN_WIDTH = MIN_WIDTH;
|
|
@@ -102,10 +102,10 @@ var HorizontalBarRoot = /*#__PURE__*/function (_Component) {
|
|
|
102
102
|
return _ref = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBar, _ref.cn("SBar", {
|
|
103
103
|
"aria-hidden": true,
|
|
104
104
|
"key": "horizontal-bar-".concat(i),
|
|
105
|
-
"render":
|
|
105
|
+
"render": 'path',
|
|
106
106
|
"clipPath": "url(#".concat(uid, ")"),
|
|
107
107
|
"__excludeProps": ['data', 'scale', 'value', 'offset'],
|
|
108
|
-
"childrenPosition":
|
|
108
|
+
"childrenPosition": 'above',
|
|
109
109
|
"value": d,
|
|
110
110
|
"index": i,
|
|
111
111
|
"hide": hide,
|
|
@@ -166,8 +166,8 @@ function Background(props) {
|
|
|
166
166
|
var xRange = xScale.range();
|
|
167
167
|
return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SBackground, _ref2.cn("SBackground", {
|
|
168
168
|
"aria-hidden": true,
|
|
169
|
-
"render":
|
|
170
|
-
"childrenPosition":
|
|
169
|
+
"render": 'rect',
|
|
170
|
+
"childrenPosition": 'above',
|
|
171
171
|
"width": xRange[1] - xRange[0],
|
|
172
172
|
"height": yScale.bandwidth(),
|
|
173
173
|
"x": xRange[0],
|