@carbon/charts 0.30.24 → 0.30.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/CHANGELOG.md +330 -1052
  2. package/README.md +3 -0
  3. package/axis-chart.js +8 -14
  4. package/axis-chart.js.map +1 -1
  5. package/build/demo/{data/create-codesandbox.d.ts → create-codesandbox.d.ts} +16 -13
  6. package/build/demo/data/bar.d.ts +1 -1
  7. package/build/demo/data/line.d.ts +1 -1
  8. package/build/src/interfaces/axis-scales.d.ts +11 -11
  9. package/build/src/interfaces/charts.d.ts +1 -0
  10. package/bundle.js +1 -1
  11. package/chart.js +15 -24
  12. package/chart.js.map +1 -1
  13. package/charts/bar-grouped.js +3 -1
  14. package/charts/bar-grouped.js.map +1 -1
  15. package/charts/bar-simple.js +3 -1
  16. package/charts/bar-simple.js.map +1 -1
  17. package/charts/bar-stacked.js +3 -1
  18. package/charts/bar-stacked.js.map +1 -1
  19. package/charts/bubble.js +3 -1
  20. package/charts/bubble.js.map +1 -1
  21. package/charts/donut.js +3 -1
  22. package/charts/donut.js.map +1 -1
  23. package/charts/line.js +3 -1
  24. package/charts/line.js.map +1 -1
  25. package/charts/pie.js +3 -1
  26. package/charts/pie.js.map +1 -1
  27. package/charts/radar.js +1 -3
  28. package/charts/radar.js.map +1 -1
  29. package/charts/scatter.js +3 -1
  30. package/charts/scatter.js.map +1 -1
  31. package/components/axes/axis.js +72 -33
  32. package/components/axes/axis.js.map +1 -1
  33. package/components/axes/grid.js +23 -18
  34. package/components/axes/grid.js.map +1 -1
  35. package/components/axes/ruler.js +7 -5
  36. package/components/axes/ruler.js.map +1 -1
  37. package/components/axes/two-dimensional-axes.js +5 -2
  38. package/components/axes/two-dimensional-axes.js.map +1 -1
  39. package/components/axes/zero-line.js +2 -1
  40. package/components/axes/zero-line.js.map +1 -1
  41. package/components/component.js +2 -4
  42. package/components/component.js.map +1 -1
  43. package/components/essentials/legend.js +46 -23
  44. package/components/essentials/legend.js.map +1 -1
  45. package/components/essentials/threshold.js +11 -5
  46. package/components/essentials/threshold.js.map +1 -1
  47. package/components/essentials/title.js +6 -4
  48. package/components/essentials/title.js.map +1 -1
  49. package/components/essentials/tooltip-bar.js +39 -20
  50. package/components/essentials/tooltip-bar.js.map +1 -1
  51. package/components/essentials/tooltip-pie.js +4 -3
  52. package/components/essentials/tooltip-pie.js.map +1 -1
  53. package/components/essentials/tooltip-radar.js +6 -3
  54. package/components/essentials/tooltip-radar.js.map +1 -1
  55. package/components/essentials/tooltip-scatter.js +3 -1
  56. package/components/essentials/tooltip-scatter.js.map +1 -1
  57. package/components/essentials/tooltip.js +35 -15
  58. package/components/essentials/tooltip.js.map +1 -1
  59. package/components/graphs/bar-grouped.js +46 -20
  60. package/components/graphs/bar-grouped.js.map +1 -1
  61. package/components/graphs/bar-simple.js +39 -19
  62. package/components/graphs/bar-simple.js.map +1 -1
  63. package/components/graphs/bar-stacked.js +50 -28
  64. package/components/graphs/bar-stacked.js.map +1 -1
  65. package/components/graphs/bar.js.map +1 -1
  66. package/components/graphs/bubble.js +22 -8
  67. package/components/graphs/bubble.js.map +1 -1
  68. package/components/graphs/donut.js +12 -4
  69. package/components/graphs/donut.js.map +1 -1
  70. package/components/graphs/line.js +14 -7
  71. package/components/graphs/line.js.map +1 -1
  72. package/components/graphs/pie.js +80 -44
  73. package/components/graphs/pie.js.map +1 -1
  74. package/components/graphs/radar.js +271 -140
  75. package/components/graphs/radar.js.map +1 -1
  76. package/components/graphs/scatter.js +54 -21
  77. package/components/graphs/scatter.js.map +1 -1
  78. package/components/graphs/skeleton.js +29 -14
  79. package/components/graphs/skeleton.js.map +1 -1
  80. package/components/layout/layout.js +38 -26
  81. package/components/layout/layout.js.map +1 -1
  82. package/components/layout/spacer.js +2 -1
  83. package/components/layout/spacer.js.map +1 -1
  84. package/configuration.js +15 -13
  85. package/configuration.js.map +1 -1
  86. package/demo/{data/create-codesandbox.d.ts → create-codesandbox.d.ts} +16 -13
  87. package/demo/{data/create-codesandbox.js → create-codesandbox.js} +24 -21
  88. package/demo/create-codesandbox.js.map +1 -0
  89. package/demo/data/bar.d.ts +1 -1
  90. package/demo/data/bar.js +1 -1
  91. package/demo/data/bar.js.map +1 -1
  92. package/demo/data/bubble.js +5 -3
  93. package/demo/data/bubble.js.map +1 -1
  94. package/demo/data/bundle.js +1 -1
  95. package/demo/data/index.js +12 -7
  96. package/demo/data/index.js.map +1 -1
  97. package/demo/data/line.d.ts +1 -1
  98. package/demo/data/line.js +2 -4
  99. package/demo/data/line.js.map +1 -1
  100. package/demo/data/radar.js.map +1 -1
  101. package/demo/data/time-series-axis.js +1 -3
  102. package/demo/data/time-series-axis.js.map +1 -1
  103. package/demo/styles.css +50 -18
  104. package/demo/styles.css.map +1 -1
  105. package/demo/styles.min.css +1 -1
  106. package/demo/styles.min.css.map +1 -1
  107. package/demo/tsconfig.tsbuildinfo +68 -68
  108. package/index.js.map +1 -1
  109. package/interfaces/axis-scales.d.ts +11 -11
  110. package/interfaces/axis-scales.js.map +1 -1
  111. package/interfaces/charts.d.ts +1 -0
  112. package/interfaces/charts.js.map +1 -1
  113. package/interfaces/components.js.map +1 -1
  114. package/interfaces/enums.js.map +1 -1
  115. package/model.js +27 -16
  116. package/model.js.map +1 -1
  117. package/package.json +4 -2
  118. package/polyfills.js +7 -2
  119. package/polyfills.js.map +1 -1
  120. package/services/angle-utils.js +34 -9
  121. package/services/angle-utils.js.map +1 -1
  122. package/services/colors.js.map +1 -1
  123. package/services/curves.js +4 -2
  124. package/services/curves.js.map +1 -1
  125. package/services/essentials/dom-utils.js +4 -3
  126. package/services/essentials/dom-utils.js.map +1 -1
  127. package/services/essentials/transitions.js +3 -4
  128. package/services/essentials/transitions.js.map +1 -1
  129. package/services/scales-cartesian.js +63 -23
  130. package/services/scales-cartesian.js.map +1 -1
  131. package/services/time-series.js +28 -12
  132. package/services/time-series.js.map +1 -1
  133. package/styles/components/_axis.scss +4 -0
  134. package/styles/components/_layout.scss +0 -1
  135. package/styles/components/_ruler.scss +5 -2
  136. package/styles/components/_skeleton.scss +2 -3
  137. package/styles/components/_threshold.scss +2 -2
  138. package/styles/components/_tooltip.scss +6 -5
  139. package/styles/graphs/_bubble.scss +1 -1
  140. package/styles/graphs/_radar.scss +4 -2
  141. package/styles/graphs/_scatter.scss +1 -1
  142. package/styles/mixins.scss +2 -2
  143. package/styles-g10.css +11 -4
  144. package/styles-g10.css.map +1 -1
  145. package/styles-g10.min.css +1 -1
  146. package/styles-g10.min.css.map +1 -1
  147. package/styles-g100.css +11 -4
  148. package/styles-g100.css.map +1 -1
  149. package/styles-g100.min.css +1 -1
  150. package/styles-g100.min.css.map +1 -1
  151. package/styles-g90.css +11 -4
  152. package/styles-g90.css.map +1 -1
  153. package/styles-g90.min.css +1 -1
  154. package/styles-g90.min.css.map +1 -1
  155. package/styles.css +11 -4
  156. package/styles.css.map +1 -1
  157. package/styles.min.css +1 -1
  158. package/styles.min.css.map +1 -1
  159. package/tools.js +19 -7
  160. package/tools.js.map +1 -1
  161. package/tsconfig.tsbuildinfo +56 -56
  162. package/demo/data/create-codesandbox.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["skeleton.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport { DOMUtils } from \"../../services\";\nimport { Tools } from \"../../tools\";\nimport { Skeletons, CartesianOrientations } from \"../../interfaces/enums\";\n\n// D3 Imports\nimport { scaleLinear } from \"d3-scale\";\nimport { easeLinear } from \"d3-ease\";\nimport { arc } from \"d3-shape\";\n\nexport class Skeleton extends Component {\n\ttype = \"skeleton\";\n\txScale: any;\n\tyScale: any;\n\tbackdrop: any;\n\n\trender() {\n\t\tconst svg = this.parent;\n\t\tconst parent = svg.node().parentNode;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(parent, { useAttrs: true });\n\t\tsvg.attr(\"width\", width).attr(\"height\", height);\n\n\t\tconst isDataEmpty = this.model.isDataEmpty();\n\t\tconst isDataLoading = Tools.getProperty(this.model.getOptions(), \"data\", \"loading\");\n\n\t\tif (isDataEmpty) {\n\t\t\tthis.renderSkeleton(isDataLoading);\n\t\t} else if (!isDataEmpty && isDataLoading) {\n\t\t\tthrow new Error(`Something went wrong. You can't provided non-empty data and data loading together.`);\n\t\t} else {\n\t\t\tthis.removeSkeleton();\n\t\t}\n\t}\n\n\trenderSkeleton(showShimmerEffect: boolean) {\n\t\tif (this.configs.skeleton === Skeletons.GRID) {\n\t\t\tthis.renderGridSkeleton(showShimmerEffect);\n\t\t} else if (this.configs.skeleton === Skeletons.VERT_OR_HORIZ) {\n\t\t\tthis.renderVertOrHorizSkeleton(showShimmerEffect);\n\t\t} else if (this.configs.skeleton === Skeletons.PIE) {\n\t\t\tthis.renderPieSkeleton(showShimmerEffect);\n\t\t} else if (this.configs.skeleton === Skeletons.DONUT) {\n\t\t\tthis.renderDonutSkeleton(showShimmerEffect);\n\t\t} else {\n\t\t\tthrow new Error(`\"${this.configs.skeleton}\" is not a valid Skeleton type.`);\n\t\t}\n\t}\n\n\trenderGridSkeleton(showShimmerEffect: boolean) {\n\t\tthis.setScales();\n\t\tthis.drawBackdrop(showShimmerEffect);\n\t\tthis.drawXGrid(showShimmerEffect);\n\t\tthis.drawYGrid(showShimmerEffect);\n\t\tif (showShimmerEffect) {\n\t\t\tthis.setShimmerEffect(\"shimmer-lines\");\n\t\t}\n\t}\n\n\trenderVertOrHorizSkeleton(showShimmerEffect: boolean) {\n\t\tconst orientation = this.services.cartesianScales.getOrientation();\n\t\tthis.setScales();\n\t\tthis.drawBackdrop(showShimmerEffect);\n\t\tif (orientation === CartesianOrientations.VERTICAL) {\n\t\t\tthis.drawYGrid(showShimmerEffect);\n\t\t}\n\t\tif (orientation === CartesianOrientations.HORIZONTAL) {\n\t\t\tthis.drawXGrid(showShimmerEffect);\n\t\t}\n\t\tthis.setShimmerEffect(\"shimmer-lines\");\n\t}\n\n\trenderPieSkeleton(showShimmerEffect: boolean) {\n\t\tconst outerRadius = this.computeOuterRadius();\n\t\tconst innerRadius = 0;\n\t\tthis.drawRing(outerRadius, innerRadius, showShimmerEffect);\n\t\tif (showShimmerEffect) {\n\t\t\tthis.setShimmerEffect(\"shimmer-areas\");\n\t\t}\n\t}\n\n\trenderDonutSkeleton(showShimmerEffect: boolean) {\n\t\tconst outerRadius = this.computeOuterRadius();\n\t\tconst innerRadius = this.computeInnerRadius();\n\t\tthis.drawRing(outerRadius, innerRadius, showShimmerEffect);\n\t\tif (showShimmerEffect) {\n\t\t\tthis.setShimmerEffect(\"shimmer-areas\");\n\t\t}\n\t}\n\n\tsetScales() {\n\t\tconst xRange = this.services.cartesianScales.getMainXScale().range();\n\t\tconst yRange = this.services.cartesianScales.getMainYScale().range();\n\t\tthis.xScale = scaleLinear().domain([0, 1]).range(xRange);\n\t\tthis.yScale = scaleLinear().domain([0, 1]).range(yRange);\n\t}\n\n\tdrawBackdrop(showShimmerEffect: boolean) {\n\t\tconst svg = this.parent;\n\t\tconst parent = svg.node().parentNode;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(parent, { useAttrs: true });\n\n\t\tthis.backdrop = DOMUtils.appendOrSelect(svg, \"svg.chart-skeleton.DAII\").attr(\"width\", width).attr(\"height\", height);\n\n\t\tconst backdropRect = DOMUtils.appendOrSelect(this.backdrop, \"rect.chart-skeleton-backdrop\");\n\t\tbackdropRect\n\t\t\t.attr(\"width\", \"100%\")\n\t\t\t.attr(\"height\", \"100%\");\n\n\t\tconst [xScaleStart, xScaleEnd] = this.xScale.range();\n\t\tconst [yScaleEnd, yScaleStart] = this.yScale.range();\n\n\t\tthis.backdrop\n\t\t\t.merge(backdropRect)\n\t\t\t.attr(\"x\", xScaleStart)\n\t\t\t.attr(\"y\", yScaleStart);\n\n\t\tbackdropRect\n\t\t\t.classed(\"shimmer-effect-lines\", showShimmerEffect)\n\t\t\t.classed(\"empty-state-lines\", !showShimmerEffect);\n\t}\n\n\tdrawXGrid(showShimmerEffect: boolean) {\n\t\tconst height = this.backdrop.attr(\"height\");\n\t\tconst width = this.backdrop.attr(\"width\");\n\t\tconst ticksNumber = Tools.getProperty(this.model.getOptions(), \"grid\", \"x\", \"numberOfTicks\");\n\t\tconst ticksValues = this.xScale.ticks(ticksNumber).map(d => d * width);\n\n\t\tconst xGridG = DOMUtils.appendOrSelect(this.backdrop, \"g.x.skeleton\");\n\t\tconst update = xGridG.selectAll(\"line\").data(ticksValues);\n\t\tupdate.enter()\n\t\t\t.append(\"line\")\n\t\t\t.merge(update)\n\t\t\t.attr(\"x1\", d => d)\n\t\t\t.attr(\"x2\", d => d)\n\t\t\t.attr(\"y1\", 0)\n\t\t\t.attr(\"y2\", height);\n\n\t\txGridG.selectAll(\"line\")\n\t\t\t.classed(\"shimmer-effect-lines\", showShimmerEffect)\n\t\t\t.classed(\"empty-state-lines\", !showShimmerEffect);\n\t}\n\n\tdrawYGrid(showShimmerEffect: boolean) {\n\t\tconst height = this.backdrop.attr(\"height\");\n\t\tconst width = this.backdrop.attr(\"width\");\n\t\tconst ticksNumber = Tools.getProperty(this.model.getOptions(), \"grid\", \"y\", \"numberOfTicks\");\n\t\tconst ticksValues = this.xScale.ticks(ticksNumber).map(d => d * height);\n\n\t\tconst yGridG = DOMUtils.appendOrSelect(this.backdrop, \"g.y.skeleton\");\n\t\tconst update = yGridG.selectAll(\"line\").data(ticksValues);\n\t\tupdate.enter()\n\t\t\t.append(\"line\")\n\t\t\t.merge(update)\n\t\t\t.attr(\"x1\", 0)\n\t\t\t.attr(\"x2\", width)\n\t\t\t.attr(\"y1\", d => d)\n\t\t\t.attr(\"y2\", d => d);\n\n\t\tyGridG.selectAll(\"line\")\n\t\t\t.classed(\"shimmer-effect-lines\", showShimmerEffect)\n\t\t\t.classed(\"empty-state-lines\", !showShimmerEffect);\n\t}\n\n\tdrawRing(outerRadius: number, innerRadius: number, shimmer = true) {\n\t\tconst svg = this.parent;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(svg.node().parentNode, { useAttrs: true });\n\n\t\tconst container = DOMUtils.appendOrSelect(svg, \"svg.chart-skeleton\")\n\t\t\t.attr(\"width\", width)\n\t\t\t.attr(\"height\", height);\n\t\tconst options = this.model.getOptions().pie;\n\n\t\tconst skeletonAreaContainer = DOMUtils.appendOrSelect(container, \"rect.chart-skeleton-area-container\")\n\t\t\t.attr(\"width\", width)\n\t\t\t.attr(\"height\", height)\n\t\t\t.attr(\"fill\", \"none\");\n\n\t\tconst arcPathGenerator = arc()\n\t\t\t.innerRadius(innerRadius)\n\t\t\t.outerRadius(outerRadius)\n\t\t\t.startAngle(0)\n\t\t\t.endAngle(Math.PI * 2);\n\n\t\t// centering circle inside the container\n\t\tconst tcx = outerRadius + Math.abs(options.radiusOffset);\n\t\tconst tcy = outerRadius + (Math.min(width, height) - outerRadius * 2) / 2;\n\n\t\tDOMUtils.appendOrSelect(container, \"path\")\n\t\t\t.attr(\"class\", \"skeleton-area-shape\")\n\t\t\t.attr(\"transform\", `translate(${tcx}, ${tcy})`)\n\t\t\t.attr(\"d\", arcPathGenerator)\n\t\t\t.classed(\"shimmer-effect-areas\", shimmer)\n\t\t\t.classed(\"empty-state-areas\", !shimmer);\n\t}\n\n\t// same logic in pie\n\tcomputeOuterRadius() {\n\t\tconst options = this.model.getOptions();\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(this.parent.node().parentNode, { useAttrs: true });\n\t\tconst radius = Math.min(width, height) / 2;\n\t\treturn radius + options.pie.radiusOffset;\n\t}\n\n\t// same logic in donut\n\tcomputeInnerRadius() {\n\t\treturn this.computeOuterRadius() * (3 / 4);\n\t}\n\n\tsetShimmerEffect(gradientId: string) {\n\t\tconst animationDuration = 2000; // ms\n\t\tconst delay = 1000; // ms\n\t\tconst shimmerWidth = 0.2;\n\t\tconst stopBgShimmerClass = \"stop-bg-shimmer\";\n\t\tconst stopShimmerClass = \"stop-shimmer\";\n\t\tconst container = this.parent.select(\".chart-skeleton\");\n\t\tconst { width } = DOMUtils.getSVGElementSize(this.parent, { useAttrs: true });\n\t\tconst startPoint = 0;\n\t\tconst endPoint = width;\n\n\t\t// append the defs as first child of container\n\t\tconst defs = DOMUtils.appendOrSelect(container, \"defs\").lower();\n\t\tconst linearGradient = DOMUtils.appendOrSelect(defs, \"linearGradient\")\n\t\t\t.attr(\"id\", gradientId)\n\t\t\t.attr(\"x1\", startPoint - 3 * shimmerWidth * width)\n\t\t\t.attr(\"x2\", endPoint)\n\t\t\t.attr(\"y1\", 0)\n\t\t\t.attr(\"y2\", 0)\n\t\t\t.attr(\"gradientUnits\", \"userSpaceOnUse\")\n\t\t\t.attr(\"gradientTransform\", `translate(0, 0)`);\n\t\tconst stops = `\n\t\t\t<stop class=\"${stopBgShimmerClass}\" offset=\"${startPoint}\"></stop>\n\t\t\t<stop class=\"${stopShimmerClass}\" offset=\"${startPoint + shimmerWidth}\"></stop>\n\t\t\t<stop class=\"${stopBgShimmerClass}\" offset=\"${startPoint + 2 * shimmerWidth}\"></stop>\n\t\t`;\n\t\tlinearGradient.html(stops);\n\n\t\trepeat();\n\t\tfunction repeat() {\n\t\t\tlinearGradient\n\t\t\t\t.attr(\"gradientTransform\", `translate(${startPoint - 3 * shimmerWidth * width}, 0)`)\n\t\t\t\t.transition()\n\t\t\t\t.duration(animationDuration)\n\t\t\t\t.delay(delay)\n\t\t\t\t.ease(easeLinear)\n\t\t\t\t.attr(\"gradientTransform\", `translate(${endPoint + 3 * shimmerWidth * width}, 0)`)\n\t\t\t\t.on(\"end\", repeat);\n\t\t}\n\t}\n\n\tremoveSkeleton() {\n\t\tconst container = this.parent.select(\".chart-skeleton\");\n\t\tcontainer.remove();\n\t}\n}\n"]}
