@carbon/charts 0.41.61 → 0.41.62
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 +11 -15
- package/bundle.js +1 -1
- package/components/axes/axis.js +3 -3
- package/components/axes/axis.js.map +1 -1
- package/components/essentials/tooltip-axis.js +1 -1
- package/components/essentials/tooltip-axis.js.map +1 -1
- package/components/graphs/area-stacked.js +9 -6
- package/components/graphs/area-stacked.js.map +1 -1
- package/components/graphs/area.js +3 -1
- package/components/graphs/area.js.map +1 -1
- package/components/graphs/bar-simple.js +1 -1
- package/components/graphs/bar-simple.js.map +1 -1
- package/components/graphs/bar-stacked.js +1 -1
- package/components/graphs/bar-stacked.js.map +1 -1
- package/components/graphs/line.js +1 -1
- package/components/graphs/line.js.map +1 -1
- package/components/graphs/scatter-stacked.js +1 -1
- package/components/graphs/scatter-stacked.js.map +1 -1
- package/configuration-non-customizable.js +1 -1
- package/configuration-non-customizable.js.map +1 -1
- package/demo/styles.css +20 -0
- package/demo/styles.css.map +1 -1
- package/demo/styles.min.css +1 -1
- package/demo/styles.min.css.map +1 -1
- package/package.json +1 -1
- package/services/scales-cartesian.js +1 -1
- package/services/scales-cartesian.js.map +1 -1
- package/styles/components/_axis.scss +3 -1
- package/styles-g10.css +6 -0
- package/styles-g10.css.map +1 -1
- package/styles-g10.min.css +1 -1
- package/styles-g10.min.css.map +1 -1
- package/styles-g100.css +6 -0
- package/styles-g100.css.map +1 -1
- package/styles-g100.min.css +1 -1
- package/styles-g100.min.css.map +1 -1
- package/styles-g90.css +6 -0
- package/styles-g90.css.map +1 -1
- package/styles-g90.min.css +1 -1
- package/styles-g90.min.css.map +1 -1
- package/styles.css +6 -0
- package/styles.css.map +1 -1
- package/styles.min.css +1 -1
- package/styles.min.css.map +1 -1
- package/tsconfig.tsbuildinfo +10 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bar-stacked.js","sourceRoot":"","sources":["bar-stacked.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EACN,KAAK,EACL,MAAM,EACN,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,aAAa;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;IAAgC,8BAAG;IAAnC;QAAA,qEA+QC;QA9QA,UAAI,GAAG,aAAa,CAAC;QAmIrB,wDAAwD;QACxD,yBAAmB,GAAG,UAAC,KAAkB;YAChC,IAAA,4CAAc,CAAkB;YAEhC,IAAA,uDAAW,CAAkC;YAErD,KAAI,CAAC,MAAM;iBACT,SAAS,CAAC,UAAU,CAAC;iBACrB,UAAU,CACV,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAC3D;iBACA,IAAI,CAAC,SAAS,EAAE,UAAC,CAAC;gBAClB,OAAA,CAAC,CAAC,WAAW,CAAC,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAA3D,CAA2D,CAC3D,CAAC;QACJ,CAAC,CAAC;QAEF,4BAA4B;QAC5B,0BAAoB,GAAG,UAAC,KAAkB;YACzC,KAAI,CAAC,MAAM;iBACT,SAAS,CAAC,UAAU,CAAC;iBACrB,UAAU,CACV,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAC9D;iBACA,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC;;IAmHH,CAAC;IA5QA,yBAAI,GAAJ;QACC,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE5C,iDAAiD;QACjD,cAAc,CAAC,gBAAgB,CAC9B,MAAM,CAAC,MAAM,CAAC,UAAU,EACxB,IAAI,CAAC,mBAAmB,CACxB,CAAC;QAEF,gDAAgD;QAChD,cAAc,CAAC,gBAAgB,CAC9B,MAAM,CAAC,MAAM,CAAC,aAAa,EAC3B,IAAI,CAAC,oBAAoB,CACzB,CAAC;IACH,CAAC;IAED,2BAAM,GAAN,UAAO,OAAgB;QAAvB,iBA+GC;QA9GA,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,uDAAuD;QACvD,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,sCAAW,CAAkB;QAErC,+DAA+D;QAC/D,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAC3C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SAC3B,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAM,SAAS,GAAG,GAAG;aACnB,SAAS,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,SAAS,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAzC,CAAyC,CAAC,CAAC;QAEpE,yCAAyC;QACzC,iDAAiD;QACjD,0DAA0D;QAC1D,4BAA4B;QAC5B,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;QAE7C,4CAA4C;QAC5C,SAAS;aACP,KAAK,EAAE;aACP,MAAM,CAAC,GAAG,CAAC;aACX,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;aACrB,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;aACzB,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE5B,0BAA0B;QAC1B,IAAM,IAAI,GAAG,GAAG;aACd,SAAS,CAAC,QAAQ,CAAC;aACnB,SAAS,CAAC,UAAU,CAAC;aACrB,IAAI,CACJ,UAAC,CAAC,IAAK,OAAA,CAAC,EAAD,CAAC,EACR,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,cAAc,EAArB,CAAqB,CAC5B,CAAC;QAEH,sCAAsC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,EAAE;aACV,MAAM,CAAC,MAAM,CAAC;aACd,KAAK,CAAC,IAAI,CAAC;aACX,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;aACpB,UAAU,CACV,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,kBAAkB,EAClB,OAAO,CACP,CACD;aACA,IAAI,CAAC,OAAO,EAAE,UAAC,CAAC;YAChB,OAAA,KAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;gBAC5B,cAAc,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;gBAC1C,aAAa,EAAE,CAAC,CAAC,WAAW,CAAC;gBAC7B,iBAAiB,EAAE,KAAK;aACxB,CAAC;QAJF,CAIE,CACF;aACA,KAAK,CAAC,MAAM,EAAE,UAAC,CAAC,IAAK,OAAA,KAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAvC,CAAuC,CAAC;aAC7D,IAAI,CAAC,GAAG,EAAE,UAAC,CAAC,EAAE,CAAC;YACf,IAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;YAElC;;;;;eAKG;YACH,IAAM,QAAQ,GAAG,KAAI,CAAC,WAAW,EAAE,CAAC;YACpC,IAAM,EAAE,GACP,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpD,QAAQ,GAAG,CAAC,CAAC;YACd,IAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;YACzB,IAAM,EAAE,GAAG,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAChE,IAAI,EAAE,GAAG,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE9D,kDAAkD;YAClD,IAAI,KAAI,CAAC,qBAAqB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;gBACvC,OAAO;aACP;YACD,sBAAsB;YACtB,IACC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAC3C;gBACD,IACC,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE;oBAC9C,qBAAqB,CAAC,QAAQ,EAC7B;oBACD,EAAE,IAAI,CAAC,CAAC;iBACR;qBAAM;oBACN,EAAE,IAAI,CAAC,CAAC;iBACR;aACD;YAED,OAAO,KAAK,CAAC,qBAAqB,CACjC,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAAE,IAAA,EAAE,EAClB,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,cAAc,EAAE,CAC9C,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YACnB,OAAO;aACN,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,eAAe,CAAC;aACnC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC;aACnC,IAAI,CAAC,YAAY,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC;QAEzC,6CAA6C;QAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IA4BD,sCAAiB,GAAjB;QACC,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,sCAAW,CAAkB;QAErC,IAAM,IAAI,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM;aACT,SAAS,CAAC,UAAU,CAAC;aACrB,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK;;YAC/B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAExC,cAAc,CAAC,UAAU,CACxB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,CACtC,qCAAqC,CACrC,CACD,CAAC;YAEF,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;gBAC5D,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CAAC,CAAC;YAEH,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,CACnB,CAAC;YAEF,IAAI,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC;gBAC1C,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,CACzE,CAAC,CACD,CAAC;gBACF,IAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CACvE,CAAC,CACD,CAAC;gBACF,OAAO,CACN,CAAC,CAAC,eAAe,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC9C,CAAC,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE;wBAC7B,KAAK,CAAC,IAAI,CAAC,cAAc;oBAC1B,CAAC,CAAC,WAAW,CAAC,KAAK,KAAK,CAAC,KAAK,CAC9B,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,iBAAiB,KAAK,SAAS,EAAE;gBACpC,uCAAuC;gBACvC,IAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;gBAC7E,IAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,EAAE,CAAC;gBAC3E,iBAAiB;oBAChB,GAAC,gBAAgB,IAAG,KAAK,CAAC,IAAI,CAAC,cAAc;oBAC7C,GAAC,eAAe,IAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC1C,GAAC,WAAW,IAAG,KAAK,CAAC,KAAK;uBAC1B,CAAC;aACF;YAED,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvD,cAAc,gBAAA;gBACd,IAAI,EAAE,CAAC,iBAAiB,CAAC;aACzB,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,EAAE,CAAC,WAAW,EAAE,UAAU,KAAK;YAC/B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAEpC,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;gBAC5D,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC;aACD,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK;YAC3B,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;gBACxD,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;gBACrB,KAAK,OAAA;aACL,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK;YAC9B,IAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAEzC,uBAAuB;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE;gBAC3D,OAAO,EAAE,cAAc;gBACvB,KAAK,OAAA;aACL,CAAC,CAAC;YAEH,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;gBACvD,cAAc,gBAAA;aACd,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4BAAO,GAAP;QACC,yBAAyB;QACzB,IAAI,CAAC,MAAM;aACT,SAAS,CAAC,UAAU,CAAC;aACrB,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;aACrB,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;aACrB,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAEvB,0BAA0B;QAC1B,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,cAAc,CAAC,mBAAmB,CACjC,MAAM,CAAC,MAAM,CAAC,UAAU,EACxB,IAAI,CAAC,mBAAmB,CACxB,CAAC;QACF,cAAc,CAAC,mBAAmB,CACjC,MAAM,CAAC,MAAM,CAAC,aAAa,EAC3B,IAAI,CAAC,oBAAoB,CACzB,CAAC;IACH,CAAC;IACF,iBAAC;AAAD,CAAC,AA/QD,CAAgC,GAAG,GA+QlC","sourcesContent":["// Internal Imports\nimport { Tools } from '../../tools';\nimport { Bar } from './bar';\nimport {\n\tRoles,\n\tEvents,\n\tCartesianOrientations,\n\tColorClassNameTypes,\n} from '../../interfaces';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nexport class StackedBar extends Bar {\n\ttype = 'stacked-bar';\n\n\tinit() {\n\t\tconst eventsFragment = this.services.events;\n\n\t\t// Highlight correct circle on legend item hovers\n\t\teventsFragment.addEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\n\t\t// Un-highlight circles on legend item mouseouts\n\t\teventsFragment.addEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n\n\trender(animate: boolean) {\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\n\t\t// Chart options mixed with the internal configurations\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\t// Create the data and keys that'll be used by the stack layout\n\t\tconst stackData = this.model.getStackedData({\n\t\t\tgroups: this.configs.groups,\n\t\t});\n\n\t\t// Update data on all bar groups\n\t\tconst barGroups = svg\n\t\t\t.selectAll('g.bars')\n\t\t\t.data(stackData, (d) => (d.length > 0 ? d[0][groupMapsTo] : null));\n\n\t\t// Remove elements that need to be exited\n\t\t// We need exit at the top here to make sure that\n\t\t// Data filters are processed before entering new elements\n\t\t// Or updating existing ones\n\t\tbarGroups.exit().attr('opacity', 0).remove();\n\n\t\t// Add bar groups that need to be introduced\n\t\tbarGroups\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.classed('bars', true)\n\t\t\t.attr('role', Roles.GROUP)\n\t\t\t.attr('data-name', 'bars');\n\n\t\t// Update data on all bars\n\t\tconst bars = svg\n\t\t\t.selectAll('g.bars')\n\t\t\t.selectAll('path.bar')\n\t\t\t.data(\n\t\t\t\t(d) => d,\n\t\t\t\t(d) => d.data.sharedStackKey\n\t\t\t);\n\n\t\t// Remove bars that need to be removed\n\t\tbars.exit().remove();\n\n\t\tbars.enter()\n\t\t\t.append('path')\n\t\t\t.merge(bars)\n\t\t\t.classed('bar', true)\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'bar-update-enter',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('class', (d) =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.FILL],\n\t\t\t\t\tdataGroupName: d[groupMapsTo],\n\t\t\t\t\toriginalClassName: 'bar',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.style('fill', (d) => this.model.getFillColor(d[groupMapsTo]))\n\t\t\t.attr('d', (d, i) => {\n\t\t\t\tconst key = d.data.sharedStackKey;\n\n\t\t\t\t/*\n\t\t\t\t * Orientation support for horizontal/vertical bar charts\n\t\t\t\t * Determine coordinates needed for a vertical set of paths\n\t\t\t\t * to draw the bars needed, and pass those coordinates down to\n\t\t\t\t * generateSVGPathString() to decide whether it needs to flip them\n\t\t\t\t */\n\t\t\t\tconst barWidth = this.getBarWidth();\n\t\t\t\tconst x0 =\n\t\t\t\t\tthis.services.cartesianScales.getDomainValue(key, i) -\n\t\t\t\t\tbarWidth / 2;\n\t\t\t\tconst x1 = x0 + barWidth;\n\t\t\t\tconst y0 = this.services.cartesianScales.getRangeValue(d[0], i);\n\t\t\t\tlet y1 = this.services.cartesianScales.getRangeValue(d[1], i);\n\n\t\t\t\t// don't show if part of bar is out of zoom domain\n\t\t\t\tif (this.isOutsideZoomedDomain(x0, x1)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Add the divider gap\n\t\t\t\tif (\n\t\t\t\t\tMath.abs(y1 - y0) > 0 &&\n\t\t\t\t\tMath.abs(y1 - y0) > options.bars.dividerSize\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.services.cartesianScales.getOrientation() ===\n\t\t\t\t\t\tCartesianOrientations.VERTICAL\n\t\t\t\t\t) {\n\t\t\t\t\t\ty1 += 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty1 -= 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\tthis.services.cartesianScales.getOrientation()\n\t\t\t\t);\n\t\t\t})\n\t\t\t.attr('opacity', 1)\n\t\t\t// a11y\n\t\t\t.attr('role', Roles.GRAPHICS_SYMBOL)\n\t\t\t.attr('aria-roledescription', 'bar')\n\t\t\t.attr('aria-label', (d) => d[1] - d[0]);\n\n\t\t// Add event listeners for the above elements\n\t\tthis.addEventListeners();\n\t}\n\n\t// Highlight elements that match the hovered legend item\n\thandleLegendOnHover = (event: CustomEvent) => {\n\t\tconst { hoveredElement } = event.detail;\n\n\t\tconst { groupMapsTo } = this.model.getOptions().data;\n\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-hover-bar')\n\t\t\t)\n\t\t\t.attr('opacity', (d) =>\n\t\t\t\td[groupMapsTo] !== hoveredElement.datum()['name'] ? 0.3 : 1\n\t\t\t);\n\t};\n\n\t// Un-highlight all elements\n\thandleLegendMouseOut = (event: CustomEvent) => {\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-mouseout-bar')\n\t\t\t)\n\t\t\t.attr('opacity', 1);\n\t};\n\n\taddEventListeners() {\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst self = this;\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\thoveredElement.classed('hovered', true);\n\n\t\t\t\thoveredElement.transition(\n\t\t\t\t\tself.services.transitions.getTransition(\n\t\t\t\t\t\t'graph_element_mouseover_fill_update'\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_MOUSEOVER, {\n\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\tconst displayData = self.model.getDisplayData(\n\t\t\t\t\tself.configs.groups\n\t\t\t\t);\n\n\t\t\t\tlet matchingDataPoint = displayData.find((d) => {\n\t\t\t\t\tconst domainIdentifier = self.services.cartesianScales.getDomainIdentifier(\n\t\t\t\t\t\td\n\t\t\t\t\t);\n\t\t\t\t\tconst rangeIdentifier = self.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\t\td\n\t\t\t\t\t);\n\t\t\t\t\treturn (\n\t\t\t\t\t\td[rangeIdentifier] === datum.data[datum.group] &&\n\t\t\t\t\t\td[domainIdentifier].toString() ===\n\t\t\t\t\t\t\tdatum.data.sharedStackKey &&\n\t\t\t\t\t\td[groupMapsTo] === datum.group\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t\tif (matchingDataPoint === undefined) {\n\t\t\t\t\t// use the primary range and domain ids\n\t\t\t\t\tconst domainIdentifier = self.services.cartesianScales.getDomainIdentifier();\n\t\t\t\t\tconst rangeIdentifier = self.services.cartesianScales.getRangeIdentifier();\n\t\t\t\t\tmatchingDataPoint = {\n\t\t\t\t\t\t[domainIdentifier]: datum.data.sharedStackKey,\n\t\t\t\t\t\t[rangeIdentifier]: datum.data[datum.group],\n\t\t\t\t\t\t[groupMapsTo]: datum.group,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Show tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\thoveredElement,\n\t\t\t\t\tdata: [matchingDataPoint],\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mousemove', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_MOUSEMOVE, {\n\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE);\n\t\t\t})\n\t\t\t.on('click', function (datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_CLICK, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseout', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\thoveredElement.classed('hovered', false);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_MOUSEOUT, {\n\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\t// Hide tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE, {\n\t\t\t\t\thoveredElement,\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tdestroy() {\n\t\t// Remove event listeners\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.on('mouseover', null)\n\t\t\t.on('mousemove', null)\n\t\t\t.on('mouseout', null);\n\n\t\t// Remove legend listeners\n\t\tconst eventsFragment = this.services.events;\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bar-stacked.js","sourceRoot":"","sources":["bar-stacked.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Tools } from '../../tools';\nimport { Bar } from './bar';\nimport {\n\tRoles,\n\tEvents,\n\tCartesianOrientations,\n\tColorClassNameTypes,\n} from '../../interfaces';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nexport class StackedBar extends Bar {\n\ttype = 'stacked-bar';\n\n\tinit() {\n\t\tconst eventsFragment = this.services.events;\n\n\t\t// Highlight correct circle on legend item hovers\n\t\teventsFragment.addEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\n\t\t// Un-highlight circles on legend item mouseouts\n\t\teventsFragment.addEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n\n\trender(animate: boolean) {\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\n\t\t// Chart options mixed with the internal configurations\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\t// Create the data and keys that'll be used by the stack layout\n\t\tconst stackData = this.model.getStackedData({\n\t\t\tgroups: this.configs.groups,\n\t\t});\n\n\t\t// Update data on all bar groups\n\t\tconst barGroups = svg\n\t\t\t.selectAll('g.bars')\n\t\t\t.data(stackData, (d) => Tools.getProperty(d, 0, groupMapsTo));\n\n\t\t// Remove elements that need to be exited\n\t\t// We need exit at the top here to make sure that\n\t\t// Data filters are processed before entering new elements\n\t\t// Or updating existing ones\n\t\tbarGroups.exit().attr('opacity', 0).remove();\n\n\t\t// Add bar groups that need to be introduced\n\t\tbarGroups\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.classed('bars', true)\n\t\t\t.attr('role', Roles.GROUP)\n\t\t\t.attr('data-name', 'bars');\n\n\t\t// Update data on all bars\n\t\tconst bars = svg\n\t\t\t.selectAll('g.bars')\n\t\t\t.selectAll('path.bar')\n\t\t\t.data(\n\t\t\t\t(d) => d,\n\t\t\t\t(d) => d.data.sharedStackKey\n\t\t\t);\n\n\t\t// Remove bars that need to be removed\n\t\tbars.exit().remove();\n\n\t\tbars.enter()\n\t\t\t.append('path')\n\t\t\t.merge(bars)\n\t\t\t.classed('bar', true)\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'bar-update-enter',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('class', (d) =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.FILL],\n\t\t\t\t\tdataGroupName: d[groupMapsTo],\n\t\t\t\t\toriginalClassName: 'bar',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.style('fill', (d) => this.model.getFillColor(d[groupMapsTo]))\n\t\t\t.attr('d', (d, i) => {\n\t\t\t\tconst key = d.data.sharedStackKey;\n\n\t\t\t\t/*\n\t\t\t\t * Orientation support for horizontal/vertical bar charts\n\t\t\t\t * Determine coordinates needed for a vertical set of paths\n\t\t\t\t * to draw the bars needed, and pass those coordinates down to\n\t\t\t\t * generateSVGPathString() to decide whether it needs to flip them\n\t\t\t\t */\n\t\t\t\tconst barWidth = this.getBarWidth();\n\t\t\t\tconst x0 =\n\t\t\t\t\tthis.services.cartesianScales.getDomainValue(key, i) -\n\t\t\t\t\tbarWidth / 2;\n\t\t\t\tconst x1 = x0 + barWidth;\n\t\t\t\tconst y0 = this.services.cartesianScales.getRangeValue(d[0], i);\n\t\t\t\tlet y1 = this.services.cartesianScales.getRangeValue(d[1], i);\n\n\t\t\t\t// don't show if part of bar is out of zoom domain\n\t\t\t\tif (this.isOutsideZoomedDomain(x0, x1)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Add the divider gap\n\t\t\t\tif (\n\t\t\t\t\tMath.abs(y1 - y0) > 0 &&\n\t\t\t\t\tMath.abs(y1 - y0) > options.bars.dividerSize\n\t\t\t\t) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.services.cartesianScales.getOrientation() ===\n\t\t\t\t\t\tCartesianOrientations.VERTICAL\n\t\t\t\t\t) {\n\t\t\t\t\t\ty1 += 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\ty1 -= 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn Tools.generateSVGPathString(\n\t\t\t\t\t{ x0, x1, y0, y1 },\n\t\t\t\t\tthis.services.cartesianScales.getOrientation()\n\t\t\t\t);\n\t\t\t})\n\t\t\t.attr('opacity', 1)\n\t\t\t// a11y\n\t\t\t.attr('role', Roles.GRAPHICS_SYMBOL)\n\t\t\t.attr('aria-roledescription', 'bar')\n\t\t\t.attr('aria-label', (d) => d[1] - d[0]);\n\n\t\t// Add event listeners for the above elements\n\t\tthis.addEventListeners();\n\t}\n\n\t// Highlight elements that match the hovered legend item\n\thandleLegendOnHover = (event: CustomEvent) => {\n\t\tconst { hoveredElement } = event.detail;\n\n\t\tconst { groupMapsTo } = this.model.getOptions().data;\n\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-hover-bar')\n\t\t\t)\n\t\t\t.attr('opacity', (d) =>\n\t\t\t\td[groupMapsTo] !== hoveredElement.datum()['name'] ? 0.3 : 1\n\t\t\t);\n\t};\n\n\t// Un-highlight all elements\n\thandleLegendMouseOut = (event: CustomEvent) => {\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-mouseout-bar')\n\t\t\t)\n\t\t\t.attr('opacity', 1);\n\t};\n\n\taddEventListeners() {\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst self = this;\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.on('mouseover', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\thoveredElement.classed('hovered', true);\n\n\t\t\t\thoveredElement.transition(\n\t\t\t\t\tself.services.transitions.getTransition(\n\t\t\t\t\t\t'graph_element_mouseover_fill_update'\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_MOUSEOVER, {\n\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\tconst displayData = self.model.getDisplayData(\n\t\t\t\t\tself.configs.groups\n\t\t\t\t);\n\n\t\t\t\tlet matchingDataPoint = displayData.find((d) => {\n\t\t\t\t\tconst domainIdentifier = self.services.cartesianScales.getDomainIdentifier(\n\t\t\t\t\t\td\n\t\t\t\t\t);\n\t\t\t\t\tconst rangeIdentifier = self.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\t\td\n\t\t\t\t\t);\n\t\t\t\t\treturn (\n\t\t\t\t\t\td[rangeIdentifier] === datum.data[datum.group] &&\n\t\t\t\t\t\td[domainIdentifier].toString() ===\n\t\t\t\t\t\t\tdatum.data.sharedStackKey &&\n\t\t\t\t\t\td[groupMapsTo] === datum.group\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t\tif (matchingDataPoint === undefined) {\n\t\t\t\t\t// use the primary range and domain ids\n\t\t\t\t\tconst domainIdentifier = self.services.cartesianScales.getDomainIdentifier();\n\t\t\t\t\tconst rangeIdentifier = self.services.cartesianScales.getRangeIdentifier();\n\t\t\t\t\tmatchingDataPoint = {\n\t\t\t\t\t\t[domainIdentifier]: datum.data.sharedStackKey,\n\t\t\t\t\t\t[rangeIdentifier]: datum.data[datum.group],\n\t\t\t\t\t\t[groupMapsTo]: datum.group,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Show tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\thoveredElement,\n\t\t\t\t\tdata: [matchingDataPoint],\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mousemove', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_MOUSEMOVE, {\n\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.MOVE);\n\t\t\t})\n\t\t\t.on('click', function (datum) {\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_CLICK, {\n\t\t\t\t\telement: select(this),\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\t\t\t})\n\t\t\t.on('mouseout', function (datum) {\n\t\t\t\tconst hoveredElement = select(this);\n\t\t\t\thoveredElement.classed('hovered', false);\n\n\t\t\t\t// Dispatch mouse event\n\t\t\t\tself.services.events.dispatchEvent(Events.Bar.BAR_MOUSEOUT, {\n\t\t\t\t\telement: hoveredElement,\n\t\t\t\t\tdatum,\n\t\t\t\t});\n\n\t\t\t\t// Hide tooltip\n\t\t\t\tself.services.events.dispatchEvent(Events.Tooltip.HIDE, {\n\t\t\t\t\thoveredElement,\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tdestroy() {\n\t\t// Remove event listeners\n\t\tthis.parent\n\t\t\t.selectAll('path.bar')\n\t\t\t.on('mouseover', null)\n\t\t\t.on('mousemove', null)\n\t\t\t.on('mouseout', null);\n\n\t\t// Remove legend listeners\n\t\tconst eventsFragment = this.services.events;\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n}\n"]}
|
|
@@ -84,7 +84,7 @@ var Line = /** @class */ (function (_super) {
|
|
|
84
84
|
var domainIdentifier = _this.services.cartesianScales.getDomainIdentifier(d);
|
|
85
85
|
var rangeIdentifier = _this.services.cartesianScales.getRangeIdentifier(d);
|
|
86
86
|
return {
|
|
87
|
-
name: d
|
|
87
|
+
name: Tools.getProperty(d, 0, groupMapsTo_1),
|
|
88
88
|
data: d.map(function (datum) {
|
|
89
89
|
var _a;
|
|
90
90
|
return (_a = {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["line.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport * as Configuration from '../../configuration';\nimport { Roles, Events, ColorClassNameTypes } from '../../interfaces';\nimport { Tools } from '../../tools';\n\n// D3 Imports\nimport { line } from 'd3-shape';\n\nexport class Line extends Component {\n\ttype = 'line';\n\n\tinit() {\n\t\tconst { events } = this.services;\n\t\t// Highlight correct line legend item hovers\n\t\tevents.addEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\t\t// Un-highlight lines on legend item mouseouts\n\t\tevents.addEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n\n\trender(animate = true) {\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\t\tconst { cartesianScales, curves } = this.services;\n\n\t\tconst getDomainValue = (d, i) => cartesianScales.getDomainValue(d, i);\n\t\tconst getRangeValue = (d, i) => cartesianScales.getRangeValue(d, i);\n\t\tconst [\n\t\t\tgetXValue,\n\t\t\tgetYValue,\n\t\t] = Tools.flipDomainAndRangeBasedOnOrientation(\n\t\t\tgetDomainValue,\n\t\t\tgetRangeValue,\n\t\t\tcartesianScales.getOrientation()\n\t\t);\n\t\tconst options = this.getOptions();\n\n\t\t// D3 line generator function\n\t\tconst lineGenerator = line()\n\t\t\t.x(getXValue)\n\t\t\t.y(getYValue)\n\t\t\t.curve(curves.getD3Curve())\n\t\t\t.defined((datum: any, i) => {\n\t\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier(\n\t\t\t\t\tdatum\n\t\t\t\t);\n\t\t\t\tconst value = datum[rangeIdentifier];\n\t\t\t\tif (value === null || value === undefined) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tlet data = [];\n\t\tif (this.configs.stacked) {\n\t\t\tconst percentage = Object.keys(options.axes).some(\n\t\t\t\t(axis) => options.axes[axis].percentage\n\t\t\t);\n\t\t\tconst { groupMapsTo } = options.data;\n\t\t\tconst stackedData = this.model.getStackedData({\n\t\t\t\tgroups: this.configs.groups,\n\t\t\t\tpercentage,\n\t\t\t});\n\n\t\t\tdata = stackedData.map((d) => {\n\t\t\t\tconst domainIdentifier = this.services.cartesianScales.getDomainIdentifier(\n\t\t\t\t\td\n\t\t\t\t);\n\t\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\td\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tname: d[0][groupMapsTo],\n\t\t\t\t\tdata: d.map((datum) => ({\n\t\t\t\t\t\t[domainIdentifier]: datum.data.sharedStackKey,\n\t\t\t\t\t\t[groupMapsTo]: datum[groupMapsTo],\n\t\t\t\t\t\t[rangeIdentifier]: datum[1],\n\t\t\t\t\t})),\n\t\t\t\t\thidden: !Tools.some(d, (datum) => datum[0] !== datum[1]),\n\t\t\t\t};\n\t\t\t});\n\t\t} else {\n\t\t\tdata = this.model.getGroupedData(this.configs.groups);\n\t\t}\n\n\t\t// Update the bound data on lines\n\t\tconst lines = svg\n\t\t\t.selectAll('path.line')\n\t\t\t.data(data, (group) => group.name);\n\n\t\t// Remove elements that need to be exited\n\t\t// We need exit at the top here to make sure that\n\t\t// Data filters are processed before entering new elements\n\t\t// Or updating existing ones\n\t\tlines.exit().attr('opacity', 0).remove();\n\n\t\t// Add lines that need to be introduced\n\t\tconst enteringLines = lines\n\t\t\t.enter()\n\t\t\t.append('path')\n\t\t\t.classed('line', true)\n\t\t\t.attr('opacity', 0);\n\n\t\t// Apply styles and datum\n\t\tenteringLines\n\t\t\t.merge(lines)\n\t\t\t.data(data, (group) => group.name)\n\t\t\t.attr('class', (group) =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\tdataGroupName: group.name,\n\t\t\t\t\toriginalClassName: 'line',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.style('stroke', (group) => this.model.getStrokeColor(group.name))\n\t\t\t// a11y\n\t\t\t.attr('role', Roles.GRAPHICS_SYMBOL)\n\t\t\t.attr('aria-roledescription', 'line')\n\t\t\t.attr('aria-label', (group) => {\n\t\t\t\tconst { data: groupData } = group;\n\t\t\t\treturn groupData\n\t\t\t\t\t.map((datum) => {\n\t\t\t\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\t\t\tdatum\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn datum[rangeIdentifier];\n\t\t\t\t\t})\n\t\t\t\t\t.join(',');\n\t\t\t})\n\t\t\t// Transition\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'line-update-enter',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('opacity', (d) => (d.hidden ? 0 : 1))\n\t\t\t.attr('d', (group) => {\n\t\t\t\tconst { data: groupData } = group;\n\t\t\t\treturn lineGenerator(groupData);\n\t\t\t});\n\t}\n\n\thandleLegendOnHover = (event: CustomEvent) => {\n\t\tconst { hoveredElement } = event.detail;\n\n\t\tthis.parent\n\t\t\t.selectAll('path.line')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-hover-line')\n\t\t\t)\n\t\t\t.attr('opacity', (group) => {\n\t\t\t\tif (group.name !== hoveredElement.datum()['name']) {\n\t\t\t\t\treturn Configuration.lines.opacity.unselected;\n\t\t\t\t}\n\n\t\t\t\treturn Configuration.lines.opacity.selected;\n\t\t\t});\n\t};\n\n\thandleLegendMouseOut = (event: CustomEvent) => {\n\t\tthis.parent\n\t\t\t.selectAll('path.line')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-mouseout-line')\n\t\t\t)\n\t\t\t.attr('opacity', Configuration.lines.opacity.selected);\n\t};\n\n\tdestroy() {\n\t\t// Remove event listeners\n\t\tthis.parent\n\t\t\t.selectAll('path.line')\n\t\t\t.on('mousemove', null)\n\t\t\t.on('mouseout', null);\n\n\t\t// Remove legend listeners\n\t\tconst eventsFragment = this.services.events;\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["line.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from '../component';\nimport * as Configuration from '../../configuration';\nimport { Roles, Events, ColorClassNameTypes } from '../../interfaces';\nimport { Tools } from '../../tools';\n\n// D3 Imports\nimport { line } from 'd3-shape';\n\nexport class Line extends Component {\n\ttype = 'line';\n\n\tinit() {\n\t\tconst { events } = this.services;\n\t\t// Highlight correct line legend item hovers\n\t\tevents.addEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\t\t// Un-highlight lines on legend item mouseouts\n\t\tevents.addEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n\n\trender(animate = true) {\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\t\tconst { cartesianScales, curves } = this.services;\n\n\t\tconst getDomainValue = (d, i) => cartesianScales.getDomainValue(d, i);\n\t\tconst getRangeValue = (d, i) => cartesianScales.getRangeValue(d, i);\n\t\tconst [\n\t\t\tgetXValue,\n\t\t\tgetYValue,\n\t\t] = Tools.flipDomainAndRangeBasedOnOrientation(\n\t\t\tgetDomainValue,\n\t\t\tgetRangeValue,\n\t\t\tcartesianScales.getOrientation()\n\t\t);\n\t\tconst options = this.getOptions();\n\n\t\t// D3 line generator function\n\t\tconst lineGenerator = line()\n\t\t\t.x(getXValue)\n\t\t\t.y(getYValue)\n\t\t\t.curve(curves.getD3Curve())\n\t\t\t.defined((datum: any, i) => {\n\t\t\t\tconst rangeIdentifier = cartesianScales.getRangeIdentifier(\n\t\t\t\t\tdatum\n\t\t\t\t);\n\t\t\t\tconst value = datum[rangeIdentifier];\n\t\t\t\tif (value === null || value === undefined) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\n\t\tlet data = [];\n\t\tif (this.configs.stacked) {\n\t\t\tconst percentage = Object.keys(options.axes).some(\n\t\t\t\t(axis) => options.axes[axis].percentage\n\t\t\t);\n\t\t\tconst { groupMapsTo } = options.data;\n\t\t\tconst stackedData = this.model.getStackedData({\n\t\t\t\tgroups: this.configs.groups,\n\t\t\t\tpercentage,\n\t\t\t});\n\n\t\t\tdata = stackedData.map((d) => {\n\t\t\t\tconst domainIdentifier = this.services.cartesianScales.getDomainIdentifier(\n\t\t\t\t\td\n\t\t\t\t);\n\t\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\td\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tname: Tools.getProperty(d, 0, groupMapsTo),\n\t\t\t\t\tdata: d.map((datum) => ({\n\t\t\t\t\t\t[domainIdentifier]: datum.data.sharedStackKey,\n\t\t\t\t\t\t[groupMapsTo]: datum[groupMapsTo],\n\t\t\t\t\t\t[rangeIdentifier]: datum[1],\n\t\t\t\t\t})),\n\t\t\t\t\thidden: !Tools.some(d, (datum) => datum[0] !== datum[1]),\n\t\t\t\t};\n\t\t\t});\n\t\t} else {\n\t\t\tdata = this.model.getGroupedData(this.configs.groups);\n\t\t}\n\n\t\t// Update the bound data on lines\n\t\tconst lines = svg\n\t\t\t.selectAll('path.line')\n\t\t\t.data(data, (group) => group.name);\n\n\t\t// Remove elements that need to be exited\n\t\t// We need exit at the top here to make sure that\n\t\t// Data filters are processed before entering new elements\n\t\t// Or updating existing ones\n\t\tlines.exit().attr('opacity', 0).remove();\n\n\t\t// Add lines that need to be introduced\n\t\tconst enteringLines = lines\n\t\t\t.enter()\n\t\t\t.append('path')\n\t\t\t.classed('line', true)\n\t\t\t.attr('opacity', 0);\n\n\t\t// Apply styles and datum\n\t\tenteringLines\n\t\t\t.merge(lines)\n\t\t\t.data(data, (group) => group.name)\n\t\t\t.attr('class', (group) =>\n\t\t\t\tthis.model.getColorClassName({\n\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.STROKE],\n\t\t\t\t\tdataGroupName: group.name,\n\t\t\t\t\toriginalClassName: 'line',\n\t\t\t\t})\n\t\t\t)\n\t\t\t.style('stroke', (group) => this.model.getStrokeColor(group.name))\n\t\t\t// a11y\n\t\t\t.attr('role', Roles.GRAPHICS_SYMBOL)\n\t\t\t.attr('aria-roledescription', 'line')\n\t\t\t.attr('aria-label', (group) => {\n\t\t\t\tconst { data: groupData } = group;\n\t\t\t\treturn groupData\n\t\t\t\t\t.map((datum) => {\n\t\t\t\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\t\t\tdatum\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn datum[rangeIdentifier];\n\t\t\t\t\t})\n\t\t\t\t\t.join(',');\n\t\t\t})\n\t\t\t// Transition\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition(\n\t\t\t\t\t'line-update-enter',\n\t\t\t\t\tanimate\n\t\t\t\t)\n\t\t\t)\n\t\t\t.attr('opacity', (d) => (d.hidden ? 0 : 1))\n\t\t\t.attr('d', (group) => {\n\t\t\t\tconst { data: groupData } = group;\n\t\t\t\treturn lineGenerator(groupData);\n\t\t\t});\n\t}\n\n\thandleLegendOnHover = (event: CustomEvent) => {\n\t\tconst { hoveredElement } = event.detail;\n\n\t\tthis.parent\n\t\t\t.selectAll('path.line')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-hover-line')\n\t\t\t)\n\t\t\t.attr('opacity', (group) => {\n\t\t\t\tif (group.name !== hoveredElement.datum()['name']) {\n\t\t\t\t\treturn Configuration.lines.opacity.unselected;\n\t\t\t\t}\n\n\t\t\t\treturn Configuration.lines.opacity.selected;\n\t\t\t});\n\t};\n\n\thandleLegendMouseOut = (event: CustomEvent) => {\n\t\tthis.parent\n\t\t\t.selectAll('path.line')\n\t\t\t.transition(\n\t\t\t\tthis.services.transitions.getTransition('legend-mouseout-line')\n\t\t\t)\n\t\t\t.attr('opacity', Configuration.lines.opacity.selected);\n\t};\n\n\tdestroy() {\n\t\t// Remove event listeners\n\t\tthis.parent\n\t\t\t.selectAll('path.line')\n\t\t\t.on('mousemove', null)\n\t\t\t.on('mouseout', null);\n\n\t\t// Remove legend listeners\n\t\tconst eventsFragment = this.services.events;\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_HOVER,\n\t\t\tthis.handleLegendOnHover\n\t\t);\n\t\teventsFragment.removeEventListener(\n\t\t\tEvents.Legend.ITEM_MOUSEOUT,\n\t\t\tthis.handleLegendMouseOut\n\t\t);\n\t}\n}\n"]}
|
|
@@ -40,7 +40,7 @@ var StackedScatter = /** @class */ (function (_super) {
|
|
|
40
40
|
// Update data on dot groups
|
|
41
41
|
var circleGroups = svg
|
|
42
42
|
.selectAll('g.dots')
|
|
43
|
-
.data(stackedData, function (d) { return d
|
|
43
|
+
.data(stackedData, function (d) { return Tools.getProperty(d, 0, groupMapsTo); });
|
|
44
44
|
// Remove dot groups that need to be removed
|
|
45
45
|
circleGroups.exit().attr('opacity', 0).remove();
|
|
46
46
|
// Add the dot groups that need to be introduced
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scatter-stacked.js","sourceRoot":"","sources":["scatter-stacked.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC;IAAoC,kCAAO;IAA3C;QAAA,qEA2JC;QA1JA,UAAI,GAAG,iBAAiB,CAAC;;IA0J1B,CAAC;IAxJA,+BAAM,GAAN,UAAO,OAAgB;QAAvB,iBA0EC;QAzEA,IAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACzC,IAAI,CAAC,UAAU,EAAE,EACjB,QAAQ,EACR,SAAS,CACT,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE;YACtB,OAAO;SACP;QACD,qBAAqB;QACrB,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,IAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1B,IAAA,sCAAW,CAAkB;QAErC,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAChD,UAAC,IAAI,IAAK,OAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAA7B,CAA6B,CACvC,CAAC;QACF,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAC7C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;YAC3B,UAAU,YAAA;SACV,CAAC,CAAC;QAEH,4BAA4B;QAC5B,IAAM,YAAY,GAAG,GAAG;aACtB,SAAS,CAAC,QAAQ,CAAC;aACnB,IAAI,CAAC,WAAW,EAAE,UAAC,CAAC,IAAK,OAAA,
|
|
1
|
+
{"version":3,"file":"scatter-stacked.js","sourceRoot":"","sources":["scatter-stacked.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Scatter } from './scatter';\nimport { Roles } from '../../interfaces';\nimport { Tools } from '../../tools';\n\nexport class StackedScatter extends Scatter {\n\ttype = 'scatter-stacked';\n\n\trender(animate: boolean) {\n\t\tconst isScatterEnabled = Tools.getProperty(\n\t\t\tthis.getOptions(),\n\t\t\t'points',\n\t\t\t'enabled'\n\t\t);\n\t\tif (!isScatterEnabled) {\n\t\t\treturn;\n\t\t}\n\t\t// Grab container SVG\n\t\tconst svg = this.getContainerSVG({ withinChartClip: true });\n\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\n\t\tconst percentage = Object.keys(options.axes).some(\n\t\t\t(axis) => options.axes[axis].percentage\n\t\t);\n\t\tconst stackedData = this.model.getStackedData({\n\t\t\tgroups: this.configs.groups,\n\t\t\tpercentage,\n\t\t});\n\n\t\t// Update data on dot groups\n\t\tconst circleGroups = svg\n\t\t\t.selectAll('g.dots')\n\t\t\t.data(stackedData, (d) => Tools.getProperty(d, 0, groupMapsTo));\n\n\t\t// Remove dot groups that need to be removed\n\t\tcircleGroups.exit().attr('opacity', 0).remove();\n\n\t\t// Add the dot groups that need to be introduced\n\t\tconst circleGroupsEnter = circleGroups\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.classed('dots', true)\n\t\t\t.attr('role', Roles.GROUP);\n\n\t\t// Update data on all circles\n\t\tconst circles = circleGroupsEnter\n\t\t\t.merge(circleGroups)\n\t\t\t.selectAll('circle.dot')\n\t\t\t.data((d) => d);\n\n\t\t// Remove circles that need to be removed\n\t\tcircles.exit().attr('opacity', 0).remove();\n\n\t\t// Add the dot groups that need to be introduced\n\t\tconst enteringCircles = circles\n\t\t\t.enter()\n\t\t\t.append('circle')\n\t\t\t.classed('dot', true)\n\t\t\t.attr('opacity', 0);\n\n\t\t// Apply styling & position\n\t\tconst circlesToStyle = enteringCircles.merge(circles).datum((d) => {\n\t\t\tconst group = d[groupMapsTo];\n\t\t\tconst domainIdentifier = this.services.cartesianScales.getDomainIdentifier(\n\t\t\t\td\n\t\t\t);\n\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\td\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\t[groupMapsTo]: group,\n\t\t\t\t[domainIdentifier]: d['data']['sharedStackKey'],\n\t\t\t\t[rangeIdentifier]: d[1],\n\t\t\t};\n\t\t});\n\t\tthis.styleCircles(circlesToStyle, animate);\n\n\t\t// Add event listeners to elements drawn\n\t\tthis.addEventListeners();\n\t}\n\n\tgetTooltipData(hoveredX, hoveredY) {\n\t\tconst options = this.getOptions();\n\t\tconst { groupMapsTo } = options.data;\n\t\tconst percentage = Object.keys(options.axes).some(\n\t\t\t(axis) => options.axes[axis].percentage\n\t\t);\n\t\tconst stackedData = this.model.getStackedData({\n\t\t\tgroups: this.configs.groups,\n\t\t\tpercentage,\n\t\t});\n\t\tconst tooltipData = [];\n\t\tstackedData.forEach((groupData, groupDataIndex) => {\n\t\t\tgroupData.forEach((datum, dataIndex) => {\n\t\t\t\tconst group = datum[groupMapsTo];\n\t\t\t\tconst domainValue = datum['data']['sharedStackKey'];\n\t\t\t\tlet rangeValue = datum['data'][group];\n\t\t\t\tconst stackedRangeValue = datum[1];\n\t\t\t\tconst domainIdentifier = this.services.cartesianScales.getDomainIdentifier(\n\t\t\t\t\tdatum\n\t\t\t\t);\n\t\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\tdatum\n\t\t\t\t);\n\n\t\t\t\tif (\n\t\t\t\t\trangeValue !== null &&\n\t\t\t\t\trangeValue !== undefined &&\n\t\t\t\t\thoveredX ===\n\t\t\t\t\t\tthis.services.cartesianScales.getDomainValue(\n\t\t\t\t\t\t\tdomainValue\n\t\t\t\t\t\t) &&\n\t\t\t\t\thoveredY ===\n\t\t\t\t\t\tthis.services.cartesianScales.getRangeValue(\n\t\t\t\t\t\t\tstackedRangeValue\n\t\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tif (percentage) {\n\t\t\t\t\t\trangeValue = this.model.getStackedData({\n\t\t\t\t\t\t\tgroups: this.configs.groups,\n\t\t\t\t\t\t})[groupDataIndex][dataIndex]['data'][group];\n\t\t\t\t\t}\n\n\t\t\t\t\tif (rangeValue !== null) {\n\t\t\t\t\t\ttooltipData.push({\n\t\t\t\t\t\t\t[groupMapsTo]: group,\n\t\t\t\t\t\t\t[domainIdentifier]: domainValue,\n\t\t\t\t\t\t\t[rangeIdentifier]: rangeValue,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn this.model\n\t\t\t.getDisplayData(this.configs.groups)\n\t\t\t.filter((datapoint) => {\n\t\t\t\tconst domainIdentifier = this.services.cartesianScales.getDomainIdentifier(\n\t\t\t\t\tdatapoint\n\t\t\t\t);\n\t\t\t\tconst rangeIdentifier = this.services.cartesianScales.getRangeIdentifier(\n\t\t\t\t\tdatapoint\n\t\t\t\t);\n\t\t\t\treturn (\n\t\t\t\t\ttooltipData.find((tooltipDatapoint) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttooltipDatapoint[groupMapsTo] ==\n\t\t\t\t\t\t\t\tdatapoint[groupMapsTo] &&\n\t\t\t\t\t\t\ttooltipDatapoint[domainIdentifier] ==\n\t\t\t\t\t\t\t\tdatapoint[domainIdentifier] &&\n\t\t\t\t\t\t\ttooltipDatapoint[rangeIdentifier] ==\n\t\t\t\t\t\t\t\tdatapoint[rangeIdentifier]\n\t\t\t\t\t\t);\n\t\t\t\t\t}) !== undefined\n\t\t\t\t);\n\t\t\t});\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration-non-customizable.js","sourceRoot":"","sources":["configuration-non-customizable.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,IAAM,KAAK,GAAG;IACpB,cAAc,EAAE;QACf,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,CAAC;KACb;CACD,CAAC;AAEF,MAAM,CAAC,IAAM,IAAI,GAAG;IACnB,OAAO,EAAE;QACR,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"configuration-non-customizable.js","sourceRoot":"","sources":["configuration-non-customizable.ts"],"names":[],"mappings":"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","sourcesContent":["import { ZoomBarTypes } from './interfaces';\n\nexport const color = {\n\tpairingOptions: {\n\t\t'1-color': 4,\n\t\t'2-color': 5,\n\t\t'3-color': 5,\n\t\t'4-color': 3,\n\t\t'5-color': 2,\n\t\t'14-color': 1,\n\t},\n};\n\nexport const area = {\n\topacity: {\n\t\tunselected: 0.05,\n\t\tselected: 0.4,\n\t},\n};\n\nexport const axis = {\n\tticks: {\n\t\tnumber: 7,\n\t\trotateIfSmallerThan: 30,\n\t\tverticalSpaceRatio: 2.5,\n\t\thorizontalSpaceRatio: 3.5,\n\t},\n\tratio: {\n\t\treference: 'value',\n\t\tcompareTo: 'marker',\n\t},\n\tpaddingRatio: 0.1,\n};\n\nexport const boxplot = {\n\tcircle: {\n\t\tradius: 4,\n\t\topacity: {\n\t\t\thovered: 1,\n\t\t\tdefault: 0.3,\n\t\t},\n\t},\n\tbox: {\n\t\topacity: {\n\t\t\thovered: 0.5,\n\t\t\tdefault: 0.3,\n\t\t},\n\t},\n\tstrokeWidth: {\n\t\tdefault: 1,\n\t\tthicker: 2,\n\t},\n};\n\nexport const legend = {\n\titems: {\n\t\tstatus: {\n\t\t\tACTIVE: 1,\n\t\t\tDISABLED: 0,\n\t\t},\n\t\thorizontalSpace: 12,\n\t\tverticalSpace: 24,\n\t\ttextYOffset: 8,\n\t\tspaceAfter: 4,\n\t},\n\tcheckbox: {\n\t\tradius: 6.5,\n\t},\n\tradius: {\n\t\ticonData: [\n\t\t\t{ cx: 7, cy: 7, r: 6.5 },\n\t\t\t{ cx: 7, cy: 10, r: 3.5 },\n\t\t],\n\t\tfill: null,\n\t\tstroke: '#8c8c8c',\n\t},\n\tline: {\n\t\tyPosition: 6,\n\t\twidth: 24,\n\t\tstrokeWidth: 1.4,\n\t\tfill: null,\n\t\tstroke: '#999999',\n\t},\n\tarea: {\n\t\twidth: 24,\n\t\theight: 13,\n\t\tfill: '#6f6f6f',\n\t\tstroke: null,\n\t},\n\tsize: {\n\t\ticonData: [\n\t\t\t{ width: 23, height: 12 },\n\t\t\t{ width: 13, height: 6 },\n\t\t],\n\t\tfill: null,\n\t\tstroke: '#8D8D8D',\n\t},\n\tquartile: {\n\t\ticonData: [\n\t\t\t{ x: 0, y: 0, width: 24, height: 13 },\n\t\t\t{ x: 11, y: 4, width: 1, height: 4 },\n\t\t],\n\t},\n};\n\nexport const lines = {\n\topacity: {\n\t\tunselected: 0.3,\n\t\tselected: 1,\n\t},\n\tweight: {\n\t\tselected: 2,\n\t\tunselected: 1,\n\t},\n};\n\nexport const meter = {\n\tstatusBar: {\n\t\tpaddingRight: 5,\n\t},\n\tstatus: {\n\t\tindicatorSize: 16,\n\t\tpaddingLeft: 15,\n\t},\n};\n\nexport const pie = {\n\tradiusOffset: -15,\n\tinnerRadius: 2,\n\tpadAngle: 0.007,\n\thoverArc: {\n\t\touterRadiusOffset: 3,\n\t},\n\txOffset: 30,\n\tyOffset: 20,\n\tyOffsetCallout: 10,\n\tcallout: {\n\t\tminSliceDegree: 5,\n\t\toffsetX: 15,\n\t\toffsetY: 12,\n\t\thorizontalLineLength: 8,\n\t\ttextMargin: 2,\n\t},\n};\n\nexport const radar = {\n\topacity: {\n\t\tunselected: 0.1,\n\t\tselected: 0.3,\n\t},\n\txLabelPadding: 10,\n\tyLabelPadding: 8,\n\tyTicksNumber: 4,\n\tminRange: 10,\n\txAxisRectHeight: 50,\n\tdotsRadius: 5,\n};\n\nexport const spacers = {\n\tdefault: {\n\t\tsize: 24,\n\t},\n};\n\nexport const tooltips = {\n\thorizontalOffset: 10,\n};\n\n/**\n * Base transition configuration\n */\nexport const transitions = {\n\tdefault: {\n\t\tduration: 300,\n\t},\n\tpie_slice_mouseover: {\n\t\tduration: 100,\n\t},\n\tpie_chart_titles: {\n\t\tduration: 375,\n\t},\n\tgraph_element_mouseover_fill_update: {\n\t\tduration: 100,\n\t},\n\tgraph_element_mouseout_fill_update: {\n\t\tduration: 100,\n\t},\n};\n\nexport const toolbar = {\n\tbuttonSize: 32,\n\ticonSize: 20,\n\theight: 32,\n\tspacerHeight: 10,\n\ticonPadding: 6,\n};\n\nexport const zoomBar = {\n\theight: {\n\t\t[ZoomBarTypes.GRAPH_VIEW]: 32,\n\t\t[ZoomBarTypes.SLIDER_VIEW]: 10,\n\t},\n\tspacerHeight: 8,\n\thandleWidth: 5,\n\thandleBarWidth: 1,\n\thandleBarHeight: 12,\n};\n"]}
|
package/demo/styles.css
CHANGED
|
@@ -893,6 +893,11 @@ div.container.theme--white .bx--cc--axes g.axis g.tick line {
|
|
|
893
893
|
div.container.theme--white .bx--cc--axes g.axis path.domain {
|
|
894
894
|
stroke: #8d8d8d;
|
|
895
895
|
}
|
|
896
|
+
div.container.theme--white .bx--cc--axes g.axis .axis-title {
|
|
897
|
+
font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
|
|
898
|
+
font-weight: 600;
|
|
899
|
+
fill: #161616;
|
|
900
|
+
}
|
|
896
901
|
div.container.theme--white .bx--cc--chart-svg g.callouts {
|
|
897
902
|
stroke: #525252;
|
|
898
903
|
}
|
|
@@ -3503,6 +3508,11 @@ div.container.theme--g10 .bx--cc--axes g.axis g.tick line {
|
|
|
3503
3508
|
div.container.theme--g10 .bx--cc--axes g.axis path.domain {
|
|
3504
3509
|
stroke: #8d8d8d;
|
|
3505
3510
|
}
|
|
3511
|
+
div.container.theme--g10 .bx--cc--axes g.axis .axis-title {
|
|
3512
|
+
font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
|
|
3513
|
+
font-weight: 600;
|
|
3514
|
+
fill: #161616;
|
|
3515
|
+
}
|
|
3506
3516
|
div.container.theme--g10 .bx--cc--chart-svg g.callouts {
|
|
3507
3517
|
stroke: #525252;
|
|
3508
3518
|
}
|
|
@@ -5864,6 +5874,11 @@ div.container.theme--g90 .bx--cc--axes g.axis g.tick line {
|
|
|
5864
5874
|
div.container.theme--g90 .bx--cc--axes g.axis path.domain {
|
|
5865
5875
|
stroke: #8d8d8d;
|
|
5866
5876
|
}
|
|
5877
|
+
div.container.theme--g90 .bx--cc--axes g.axis .axis-title {
|
|
5878
|
+
font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
|
|
5879
|
+
font-weight: 600;
|
|
5880
|
+
fill: #f4f4f4;
|
|
5881
|
+
}
|
|
5867
5882
|
div.container.theme--g90 .bx--cc--chart-svg g.callouts {
|
|
5868
5883
|
stroke: #c6c6c6;
|
|
5869
5884
|
}
|
|
@@ -8176,6 +8191,11 @@ div.container.theme--g100 .bx--cc--axes g.axis g.tick line {
|
|
|
8176
8191
|
div.container.theme--g100 .bx--cc--axes g.axis path.domain {
|
|
8177
8192
|
stroke: #6f6f6f;
|
|
8178
8193
|
}
|
|
8194
|
+
div.container.theme--g100 .bx--cc--axes g.axis .axis-title {
|
|
8195
|
+
font-family: 'IBM Plex Sans', 'Helvetica Neue', Arial, sans-serif;
|
|
8196
|
+
font-weight: 600;
|
|
8197
|
+
fill: #f4f4f4;
|
|
8198
|
+
}
|
|
8179
8199
|
div.container.theme--g100 .bx--cc--chart-svg g.callouts {
|
|
8180
8200
|
stroke: #c6c6c6;
|
|
8181
8201
|
}
|