1
+ {"version":3,"file":"skeleton.js","sourceRoot":"","sources":["skeleton.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport { DOMUtils } from \"../../services\";\nimport { Tools } from \"../../tools\";\nimport { Skeletons, CartesianOrientations } from \"../../interfaces/enums\";\n\n// D3 Imports\nimport { scaleLinear } from \"d3-scale\";\nimport { easeLinear } from \"d3-ease\";\nimport { arc } from \"d3-shape\";\n\nexport class Skeleton extends Component {\n\ttype = \"skeleton\";\n\txScale: any;\n\tyScale: any;\n\tbackdrop: any;\n\n\trender() {\n\t\tconst svg = this.parent;\n\t\tconst parent = svg.node().parentNode;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(parent, {\n\t\t\tuseAttrs: true\n\t\t});\n\t\tsvg.attr(\"width\", width).attr(\"height\", height);\n\n\t\tconst isDataEmpty = this.model.isDataEmpty();\n\t\tconst isDataLoading = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t\"data\",\n\t\t\t\"loading\"\n\t\t);\n\n\t\tif (isDataEmpty) {\n\t\t\tthis.renderSkeleton(isDataLoading);\n\t\t} else if (!isDataEmpty && isDataLoading) {\n\t\t\tthrow new Error(\n\t\t\t\t`Something went wrong. You can't provided non-empty data and data loading together.`\n\t\t\t);\n\t\t} else {\n\t\t\tthis.removeSkeleton();\n\t\t}\n\t}\n\n\trenderSkeleton(showShimmerEffect: boolean) {\n\t\tif (this.configs.skeleton === Skeletons.GRID) {\n\t\t\tthis.renderGridSkeleton(showShimmerEffect);\n\t\t} else if (this.configs.skeleton === Skeletons.VERT_OR_HORIZ) {\n\t\t\tthis.renderVertOrHorizSkeleton(showShimmerEffect);\n\t\t} else if (this.configs.skeleton === Skeletons.PIE) {\n\t\t\tthis.renderPieSkeleton(showShimmerEffect);\n\t\t} else if (this.configs.skeleton === Skeletons.DONUT) {\n\t\t\tthis.renderDonutSkeleton(showShimmerEffect);\n\t\t} else {\n\t\t\tthrow new Error(\n\t\t\t\t`\"${this.configs.skeleton}\" is not a valid Skeleton type.`\n\t\t\t);\n\t\t}\n\t}\n\n\trenderGridSkeleton(showShimmerEffect: boolean) {\n\t\tthis.setScales();\n\t\tthis.drawBackdrop(showShimmerEffect);\n\t\tthis.drawXGrid(showShimmerEffect);\n\t\tthis.drawYGrid(showShimmerEffect);\n\t\tif (showShimmerEffect) {\n\t\t\tthis.setShimmerEffect(\"shimmer-lines\");\n\t\t}\n\t}\n\n\trenderVertOrHorizSkeleton(showShimmerEffect: boolean) {\n\t\tconst orientation = this.services.cartesianScales.getOrientation();\n\t\tthis.setScales();\n\t\tthis.drawBackdrop(showShimmerEffect);\n\t\tif (orientation === CartesianOrientations.VERTICAL) {\n\t\t\tthis.drawYGrid(showShimmerEffect);\n\t\t}\n\t\tif (orientation === CartesianOrientations.HORIZONTAL) {\n\t\t\tthis.drawXGrid(showShimmerEffect);\n\t\t}\n\t\tthis.setShimmerEffect(\"shimmer-lines\");\n\t}\n\n\trenderPieSkeleton(showShimmerEffect: boolean) {\n\t\tconst outerRadius = this.computeOuterRadius();\n\t\tconst innerRadius = 0;\n\t\tthis.drawRing(outerRadius, innerRadius, showShimmerEffect);\n\t\tif (showShimmerEffect) {\n\t\t\tthis.setShimmerEffect(\"shimmer-areas\");\n\t\t}\n\t}\n\n\trenderDonutSkeleton(showShimmerEffect: boolean) {\n\t\tconst outerRadius = this.computeOuterRadius();\n\t\tconst innerRadius = this.computeInnerRadius();\n\t\tthis.drawRing(outerRadius, innerRadius, showShimmerEffect);\n\t\tif (showShimmerEffect) {\n\t\t\tthis.setShimmerEffect(\"shimmer-areas\");\n\t\t}\n\t}\n\n\tsetScales() {\n\t\tconst xRange = this.services.cartesianScales.getMainXScale().range();\n\t\tconst yRange = this.services.cartesianScales.getMainYScale().range();\n\t\tthis.xScale = scaleLinear()\n\t\t\t.domain([0, 1])\n\t\t\t.range(xRange);\n\t\tthis.yScale = scaleLinear()\n\t\t\t.domain([0, 1])\n\t\t\t.range(yRange);\n\t}\n\n\tdrawBackdrop(showShimmerEffect: boolean) {\n\t\tconst svg = this.parent;\n\t\tconst parent = svg.node().parentNode;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(parent, {\n\t\t\tuseAttrs: true\n\t\t});\n\n\t\tthis.backdrop = DOMUtils.appendOrSelect(svg, \"svg.chart-skeleton.DAII\")\n\t\t\t.attr(\"width\", width)\n\t\t\t.attr(\"height\", height);\n\n\t\tconst backdropRect = DOMUtils.appendOrSelect(\n\t\t\tthis.backdrop,\n\t\t\t\"rect.chart-skeleton-backdrop\"\n\t\t);\n\t\tbackdropRect.attr(\"width\", \"100%\").attr(\"height\", \"100%\");\n\n\t\tconst [xScaleStart, xScaleEnd] = this.xScale.range();\n\t\tconst [yScaleEnd, yScaleStart] = this.yScale.range();\n\n\t\tthis.backdrop\n\t\t\t.merge(backdropRect)\n\t\t\t.attr(\"x\", xScaleStart)\n\t\t\t.attr(\"y\", yScaleStart);\n\n\t\tbackdropRect\n\t\t\t.classed(\"shimmer-effect-lines\", showShimmerEffect)\n\t\t\t.classed(\"empty-state-lines\", !showShimmerEffect);\n\t}\n\n\tdrawXGrid(showShimmerEffect: boolean) {\n\t\tconst height = this.backdrop.attr(\"height\");\n\t\tconst width = this.backdrop.attr(\"width\");\n\t\tconst ticksNumber = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t\"grid\",\n\t\t\t\"x\",\n\t\t\t\"numberOfTicks\"\n\t\t);\n\t\tconst ticksValues = this.xScale.ticks(ticksNumber).map(d => d * width);\n\n\t\tconst xGridG = DOMUtils.appendOrSelect(this.backdrop, \"g.x.skeleton\");\n\t\tconst update = xGridG.selectAll(\"line\").data(ticksValues);\n\t\tupdate\n\t\t\t.enter()\n\t\t\t.append(\"line\")\n\t\t\t.merge(update)\n\t\t\t.attr(\"x1\", d => d)\n\t\t\t.attr(\"x2\", d => d)\n\t\t\t.attr(\"y1\", 0)\n\t\t\t.attr(\"y2\", height);\n\n\t\txGridG\n\t\t\t.selectAll(\"line\")\n\t\t\t.classed(\"shimmer-effect-lines\", showShimmerEffect)\n\t\t\t.classed(\"empty-state-lines\", !showShimmerEffect);\n\t}\n\n\tdrawYGrid(showShimmerEffect: boolean) {\n\t\tconst height = this.backdrop.attr(\"height\");\n\t\tconst width = this.backdrop.attr(\"width\");\n\t\tconst ticksNumber = Tools.getProperty(\n\t\t\tthis.model.getOptions(),\n\t\t\t\"grid\",\n\t\t\t\"y\",\n\t\t\t\"numberOfTicks\"\n\t\t);\n\t\tconst ticksValues = this.xScale.ticks(ticksNumber).map(d => d * height);\n\n\t\tconst yGridG = DOMUtils.appendOrSelect(this.backdrop, \"g.y.skeleton\");\n\t\tconst update = yGridG.selectAll(\"line\").data(ticksValues);\n\t\tupdate\n\t\t\t.enter()\n\t\t\t.append(\"line\")\n\t\t\t.merge(update)\n\t\t\t.attr(\"x1\", 0)\n\t\t\t.attr(\"x2\", width)\n\t\t\t.attr(\"y1\", d => d)\n\t\t\t.attr(\"y2\", d => d);\n\n\t\tyGridG\n\t\t\t.selectAll(\"line\")\n\t\t\t.classed(\"shimmer-effect-lines\", showShimmerEffect)\n\t\t\t.classed(\"empty-state-lines\", !showShimmerEffect);\n\t}\n\n\tdrawRing(outerRadius: number, innerRadius: number, shimmer = true) {\n\t\tconst svg = this.parent;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(\n\t\t\tsvg.node().parentNode,\n\t\t\t{ useAttrs: true }\n\t\t);\n\n\t\tconst container = DOMUtils.appendOrSelect(svg, \"svg.chart-skeleton\")\n\t\t\t.attr(\"width\", width)\n\t\t\t.attr(\"height\", height);\n\t\tconst options = this.model.getOptions().pie;\n\n\t\tconst skeletonAreaContainer = DOMUtils.appendOrSelect(\n\t\t\tcontainer,\n\t\t\t\"rect.chart-skeleton-area-container\"\n\t\t)\n\t\t\t.attr(\"width\", width)\n\t\t\t.attr(\"height\", height)\n\t\t\t.attr(\"fill\", \"none\");\n\n\t\tconst arcPathGenerator = arc()\n\t\t\t.innerRadius(innerRadius)\n\t\t\t.outerRadius(outerRadius)\n\t\t\t.startAngle(0)\n\t\t\t.endAngle(Math.PI * 2);\n\n\t\t// centering circle inside the container\n\t\tconst tcx = outerRadius + Math.abs(options.radiusOffset);\n\t\tconst tcy =\n\t\t\touterRadius + (Math.min(width, height) - outerRadius * 2) / 2;\n\n\t\tDOMUtils.appendOrSelect(container, \"path\")\n\t\t\t.attr(\"class\", \"skeleton-area-shape\")\n\t\t\t.attr(\"transform\", `translate(${tcx}, ${tcy})`)\n\t\t\t.attr(\"d\", arcPathGenerator)\n\t\t\t.classed(\"shimmer-effect-areas\", shimmer)\n\t\t\t.classed(\"empty-state-areas\", !shimmer);\n\t}\n\n\t// same logic in pie\n\tcomputeOuterRadius() {\n\t\tconst options = this.model.getOptions();\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(\n\t\t\tthis.parent.node().parentNode,\n\t\t\t{ useAttrs: true }\n\t\t);\n\t\tconst radius = Math.min(width, height) / 2;\n\t\treturn radius + options.pie.radiusOffset;\n\t}\n\n\t// same logic in donut\n\tcomputeInnerRadius() {\n\t\treturn this.computeOuterRadius() * (3 / 4);\n\t}\n\n\tsetShimmerEffect(gradientId: string) {\n\t\tconst animationDuration = 2000; // ms\n\t\tconst delay = 1000; // ms\n\t\tconst shimmerWidth = 0.2;\n\t\tconst stopBgShimmerClass = \"stop-bg-shimmer\";\n\t\tconst stopShimmerClass = \"stop-shimmer\";\n\t\tconst container = this.parent.select(\".chart-skeleton\");\n\t\tconst { width } = DOMUtils.getSVGElementSize(this.parent, {\n\t\t\tuseAttrs: true\n\t\t});\n\t\tconst startPoint = 0;\n\t\tconst endPoint = width;\n\n\t\t// append the defs as first child of container\n\t\tconst defs = DOMUtils.appendOrSelect(container, \"defs\").lower();\n\t\tconst linearGradient = DOMUtils.appendOrSelect(defs, \"linearGradient\")\n\t\t\t.attr(\"id\", gradientId)\n\t\t\t.attr(\"x1\", startPoint - 3 * shimmerWidth * width)\n\t\t\t.attr(\"x2\", endPoint)\n\t\t\t.attr(\"y1\", 0)\n\t\t\t.attr(\"y2\", 0)\n\t\t\t.attr(\"gradientUnits\", \"userSpaceOnUse\")\n\t\t\t.attr(\"gradientTransform\", `translate(0, 0)`);\n\t\tconst stops = `\n\t\t\t<stop class=\"${stopBgShimmerClass}\" offset=\"${startPoint}\"></stop>\n\t\t\t<stop class=\"${stopShimmerClass}\" offset=\"${startPoint + shimmerWidth}\"></stop>\n\t\t\t<stop class=\"${stopBgShimmerClass}\" offset=\"${startPoint +\n\t\t\t2 * shimmerWidth}\"></stop>\n\t\t`;\n\t\tlinearGradient.html(stops);\n\n\t\trepeat();\n\t\tfunction repeat() {\n\t\t\tlinearGradient\n\t\t\t\t.attr(\n\t\t\t\t\t\"gradientTransform\",\n\t\t\t\t\t`translate(${startPoint - 3 * shimmerWidth * width}, 0)`\n\t\t\t\t)\n\t\t\t\t.transition()\n\t\t\t\t.duration(animationDuration)\n\t\t\t\t.delay(delay)\n\t\t\t\t.ease(easeLinear)\n\t\t\t\t.attr(\n\t\t\t\t\t\"gradientTransform\",\n\t\t\t\t\t`translate(${endPoint + 3 * shimmerWidth * width}, 0)`\n\t\t\t\t)\n\t\t\t\t.on(\"end\", repeat);\n\t\t}\n\t}\n\n\tremoveSkeleton() {\n\t\tconst container = this.parent.select(\".chart-skeleton\");\n\t\tcontainer.remove();\n\t}\n}\n"]}
@@ -30,8 +30,8 @@ var LayoutComponent = /** @class */ (function (_super) {
30
30
  _this._instanceID = LayoutComponent.instanceID++;
31
31
  // Pass children data to the hierarchy layout
32
32
  // And calculate sum of sizes
33
- var directionIsReversed = (_this.configs.direction === LayoutDirection.ROW_REVERSE) ||
34
- (_this.configs.direction === LayoutDirection.COLUMN_REVERSE);
33
+ var directionIsReversed = _this.configs.direction === LayoutDirection.ROW_REVERSE ||
34
+ _this.configs.direction === LayoutDirection.COLUMN_REVERSE;
35
35
  if (directionIsReversed) {
36
36
  _this.children = _this.children.reverse();
37
37
  }
@@ -51,7 +51,8 @@ var LayoutComponent = /** @class */ (function (_super) {
51
51
  svg.selectAll("svg.layout-child-" + this._instanceID)
52
52
  .filter(function (d) {
53
53
  var growth = Tools.getProperty(d, "data", "growth", "x");
54
- return growth === LayoutGrowth.PREFERRED || growth === LayoutGrowth.FIXED;
54
+ return (growth === LayoutGrowth.PREFERRED ||
55
+ growth === LayoutGrowth.FIXED);
55
56
  })
56
57
  .each(function (d) {
57
58
  sum += d.data.size;
@@ -60,7 +61,8 @@ var LayoutComponent = /** @class */ (function (_super) {
60
61
  };
61
62
  LayoutComponent.prototype.getNumOfStretchChildren = function () {
62
63
  var svg = this.parent;
63
- return svg.selectAll("svg.layout-child-" + this._instanceID)
64
+ return svg
65
+ .selectAll("svg.layout-child-" + this._instanceID)
64
66
  .filter(function (d) {
65
67
  var growth = Tools.getProperty(d, "data", "growth", "x");
66
68
  return growth === LayoutGrowth.STRETCH;
@@ -72,22 +74,27 @@ var LayoutComponent = /** @class */ (function (_super) {
72
74
  if (animate === void 0) { animate = true; }
73
75
  // Get parent SVG to render inside of
74
76
  var svg = this.parent;
75
- var _a = DOMUtils.getSVGElementSize(svg, { useAttrs: true }), width = _a.width, height = _a.height;
77
+ var _a = DOMUtils.getSVGElementSize(svg, {
78
+ useAttrs: true
79
+ }), width = _a.width, height = _a.height;
76
80
  var root = hierarchy({
77
81
  children: this.children
78
- })
79
- .sum(function (d) { return d.size; });
82
+ }).sum(function (d) { return d.size; });
80
83
  // Grab the correct treemap tile function based on direction
81
- var tileType = (this.configs.direction === LayoutDirection.ROW || this.configs.direction === LayoutDirection.ROW_REVERSE)
82
- ? treemapDice : treemapSlice;
84
+ var tileType = this.configs.direction === LayoutDirection.ROW ||
85
+ this.configs.direction === LayoutDirection.ROW_REVERSE
86
+ ? treemapDice
87
+ : treemapSlice;
83
88
  // Compute the position of all elements within the layout
84
89
  treemap()
85
90
  .tile(tileType)
86
91
  .size([width, height])(root);
87
92
  // TODORF - Remove
88
- var horizontal = (this.configs.direction === LayoutDirection.ROW || this.configs.direction === LayoutDirection.ROW_REVERSE);
93
+ var horizontal = this.configs.direction === LayoutDirection.ROW ||
94
+ this.configs.direction === LayoutDirection.ROW_REVERSE;
89
95
  // Add new SVGs to the DOM for each layout child
90
- var updatedSVGs = svg.selectAll("svg.layout-child-" + this._instanceID)
96
+ var updatedSVGs = svg
97
+ .selectAll("svg.layout-child-" + this._instanceID)
91
98
  .data(root.leaves(), function (d) { return d.data.id; });
92
99
  updatedSVGs
93
100
  .attr("width", function (d) { return d.x1 - d.x0; })
@@ -95,10 +102,13 @@ var LayoutComponent = /** @class */ (function (_super) {
95
102
  var enteringSVGs = updatedSVGs
96
103
  .enter()
97
104
  .append("svg")
98
- .attr("class", function (d) { return "layout-child layout-child-" + _this._instanceID + " " + d.data.id; })
105
+ .attr("class", function (d) {
106
+ return "layout-child layout-child-" + _this._instanceID + " " + d.data.id;
107
+ })
99
108
  .attr("x", function (d) { return d.x0; })
100
109
  .attr("y", function (d) { return d.y0; });
101
- enteringSVGs.merge(svg.selectAll("svg.layout-child-" + this._instanceID))
110
+ enteringSVGs
111
+ .merge(svg.selectAll("svg.layout-child-" + this._instanceID))
102
112
  .each(function (d) {
103
113
  var _this = this;
104
114
  // Set parent component for each child
@@ -106,25 +116,25 @@ var LayoutComponent = /** @class */ (function (_super) {
106
116
  itemComponent.setParent(select(_this));
107
117
  // Render preffered & fixed items
108
118
  var growth = Tools.getProperty(d, "data", "growth", "x");
109
- if (growth === LayoutGrowth.PREFERRED || growth === LayoutGrowth.FIXED) {
119
+ if (growth === LayoutGrowth.PREFERRED ||
120
+ growth === LayoutGrowth.FIXED) {
110
121
  itemComponent.render(animate);
111
122
  }
112
123
  });
113
124
  });
114
- svg.selectAll("svg.layout-child-" + this._instanceID)
115
- .each(function (d) {
125
+ svg.selectAll("svg.layout-child-" + this._instanceID).each(function (d) {
116
126
  // Calculate preffered children sizes after internal rendering
117
127
  var growth = Tools.getProperty(d, "data", "growth", "x");
118
128
  var matchingSVGDimensions = DOMUtils.getSVGElementSize(select(this), { useBBox: true });
119
129
  if (growth === LayoutGrowth.PREFERRED) {
120
- var matchingSVGWidth = horizontal ? matchingSVGDimensions.width : matchingSVGDimensions.height;
130
+ var matchingSVGWidth = horizontal
131
+ ? matchingSVGDimensions.width
132
+ : matchingSVGDimensions.height;
121
133
  var svgWidth = horizontal ? width : height;
122
134
  d.data.size = (matchingSVGWidth / svgWidth) * 100;
123
135
  }
124
136
  });
125
- updatedSVGs
126
- .exit()
127
- .remove();
137
+ updatedSVGs.exit().remove();
128
138
  // Run through stretch x-items
129
139
  this.children
130
140
  .filter(function (child) {
@@ -132,22 +142,22 @@ var LayoutComponent = /** @class */ (function (_super) {
132
142
  return growth === LayoutGrowth.STRETCH;
133
143
  })
134
144
  .forEach(function (child, i) {
135
- child.size = (100 - (+_this.getPreferedAndFixedSizeSum())) / (+_this.getNumOfStretchChildren());
145
+ child.size =
146
+ (100 - +_this.getPreferedAndFixedSizeSum()) /
147
+ +_this.getNumOfStretchChildren();
136
148
  });
137
149
  // Pass children data to the hierarchy layout
138
150
  // And calculate sum of sizes
139
151
  root = hierarchy({
140
152
  children: this.children
141
- })
142
- .sum(function (d) { return d.size; });
153
+ }).sum(function (d) { return d.size; });
143
154
  // Compute the position of all elements within the layout
144
155
  treemap()
145
156
  .tile(tileType)
146
157
  .size([width, height])
147
158
  .padding(0)(root);
148
159
  // Add new SVGs to the DOM for each layout child
149
- svg
150
- .selectAll("svg.layout-child-" + this._instanceID)
160
+ svg.selectAll("svg.layout-child-" + this._instanceID)
151
161
  .data(root.leaves(), function (d) { return d.data.id; })
152
162
  .attr("x", function (d) { return d.x0; })
153
163
  .attr("y", function (d) { return d.y0; })
@@ -173,7 +183,9 @@ var LayoutComponent = /** @class */ (function (_super) {
173
183
  LayoutComponent.prototype.setServices = function (newObj) {
174
184
  _super.prototype.setServices.call(this, newObj);
175
185
  this.children.forEach(function (child) {
176
- child.components.forEach(function (component) { return component.setServices(newObj); });
186
+ child.components.forEach(function (component) {
187
+ return component.setServices(newObj);
188
+ });
177
189
  });
178
190
  };
179
191
  LayoutComponent.prototype.destroy = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["layout.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport {\n\tLayoutDirection,\n\tLayoutGrowth,\n\tLayoutComponentChild,\n\tLayoutConfigs\n} from \"../../interfaces/index\";\nimport { Tools } from \"../../tools\";\nimport { DOMUtils } from \"../../services\";\nimport { ChartModel } from \"../../model\";\n\n// D3 Imports\nimport { select } from \"d3-selection\";\nimport {\n\thierarchy,\n\ttreemap,\n\ttreemapSlice,\n\ttreemapDice\n} from \"d3-hierarchy\";\n\n// TODO - What if there is no \"growth\" object?\nexport class LayoutComponent extends Component {\n\t// Give every layout component a distinct ID\n\t// so they don't interfere when querying elements\n\tstatic instanceID = Math.floor(Math.random() * 99999999999);\n\n\ttype = \"layout\";\n\n\tchildren: LayoutComponentChild[];\n\n\tprivate _instanceID: number;\n\n\tconstructor(model: ChartModel, services: any, children: LayoutComponentChild[], configs?: LayoutConfigs) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.configs = configs;\n\t\tthis.children = children;\n\n\t\tthis._instanceID = LayoutComponent.instanceID++;\n\n\t\t// Pass children data to the hierarchy layout\n\t\t// And calculate sum of sizes\n\t\tconst directionIsReversed = (this.configs.direction === LayoutDirection.ROW_REVERSE) ||\n\t\t\t(this.configs.direction === LayoutDirection.COLUMN_REVERSE);\n\t\tif (directionIsReversed) {\n\t\t\tthis.children = this.children.reverse();\n\t\t}\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => {\n\t\t\t\tcomponent.init();\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPreferedAndFixedSizeSum(): number {\n\t\tconst svg = this.parent;\n\t\tlet sum = 0;\n\n\t\tsvg.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.filter((d: any) => {\n\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\treturn growth === LayoutGrowth.PREFERRED || growth === LayoutGrowth.FIXED;\n\t\t\t})\n\t\t\t.each(function(d: any) {\n\t\t\t\tsum += d.data.size;\n\t\t\t});\n\n\t\treturn sum;\n\t}\n\n\tgetNumOfStretchChildren(): number {\n\t\tconst svg = this.parent;\n\n\t\treturn svg.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.filter((d: any) => {\n\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\treturn growth === LayoutGrowth.STRETCH;\n\t\t\t})\n\t\t\t.size();\n\t}\n\n\trender(animate = true) {\n\t\t// Get parent SVG to render inside of\n\t\tconst svg = this.parent;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(svg, { useAttrs: true });\n\n\t\tlet root = hierarchy({\n\t\t\tchildren: this.children\n\t\t})\n\t\t\t.sum((d: any) => d.size);\n\n\t\t// Grab the correct treemap tile function based on direction\n\t\tconst tileType = (this.configs.direction === LayoutDirection.ROW || this.configs.direction === LayoutDirection.ROW_REVERSE)\n\t\t\t? treemapDice : treemapSlice;\n\n\t\t// Compute the position of all elements within the layout\n\t\ttreemap()\n\t\t\t.tile(tileType)\n\t\t\t.size([width, height])\n\t\t\t(root);\n\n\t\t// TODORF - Remove\n\t\tconst horizontal = (this.configs.direction === LayoutDirection.ROW || this.configs.direction === LayoutDirection.ROW_REVERSE);\n\n\t\t// Add new SVGs to the DOM for each layout child\n\t\tconst updatedSVGs = svg.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.data(root.leaves(), (d: any) => d.data.id);\n\n\t\tupdatedSVGs\n\t\t\t.attr(\"width\", (d: any) => d.x1 - d.x0)\n\t\t\t.attr(\"height\", (d: any) => d.y1 - d.y0);\n\n\t\tconst enteringSVGs = updatedSVGs\n\t\t\t.enter()\n\t\t\t.append(\"svg\")\n\t\t\t\t.attr(\"class\", (d: any) => `layout-child layout-child-${this._instanceID} ${d.data.id}`)\n\t\t\t\t.attr(\"x\", (d: any) => d.x0)\n\t\t\t\t.attr(\"y\", (d: any) => d.y0);\n\n\t\tenteringSVGs.merge(svg.selectAll(`svg.layout-child-${this._instanceID}`))\n\t\t\t.each(function(d: any) {\n\t\t\t\t// Set parent component for each child\n\t\t\t\td.data.components.forEach(itemComponent => {\n\t\t\t\t\titemComponent.setParent(select(this));\n\n\t\t\t\t\t// Render preffered & fixed items\n\t\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\t\tif (growth === LayoutGrowth.PREFERRED || growth === LayoutGrowth.FIXED) {\n\t\t\t\t\t\titemComponent.render(animate);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\tsvg.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t.each(function(d: any) {\n\t\t\t// Calculate preffered children sizes after internal rendering\n\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\tconst matchingSVGDimensions = DOMUtils.getSVGElementSize(select(this), { useBBox: true });\n\t\t\tif (growth === LayoutGrowth.PREFERRED) {\n\t\t\t\tconst matchingSVGWidth = horizontal ? matchingSVGDimensions.width : matchingSVGDimensions.height;\n\t\t\t\tconst svgWidth = horizontal ? width : height;\n\n\t\t\t\td.data.size = (matchingSVGWidth / svgWidth) * 100;\n\t\t\t}\n\t\t});\n\n\t\tupdatedSVGs\n\t\t\t.exit()\n\t\t\t.remove();\n\n\t\t// Run through stretch x-items\n\t\tthis.children\n\t\t\t.filter(child => {\n\t\t\t\tconst growth = Tools.getProperty(child, \"growth\", \"x\");\n\t\t\t\treturn growth === LayoutGrowth.STRETCH;\n\t\t\t})\n\t\t\t.forEach((child, i) => {\n\t\t\t\tchild.size = (100 - (+this.getPreferedAndFixedSizeSum())) / (+this.getNumOfStretchChildren());\n\t\t\t});\n\n\t\t// Pass children data to the hierarchy layout\n\t\t// And calculate sum of sizes\n\t\troot = hierarchy({\n\t\t\tchildren: this.children\n\t\t})\n\t\t.sum((d: any) => d.size);\n\n\t\t// Compute the position of all elements within the layout\n\t\ttreemap()\n\t\t\t.tile(tileType)\n\t\t\t.size([width, height])\n\t\t\t.padding(0)\n\t\t\t(root);\n\n\t\t// Add new SVGs to the DOM for each layout child\n\t\tsvg\n\t\t\t.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.data(root.leaves(), (d: any) => d.data.id)\n\t\t\t.attr(\"x\", (d: any) => d.x0)\n\t\t\t.attr(\"y\", (d: any) => d.y0)\n\t\t\t.attr(\"width\", (d: any) => d.x1 - d.x0)\n\t\t\t.attr(\"height\", (d: any) => d.y1 - d.y0)\n\t\t\t.each(function(d: any, i) {\n\t\t\t\td.data.components.forEach(itemComponent => {\n\t\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\t\tif (growth === LayoutGrowth.STRETCH) {\n\t\t\t\t\t\titemComponent.render(animate);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\t// Pass on model to children as well\n\tsetModel(newObj) {\n\t\tsuper.setModel(newObj);\n\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => component.setModel(newObj));\n\t\t});\n\t}\n\n\t// Pass on essentials to children as well\n\tsetServices(newObj) {\n\t\tsuper.setServices(newObj);\n\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => component.setServices(newObj));\n\t\t});\n\t}\n\n\tdestroy() {\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => component.destroy());\n\t\t});\n\t}\n}\n"]}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["layout.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport {\n\tLayoutDirection,\n\tLayoutGrowth,\n\tLayoutComponentChild,\n\tLayoutConfigs\n} from \"../../interfaces/index\";\nimport { Tools } from \"../../tools\";\nimport { DOMUtils } from \"../../services\";\nimport { ChartModel } from \"../../model\";\n\n// D3 Imports\nimport { select } from \"d3-selection\";\nimport { hierarchy, treemap, treemapSlice, treemapDice } from \"d3-hierarchy\";\n\n// TODO - What if there is no \"growth\" object?\nexport class LayoutComponent extends Component {\n\t// Give every layout component a distinct ID\n\t// so they don't interfere when querying elements\n\tstatic instanceID = Math.floor(Math.random() * 99999999999);\n\n\ttype = \"layout\";\n\n\tchildren: LayoutComponentChild[];\n\n\tprivate _instanceID: number;\n\n\tconstructor(\n\t\tmodel: ChartModel,\n\t\tservices: any,\n\t\tchildren: LayoutComponentChild[],\n\t\tconfigs?: LayoutConfigs\n\t) {\n\t\tsuper(model, services, configs);\n\n\t\tthis.configs = configs;\n\t\tthis.children = children;\n\n\t\tthis._instanceID = LayoutComponent.instanceID++;\n\n\t\t// Pass children data to the hierarchy layout\n\t\t// And calculate sum of sizes\n\t\tconst directionIsReversed =\n\t\t\tthis.configs.direction === LayoutDirection.ROW_REVERSE ||\n\t\t\tthis.configs.direction === LayoutDirection.COLUMN_REVERSE;\n\t\tif (directionIsReversed) {\n\t\t\tthis.children = this.children.reverse();\n\t\t}\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => {\n\t\t\t\tcomponent.init();\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPreferedAndFixedSizeSum(): number {\n\t\tconst svg = this.parent;\n\t\tlet sum = 0;\n\n\t\tsvg.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.filter((d: any) => {\n\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\treturn (\n\t\t\t\t\tgrowth === LayoutGrowth.PREFERRED ||\n\t\t\t\t\tgrowth === LayoutGrowth.FIXED\n\t\t\t\t);\n\t\t\t})\n\t\t\t.each(function(d: any) {\n\t\t\t\tsum += d.data.size;\n\t\t\t});\n\n\t\treturn sum;\n\t}\n\n\tgetNumOfStretchChildren(): number {\n\t\tconst svg = this.parent;\n\n\t\treturn svg\n\t\t\t.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.filter((d: any) => {\n\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\treturn growth === LayoutGrowth.STRETCH;\n\t\t\t})\n\t\t\t.size();\n\t}\n\n\trender(animate = true) {\n\t\t// Get parent SVG to render inside of\n\t\tconst svg = this.parent;\n\t\tconst { width, height } = DOMUtils.getSVGElementSize(svg, {\n\t\t\tuseAttrs: true\n\t\t});\n\n\t\tlet root = hierarchy({\n\t\t\tchildren: this.children\n\t\t}).sum((d: any) => d.size);\n\n\t\t// Grab the correct treemap tile function based on direction\n\t\tconst tileType =\n\t\t\tthis.configs.direction === LayoutDirection.ROW ||\n\t\t\tthis.configs.direction === LayoutDirection.ROW_REVERSE\n\t\t\t\t? treemapDice\n\t\t\t\t: treemapSlice;\n\n\t\t// Compute the position of all elements within the layout\n\t\ttreemap()\n\t\t\t.tile(tileType)\n\t\t\t.size([width, height])(root);\n\n\t\t// TODORF - Remove\n\t\tconst horizontal =\n\t\t\tthis.configs.direction === LayoutDirection.ROW ||\n\t\t\tthis.configs.direction === LayoutDirection.ROW_REVERSE;\n\n\t\t// Add new SVGs to the DOM for each layout child\n\t\tconst updatedSVGs = svg\n\t\t\t.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.data(root.leaves(), (d: any) => d.data.id);\n\n\t\tupdatedSVGs\n\t\t\t.attr(\"width\", (d: any) => d.x1 - d.x0)\n\t\t\t.attr(\"height\", (d: any) => d.y1 - d.y0);\n\n\t\tconst enteringSVGs = updatedSVGs\n\t\t\t.enter()\n\t\t\t.append(\"svg\")\n\t\t\t.attr(\n\t\t\t\t\"class\",\n\t\t\t\t(d: any) =>\n\t\t\t\t\t`layout-child layout-child-${this._instanceID} ${d.data.id}`\n\t\t\t)\n\t\t\t.attr(\"x\", (d: any) => d.x0)\n\t\t\t.attr(\"y\", (d: any) => d.y0);\n\n\t\tenteringSVGs\n\t\t\t.merge(svg.selectAll(`svg.layout-child-${this._instanceID}`))\n\t\t\t.each(function(d: any) {\n\t\t\t\t// Set parent component for each child\n\t\t\t\td.data.components.forEach(itemComponent => {\n\t\t\t\t\titemComponent.setParent(select(this));\n\n\t\t\t\t\t// Render preffered & fixed items\n\t\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\t\tif (\n\t\t\t\t\t\tgrowth === LayoutGrowth.PREFERRED ||\n\t\t\t\t\t\tgrowth === LayoutGrowth.FIXED\n\t\t\t\t\t) {\n\t\t\t\t\t\titemComponent.render(animate);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\n\t\tsvg.selectAll(`svg.layout-child-${this._instanceID}`).each(function(\n\t\t\td: any\n\t\t) {\n\t\t\t// Calculate preffered children sizes after internal rendering\n\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\tconst matchingSVGDimensions = DOMUtils.getSVGElementSize(\n\t\t\t\tselect(this),\n\t\t\t\t{ useBBox: true }\n\t\t\t);\n\t\t\tif (growth === LayoutGrowth.PREFERRED) {\n\t\t\t\tconst matchingSVGWidth = horizontal\n\t\t\t\t\t? matchingSVGDimensions.width\n\t\t\t\t\t: matchingSVGDimensions.height;\n\t\t\t\tconst svgWidth = horizontal ? width : height;\n\n\t\t\t\td.data.size = (matchingSVGWidth / svgWidth) * 100;\n\t\t\t}\n\t\t});\n\n\t\tupdatedSVGs.exit().remove();\n\n\t\t// Run through stretch x-items\n\t\tthis.children\n\t\t\t.filter(child => {\n\t\t\t\tconst growth = Tools.getProperty(child, \"growth\", \"x\");\n\t\t\t\treturn growth === LayoutGrowth.STRETCH;\n\t\t\t})\n\t\t\t.forEach((child, i) => {\n\t\t\t\tchild.size =\n\t\t\t\t\t(100 - +this.getPreferedAndFixedSizeSum()) /\n\t\t\t\t\t+this.getNumOfStretchChildren();\n\t\t\t});\n\n\t\t// Pass children data to the hierarchy layout\n\t\t// And calculate sum of sizes\n\t\troot = hierarchy({\n\t\t\tchildren: this.children\n\t\t}).sum((d: any) => d.size);\n\n\t\t// Compute the position of all elements within the layout\n\t\ttreemap()\n\t\t\t.tile(tileType)\n\t\t\t.size([width, height])\n\t\t\t.padding(0)(root);\n\n\t\t// Add new SVGs to the DOM for each layout child\n\t\tsvg.selectAll(`svg.layout-child-${this._instanceID}`)\n\t\t\t.data(root.leaves(), (d: any) => d.data.id)\n\t\t\t.attr(\"x\", (d: any) => d.x0)\n\t\t\t.attr(\"y\", (d: any) => d.y0)\n\t\t\t.attr(\"width\", (d: any) => d.x1 - d.x0)\n\t\t\t.attr(\"height\", (d: any) => d.y1 - d.y0)\n\t\t\t.each(function(d: any, i) {\n\t\t\t\td.data.components.forEach(itemComponent => {\n\t\t\t\t\tconst growth = Tools.getProperty(d, \"data\", \"growth\", \"x\");\n\t\t\t\t\tif (growth === LayoutGrowth.STRETCH) {\n\t\t\t\t\t\titemComponent.render(animate);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\t// Pass on model to children as well\n\tsetModel(newObj) {\n\t\tsuper.setModel(newObj);\n\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => component.setModel(newObj));\n\t\t});\n\t}\n\n\t// Pass on essentials to children as well\n\tsetServices(newObj) {\n\t\tsuper.setServices(newObj);\n\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component =>\n\t\t\t\tcomponent.setServices(newObj)\n\t\t\t);\n\t\t});\n\t}\n\n\tdestroy() {\n\t\tthis.children.forEach(child => {\n\t\t\tchild.components.forEach(component => component.destroy());\n\t\t});\n\t}\n}\n"]}
@@ -22,7 +22,8 @@ var Spacer = /** @class */ (function (_super) {
22
22
  return _this;
23
23
  }
24
24
  Spacer.prototype.render = function () {
25
- this.getContainerSVG().append("rect")
25
+ this.getContainerSVG()
26
+ .append("rect")
26
27
  .attr("x", 0)
27
28
  .attr("y", 0)
28
29
  .attr("width", this.configs.size || Configuration.spacers.default.size)
@@ -1 +1 @@
1
- {"version":3,"file":"spacer.js","sourceRoot":"","sources":["spacer.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD;IAA4B,0BAAS;IAArC;QAAA,qEAWC;QAVA,UAAI,GAAG,QAAQ,CAAC;;IAUjB,CAAC;IARA,uBAAM,GAAN;QACC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;aACnC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aACZ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aACZ,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aACtE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aACvE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IACF,aAAC;AAAD,CAAC,AAXD,CAA4B,SAAS,GAWpC","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport * as Configuration from \"../../configuration\";\n\nexport class Spacer extends Component {\n\ttype = \"spacer\";\n\n\trender() {\n\t\tthis.getContainerSVG().append(\"rect\")\n\t\t\t.attr(\"x\", 0)\n\t\t\t.attr(\"y\", 0)\n\t\t\t.attr(\"width\", this.configs.size || Configuration.spacers.default.size)\n\t\t\t.attr(\"height\", this.configs.size || Configuration.spacers.default.size)\n\t\t\t.attr(\"opacity\", 0);\n\t}\n}\n"]}
1
+ {"version":3,"file":"spacer.js","sourceRoot":"","sources":["spacer.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AAErD;IAA4B,0BAAS;IAArC;QAAA,qEAkBC;QAjBA,UAAI,GAAG,QAAQ,CAAC;;IAiBjB,CAAC;IAfA,uBAAM,GAAN;QACC,IAAI,CAAC,eAAe,EAAE;aACpB,MAAM,CAAC,MAAM,CAAC;aACd,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aACZ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aACZ,IAAI,CACJ,OAAO,EACP,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CACvD;aACA,IAAI,CACJ,QAAQ,EACR,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CACvD;aACA,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IACF,aAAC;AAAD,CAAC,AAlBD,CAA4B,SAAS,GAkBpC","sourcesContent":["// Internal Imports\nimport { Component } from \"../component\";\nimport * as Configuration from \"../../configuration\";\n\nexport class Spacer extends Component {\n\ttype = \"spacer\";\n\n\trender() {\n\t\tthis.getContainerSVG()\n\t\t\t.append(\"rect\")\n\t\t\t.attr(\"x\", 0)\n\t\t\t.attr(\"y\", 0)\n\t\t\t.attr(\n\t\t\t\t\"width\",\n\t\t\t\tthis.configs.size || Configuration.spacers.default.size\n\t\t\t)\n\t\t\t.attr(\n\t\t\t\t\"height\",\n\t\t\t\tthis.configs.size || Configuration.spacers.default.size\n\t\t\t)\n\t\t\t.attr(\"opacity\", 0);\n\t}\n}\n"]}
package/configuration.js CHANGED
@@ -47,8 +47,8 @@ export var baseTooltip = {
47
47
  enabled: true
48
48
  },
49
49
  title: {
50
- verticalOffset: .75,
51
- width: .4
50
+ verticalOffset: 0.75,
51
+ width: 0.4
52
52
  }
53
53
  };
54
54
  export var axisChartTooltip = Tools.merge({}, baseTooltip, {
@@ -88,14 +88,14 @@ export var timeScale = {
88
88
  localeObject: enUSLocaleObject,
89
89
  timeIntervalFormats: {
90
90
  "15seconds": { primary: "MMM d, pp", secondary: "pp" },
91
- "minute": { primary: "MMM d, p", secondary: "p" },
91
+ minute: { primary: "MMM d, p", secondary: "p" },
92
92
  "30minutes": { primary: "MMM d, p", secondary: "p" },
93
- "hourly": { primary: "MMM d, hh a", secondary: "hh a" },
94
- "daily": { primary: "MMM d", secondary: "d" },
95
- "weekly": { primary: "eee, MMM d", secondary: "eee" },
96
- "monthly": { primary: "MMM yyyy", secondary: "MMM" },
97
- "quarterly": { primary: "QQQ ''yy", secondary: "QQQ" },
98
- "yearly": { primary: "yyyy", secondary: "yyyy" }
93
+ hourly: { primary: "MMM d, hh a", secondary: "hh a" },
94
+ daily: { primary: "MMM d", secondary: "d" },
95
+ weekly: { primary: "eee, MMM d", secondary: "eee" },
96
+ monthly: { primary: "MMM yyyy", secondary: "MMM" },
97
+ quarterly: { primary: "QQQ ''yy", secondary: "QQQ" },
98
+ yearly: { primary: "yyyy", secondary: "yyyy" }
99
99
  }
100
100
  };
101
101
  /**
@@ -137,7 +137,7 @@ var baseBarChart = Tools.merge({}, axisChart, {
137
137
  timeScale: Tools.merge(timeScale, {
138
138
  addSpaceOnEdges: 1
139
139
  }),
140
- tooltip: barChartTooltip,
140
+ tooltip: barChartTooltip
141
141
  });
142
142
  /**
143
143
  * options specific to simple bar charts
@@ -185,8 +185,8 @@ var bubbleChart = Tools.merge({}, axisChart, {
185
185
  radiusRange: function (chartSize, data) {
186
186
  var smallerChartDimension = Math.min(chartSize.width, chartSize.height);
187
187
  return [
188
- smallerChartDimension * 3 / 400,
189
- smallerChartDimension * 25 / 400
188
+ (smallerChartDimension * 3) / 400,
189
+ (smallerChartDimension * 25) / 400
190
190
  ];
191
191
  },
192
192
  fillOpacity: 0.2
@@ -255,7 +255,9 @@ var radarChart = Tools.merge({}, chart, {
255
255
  gridline: {
256
256
  enabled: true
257
257
  },
258
- valueFormatter: function (value) { return value !== null && value !== undefined ? value : "N/A"; }
258
+ valueFormatter: function (value) {
259
+ return value !== null && value !== undefined ? value : "N/A";
260
+ }
259
261
  }
260
262
  });
261
263
  export var options = {
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sourceRoot":"","sources":["configuration.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tools } from \"./tools\";\nimport {\n\tBaseChartOptions,\n\tAxisChartOptions,\n\tScatterChartOptions,\n\tLineChartOptions,\n\tBarChartOptions,\n\tStackedBarChartOptions,\n\tPieChartOptions,\n\tDonutChartOptions,\n\tBubbleChartOptions,\n\tRadarChartOptions,\n\t// Components\n\tGridOptions,\n\tAxesOptions,\n\tTimeScaleOptions,\n\tTooltipOptions,\n\tAxisTooltipOptions,\n\tBarTooltipOptions,\n\tLegendOptions,\n\tLegendPositions,\n\tStackedBarOptions\n} from \"./interfaces\";\nimport enUSLocaleObject from \"date-fns/locale/en-US/index\";\n\n/*\n *****************************\n * User configurable options *\n *****************************\n */\n\n/**\n * Legend options\n */\nexport const legend: LegendOptions = {\n\tposition: LegendPositions.BOTTOM,\n\tclickable: true,\n\tenabled: true,\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},\n\tcheckbox: {\n\t\tradius: 6.5,\n\t\tspaceAfter: 4\n\t}\n};\n\n/**\n * Grid options\n */\nexport const grid: GridOptions = {\n\tx: {\n\t\tnumberOfTicks: 5\n\t},\n\ty: {\n\t\tnumberOfTicks: 5\n\t}\n};\n\n/**\n * Tooltip options\n */\nexport const baseTooltip: TooltipOptions = {\n\tdatapoint: {\n\t\thorizontalOffset: 10,\n\t\tenabled: true\n\t},\n\ttitle: {\n\t\tverticalOffset: .75,\n\t\twidth: .4\n\t}\n};\n\nexport const axisChartTooltip: AxisTooltipOptions = Tools.merge({}, baseTooltip, {\n\tgridline: {\n\t\tenabled: true,\n\t\tthreshold: 0.02\n\t}\n} as AxisTooltipOptions);\n\nexport const barChartTooltip: BarTooltipOptions = Tools.merge({}, axisChartTooltip, {\n\tdatapoint: {\n\t\tverticalOffset: 4\n\t},\n\tgridline: {\n\t\tenabled: false\n\t}\n} as BarTooltipOptions);\n\n// These options will be managed by Tools.mergeDefaultChartOptions\n// by removing the ones the user is not providing,\n// and by TwoDimensionalAxes.\nconst axes: AxesOptions = {\n\ttop: {\n\t\tincludeZero: true\n\t},\n\tbottom: {\n\t\tincludeZero: true\n\t},\n\tleft: {\n\t\tincludeZero: true\n\t},\n\tright: {\n\t\tincludeZero: true\n\t}\n};\n\nexport const timeScale: TimeScaleOptions = {\n\taddSpaceOnEdges: 1,\n\tshowDayName: false,\n\tlocaleObject: enUSLocaleObject,\n\ttimeIntervalFormats: {\n\t\t\"15seconds\": { primary: \"MMM d, pp\", secondary: \"pp\" },\n\t\t\"minute\": { primary: \"MMM d, p\", secondary: \"p\" },\n\t\t\"30minutes\": { primary: \"MMM d, p\", secondary: \"p\" },\n\t\t\"hourly\": { primary: \"MMM d, hh a\", secondary: \"hh a\" },\n\t\t\"daily\": { primary: \"MMM d\", secondary: \"d\" },\n\t\t\"weekly\": { primary: \"eee, MMM d\", secondary: \"eee\" },\n\t\t\"monthly\": { primary: \"MMM yyyy\", secondary: \"MMM\" },\n\t\t\"quarterly\": { primary: \"QQQ ''yy\", secondary: \"QQQ\" },\n\t\t\"yearly\": { primary: \"yyyy\", secondary: \"yyyy\" }\n\t}\n};\n\n/**\n * Base chart options common to any chart\n */\nconst chart: BaseChartOptions = {\n\twidth: null,\n\theight: null,\n\tresizable: true,\n\ttooltip: baseTooltip,\n\tlegend,\n\tstyle: {\n\t\tprefix: \"cc\"\n\t},\n\tdata: {\n\t\tgroupMapsTo: \"group\",\n\t\tloading: false\n\t},\n\tcolor: {\n\t\tscale: null\n\t}\n};\n\n/**\n * Options common to any chart with an axis\n */\nconst axisChart: AxisChartOptions = Tools.merge({}, chart, {\n\taxes,\n\ttimeScale,\n\tgrid,\n\ttooltip: axisChartTooltip\n} as AxisChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst baseBarChart: BarChartOptions = Tools.merge({}, axisChart, {\n\tbars: {\n\t\tmaxWidth: 16\n\t},\n\ttimeScale: Tools.merge(timeScale, {\n\t\taddSpaceOnEdges: 1\n\t} as TimeScaleOptions),\n\ttooltip: barChartTooltip,\n} as BarChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst simpleBarChart: BarChartOptions = Tools.merge({}, baseBarChart, {\n\n} as BarChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst groupedBarChart: BarChartOptions = Tools.merge({}, baseBarChart, {\n\n} as BarChartOptions);\n\n/**\n * options specific to stacked bar charts\n */\nconst stackedBarChart: StackedBarChartOptions = Tools.merge({}, baseBarChart, {\n\tbars: Tools.merge({}, baseBarChart.bars, {\n\t\tdividerSize: 1.5\n\t} as StackedBarOptions)\n} as BarChartOptions);\n\n/**\n * options specific to line charts\n */\nconst lineChart: LineChartOptions = Tools.merge({}, axisChart, {\n\tpoints: {\n\t\t// default point radius to 3\n\t\tradius: 3,\n\t\tfilled: false\n\t}\n} as LineChartOptions);\n\n/**\n * options specific to scatter charts\n */\nconst scatterChart: ScatterChartOptions = Tools.merge({}, axisChart, {\n\tpoints: {\n\t\t// default point radius to 4\n\t\tradius: 4,\n\t\tfillOpacity: 0.3,\n\t\tfilled: true\n\t}\n} as ScatterChartOptions);\n\n/**\n * options specific to bubble charts\n */\nconst bubbleChart: BubbleChartOptions = Tools.merge({}, axisChart, {\n\tbubble: {\n\t\tradiusMapsTo: \"radius\",\n\t\tradiusRange: (chartSize, data) => {\n\t\t\tconst smallerChartDimension = Math.min(chartSize.width, chartSize.height);\n\t\t\treturn [\n\t\t\t\tsmallerChartDimension * 3 / 400,\n\t\t\t\tsmallerChartDimension * 25 / 400\n\t\t\t];\n\t\t},\n\t\tfillOpacity: 0.2\n\t}\n} as BubbleChartOptions);\n\n/**\n * options specific to pie charts\n */\nconst pieChart: PieChartOptions = Tools.merge({}, chart, {\n\tpie: {\n\t\tradiusOffset: -15,\n\t\tinnerRadius: 2,\n\t\tpadAngle: 0.007,\n\t\thoverArc: {\n\t\t\touterRadiusOffset: 3\n\t\t},\n\t\txOffset: 30,\n\t\tyOffset: 20,\n\t\tyOffsetCallout: 10,\n\t\tcallout: {\n\t\t\tminSliceDegree: 5,\n\t\t\toffsetX: 15,\n\t\t\toffsetY: 12,\n\t\t\thorizontalLineLength: 8,\n\t\t\ttextMargin: 2\n\t\t},\n\t\tlabels: {\n\t\t\tformatter: null\n\t\t}\n\t}\n} as PieChartOptions);\n\n/**\n * options specific to donut charts\n */\nconst donutChart: DonutChartOptions = Tools.merge({}, pieChart, {\n\tdonut: {\n\t\tcenter: {\n\t\t\tnumberFontSize: radius => Math.min((radius / 100) * 24, 24) + \"px\",\n\t\t\ttitleFontSize: radius => Math.min((radius / 100) * 15, 15) + \"px\",\n\t\t\ttitleYPosition: radius => Math.min((radius / 80) * 20, 20),\n\t\t\tnumberFormatter: number => Math.floor(number).toLocaleString()\n\t\t}\n\t}\n} as DonutChartOptions);\n\n/**\n * options specific to radar charts\n */\nconst radarChart: RadarChartOptions = Tools.merge({}, chart, {\n\tradar: {\n\t\taxes: {\n\t\t\tangle: \"key\",\n\t\t\tvalue: \"value\"\n\t\t},\n\t\topacity: {\n\t\t\tunselected: 0.1,\n\t\t\tselected: 0.3\n\t\t},\n\t\txLabelPadding: 10,\n\t\tyLabelPadding: 8,\n\t\tyTicksNumber: 4,\n\t\tminRange: 10,\n\t\txAxisRectHeight: 50,\n\t\tdotsRadius: 5\n\t},\n\ttooltip: {\n\t\tgridline: {\n\t\t\tenabled: true\n\t\t},\n\t\tvalueFormatter: value => value !== null && value !== undefined ? value : \"N/A\"\n\t}\n} as RadarChartOptions);\n\nexport const options = {\n\tchart,\n\taxisChart,\n\tsimpleBarChart,\n\tgroupedBarChart,\n\tstackedBarChart,\n\tbubbleChart,\n\tlineChart,\n\tscatterChart,\n\tpieChart,\n\tdonutChart,\n\tradarChart\n};\n\n/**\n * Options for line behaviour\n */\nexport const lines = {\n\topacity: {\n\t\tunselected: 0.3,\n\t\tselected: 1\n\t}\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 axis = {\n\tticks: {\n\t\tnumber: 7,\n\t\trotateIfSmallerThan: 30\n\t},\n\tpaddingRatio: 0.1\n};\n\nexport const spacers = {\n\tdefault: {\n\t\tsize: 24\n\t}\n};\n\nexport const tickSpaceRatioVertical = 2.5;\nexport const tickSpaceRatioHorizontal = 3.5;\n"]}
1
+ {"version":3,"file":"configuration.js","sourceRoot":"","sources":["configuration.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tools } from \"./tools\";\nimport {\n\tBaseChartOptions,\n\tAxisChartOptions,\n\tScatterChartOptions,\n\tLineChartOptions,\n\tBarChartOptions,\n\tStackedBarChartOptions,\n\tPieChartOptions,\n\tDonutChartOptions,\n\tBubbleChartOptions,\n\tRadarChartOptions,\n\t// Components\n\tGridOptions,\n\tAxesOptions,\n\tTimeScaleOptions,\n\tTooltipOptions,\n\tAxisTooltipOptions,\n\tBarTooltipOptions,\n\tLegendOptions,\n\tLegendPositions,\n\tStackedBarOptions\n} from \"./interfaces\";\nimport enUSLocaleObject from \"date-fns/locale/en-US/index\";\n\n/*\n *****************************\n * User configurable options *\n *****************************\n */\n\n/**\n * Legend options\n */\nexport const legend: LegendOptions = {\n\tposition: LegendPositions.BOTTOM,\n\tclickable: true,\n\tenabled: true,\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},\n\tcheckbox: {\n\t\tradius: 6.5,\n\t\tspaceAfter: 4\n\t}\n};\n\n/**\n * Grid options\n */\nexport const grid: GridOptions = {\n\tx: {\n\t\tnumberOfTicks: 5\n\t},\n\ty: {\n\t\tnumberOfTicks: 5\n\t}\n};\n\n/**\n * Tooltip options\n */\nexport const baseTooltip: TooltipOptions = {\n\tdatapoint: {\n\t\thorizontalOffset: 10,\n\t\tenabled: true\n\t},\n\ttitle: {\n\t\tverticalOffset: 0.75,\n\t\twidth: 0.4\n\t}\n};\n\nexport const axisChartTooltip: AxisTooltipOptions = Tools.merge(\n\t{},\n\tbaseTooltip,\n\t{\n\t\tgridline: {\n\t\t\tenabled: true,\n\t\t\tthreshold: 0.02\n\t\t}\n\t} as AxisTooltipOptions\n);\n\nexport const barChartTooltip: BarTooltipOptions = Tools.merge(\n\t{},\n\taxisChartTooltip,\n\t{\n\t\tdatapoint: {\n\t\t\tverticalOffset: 4\n\t\t},\n\t\tgridline: {\n\t\t\tenabled: false\n\t\t}\n\t} as BarTooltipOptions\n);\n\n// These options will be managed by Tools.mergeDefaultChartOptions\n// by removing the ones the user is not providing,\n// and by TwoDimensionalAxes.\nconst axes: AxesOptions = {\n\ttop: {\n\t\tincludeZero: true\n\t},\n\tbottom: {\n\t\tincludeZero: true\n\t},\n\tleft: {\n\t\tincludeZero: true\n\t},\n\tright: {\n\t\tincludeZero: true\n\t}\n};\n\nexport const timeScale: TimeScaleOptions = {\n\taddSpaceOnEdges: 1,\n\tshowDayName: false,\n\tlocaleObject: enUSLocaleObject,\n\ttimeIntervalFormats: {\n\t\t\"15seconds\": { primary: \"MMM d, pp\", secondary: \"pp\" },\n\t\tminute: { primary: \"MMM d, p\", secondary: \"p\" },\n\t\t\"30minutes\": { primary: \"MMM d, p\", secondary: \"p\" },\n\t\thourly: { primary: \"MMM d, hh a\", secondary: \"hh a\" },\n\t\tdaily: { primary: \"MMM d\", secondary: \"d\" },\n\t\tweekly: { primary: \"eee, MMM d\", secondary: \"eee\" },\n\t\tmonthly: { primary: \"MMM yyyy\", secondary: \"MMM\" },\n\t\tquarterly: { primary: \"QQQ ''yy\", secondary: \"QQQ\" },\n\t\tyearly: { primary: \"yyyy\", secondary: \"yyyy\" }\n\t}\n};\n\n/**\n * Base chart options common to any chart\n */\nconst chart: BaseChartOptions = {\n\twidth: null,\n\theight: null,\n\tresizable: true,\n\ttooltip: baseTooltip,\n\tlegend,\n\tstyle: {\n\t\tprefix: \"cc\"\n\t},\n\tdata: {\n\t\tgroupMapsTo: \"group\",\n\t\tloading: false\n\t},\n\tcolor: {\n\t\tscale: null\n\t}\n};\n\n/**\n * Options common to any chart with an axis\n */\nconst axisChart: AxisChartOptions = Tools.merge({}, chart, {\n\taxes,\n\ttimeScale,\n\tgrid,\n\ttooltip: axisChartTooltip\n} as AxisChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst baseBarChart: BarChartOptions = Tools.merge({}, axisChart, {\n\tbars: {\n\t\tmaxWidth: 16\n\t},\n\ttimeScale: Tools.merge(timeScale, {\n\t\taddSpaceOnEdges: 1\n\t} as TimeScaleOptions),\n\ttooltip: barChartTooltip\n} as BarChartOptions);\n\n/**\n * options specific to simple bar charts\n */\nconst simpleBarChart: BarChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to simple bar charts\n */\nconst groupedBarChart: BarChartOptions = Tools.merge(\n\t{},\n\tbaseBarChart,\n\t{} as BarChartOptions\n);\n\n/**\n * options specific to stacked bar charts\n */\nconst stackedBarChart: StackedBarChartOptions = Tools.merge({}, baseBarChart, {\n\tbars: Tools.merge({}, baseBarChart.bars, {\n\t\tdividerSize: 1.5\n\t} as StackedBarOptions)\n} as BarChartOptions);\n\n/**\n * options specific to line charts\n */\nconst lineChart: LineChartOptions = Tools.merge({}, axisChart, {\n\tpoints: {\n\t\t// default point radius to 3\n\t\tradius: 3,\n\t\tfilled: false\n\t}\n} as LineChartOptions);\n\n/**\n * options specific to scatter charts\n */\nconst scatterChart: ScatterChartOptions = Tools.merge({}, axisChart, {\n\tpoints: {\n\t\t// default point radius to 4\n\t\tradius: 4,\n\t\tfillOpacity: 0.3,\n\t\tfilled: true\n\t}\n} as ScatterChartOptions);\n\n/**\n * options specific to bubble charts\n */\nconst bubbleChart: BubbleChartOptions = Tools.merge({}, axisChart, {\n\tbubble: {\n\t\tradiusMapsTo: \"radius\",\n\t\tradiusRange: (chartSize, data) => {\n\t\t\tconst smallerChartDimension = Math.min(\n\t\t\t\tchartSize.width,\n\t\t\t\tchartSize.height\n\t\t\t);\n\t\t\treturn [\n\t\t\t\t(smallerChartDimension * 3) / 400,\n\t\t\t\t(smallerChartDimension * 25) / 400\n\t\t\t];\n\t\t},\n\t\tfillOpacity: 0.2\n\t}\n} as BubbleChartOptions);\n\n/**\n * options specific to pie charts\n */\nconst pieChart: PieChartOptions = Tools.merge({}, chart, {\n\tpie: {\n\t\tradiusOffset: -15,\n\t\tinnerRadius: 2,\n\t\tpadAngle: 0.007,\n\t\thoverArc: {\n\t\t\touterRadiusOffset: 3\n\t\t},\n\t\txOffset: 30,\n\t\tyOffset: 20,\n\t\tyOffsetCallout: 10,\n\t\tcallout: {\n\t\t\tminSliceDegree: 5,\n\t\t\toffsetX: 15,\n\t\t\toffsetY: 12,\n\t\t\thorizontalLineLength: 8,\n\t\t\ttextMargin: 2\n\t\t},\n\t\tlabels: {\n\t\t\tformatter: null\n\t\t}\n\t}\n} as PieChartOptions);\n\n/**\n * options specific to donut charts\n */\nconst donutChart: DonutChartOptions = Tools.merge({}, pieChart, {\n\tdonut: {\n\t\tcenter: {\n\t\t\tnumberFontSize: radius => Math.min((radius / 100) * 24, 24) + \"px\",\n\t\t\ttitleFontSize: radius => Math.min((radius / 100) * 15, 15) + \"px\",\n\t\t\ttitleYPosition: radius => Math.min((radius / 80) * 20, 20),\n\t\t\tnumberFormatter: number => Math.floor(number).toLocaleString()\n\t\t}\n\t}\n} as DonutChartOptions);\n\n/**\n * options specific to radar charts\n */\nconst radarChart: RadarChartOptions = Tools.merge({}, chart, {\n\tradar: {\n\t\taxes: {\n\t\t\tangle: \"key\",\n\t\t\tvalue: \"value\"\n\t\t},\n\t\topacity: {\n\t\t\tunselected: 0.1,\n\t\t\tselected: 0.3\n\t\t},\n\t\txLabelPadding: 10,\n\t\tyLabelPadding: 8,\n\t\tyTicksNumber: 4,\n\t\tminRange: 10,\n\t\txAxisRectHeight: 50,\n\t\tdotsRadius: 5\n\t},\n\ttooltip: {\n\t\tgridline: {\n\t\t\tenabled: true\n\t\t},\n\t\tvalueFormatter: value =>\n\t\t\tvalue !== null && value !== undefined ? value : \"N/A\"\n\t}\n} as RadarChartOptions);\n\nexport const options = {\n\tchart,\n\taxisChart,\n\tsimpleBarChart,\n\tgroupedBarChart,\n\tstackedBarChart,\n\tbubbleChart,\n\tlineChart,\n\tscatterChart,\n\tpieChart,\n\tdonutChart,\n\tradarChart\n};\n\n/**\n * Options for line behaviour\n */\nexport const lines = {\n\topacity: {\n\t\tunselected: 0.3,\n\t\tselected: 1\n\t}\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 axis = {\n\tticks: {\n\t\tnumber: 7,\n\t\trotateIfSmallerThan: 30\n\t},\n\tpaddingRatio: 0.1\n};\n\nexport const spacers = {\n\tdefault: {\n\t\tsize: 24\n\t}\n};\n\nexport const tickSpaceRatioVertical = 2.5;\nexport const tickSpaceRatioHorizontal = 3.5;\n"]}
@@ -3,15 +3,15 @@ export declare const createVanillaChartApp: (demo: any) => {
3
3
  "index.html": string;
4
4
  "src/index.js": string;
5
5
  "package.json": {
6
- "scripts": {
7
- "start": string;
8
- "build": string;
6
+ scripts: {
7
+ start: string;
8
+ build: string;
9
9
  };
10
- "dependencies": {
10
+ dependencies: {
11
11
  "@carbon/charts": any;
12
- "d3": string;
12
+ d3: string;
13
13
  };
14
- "devDependencies": {
14
+ devDependencies: {
15
15
  "parcel-bundler": string;
16
16
  };
17
17
  };
@@ -19,6 +19,7 @@ export declare const createVanillaChartApp: (demo: any) => {
19
19
  export declare const createReactChartApp: (demo: any) => {
20
20
  "src/index.html": string;
21
21
  "src/index.js": string;
22
+ "src/ibm-plex-font.css": string;
22
23
  "package.json": {
23
24
  dependencies: {
24
25
  "@carbon/charts": any;
@@ -35,12 +36,14 @@ export declare const createAngularChartApp: (demo: any) => {
35
36
  "src/main.ts": string;
36
37
  "src/app/app.component.html": string;
37
38
  "src/app/app.component.ts": string;
39
+ "src/app/ibm-plex-font.css": string;
38
40
  "src/app/app.module.ts": string;
39
41
  ".angular-cli.json": string;
40
42
  "package.json": string;
41
43
  };
42
44
  export declare const createVueChartApp: (demo: any) => {
43
45
  "src/components/chart.vue": string;
46
+ "src/ibm-plex-font.css": string;
44
47
  "src/App.vue": string;
45
48
  "src/main.js": string;
46
49
  "package.json": string;
@@ -49,16 +52,16 @@ export declare const createSvelteChartApp: (demo: any) => {
49
52
  "App.svelte": string;
50
53
  "index.js": string;
51
54
  "package.json": {
52
- "scripts": {
53
- "build": string;
54
- "autobuild": string;
55
- "dev": string;
56
- "start": string;
55
+ scripts: {
56
+ build: string;
57
+ autobuild: string;
58
+ dev: string;
59
+ start: string;
57
60
  "start:dev": string;
58
61
  };
59
- "devDependencies": {
62
+ devDependencies: {
60
63
  "npm-run-all": string;
61
- "rollup": string;
64
+ rollup: string;
62
65
  "rollup-plugin-commonjs": string;
63
66
  "rollup-plugin-node-resolve": string;
64
67
  "rollup-plugin-svelte": string;