@fusedashlabs/widgets 0.4.0 → 0.4.1

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 (110) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +1 -1
  3. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +1 -0
  4. package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts.map +1 -1
  5. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js +11 -1
  6. package/dist/components/chart-renderer/element/ui9000-chart-renderer.js.map +1 -1
  7. package/dist/components/chart-renderer/lib/registry.d.ts.map +1 -1
  8. package/dist/components/chart-renderer/lib/registry.js +3 -1
  9. package/dist/components/chart-renderer/lib/registry.js.map +1 -1
  10. package/dist/components/kpi-widget/element/styles.d.ts.map +1 -1
  11. package/dist/components/kpi-widget/element/styles.js +268 -5
  12. package/dist/components/kpi-widget/element/styles.js.map +1 -1
  13. package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts +10 -1
  14. package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts.map +1 -1
  15. package/dist/components/kpi-widget/element/ui9000-kpi-widget.js +154 -27
  16. package/dist/components/kpi-widget/element/ui9000-kpi-widget.js.map +1 -1
  17. package/dist/components/kpi-widget/index.d.ts +1 -1
  18. package/dist/components/kpi-widget/index.d.ts.map +1 -1
  19. package/dist/components/kpi-widget/index.js +7 -4
  20. package/dist/components/kpi-widget/lib/extract.d.ts +5 -1
  21. package/dist/components/kpi-widget/lib/extract.d.ts.map +1 -1
  22. package/dist/components/kpi-widget/lib/extract.js +110 -34
  23. package/dist/components/kpi-widget/lib/extract.js.map +1 -1
  24. package/dist/components/kpi-widget/lib/format.d.ts +5 -0
  25. package/dist/components/kpi-widget/lib/format.d.ts.map +1 -1
  26. package/dist/components/kpi-widget/lib/format.js +10 -1
  27. package/dist/components/kpi-widget/lib/format.js.map +1 -1
  28. package/dist/components/kpi-widget/lib/grid.d.ts +5 -0
  29. package/dist/components/kpi-widget/lib/grid.d.ts.map +1 -1
  30. package/dist/components/kpi-widget/lib/grid.js +18 -0
  31. package/dist/components/kpi-widget/lib/grid.js.map +1 -1
  32. package/dist/components/kpi-widget/lib/index.d.ts +5 -5
  33. package/dist/components/kpi-widget/lib/index.d.ts.map +1 -1
  34. package/dist/components/kpi-widget/lib/normalize.d.ts +2 -0
  35. package/dist/components/kpi-widget/lib/normalize.d.ts.map +1 -1
  36. package/dist/components/kpi-widget/lib/normalize.js +73 -12
  37. package/dist/components/kpi-widget/lib/normalize.js.map +1 -1
  38. package/dist/components/kpi-widget/lib/types.d.ts +41 -0
  39. package/dist/components/kpi-widget/lib/types.d.ts.map +1 -1
  40. package/dist/components/kpi-widget/metadata.json.d.ts +1 -1
  41. package/dist/components/kpi-widget/metadata.json.js +1 -1
  42. package/dist/components/map-chart/metadata.json.d.ts +1 -1
  43. package/dist/components/map-chart/metadata.json.js +1 -1
  44. package/dist/components/map-chart/render/draw.d.ts.map +1 -1
  45. package/dist/components/map-chart/render/draw.js +2 -1
  46. package/dist/components/map-chart/render/draw.js.map +1 -1
  47. package/dist/components/partial-dependence-chart/element/styles.d.ts +2 -0
  48. package/dist/components/partial-dependence-chart/element/styles.d.ts.map +1 -0
  49. package/dist/components/partial-dependence-chart/element/styles.js +48 -0
  50. package/dist/components/partial-dependence-chart/element/styles.js.map +1 -0
  51. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.d.ts +30 -0
  52. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.d.ts.map +1 -0
  53. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.js +163 -0
  54. package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.js.map +1 -0
  55. package/dist/components/partial-dependence-chart/index.d.ts +5 -0
  56. package/dist/components/partial-dependence-chart/index.d.ts.map +1 -0
  57. package/dist/components/partial-dependence-chart/index.js +18 -0
  58. package/dist/components/partial-dependence-chart/index.js.map +1 -0
  59. package/dist/components/partial-dependence-chart/lib/domain.d.ts +6 -0
  60. package/dist/components/partial-dependence-chart/lib/domain.d.ts.map +1 -0
  61. package/dist/components/partial-dependence-chart/lib/domain.js +16 -0
  62. package/dist/components/partial-dependence-chart/lib/domain.js.map +1 -0
  63. package/dist/components/partial-dependence-chart/lib/index.d.ts +5 -0
  64. package/dist/components/partial-dependence-chart/lib/index.d.ts.map +1 -0
  65. package/dist/components/partial-dependence-chart/lib/normalize.d.ts +4 -0
  66. package/dist/components/partial-dependence-chart/lib/normalize.d.ts.map +1 -0
  67. package/dist/components/partial-dependence-chart/lib/normalize.js +167 -0
  68. package/dist/components/partial-dependence-chart/lib/normalize.js.map +1 -0
  69. package/dist/components/partial-dependence-chart/lib/series.d.ts +15 -0
  70. package/dist/components/partial-dependence-chart/lib/series.d.ts.map +1 -0
  71. package/dist/components/partial-dependence-chart/lib/series.js +63 -0
  72. package/dist/components/partial-dependence-chart/lib/series.js.map +1 -0
  73. package/dist/components/partial-dependence-chart/lib/types.d.ts +50 -0
  74. package/dist/components/partial-dependence-chart/lib/types.d.ts.map +1 -0
  75. package/dist/components/partial-dependence-chart/metadata.json.d.ts +80 -0
  76. package/dist/components/partial-dependence-chart/metadata.json.js +42 -0
  77. package/dist/components/partial-dependence-chart/metadata.json.js.map +1 -0
  78. package/dist/components/partial-dependence-chart/render/draw.d.ts +34 -0
  79. package/dist/components/partial-dependence-chart/render/draw.d.ts.map +1 -0
  80. package/dist/components/partial-dependence-chart/render/draw.js +95 -0
  81. package/dist/components/partial-dependence-chart/render/draw.js.map +1 -0
  82. package/dist/components/partial-dependence-chart/render/index.d.ts +2 -0
  83. package/dist/components/partial-dependence-chart/render/index.d.ts.map +1 -0
  84. package/dist/index.d.ts +5 -3
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +25 -10
  87. package/dist/index.js.map +1 -1
  88. package/dist/lazy/index.d.ts +2 -1
  89. package/dist/lazy/index.d.ts.map +1 -1
  90. package/dist/lazy/index.js +8 -0
  91. package/dist/lazy/index.js.map +1 -1
  92. package/dist/lazy/partial-dependence-chart.d.ts +4 -0
  93. package/dist/lazy/partial-dependence-chart.d.ts.map +1 -0
  94. package/dist/lazy/partial-dependence-chart.js +5 -0
  95. package/dist/lazy/partial-dependence-chart.js.map +1 -0
  96. package/dist/utils/chart-helpers.d.ts +2 -0
  97. package/dist/utils/chart-helpers.d.ts.map +1 -1
  98. package/dist/utils/chart-helpers.js +15 -0
  99. package/dist/utils/chart-helpers.js.map +1 -1
  100. package/dist/utils/fusedash-visual.d.ts +12 -0
  101. package/dist/utils/fusedash-visual.d.ts.map +1 -1
  102. package/dist/utils/fusedash-visual.js +7 -0
  103. package/dist/utils/fusedash-visual.js.map +1 -1
  104. package/package.json +11 -2
  105. package/dist/node_modules/lit-html/directive.js +0 -28
  106. package/dist/node_modules/lit-html/directive.js.map +0 -1
  107. package/dist/node_modules/lit-html/directives/style-map.js +0 -37
  108. package/dist/node_modules/lit-html/directives/style-map.js.map +0 -1
  109. package/dist/node_modules/lit-html/lit-html.js +0 -231
  110. package/dist/node_modules/lit-html/lit-html.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export type ChartKind = 'line-chart' | 'area-chart' | 'area-grouped-bar-chart' | 'lollipop' | 'step-line-chart' | 'spark-line-chart' | 'spark-area-chart' | 'scatter-sparkline-chart' | 'chart-renderer' | 'bar-chart' | 'histogram-chart' | 'punchcard-chart' | 'matrix-chart' | 'box-plot-chart' | 'violin-chart' | 'waterfall-chart' | 'sankey-chart' | 'parallel-coordinates-chart' | 'pie-chart' | 'donut-chart' | 'polar-area-chart' | 'scatter-plot-chart' | 'network-graph' | 'bias-variance-tradeoff-chart' | 'bubble-chart' | 'radar-chart' | 'radial-bar-chart' | 'treemap-chart' | 'kpi-widget' | 'gini-impurity-entropy-chart' | 'map-chart';
1
+ export type ChartKind = 'line-chart' | 'area-chart' | 'area-grouped-bar-chart' | 'lollipop' | 'step-line-chart' | 'spark-line-chart' | 'spark-area-chart' | 'scatter-sparkline-chart' | 'chart-renderer' | 'bar-chart' | 'histogram-chart' | 'punchcard-chart' | 'matrix-chart' | 'box-plot-chart' | 'violin-chart' | 'waterfall-chart' | 'sankey-chart' | 'parallel-coordinates-chart' | 'pie-chart' | 'donut-chart' | 'polar-area-chart' | 'scatter-plot-chart' | 'network-graph' | 'bias-variance-tradeoff-chart' | 'bubble-chart' | 'radar-chart' | 'radial-bar-chart' | 'treemap-chart' | 'partial-dependence-chart' | 'kpi-widget' | 'gini-impurity-entropy-chart' | 'map-chart';
2
2
  export interface LazyChartModule {
3
3
  register: () => void;
4
4
  }
@@ -33,6 +33,7 @@ export declare function loadBubbleChart(): Promise<LazyChartModule>;
33
33
  export declare function loadRadarChart(): Promise<LazyChartModule>;
34
34
  export declare function loadRadialBarChart(): Promise<LazyChartModule>;
35
35
  export declare function loadTreemapChart(): Promise<LazyChartModule>;
36
+ export declare function loadPartialDependenceChart(): Promise<LazyChartModule>;
36
37
  export declare function loadKpiWidget(): Promise<LazyChartModule>;
37
38
  export declare function loadGiniImpurityEntropyChart(): Promise<LazyChartModule>;
38
39
  export declare function loadMapChart(): Promise<LazyChartModule>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lazy/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lazy/index.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,10 @@ const loaders = {
111
111
  const mod = await import("../components/treemap-chart/index.js");
112
112
  return { register: mod.registerTreemapChart };
113
113
  },
114
+ "partial-dependence-chart": async () => {
115
+ const mod = await import("../components/partial-dependence-chart/index.js");
116
+ return { register: mod.registerPartialDependenceChart };
117
+ },
114
118
  "kpi-widget": async () => {
115
119
  const mod = await import("../components/kpi-widget/index.js");
116
120
  return { register: mod.registerKpiWidget };
@@ -218,6 +222,9 @@ async function loadRadialBarChart() {
218
222
  async function loadTreemapChart() {
219
223
  return loadChart("treemap-chart");
220
224
  }
225
+ async function loadPartialDependenceChart() {
226
+ return loadChart("partial-dependence-chart");
227
+ }
221
228
  async function loadKpiWidget() {
222
229
  return loadChart("kpi-widget");
223
230
  }
@@ -246,6 +253,7 @@ export {
246
253
  loadMatrixChart,
247
254
  loadNetworkGraph,
248
255
  loadParallelCoordinatesChart,
256
+ loadPartialDependenceChart,
249
257
  loadPieChart,
250
258
  loadPolarAreaChart,
251
259
  loadPunchcardChart,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/lazy/index.ts"],"sourcesContent":["export type ChartKind =\n | 'line-chart'\n | 'area-chart'\n | 'area-grouped-bar-chart'\n | 'lollipop'\n | 'step-line-chart'\n | 'spark-line-chart'\n | 'spark-area-chart'\n | 'scatter-sparkline-chart'\n | 'chart-renderer'\n | 'bar-chart'\n | 'histogram-chart'\n | 'punchcard-chart'\n | 'matrix-chart'\n | 'box-plot-chart'\n | 'violin-chart'\n | 'waterfall-chart'\n | 'sankey-chart'\n | 'parallel-coordinates-chart'\n | 'pie-chart'\n | 'donut-chart'\n | 'polar-area-chart'\n | 'scatter-plot-chart'\n | 'network-graph'\n | 'bias-variance-tradeoff-chart'\n | 'bubble-chart'\n | 'radar-chart'\n | 'radial-bar-chart'\n | 'treemap-chart'\n | 'kpi-widget'\n | 'gini-impurity-entropy-chart'\n | 'map-chart';\n\nexport interface LazyChartModule {\n register: () => void;\n}\n\nconst loaders: Record<ChartKind, () => Promise<LazyChartModule>> = {\n 'line-chart': async () => {\n const mod = await import('../components/line-chart/index.js');\n return { register: mod.registerLineChart };\n },\n 'area-chart': async () => {\n const mod = await import('../components/area-chart/index.js');\n return { register: mod.registerAreaChart };\n },\n 'area-grouped-bar-chart': async () => {\n const mod = await import('../components/area-grouped-bar-chart/index.js');\n return { register: mod.registerAreaGroupedBarChart };\n },\n lollipop: async () => {\n const mod = await import('../components/lollipop/index.js');\n return { register: mod.registerLollipop };\n },\n 'step-line-chart': async () => {\n const mod = await import('../components/step-line-chart/index.js');\n return { register: mod.registerStepLineChart };\n },\n 'spark-line-chart': async () => {\n const mod = await import('../components/spark-line-chart/index.js');\n return { register: mod.registerSparkLineChart };\n },\n 'spark-area-chart': async () => {\n const mod = await import('../components/spark-area-chart/index.js');\n return { register: mod.registerSparkAreaChart };\n },\n 'scatter-sparkline-chart': async () => {\n const mod = await import('../components/scatter-sparkline-chart/index.js');\n return { register: mod.registerScatterSparklineChart };\n },\n 'chart-renderer': async () => {\n const mod = await import('../components/chart-renderer/index.js');\n return { register: mod.registerChartRenderer };\n },\n 'bar-chart': async () => {\n const mod = await import('../components/bar-chart/index.js');\n return { register: mod.registerBarChart };\n },\n 'histogram-chart': async () => {\n const mod = await import('../components/histogram-chart/index.js');\n return { register: mod.registerHistogramChart };\n },\n 'punchcard-chart': async () => {\n const mod = await import('../components/punchcard-chart/index.js');\n return { register: mod.registerPunchcardChart };\n },\n 'matrix-chart': async () => {\n const mod = await import('../components/matrix-chart/index.js');\n return { register: mod.registerMatrixChart };\n },\n 'box-plot-chart': async () => {\n const mod = await import('../components/box-plot-chart/index.js');\n return { register: mod.registerBoxPlotChart };\n },\n 'violin-chart': async () => {\n const mod = await import('../components/violin-chart/index.js');\n return { register: mod.registerViolinChart };\n },\n 'waterfall-chart': async () => {\n const mod = await import('../components/waterfall-chart/index.js');\n return { register: mod.registerWaterfallChart };\n },\n 'sankey-chart': async () => {\n const mod = await import('../components/sankey-chart/index.js');\n return { register: mod.registerSankeyChart };\n },\n 'parallel-coordinates-chart': async () => {\n const mod = await import('../components/parallel-coordinates-chart/index.js');\n return { register: mod.registerParallelCoordinatesChart };\n },\n 'pie-chart': async () => {\n const mod = await import('../components/pie-chart/index.js');\n return { register: mod.registerPieChart };\n },\n 'donut-chart': async () => {\n const mod = await import('../components/donut-chart/index.js');\n return { register: mod.registerDonutChart };\n },\n 'polar-area-chart': async () => {\n const mod = await import('../components/polar-area-chart/index.js');\n return { register: mod.registerPolarAreaChart };\n },\n 'scatter-plot-chart': async () => {\n const mod = await import('../components/scatter-plot-chart/index.js');\n return { register: mod.registerScatterPlot };\n },\n 'network-graph': async () => {\n const mod = await import('../components/network-graph/index.js');\n return { register: mod.registerNetworkGraph };\n },\n 'bias-variance-tradeoff-chart': async () => {\n const mod = await import('../components/bias-variance-tradeoff-chart/index.js');\n return { register: mod.registerBiasVarianceTradeoffChart };\n },\n 'bubble-chart': async () => {\n const mod = await import('../components/bubble-chart/index.js');\n return { register: mod.registerBubbleChart };\n },\n 'radar-chart': async () => {\n const mod = await import('../components/radar-chart/index.js');\n return { register: mod.registerRadarChart };\n },\n 'radial-bar-chart': async () => {\n const mod = await import('../components/radial-bar-chart/index.js');\n return { register: mod.registerRadialBarChart };\n },\n 'treemap-chart': async () => {\n const mod = await import('../components/treemap-chart/index.js');\n return { register: mod.registerTreemapChart };\n },\n 'kpi-widget': async () => {\n const mod = await import('../components/kpi-widget/index.js');\n return { register: mod.registerKpiWidget };\n },\n 'gini-impurity-entropy-chart': async () => {\n const mod = await import('../components/gini-impurity-entropy-chart/index.js');\n return { register: mod.registerGiniImpurityEntropyChart };\n },\n 'map-chart': async () => {\n const mod = await import('../components/map-chart/index.js');\n return { register: mod.registerMapChart };\n },\n};\n\nconst loaded = new Set<ChartKind>();\n\n/** Dynamically import and register a single chart web component. */\nexport async function loadChart(kind: ChartKind): Promise<LazyChartModule> {\n if (loaded.has(kind)) {\n return { register: () => undefined };\n }\n const mod = await loaders[kind]();\n mod.register();\n loaded.add(kind);\n return mod;\n}\n\nexport async function loadLineChart(): Promise<LazyChartModule> {\n return loadChart('line-chart');\n}\n\nexport async function loadAreaChart(): Promise<LazyChartModule> {\n return loadChart('area-chart');\n}\n\nexport async function loadAreaGroupedBarChart(): Promise<LazyChartModule> {\n return loadChart('area-grouped-bar-chart');\n}\n\nexport async function loadLollipop(): Promise<LazyChartModule> {\n return loadChart('lollipop');\n}\n\nexport async function loadStepLineChart(): Promise<LazyChartModule> {\n return loadChart('step-line-chart');\n}\n\nexport async function loadSparkLineChart(): Promise<LazyChartModule> {\n return loadChart('spark-line-chart');\n}\n\nexport async function loadSparkAreaChart(): Promise<LazyChartModule> {\n return loadChart('spark-area-chart');\n}\n\nexport async function loadScatterSparklineChart(): Promise<LazyChartModule> {\n return loadChart('scatter-sparkline-chart');\n}\n\nexport async function loadChartRenderer(): Promise<LazyChartModule> {\n return loadChart('chart-renderer');\n}\n\nexport async function loadBarChart(): Promise<LazyChartModule> {\n return loadChart('bar-chart');\n}\n\nexport async function loadHistogramChart(): Promise<LazyChartModule> {\n return loadChart('histogram-chart');\n}\n\nexport async function loadPunchcardChart(): Promise<LazyChartModule> {\n return loadChart('punchcard-chart');\n}\n\nexport async function loadMatrixChart(): Promise<LazyChartModule> {\n return loadChart('matrix-chart');\n}\n\nexport async function loadBoxPlotChart(): Promise<LazyChartModule> {\n return loadChart('box-plot-chart');\n}\n\nexport async function loadViolinChart(): Promise<LazyChartModule> {\n return loadChart('violin-chart');\n}\n\nexport async function loadWaterfallChart(): Promise<LazyChartModule> {\n return loadChart('waterfall-chart');\n}\n\nexport async function loadSankeyChart(): Promise<LazyChartModule> {\n return loadChart('sankey-chart');\n}\n\nexport async function loadParallelCoordinatesChart(): Promise<LazyChartModule> {\n return loadChart('parallel-coordinates-chart');\n}\n\nexport async function loadPieChart(): Promise<LazyChartModule> {\n return loadChart('pie-chart');\n}\n\nexport async function loadDonutChart(): Promise<LazyChartModule> {\n return loadChart('donut-chart');\n}\n\nexport async function loadPolarAreaChart(): Promise<LazyChartModule> {\n return loadChart('polar-area-chart');\n}\n\nexport async function loadScatterPlotChart(): Promise<LazyChartModule> {\n return loadChart('scatter-plot-chart');\n}\n\nexport async function loadNetworkGraph(): Promise<LazyChartModule> {\n return loadChart('network-graph');\n}\n\nexport async function loadBiasVarianceTradeoffChart(): Promise<LazyChartModule> {\n return loadChart('bias-variance-tradeoff-chart');\n}\n\nexport async function loadBubbleChart(): Promise<LazyChartModule> {\n return loadChart('bubble-chart');\n}\n\nexport async function loadRadarChart(): Promise<LazyChartModule> {\n return loadChart('radar-chart');\n}\n\nexport async function loadRadialBarChart(): Promise<LazyChartModule> {\n return loadChart('radial-bar-chart');\n}\n\nexport async function loadTreemapChart(): Promise<LazyChartModule> {\n return loadChart('treemap-chart');\n}\n\nexport async function loadKpiWidget(): Promise<LazyChartModule> {\n return loadChart('kpi-widget');\n}\n\nexport async function loadGiniImpurityEntropyChart(): Promise<LazyChartModule> {\n return loadChart('gini-impurity-entropy-chart');\n}\n\nexport async function loadMapChart(): Promise<LazyChartModule> {\n return loadChart('map-chart');\n}\n\nexport { loaders };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/lazy/index.ts"],"sourcesContent":["export type ChartKind =\n | 'line-chart'\n | 'area-chart'\n | 'area-grouped-bar-chart'\n | 'lollipop'\n | 'step-line-chart'\n | 'spark-line-chart'\n | 'spark-area-chart'\n | 'scatter-sparkline-chart'\n | 'chart-renderer'\n | 'bar-chart'\n | 'histogram-chart'\n | 'punchcard-chart'\n | 'matrix-chart'\n | 'box-plot-chart'\n | 'violin-chart'\n | 'waterfall-chart'\n | 'sankey-chart'\n | 'parallel-coordinates-chart'\n | 'pie-chart'\n | 'donut-chart'\n | 'polar-area-chart'\n | 'scatter-plot-chart'\n | 'network-graph'\n | 'bias-variance-tradeoff-chart'\n | 'bubble-chart'\n | 'radar-chart'\n | 'radial-bar-chart'\n | 'treemap-chart'\n | 'partial-dependence-chart'\n | 'kpi-widget'\n | 'gini-impurity-entropy-chart'\n | 'map-chart';\n\nexport interface LazyChartModule {\n register: () => void;\n}\n\nconst loaders: Record<ChartKind, () => Promise<LazyChartModule>> = {\n 'line-chart': async () => {\n const mod = await import('../components/line-chart/index.js');\n return { register: mod.registerLineChart };\n },\n 'area-chart': async () => {\n const mod = await import('../components/area-chart/index.js');\n return { register: mod.registerAreaChart };\n },\n 'area-grouped-bar-chart': async () => {\n const mod = await import('../components/area-grouped-bar-chart/index.js');\n return { register: mod.registerAreaGroupedBarChart };\n },\n lollipop: async () => {\n const mod = await import('../components/lollipop/index.js');\n return { register: mod.registerLollipop };\n },\n 'step-line-chart': async () => {\n const mod = await import('../components/step-line-chart/index.js');\n return { register: mod.registerStepLineChart };\n },\n 'spark-line-chart': async () => {\n const mod = await import('../components/spark-line-chart/index.js');\n return { register: mod.registerSparkLineChart };\n },\n 'spark-area-chart': async () => {\n const mod = await import('../components/spark-area-chart/index.js');\n return { register: mod.registerSparkAreaChart };\n },\n 'scatter-sparkline-chart': async () => {\n const mod = await import('../components/scatter-sparkline-chart/index.js');\n return { register: mod.registerScatterSparklineChart };\n },\n 'chart-renderer': async () => {\n const mod = await import('../components/chart-renderer/index.js');\n return { register: mod.registerChartRenderer };\n },\n 'bar-chart': async () => {\n const mod = await import('../components/bar-chart/index.js');\n return { register: mod.registerBarChart };\n },\n 'histogram-chart': async () => {\n const mod = await import('../components/histogram-chart/index.js');\n return { register: mod.registerHistogramChart };\n },\n 'punchcard-chart': async () => {\n const mod = await import('../components/punchcard-chart/index.js');\n return { register: mod.registerPunchcardChart };\n },\n 'matrix-chart': async () => {\n const mod = await import('../components/matrix-chart/index.js');\n return { register: mod.registerMatrixChart };\n },\n 'box-plot-chart': async () => {\n const mod = await import('../components/box-plot-chart/index.js');\n return { register: mod.registerBoxPlotChart };\n },\n 'violin-chart': async () => {\n const mod = await import('../components/violin-chart/index.js');\n return { register: mod.registerViolinChart };\n },\n 'waterfall-chart': async () => {\n const mod = await import('../components/waterfall-chart/index.js');\n return { register: mod.registerWaterfallChart };\n },\n 'sankey-chart': async () => {\n const mod = await import('../components/sankey-chart/index.js');\n return { register: mod.registerSankeyChart };\n },\n 'parallel-coordinates-chart': async () => {\n const mod = await import('../components/parallel-coordinates-chart/index.js');\n return { register: mod.registerParallelCoordinatesChart };\n },\n 'pie-chart': async () => {\n const mod = await import('../components/pie-chart/index.js');\n return { register: mod.registerPieChart };\n },\n 'donut-chart': async () => {\n const mod = await import('../components/donut-chart/index.js');\n return { register: mod.registerDonutChart };\n },\n 'polar-area-chart': async () => {\n const mod = await import('../components/polar-area-chart/index.js');\n return { register: mod.registerPolarAreaChart };\n },\n 'scatter-plot-chart': async () => {\n const mod = await import('../components/scatter-plot-chart/index.js');\n return { register: mod.registerScatterPlot };\n },\n 'network-graph': async () => {\n const mod = await import('../components/network-graph/index.js');\n return { register: mod.registerNetworkGraph };\n },\n 'bias-variance-tradeoff-chart': async () => {\n const mod = await import('../components/bias-variance-tradeoff-chart/index.js');\n return { register: mod.registerBiasVarianceTradeoffChart };\n },\n 'bubble-chart': async () => {\n const mod = await import('../components/bubble-chart/index.js');\n return { register: mod.registerBubbleChart };\n },\n 'radar-chart': async () => {\n const mod = await import('../components/radar-chart/index.js');\n return { register: mod.registerRadarChart };\n },\n 'radial-bar-chart': async () => {\n const mod = await import('../components/radial-bar-chart/index.js');\n return { register: mod.registerRadialBarChart };\n },\n 'treemap-chart': async () => {\n const mod = await import('../components/treemap-chart/index.js');\n return { register: mod.registerTreemapChart };\n },\n 'partial-dependence-chart': async () => {\n const mod = await import('../components/partial-dependence-chart/index.js');\n return { register: mod.registerPartialDependenceChart };\n },\n 'kpi-widget': async () => {\n const mod = await import('../components/kpi-widget/index.js');\n return { register: mod.registerKpiWidget };\n },\n 'gini-impurity-entropy-chart': async () => {\n const mod = await import('../components/gini-impurity-entropy-chart/index.js');\n return { register: mod.registerGiniImpurityEntropyChart };\n },\n 'map-chart': async () => {\n const mod = await import('../components/map-chart/index.js');\n return { register: mod.registerMapChart };\n },\n};\n\nconst loaded = new Set<ChartKind>();\n\n/** Dynamically import and register a single chart web component. */\nexport async function loadChart(kind: ChartKind): Promise<LazyChartModule> {\n if (loaded.has(kind)) {\n return { register: () => undefined };\n }\n const mod = await loaders[kind]();\n mod.register();\n loaded.add(kind);\n return mod;\n}\n\nexport async function loadLineChart(): Promise<LazyChartModule> {\n return loadChart('line-chart');\n}\n\nexport async function loadAreaChart(): Promise<LazyChartModule> {\n return loadChart('area-chart');\n}\n\nexport async function loadAreaGroupedBarChart(): Promise<LazyChartModule> {\n return loadChart('area-grouped-bar-chart');\n}\n\nexport async function loadLollipop(): Promise<LazyChartModule> {\n return loadChart('lollipop');\n}\n\nexport async function loadStepLineChart(): Promise<LazyChartModule> {\n return loadChart('step-line-chart');\n}\n\nexport async function loadSparkLineChart(): Promise<LazyChartModule> {\n return loadChart('spark-line-chart');\n}\n\nexport async function loadSparkAreaChart(): Promise<LazyChartModule> {\n return loadChart('spark-area-chart');\n}\n\nexport async function loadScatterSparklineChart(): Promise<LazyChartModule> {\n return loadChart('scatter-sparkline-chart');\n}\n\nexport async function loadChartRenderer(): Promise<LazyChartModule> {\n return loadChart('chart-renderer');\n}\n\nexport async function loadBarChart(): Promise<LazyChartModule> {\n return loadChart('bar-chart');\n}\n\nexport async function loadHistogramChart(): Promise<LazyChartModule> {\n return loadChart('histogram-chart');\n}\n\nexport async function loadPunchcardChart(): Promise<LazyChartModule> {\n return loadChart('punchcard-chart');\n}\n\nexport async function loadMatrixChart(): Promise<LazyChartModule> {\n return loadChart('matrix-chart');\n}\n\nexport async function loadBoxPlotChart(): Promise<LazyChartModule> {\n return loadChart('box-plot-chart');\n}\n\nexport async function loadViolinChart(): Promise<LazyChartModule> {\n return loadChart('violin-chart');\n}\n\nexport async function loadWaterfallChart(): Promise<LazyChartModule> {\n return loadChart('waterfall-chart');\n}\n\nexport async function loadSankeyChart(): Promise<LazyChartModule> {\n return loadChart('sankey-chart');\n}\n\nexport async function loadParallelCoordinatesChart(): Promise<LazyChartModule> {\n return loadChart('parallel-coordinates-chart');\n}\n\nexport async function loadPieChart(): Promise<LazyChartModule> {\n return loadChart('pie-chart');\n}\n\nexport async function loadDonutChart(): Promise<LazyChartModule> {\n return loadChart('donut-chart');\n}\n\nexport async function loadPolarAreaChart(): Promise<LazyChartModule> {\n return loadChart('polar-area-chart');\n}\n\nexport async function loadScatterPlotChart(): Promise<LazyChartModule> {\n return loadChart('scatter-plot-chart');\n}\n\nexport async function loadNetworkGraph(): Promise<LazyChartModule> {\n return loadChart('network-graph');\n}\n\nexport async function loadBiasVarianceTradeoffChart(): Promise<LazyChartModule> {\n return loadChart('bias-variance-tradeoff-chart');\n}\n\nexport async function loadBubbleChart(): Promise<LazyChartModule> {\n return loadChart('bubble-chart');\n}\n\nexport async function loadRadarChart(): Promise<LazyChartModule> {\n return loadChart('radar-chart');\n}\n\nexport async function loadRadialBarChart(): Promise<LazyChartModule> {\n return loadChart('radial-bar-chart');\n}\n\nexport async function loadTreemapChart(): Promise<LazyChartModule> {\n return loadChart('treemap-chart');\n}\n\nexport async function loadPartialDependenceChart(): Promise<LazyChartModule> {\n return loadChart('partial-dependence-chart');\n}\n\nexport async function loadKpiWidget(): Promise<LazyChartModule> {\n return loadChart('kpi-widget');\n}\n\nexport async function loadGiniImpurityEntropyChart(): Promise<LazyChartModule> {\n return loadChart('gini-impurity-entropy-chart');\n}\n\nexport async function loadMapChart(): Promise<LazyChartModule> {\n return loadChart('map-chart');\n}\n\nexport { loaders };\n"],"names":[],"mappings":"AAsCA,MAAM,UAA6D;AAAA,EACjE,cAAc,YAAY;AACxB,UAAM,MAAM,MAAM,OAAO,mCAAmC;AAC5D,WAAO,EAAE,UAAU,IAAI,kBAAA;AAAA,EACzB;AAAA,EACA,cAAc,YAAY;AACxB,UAAM,MAAM,MAAM,OAAO,mCAAmC;AAC5D,WAAO,EAAE,UAAU,IAAI,kBAAA;AAAA,EACzB;AAAA,EACA,0BAA0B,YAAY;AACpC,UAAM,MAAM,MAAM,OAAO,+CAA+C;AACxE,WAAO,EAAE,UAAU,IAAI,4BAAA;AAAA,EACzB;AAAA,EACA,UAAU,YAAY;AACpB,UAAM,MAAM,MAAM,OAAO,iCAAiC;AAC1D,WAAO,EAAE,UAAU,IAAI,iBAAA;AAAA,EACzB;AAAA,EACA,mBAAmB,YAAY;AAC7B,UAAM,MAAM,MAAM,OAAO,wCAAwC;AACjE,WAAO,EAAE,UAAU,IAAI,sBAAA;AAAA,EACzB;AAAA,EACA,oBAAoB,YAAY;AAC9B,UAAM,MAAM,MAAM,OAAO,yCAAyC;AAClE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,oBAAoB,YAAY;AAC9B,UAAM,MAAM,MAAM,OAAO,yCAAyC;AAClE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,2BAA2B,YAAY;AACrC,UAAM,MAAM,MAAM,OAAO,gDAAgD;AACzE,WAAO,EAAE,UAAU,IAAI,8BAAA;AAAA,EACzB;AAAA,EACA,kBAAkB,YAAY;AAC5B,UAAM,MAAM,MAAM,OAAO,uCAAuC;AAChE,WAAO,EAAE,UAAU,IAAI,sBAAA;AAAA,EACzB;AAAA,EACA,aAAa,YAAY;AACvB,UAAM,MAAM,MAAM,OAAO,kCAAkC;AAC3D,WAAO,EAAE,UAAU,IAAI,iBAAA;AAAA,EACzB;AAAA,EACA,mBAAmB,YAAY;AAC7B,UAAM,MAAM,MAAM,OAAO,wCAAwC;AACjE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,mBAAmB,YAAY;AAC7B,UAAM,MAAM,MAAM,OAAO,wCAAwC;AACjE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,gBAAgB,YAAY;AAC1B,UAAM,MAAM,MAAM,OAAO,qCAAqC;AAC9D,WAAO,EAAE,UAAU,IAAI,oBAAA;AAAA,EACzB;AAAA,EACA,kBAAkB,YAAY;AAC5B,UAAM,MAAM,MAAM,OAAO,uCAAuC;AAChE,WAAO,EAAE,UAAU,IAAI,qBAAA;AAAA,EACzB;AAAA,EACA,gBAAgB,YAAY;AAC1B,UAAM,MAAM,MAAM,OAAO,qCAAqC;AAC9D,WAAO,EAAE,UAAU,IAAI,oBAAA;AAAA,EACzB;AAAA,EACA,mBAAmB,YAAY;AAC7B,UAAM,MAAM,MAAM,OAAO,wCAAwC;AACjE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,gBAAgB,YAAY;AAC1B,UAAM,MAAM,MAAM,OAAO,qCAAqC;AAC9D,WAAO,EAAE,UAAU,IAAI,oBAAA;AAAA,EACzB;AAAA,EACA,8BAA8B,YAAY;AACxC,UAAM,MAAM,MAAM,OAAO,mDAAmD;AAC5E,WAAO,EAAE,UAAU,IAAI,iCAAA;AAAA,EACzB;AAAA,EACA,aAAa,YAAY;AACvB,UAAM,MAAM,MAAM,OAAO,kCAAkC;AAC3D,WAAO,EAAE,UAAU,IAAI,iBAAA;AAAA,EACzB;AAAA,EACA,eAAe,YAAY;AACzB,UAAM,MAAM,MAAM,OAAO,oCAAoC;AAC7D,WAAO,EAAE,UAAU,IAAI,mBAAA;AAAA,EACzB;AAAA,EACA,oBAAoB,YAAY;AAC9B,UAAM,MAAM,MAAM,OAAO,yCAAyC;AAClE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,sBAAsB,YAAY;AAChC,UAAM,MAAM,MAAM,OAAO,2CAA2C;AACpE,WAAO,EAAE,UAAU,IAAI,oBAAA;AAAA,EACzB;AAAA,EACA,iBAAiB,YAAY;AAC3B,UAAM,MAAM,MAAM,OAAO,sCAAsC;AAC/D,WAAO,EAAE,UAAU,IAAI,qBAAA;AAAA,EACzB;AAAA,EACA,gCAAgC,YAAY;AAC1C,UAAM,MAAM,MAAM,OAAO,qDAAqD;AAC9E,WAAO,EAAE,UAAU,IAAI,kCAAA;AAAA,EACzB;AAAA,EACA,gBAAgB,YAAY;AAC1B,UAAM,MAAM,MAAM,OAAO,qCAAqC;AAC9D,WAAO,EAAE,UAAU,IAAI,oBAAA;AAAA,EACzB;AAAA,EACA,eAAe,YAAY;AACzB,UAAM,MAAM,MAAM,OAAO,oCAAoC;AAC7D,WAAO,EAAE,UAAU,IAAI,mBAAA;AAAA,EACzB;AAAA,EACA,oBAAoB,YAAY;AAC9B,UAAM,MAAM,MAAM,OAAO,yCAAyC;AAClE,WAAO,EAAE,UAAU,IAAI,uBAAA;AAAA,EACzB;AAAA,EACA,iBAAiB,YAAY;AAC3B,UAAM,MAAM,MAAM,OAAO,sCAAsC;AAC/D,WAAO,EAAE,UAAU,IAAI,qBAAA;AAAA,EACzB;AAAA,EACA,4BAA4B,YAAY;AACtC,UAAM,MAAM,MAAM,OAAO,iDAAiD;AAC1E,WAAO,EAAE,UAAU,IAAI,+BAAA;AAAA,EACzB;AAAA,EACA,cAAc,YAAY;AACxB,UAAM,MAAM,MAAM,OAAO,mCAAmC;AAC5D,WAAO,EAAE,UAAU,IAAI,kBAAA;AAAA,EACzB;AAAA,EACA,+BAA+B,YAAY;AACzC,UAAM,MAAM,MAAM,OAAO,oDAAoD;AAC7E,WAAO,EAAE,UAAU,IAAI,iCAAA;AAAA,EACzB;AAAA,EACA,aAAa,YAAY;AACvB,UAAM,MAAM,MAAM,OAAO,kCAAkC;AAC3D,WAAO,EAAE,UAAU,IAAI,iBAAA;AAAA,EACzB;AACF;AAEA,MAAM,6BAAa,IAAA;AAGnB,eAAsB,UAAU,MAA2C;AACzE,MAAI,OAAO,IAAI,IAAI,GAAG;AACpB,WAAO,EAAE,UAAU,MAAM,OAAA;AAAA,EAC3B;AACA,QAAM,MAAM,MAAM,QAAQ,IAAI,EAAA;AAC9B,MAAI,SAAA;AACJ,SAAO,IAAI,IAAI;AACf,SAAO;AACT;AAEA,eAAsB,gBAA0C;AAC9D,SAAO,UAAU,YAAY;AAC/B;AAEA,eAAsB,gBAA0C;AAC9D,SAAO,UAAU,YAAY;AAC/B;AAEA,eAAsB,0BAAoD;AACxE,SAAO,UAAU,wBAAwB;AAC3C;AAEA,eAAsB,eAAyC;AAC7D,SAAO,UAAU,UAAU;AAC7B;AAEA,eAAsB,oBAA8C;AAClE,SAAO,UAAU,iBAAiB;AACpC;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,kBAAkB;AACrC;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,kBAAkB;AACrC;AAEA,eAAsB,4BAAsD;AAC1E,SAAO,UAAU,yBAAyB;AAC5C;AAEA,eAAsB,oBAA8C;AAClE,SAAO,UAAU,gBAAgB;AACnC;AAEA,eAAsB,eAAyC;AAC7D,SAAO,UAAU,WAAW;AAC9B;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,iBAAiB;AACpC;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,iBAAiB;AACpC;AAEA,eAAsB,kBAA4C;AAChE,SAAO,UAAU,cAAc;AACjC;AAEA,eAAsB,mBAA6C;AACjE,SAAO,UAAU,gBAAgB;AACnC;AAEA,eAAsB,kBAA4C;AAChE,SAAO,UAAU,cAAc;AACjC;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,iBAAiB;AACpC;AAEA,eAAsB,kBAA4C;AAChE,SAAO,UAAU,cAAc;AACjC;AAEA,eAAsB,+BAAyD;AAC7E,SAAO,UAAU,4BAA4B;AAC/C;AAEA,eAAsB,eAAyC;AAC7D,SAAO,UAAU,WAAW;AAC9B;AAEA,eAAsB,iBAA2C;AAC/D,SAAO,UAAU,aAAa;AAChC;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,kBAAkB;AACrC;AAEA,eAAsB,uBAAiD;AACrE,SAAO,UAAU,oBAAoB;AACvC;AAEA,eAAsB,mBAA6C;AACjE,SAAO,UAAU,eAAe;AAClC;AAEA,eAAsB,gCAA0D;AAC9E,SAAO,UAAU,8BAA8B;AACjD;AAEA,eAAsB,kBAA4C;AAChE,SAAO,UAAU,cAAc;AACjC;AAEA,eAAsB,iBAA2C;AAC/D,SAAO,UAAU,aAAa;AAChC;AAEA,eAAsB,qBAA+C;AACnE,SAAO,UAAU,kBAAkB;AACrC;AAEA,eAAsB,mBAA6C;AACjE,SAAO,UAAU,eAAe;AAClC;AAEA,eAAsB,6BAAuD;AAC3E,SAAO,UAAU,0BAA0B;AAC7C;AAEA,eAAsB,gBAA0C;AAC9D,SAAO,UAAU,YAAY;AAC/B;AAEA,eAAsB,+BAAyD;AAC7E,SAAO,UAAU,6BAA6B;AAChD;AAEA,eAAsB,eAAyC;AAC7D,SAAO,UAAU,WAAW;AAC9B;"}
@@ -0,0 +1,4 @@
1
+ import { loadPartialDependenceChart } from './index.js';
2
+ /** Lazy entry: `@ui9000/widgets/lazy/partial-dependence-chart` */
3
+ export default loadPartialDependenceChart;
4
+ //# sourceMappingURL=partial-dependence-chart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-dependence-chart.d.ts","sourceRoot":"","sources":["../../src/lazy/partial-dependence-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAExD,kEAAkE;AAClE,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { loadPartialDependenceChart } from "./index.js";
2
+ export {
3
+ loadPartialDependenceChart as default
4
+ };
5
+ //# sourceMappingURL=partial-dependence-chart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partial-dependence-chart.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -46,6 +46,8 @@ export declare function getBubbleChartDimensions(container: HTMLElement): ChartD
46
46
  * which is how the fixed-size chat host resizes the rings.
47
47
  */
48
48
  export declare function getRadialBarDimensions(container: HTMLElement, scale?: WidgetScale): ChartDimensions;
49
+ /** FuseDash PartialDependenceChart frame */
50
+ export declare function getPartialDependenceDimensions(container: HTMLElement, scale?: WidgetScale): ChartDimensions;
49
51
  /** FuseDash PieChart frame — square plot area, zero SVG margin */
50
52
  export declare function getPieDimensions(container: HTMLElement): ChartDimensions;
51
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chart-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/chart-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAItE,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAOnE;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,WAAW,EACtB,KAAK,GAAE,WAAuB,GAC7B,eAAe,CASjB;AAED,0CAA0C;AAC1C,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM9E;AAED,gCAAgC;AAChC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM1E;AAED,8BAA8B;AAC9B,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM7E;AAED,oCAAoC;AACpC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM9E;AAED,iCAAiC;AACjC,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM3E;AAED,mCAAmC;AACnC,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM7E;AAED,oCAAoC;AACpC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM9E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,WAAW,EACtB,KAAK,GAAE,WAAuB,GAC7B,eAAe,CAajB;AAED,kCAAkC;AAClC,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM5E;AAED,kEAAkE;AAClE,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,WAAW,EACtB,WAAW,GAAE,UAAU,GAAG,YAAyB,GAClD,eAAe,CAUjB;AAED,oCAAoC;AACpC,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM9E;AAED;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,WAAW,EACtB,WAAW,GAAE,YAAY,GAAG,UAAyB,GACpD,eAAe,CASjB;AAED,qEAAqE;AACrE,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,WAAW,GAAE,UAAU,GAAG,YAA2B,GACpD,eAAe,CAUjB;AAED,iCAAiC;AACjC,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAMhF;AAED,+CAA+C;AAC/C,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAMjF;AAED,0EAA0E;AAC1E,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAahF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,KAAK,GAAE,WAAuB,GAC7B,eAAe,CAajB;AAED,kEAAkE;AAClE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAMxE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,WAAW,EACtB,KAAK,GAAE,WAAuB,GAC7B,eAAe,CAajB;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAM5E;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAE9E;AAED,yCAAyC;AACzC,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,WAAW,GAAG,eAAe,CAMxF;AAED,8CAA8C;AAC9C,wBAAgB,gCAAgC,CAC9C,SAAS,EAAE,WAAW,GACrB,eAAe,CAMjB;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,WAAW,GAAG;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAKA;AAED,8CAA8C;AAC9C,eAAO,MAAM,YAAY,mJAAiB,CAAC"}
1
+ {"version":3,"file":"chart-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/chart-helpers.ts"],"names":[],"mappings":"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"}
@@ -152,6 +152,20 @@ function getRadialBarDimensions(container, scale = "default") {
152
152
  }
153
153
  };
154
154
  }
155
+ function getPartialDependenceDimensions(container, scale = "default") {
156
+ const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;
157
+ const base = FD.pdpMargin;
158
+ return {
159
+ width: container.clientWidth || 400,
160
+ height: container.clientHeight || 300,
161
+ margin: {
162
+ top: Math.max(base.top + delta, 4),
163
+ right: Math.max(base.right + delta, 8),
164
+ bottom: Math.max(base.bottom + delta, 16),
165
+ left: Math.max(base.left + delta, 28)
166
+ }
167
+ };
168
+ }
155
169
  function getPieDimensions(container) {
156
170
  return {
157
171
  width: container.clientWidth || 400,
@@ -216,6 +230,7 @@ export {
216
230
  getLollipopDimensions,
217
231
  getMatrixDimensions,
218
232
  getParallelCoordinatesDimensions,
233
+ getPartialDependenceDimensions,
219
234
  getPieDimensions,
220
235
  getPolarAreaDimensions,
221
236
  getPunchcardDimensions,
@@ -1 +1 @@
1
- {"version":3,"file":"chart-helpers.js","sources":["../../src/utils/chart-helpers.ts"],"sourcesContent":["import type { ChartDimensions, WidgetScale } from '../types/index.js';\nimport { SCALE_PADDING } from '../types/index.js';\nimport { FD } from './fusedash-visual.js';\n\nexport function parseJsonAttr<T>(raw: string | null, fallback: T): T {\n if (!raw) return fallback;\n try {\n return JSON.parse(raw) as T;\n } catch {\n return fallback;\n }\n}\n\nexport function getDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const padding = SCALE_PADDING[scale];\n const width = container.clientWidth || 400;\n const height = container.clientHeight || 300;\n return {\n width,\n height,\n margin: { top: padding, right: padding, bottom: padding + 16, left: padding + 32 },\n };\n}\n\n/** FuseDash LineChart new-design frame */\nexport function getLineChartDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.lineMargin },\n };\n}\n\n/** FuseDash RadarChart frame */\nexport function getRadarDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.radarMargin },\n };\n}\n\n/** FuseDash Lollipop frame */\nexport function getLollipopDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.lollipopMargin },\n };\n}\n\n/** FuseDash PunchcardChart frame */\nexport function getPunchcardDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.punchcardMargin },\n };\n}\n\n/** FuseDash MatrixChart frame */\nexport function getMatrixDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.matrixMargin },\n };\n}\n\n/** FuseDash StepLineChart frame */\nexport function getStepLineDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.stepLineMargin },\n };\n}\n\n/** FuseDash SparkLineChart frame */\nexport function getSparkLineDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.sparkLineMargin },\n };\n}\n\n/**\n * FuseDash Barchart frame. `scale` stands in for the Redux `getWidgetScale`\n * factor: it tightens or loosens the frame around the plot rather than zooming\n * the whole SVG, which is what the fixed-size chat host needs.\n */\nexport function getBarChartDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.barMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 0),\n right: base.right,\n bottom: Math.max(base.bottom + delta, 8),\n left: Math.max(base.left + delta, 24),\n },\n };\n}\n\n/** FuseDash BoxPlotChart frame */\nexport function getBoxPlotDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.boxPlotMargin },\n };\n}\n\n/** FuseDash ViolinChart frame — margins differ by orientation. */\nexport function getViolinDimensions(\n container: HTMLElement,\n orientation: 'vertical' | 'horizontal' = 'vertical',\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n ...(orientation === 'horizontal'\n ? FD.violinHorizontalMargin\n : FD.violinVerticalMargin),\n },\n };\n}\n\n/** FuseDash HistogramChart frame */\nexport function getHistogramDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.histogramMargin },\n };\n}\n\n/**\n * FuseDash ParallelCoordinatesChart frame. Horizontal stacks one 72px band per\n * dimension and scrolls; vertical fits the container and keeps a bottom gutter.\n */\nexport function getParallelCoordinatesDimensions(\n container: HTMLElement,\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin:\n orientation === 'vertical'\n ? { ...FD.parallelVerticalMargin }\n : { ...FD.parallelMargin },\n };\n}\n\n/** FuseDash WaterfallChart frame — margins differ by orientation. */\nexport function getWaterfallDimensions(\n container: HTMLElement,\n orientation: 'vertical' | 'horizontal' = 'horizontal',\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n ...(orientation === 'vertical'\n ? FD.waterfallVerticalMargin\n : FD.waterfallHorizontalMargin),\n },\n };\n}\n\n/** FuseDash ScatterPlot frame */\nexport function getScatterPlotDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.scatterMargin },\n };\n}\n\n/** FuseDash BiasVarianceTradeoffChart frame */\nexport function getBiasVarianceDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.biasVarianceMargin },\n };\n}\n\n/** FuseDash BubbleChart frame — top/right inset for max bubble radius. */\nexport function getBubbleChartDimensions(container: HTMLElement): ChartDimensions {\n const inset = FD.bubbleMaxRadius / 2 + 1;\n const base = FD.bubbleBaseMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: base.top + inset,\n right: base.right + inset,\n bottom: base.bottom,\n left: base.left,\n },\n };\n}\n\n/**\n * FuseDash RadialBarChart frame. `scale` stands in for the Redux\n * `getWidgetScale` factor: a looser frame leaves less room for the circle,\n * which is how the fixed-size chat host resizes the rings.\n */\nexport function getRadialBarDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.radialBarMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 0),\n right: Math.max(base.right + delta, 0),\n bottom: Math.max(base.bottom + delta, 0),\n left: Math.max(base.left + delta, 0),\n },\n };\n}\n\n/** FuseDash PieChart frame — square plot area, zero SVG margin */\nexport function getPieDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.pieMargin },\n };\n}\n\n/**\n * FuseDash PolarAreaChart frame. `scale` stands in for the Redux\n * `getWidgetScale` factor: it loosens or tightens the gutter around the disc\n * rather than zooming the whole SVG.\n */\nexport function getPolarAreaDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.polarAreaMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 0),\n right: Math.max(base.right + delta, 0),\n bottom: Math.max(base.bottom + delta, 0),\n left: Math.max(base.left + delta, 0),\n },\n };\n}\n\n/** FuseDash Treemap frame — tiles fill the body, there is no axis gutter. */\nexport function getTreemapDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.treemapMargin },\n };\n}\n\n/** FuseDash AreaChart frame (same as LineChart new design) */\nexport function getAreaChartDimensions(container: HTMLElement): ChartDimensions {\n return getLineChartDimensions(container);\n}\n\n/** FuseDash AreaGroupedBarChart frame */\nexport function getAreaGroupedBarChartDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.areaGroupedBarMargin },\n };\n}\n\n/** FuseDash GiniImpurityEntropyChart frame */\nexport function getGiniImpurityEntropyDimensions(\n container: HTMLElement,\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.giniMargin },\n };\n}\n\n/** FuseDash Sankey frame — the layout insets itself, so there is no margin. */\nexport function getSankeyDimensions(container: HTMLElement): {\n width: number;\n height: number;\n} {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n };\n}\n\n/** FuseDash Qualitative2Colors1 (+ extras) */\nexport const CHART_COLORS = [...FD.series];\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chart-helpers.js","sources":["../../src/utils/chart-helpers.ts"],"sourcesContent":["import type { ChartDimensions, WidgetScale } from '../types/index.js';\nimport { SCALE_PADDING } from '../types/index.js';\nimport { FD } from './fusedash-visual.js';\n\nexport function parseJsonAttr<T>(raw: string | null, fallback: T): T {\n if (!raw) return fallback;\n try {\n return JSON.parse(raw) as T;\n } catch {\n return fallback;\n }\n}\n\nexport function getDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const padding = SCALE_PADDING[scale];\n const width = container.clientWidth || 400;\n const height = container.clientHeight || 300;\n return {\n width,\n height,\n margin: { top: padding, right: padding, bottom: padding + 16, left: padding + 32 },\n };\n}\n\n/** FuseDash LineChart new-design frame */\nexport function getLineChartDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.lineMargin },\n };\n}\n\n/** FuseDash RadarChart frame */\nexport function getRadarDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.radarMargin },\n };\n}\n\n/** FuseDash Lollipop frame */\nexport function getLollipopDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.lollipopMargin },\n };\n}\n\n/** FuseDash PunchcardChart frame */\nexport function getPunchcardDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.punchcardMargin },\n };\n}\n\n/** FuseDash MatrixChart frame */\nexport function getMatrixDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.matrixMargin },\n };\n}\n\n/** FuseDash StepLineChart frame */\nexport function getStepLineDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.stepLineMargin },\n };\n}\n\n/** FuseDash SparkLineChart frame */\nexport function getSparkLineDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.sparkLineMargin },\n };\n}\n\n/**\n * FuseDash Barchart frame. `scale` stands in for the Redux `getWidgetScale`\n * factor: it tightens or loosens the frame around the plot rather than zooming\n * the whole SVG, which is what the fixed-size chat host needs.\n */\nexport function getBarChartDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.barMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 0),\n right: base.right,\n bottom: Math.max(base.bottom + delta, 8),\n left: Math.max(base.left + delta, 24),\n },\n };\n}\n\n/** FuseDash BoxPlotChart frame */\nexport function getBoxPlotDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.boxPlotMargin },\n };\n}\n\n/** FuseDash ViolinChart frame — margins differ by orientation. */\nexport function getViolinDimensions(\n container: HTMLElement,\n orientation: 'vertical' | 'horizontal' = 'vertical',\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n ...(orientation === 'horizontal'\n ? FD.violinHorizontalMargin\n : FD.violinVerticalMargin),\n },\n };\n}\n\n/** FuseDash HistogramChart frame */\nexport function getHistogramDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.histogramMargin },\n };\n}\n\n/**\n * FuseDash ParallelCoordinatesChart frame. Horizontal stacks one 72px band per\n * dimension and scrolls; vertical fits the container and keeps a bottom gutter.\n */\nexport function getParallelCoordinatesDimensions(\n container: HTMLElement,\n orientation: 'horizontal' | 'vertical' = 'horizontal',\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin:\n orientation === 'vertical'\n ? { ...FD.parallelVerticalMargin }\n : { ...FD.parallelMargin },\n };\n}\n\n/** FuseDash WaterfallChart frame — margins differ by orientation. */\nexport function getWaterfallDimensions(\n container: HTMLElement,\n orientation: 'vertical' | 'horizontal' = 'horizontal',\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n ...(orientation === 'vertical'\n ? FD.waterfallVerticalMargin\n : FD.waterfallHorizontalMargin),\n },\n };\n}\n\n/** FuseDash ScatterPlot frame */\nexport function getScatterPlotDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.scatterMargin },\n };\n}\n\n/** FuseDash BiasVarianceTradeoffChart frame */\nexport function getBiasVarianceDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.biasVarianceMargin },\n };\n}\n\n/** FuseDash BubbleChart frame — top/right inset for max bubble radius. */\nexport function getBubbleChartDimensions(container: HTMLElement): ChartDimensions {\n const inset = FD.bubbleMaxRadius / 2 + 1;\n const base = FD.bubbleBaseMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: base.top + inset,\n right: base.right + inset,\n bottom: base.bottom,\n left: base.left,\n },\n };\n}\n\n/**\n * FuseDash RadialBarChart frame. `scale` stands in for the Redux\n * `getWidgetScale` factor: a looser frame leaves less room for the circle,\n * which is how the fixed-size chat host resizes the rings.\n */\nexport function getRadialBarDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.radialBarMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 0),\n right: Math.max(base.right + delta, 0),\n bottom: Math.max(base.bottom + delta, 0),\n left: Math.max(base.left + delta, 0),\n },\n };\n}\n\n/** FuseDash PartialDependenceChart frame */\nexport function getPartialDependenceDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.pdpMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 4),\n right: Math.max(base.right + delta, 8),\n bottom: Math.max(base.bottom + delta, 16),\n left: Math.max(base.left + delta, 28),\n },\n };\n}\n\n/** FuseDash PieChart frame — square plot area, zero SVG margin */\nexport function getPieDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.pieMargin },\n };\n}\n\n/**\n * FuseDash PolarAreaChart frame. `scale` stands in for the Redux\n * `getWidgetScale` factor: it loosens or tightens the gutter around the disc\n * rather than zooming the whole SVG.\n */\nexport function getPolarAreaDimensions(\n container: HTMLElement,\n scale: WidgetScale = 'default',\n): ChartDimensions {\n const delta = SCALE_PADDING[scale] - SCALE_PADDING.default;\n const base = FD.polarAreaMargin;\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: {\n top: Math.max(base.top + delta, 0),\n right: Math.max(base.right + delta, 0),\n bottom: Math.max(base.bottom + delta, 0),\n left: Math.max(base.left + delta, 0),\n },\n };\n}\n\n/** FuseDash Treemap frame — tiles fill the body, there is no axis gutter. */\nexport function getTreemapDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.treemapMargin },\n };\n}\n\n/** FuseDash AreaChart frame (same as LineChart new design) */\nexport function getAreaChartDimensions(container: HTMLElement): ChartDimensions {\n return getLineChartDimensions(container);\n}\n\n/** FuseDash AreaGroupedBarChart frame */\nexport function getAreaGroupedBarChartDimensions(container: HTMLElement): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.areaGroupedBarMargin },\n };\n}\n\n/** FuseDash GiniImpurityEntropyChart frame */\nexport function getGiniImpurityEntropyDimensions(\n container: HTMLElement,\n): ChartDimensions {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n margin: { ...FD.giniMargin },\n };\n}\n\n/** FuseDash Sankey frame — the layout insets itself, so there is no margin. */\nexport function getSankeyDimensions(container: HTMLElement): {\n width: number;\n height: number;\n} {\n return {\n width: container.clientWidth || 400,\n height: container.clientHeight || 300,\n };\n}\n\n/** FuseDash Qualitative2Colors1 (+ extras) */\nexport const CHART_COLORS = [...FD.series];\n"],"names":[],"mappings":"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"}
@@ -344,6 +344,18 @@ export declare const FD: {
344
344
  readonly domainLimitLabelFill: "#141c2ce6";
345
345
  readonly domainLimitLabelText: "#ffffff";
346
346
  readonly domainLimitLabelSize: 10;
347
+ /** PartialDependenceChart — client DEFAULT_MARGIN */
348
+ readonly pdpMargin: {
349
+ readonly top: 16;
350
+ readonly right: 24;
351
+ readonly bottom: 28;
352
+ readonly left: 44;
353
+ };
354
+ /** ICE band: many faint curves under one dashed average line */
355
+ readonly pdpIceOpacity: 0.18;
356
+ readonly pdpIceStrokeWidth: 1.25;
357
+ readonly pdpAverageStrokeWidth: 2.5;
358
+ readonly pdpAverageDash: "4,4";
347
359
  readonly donutSliceStroke: "#ffffff";
348
360
  readonly donutSliceStrokeDark: "#1a1b1f";
349
361
  readonly donutSliceStrokeWidth: 2;
@@ -1 +1 @@
1
- {"version":3,"file":"fusedash-visual.d.ts","sourceRoot":"","sources":["../../src/utils/fusedash-visual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fusedash-visual.d.ts","sourceRoot":"","sources":["../../src/utils/fusedash-visual.ts"],"names":[],"mappings":"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"}
@@ -240,6 +240,13 @@ const FD = {
240
240
  domainLimitLabelFill: "#141c2ce6",
241
241
  domainLimitLabelText: "#ffffff",
242
242
  domainLimitLabelSize: 10,
243
+ /** PartialDependenceChart — client DEFAULT_MARGIN */
244
+ pdpMargin: { top: 16, right: 24, bottom: 28, left: 44 },
245
+ /** ICE band: many faint curves under one dashed average line */
246
+ pdpIceOpacity: 0.18,
247
+ pdpIceStrokeWidth: 1.25,
248
+ pdpAverageStrokeWidth: 2.5,
249
+ pdpAverageDash: "4,4",
243
250
  donutSliceStroke: "#ffffff",
244
251
  donutSliceStrokeDark: "#1a1b1f",
245
252
  donutSliceStrokeWidth: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"fusedash-visual.js","sources":["../../src/utils/fusedash-visual.ts"],"sourcesContent":["import type { Selection } from 'd3-selection';\n\n/** FuseDash Widgets visual tokens — keep charts looking 1:1 with client. */\n\nexport const FD = {\n gridStroke: '#afb3bb',\n gridDash: '1 2',\n axisLabelFill: '#6c7584',\n axisLabelSize: 11,\n axisStroke: '#afb3bb',\n hoverGuideLight: '#6c7584',\n hoverGuideDark: '#ffffff',\n /**\n * Qualitative12Colors.default — used when series count unknown.\n * Prefer `resolveFormattingColor` / `pickQualitativePalette` for FuseDash widgets.\n */\n series: [\n '#473DD9',\n '#938CFF',\n '#36C4A5',\n '#ADF4E5',\n '#BDBCC8',\n '#56546D',\n '#FF8C47',\n '#FFCEB0',\n '#FF4781',\n '#FFB0C9',\n '#47B0FF',\n '#B0DDFF',\n ],\n lineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n lollipopMargin: { top: 10, right: 3, bottom: 21, left: 40 },\n /** FuseDash RadarChart (useNewDesign) frame */\n radarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n radarScaleSteps: 5,\n radarDomainPadFactor: 1.1,\n radarMarkerSize: 50,\n radarMarkerHoverSize: 70,\n radarSpokeDash: '2,2',\n radarCapRadius: 3,\n radarLabelOffset: 12,\n radarGradientEdgeOpacity: 0.3,\n radarStrokeWidth: 2,\n radarTickLabelFill: '#f1f4f7',\n /** Client PunchcardChart DEFAULT_MARGIN */\n punchcardMargin: { top: 0, right: 0, bottom: 21, left: 80 },\n /** Client MatrixChart DEFAULT_MARGIN */\n matrixMargin: { top: 20, right: 0, bottom: 30, left: 80 },\n /** MatrixChart cell gutter + corner (client `rectPadding`) */\n matrixCellPadding: 3,\n matrixCellRadius: 2,\n /** Rows never shrink below this — the plot scrolls instead */\n matrixMinCellHeight: 16,\n /** Top header: font + tick + label spacing reserve (client `topAxisHeight`) */\n matrixTopTickLength: 8,\n matrixTopLabelsSpacing: 12,\n /** Above this many rows the top axis is pinned and the rows scroll */\n matrixSeparateAxisRowLimit: 7,\n /** Negative cells are flat grey; zero / missing cells get the hatch pattern */\n matrixNegativeFill: '#DADAE1',\n matrixNoDataLight: '#f0f1f2',\n matrixNoDataDark: '#33373d',\n matrixNoDataStripeLight: '#ffffff',\n matrixNoDataStripeDark: '#000000',\n /** Client AxisLeft `TickLabel length={9}` */\n matrixYLabelMaxChars: 9,\n /** Client `MAX_LABEL_LENGTH` for the top header labels */\n matrixTopLabelMaxChars: 25,\n stepLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** SparkLineChart — same frame as StepLineChart */\n sparkLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n sparkLineStrokeWidth: 1.5,\n sparkDomainPadFactor: 1.2,\n sparkGuideDash: '5,2',\n sparkHoverDotRadius: 4,\n boxPlotMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n histogramMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** Client VerticalWaterfallChart margin */\n waterfallVerticalMargin: { top: 10, right: 0, bottom: 21, left: 40 },\n /** Client HorizontalWaterfallChart base margin (left is sized from labels) */\n waterfallHorizontalMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n waterfallBarThickness: 16,\n waterfallBarRadius: 2,\n waterfallArrow: 5,\n waterfallDomainPadFactor: 1.2,\n /** Client hard-coded fills (formatting keys are ignored for paint) */\n waterfallPositive: '#938CFF',\n waterfallNegative: '#FF8C47',\n waterfallTotal: '#BDBCC8',\n waterfallHoverDim: 0.2,\n waterfallMinBand: 32,\n /** Client VerticalViolinChart DEFAULT_MARGIN */\n violinVerticalMargin: { top: 10, right: 16, bottom: 28, left: 44 },\n /** Client HorizontalViolinChart DEFAULT_MARGIN */\n violinHorizontalMargin: { top: 10, right: 24, bottom: 28, left: 44 },\n /** Client Horizontal/Vertical BoxPlot */\n boxPlotDomainPadFactor: 1.1,\n boxPlotBorderRadius: 2,\n lineStrokeWidth: 2,\n lineStrokeAlphaPct: 80,\n /** FuseDash AreaChart linearGradient stops (new design) */\n areaGradientTopOpacity: 0.6,\n areaGradientBottomOpacity: 0.1,\n lollipopStemWidth: 3,\n lollipopStemAlphaPct: 50,\n markerRadius: 4,\n /** StepLineChart: plain stroke, no alpha / glow / markers */\n stepStrokeWidth: 1.5,\n /** StepLineChart y-domain is padded by 1.2x before `.nice()` */\n stepDomainPadFactor: 1.2,\n /** KS-plot \"Ideal\" overlay */\n stepIdealColor: '#2ecc71',\n stepIdealWidth: 3,\n /** ROC \"Random guessing\" diagonal */\n stepGuessWidth: 2,\n stepGuessDash: '5,5',\n /** Max-deviation marker (KS distance) */\n stepDeviationFill: '#2c2d33',\n /** Tooltip crosshair on the step chart */\n stepGuideDash: '5,2',\n stepHoverDotRadius: 4,\n /** Barchart — shared frame + bar geometry (all six FuseDash variants) */\n barMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n barCornerRadius: 4,\n /** Bar fill is a gradient from the series color to a faded stop */\n barFadeOpacity: 0.6,\n barFadeOpacityHovered: 0.7,\n /** Vertical single-series: bandwidth * 0.4, capped, with a visible floor */\n barBandFraction: 0.4,\n barMaxWidth: 40,\n barMinHeight: 6,\n /** Vertical grouped: floor(clamp(plotWidth / categories / series)) + 1px gap */\n barGroupMinWidth: 4,\n barGroupMaxWidth: 24,\n barGroupGap: 1,\n /** Vertical stacked: bandwidth * 0.85, same clamp as grouped */\n barStackedBandFraction: 0.85,\n /** Horizontal: fixed row thickness, gutter, and a floor for tiny values */\n barRowThickness: 24,\n barRowSpacing: 16,\n barMinWidth: 6,\n /** Y (vertical) / X (horizontal) domain headroom */\n barDomainPadFactor: 1.2,\n barHorizontalPadFactor: 1.1,\n /** Stacked totals get a flat 10% pad instead */\n barStackedPadFraction: 0.1,\n /** Cumulative overlay line (FuseDash `cumulativeLine`) */\n barCumulativeColor: '#6d6df7',\n barCumulativeWidth: 2,\n barCumulativeDotRadius: 3,\n /** Hovered category column: animated dot pattern + solid guide */\n barHoverDotFill: '#CFD2D6',\n barHoverGuideWidth: 2,\n /** Client `calculatedLeftMargin` (unused in chat — shared LEFT_GUTTER_MARGIN) */\n barLabelCharWidth: 5,\n barLabelGutter: 28,\n barLabelGutterMin: 56,\n barLabelGutterMax: 180,\n /** Resting / dimmed / hovered arc opacity (FuseDash settles on 0.8) */\n donutArcOpacity: 0.8,\n donutArcOpacityDimmed: 0.2,\n /** PieChart — FuseDash uses zero margin; pie is a square inscribed in the body */\n pieMargin: { top: 0, right: 0, bottom: 0, left: 0 },\n pieMinArcLengthPx: 5,\n /** PolarAreaChart — FuseDash margin around the centred disc */\n polarAreaMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n /** Concentric grid rings; opacity ramps 0.2 → 1.0 outward */\n polarRadialSteps: 5,\n polarGridStroke: '#939ba7',\n polarGridStepOpacity: 0.2,\n /** Dashed spoke from the centre to each category boundary, with a round cap */\n polarSpokeDash: '2,2',\n polarSpokeCapRadius: 3,\n /** Category labels sit just outside the outermost ring */\n polarCategoryLabelFill: '#5f6877',\n polarCategoryLabelSize: 12,\n polarCategoryLabelOffset: 12,\n /** Side room reserved for those labels, measured off the longest one */\n polarLabelCharWidth: 0.55,\n polarLabelGutterMin: 40,\n polarLabelGutterMax: 120,\n polarLabelGutterMaxFraction: 0.28,\n /** Below this radius the label ring collides with itself — drop it */\n polarMinLabelRadius: 40,\n /** Sectors: 0.8 at rest, siblings drop to 0.2 on hover */\n polarSectorOpacity: 0.8,\n polarSectorOpacityDimmed: 0.2,\n /** Radial tick pills are hidden when the disc is too short to fit them */\n polarTickPillRowHeight: 21,\n polarTickPillPadX: 7,\n polarTickPillPadY: 3,\n polarTickPillRadius: 4,\n polarTickPill: '#ffffff',\n polarTickPillDark: '#1a1b1f',\n /** RadialBarChart — client margin; the plot is a circle inscribed in the body */\n radialBarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n /** Hole is 20% of the outer radius; rings sweep 270° clockwise from 12 o'clock */\n radialBarInnerRadiusRatio: 0.2,\n radialBarSweepDeg: 270,\n radialBarTicks: 5,\n /** Ring thickness clamp around `((outer - inner - rings) / rings) * 0.5` */\n radialBarMinArcWidth: 4,\n radialBarMaxArcWidth: 24,\n radialBarArcCornerRadius: 1,\n /** Resting / dimmed arc opacity */\n radialBarArcOpacity: 0.8,\n radialBarArcOpacityDimmed: 0.2,\n /** Client draws the rings and the radial axes in one darker grey */\n radialBarGridStroke: '#939ba7',\n radialBarTickDash: '4,4',\n radialBarLabelFill: '#5f6877',\n radialBarTickLabelSize: 12,\n radialBarRingLabelSize: 11,\n /** Value labels sit 12px outside the outer ring */\n radialBarTickLabelOffset: 12,\n /** Ring labels are cut at `(outer - inner) / 8` characters */\n radialBarLabelCharWidth: 8,\n /** ScatterPlot — FuseDash DEFAULT_MARGIN */\n scatterMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** AreaGroupedBarChart — client DEFAULT_MARGIN */\n areaGroupedBarMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** Area fill under the line (client stopOpacity 0.35 → 0) */\n areaGroupedBarGradientTopOpacity: 0.35,\n areaGroupedBarGradientBottomOpacity: 0,\n areaGroupedBarMarkerRadius: 3,\n areaGroupedBarDimOpacity: 0.3,\n areaGroupedBarBarOpacity: 0.85,\n /** BubbleChart — BASE_MARGIN + MAX_BUBBLE_RADIUS/2 inset on top/right */\n bubbleBaseMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n bubbleMaxRadius: 30,\n bubbleNegativeFill: '#DADAE1',\n scatterMarkerSize: 40,\n scatterReferenceLine: '#56546D',\n /** BiasVarianceTradeoffChart — the client widget carries its own frame/palette */\n biasVarianceMargin: { top: 24, right: 24, bottom: 36, left: 48 },\n biasVarianceSeries: ['#6366f1', '#22c55e', '#f59e0b', '#06b6d4', '#ef4444'],\n biasVarianceGridStroke: '#d1d5db',\n biasVarianceGridDash: '2,4',\n biasVarianceAxisStroke: '#9ca3af',\n biasVarianceLabelFill: '#6b7280',\n biasVarianceLineWidth: 2,\n biasVarianceLineOpacity: 0.95,\n /** Sibling curves fade while one is hovered (FuseDash line-hover convention) */\n biasVarianceLineOpacityDimmed: 0.2,\n /** Y domain is `[0, max * 1.1]` before `.nice()` */\n biasVarianceDomainPadFactor: 1.1,\n biasVarianceXTicks: 8,\n biasVarianceYTicks: 6,\n /** Shared `DomainsLimits` overlay (reference lines / bands) */\n domainLimitColor: '#6C8CF5',\n domainLimitFillOpacity: 0.12,\n domainLimitDash: '4,4',\n domainLimitArrow: 8,\n domainLimitLabelFill: '#141c2ce6',\n domainLimitLabelText: '#ffffff',\n domainLimitLabelSize: 10,\n donutSliceStroke: '#ffffff',\n donutSliceStrokeDark: '#1a1b1f',\n donutSliceStrokeWidth: 2,\n /** Treemap — d3 `treemapBinary` tiles, no axes so the plot fills the body */\n treemapMargin: { top: 0, right: 0, bottom: 0, left: 0 },\n treemapPaddingInner: 2,\n treemapTileRadius: 6,\n /** Tile fill fades from the band color to 80% alpha at the bottom edge */\n treemapGradientBottomOpacity: 0.8,\n /** White scanlines every 5px, fading out toward the bottom of the tile */\n treemapStripeColor: '#FFFFFF',\n treemapStripeSpacing: 5,\n treemapStripeOpacity: 0.14,\n treemapStripeFalloff: 0.8,\n /** Client `hasLightColor` label colors */\n treemapLabelOnLight: '#0B101A',\n treemapLabelOnDark: '#FFFFFF',\n treemapLabelPadding: 4,\n treemapLabelSize: 14,\n treemapValueSize: 12,\n /** A tile only gets a name below this, and a value below `MinValueHeight` */\n treemapMinLabelWidth: 40,\n treemapMinLabelHeight: 20,\n treemapMinValueHeight: 30,\n /** Grouped mode: one card per group in the client's grid-template-areas */\n treemapCardGap: 8,\n treemapCardRadius: 8,\n treemapCardPadding: 8,\n treemapGroupsMarginTop: 10,\n /** Rows in the >5 group fallback list, which scrolls instead of squeezing */\n treemapCardMinHeight: 140,\n /** Sibling tiles fade while one is hovered (chat-only affordance) */\n treemapDimOpacity: 0.4,\n /** `getTreemapRangeColors`: 7 shades from +55% white to -35% black */\n treemapRangeSteps: 7,\n treemapRangeMinShift: 0.55,\n treemapRangeMaxShift: -0.35,\n /** Sankey: layout extent inset, node gap, and the two node-rule colors */\n sankeyPadding: 4.5,\n sankeyNodePadding: 14,\n sankeyNodeWidth: 70,\n sankeyNodeWidthSmall: 65,\n sankeyNodeRule: '#D3DBE3',\n sankeyNodeRuleActive: '#939BA7',\n /** Ribbons sit at 50% alpha until hovered or focused */\n sankeyLinkAlphaPct: 50,\n sankeyLinkInset: 3,\n sankeyDimOpacity: 0.5,\n /** ParallelCoordinates — client Horizontal/Vertical frames */\n parallelMargin: { top: 10, right: 1, bottom: 8, left: 1 },\n parallelVerticalMargin: { top: 10, right: 1, bottom: 1, left: 1 },\n /** Horizontal: one 72px band per dimension, so the plot scrolls past ~5 axes */\n parallelAxisSpacing: 72,\n /** Vertical: gutter kept free under the axes for the bottom tick row */\n parallelColorScaleHeight: 44,\n /** Right gutter reserved for the colour ramp + its tick labels */\n parallelLegendOffsetRight: 20,\n parallelLegendWidth: 10,\n parallelLegendTickLabelWidth: 44,\n parallelLegendRadius: 6,\n /** Resting / dimmed / hovered polyline stroke */\n parallelLineWidth: 1,\n parallelLineWidthHovered: 5,\n parallelLineOpacity: 0.4,\n parallelLineOpacityDimmed: 0.05,\n /** Client draws these axes a shade darker than the shared FD axis tokens */\n parallelAxisStroke: '#939ba7',\n parallelAxisLabelFill: '#5f6877',\n parallelTitleSize: 11,\n parallelTitleSizeActive: 13,\n /** GiniImpurityEntropyChart — client DEFAULT_MARGIN */\n giniMargin: { top: 20, right: 24, bottom: 28, left: 44 },\n /** Curves are drawn as smooth Catmull-Rom splines with this tension */\n giniCurveAlpha: 0.5,\n /** p-hat guide + confidence-interval band */\n giniOverlayColor: '#4c6ef5',\n giniOverlayBandOpacity: 0.08,\n giniOverlayDash: '5,5',\n /** Split annotation markers on the Gini curve */\n giniSplitMarkerFill: '#12b886',\n giniSplitMarkerStroke: '#ffffff',\n giniSplitMarkerRadius: 4,\n giniSplitLabelOffset: 8,\n /** Hovering one curve fades the others so the read is unambiguous */\n giniCurveDimOpacity: 0.2,\n} as const;\n\n/** SequentialColors1 for the `default` styleId — low → high. */\nexport const FD_SEQUENTIAL = [\n '#D6D3FF',\n '#B5B0FF',\n '#938CFF',\n '#7369FF',\n '#5448FF',\n '#473DD9',\n '#3C33B5',\n] as const;\n\nexport type MarkerShape =\n | 'donut'\n | 'circle'\n | 'square'\n | 'rhombus'\n | 'triangle'\n | 'disabled';\n\n/** Mirrors client `lightenColor` — blend hex toward white (amount 0–1). */\nexport function lightenColor(hex: string, amount: number): string {\n let clean = hex.replace('#', '');\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-Fa-f]{6}$/.test(clean)) return hex;\n const t = Math.max(0, Math.min(1, amount));\n const r = parseInt(clean.slice(0, 2), 16);\n const g = parseInt(clean.slice(2, 4), 16);\n const b = parseInt(clean.slice(4, 6), 16);\n const lr = Math.round(r + (255 - r) * t);\n const lg = Math.round(g + (255 - g) * t);\n const lb = Math.round(b + (255 - b) * t);\n return `#${lr.toString(16).padStart(2, '0')}${lg.toString(16).padStart(2, '0')}${lb.toString(16).padStart(2, '0')}`;\n}\n\n/** Mirrors client `hexToHexWithAlpha` (opacity 0–100). */\nexport function hexWithAlpha(hex: string, opacityPct: number): string {\n let clean = hex.replace('#', '').toUpperCase();\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-F]{6}$/.test(clean)) return hex;\n const alpha = Math.round((Math.max(0, Math.min(100, opacityPct)) / 100) * 255)\n .toString(16)\n .padStart(2, '0')\n .toUpperCase();\n return `#${clean}${alpha}`;\n}\n\n/** Mirrors client `calculateScaleLinearDomain`. */\nexport function calculateScaleLinearDomain(data: number[]): [number, number] {\n if (!data.length) return [0, 1];\n let min = Infinity;\n let max = -Infinity;\n for (const v of data) {\n if (!Number.isFinite(v)) continue;\n if (v < min) min = v;\n if (v > max) max = v;\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n if (min < 0 && max > 0) {\n const absMax = Math.max(Math.abs(min), Math.abs(max));\n return [-absMax, absMax];\n }\n return [Math.min(0, min), Math.max(0, max)];\n}\n\n/** Mirrors client Y-tick formatting. */\nexport function formatCompactNumber(value: number, decimals = 2): string {\n const abs = Math.abs(value);\n if (abs >= 1_000_000_000) return `${(value / 1_000_000_000).toFixed(1)}B`;\n if (abs >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;\n if (abs >= 1_000) return `${(value / 1_000).toFixed(1)}K`;\n if (Number.isInteger(value) && abs < 1000) return String(value);\n return value.toFixed(decimals);\n}\n\nexport function seriesColor(index: number, override?: string): string {\n if (override) return override;\n return FD.series[index % FD.series.length];\n}\n\n/** Line markers: donut = hollow ring (FuseDash default). */\nexport function markerAppearance(\n shape: MarkerShape,\n color: string,\n themeMode: 'light' | 'dark' = 'light',\n): { fill: string; stroke: string } {\n const outline = themeMode === 'dark' ? '#000' : '#fff';\n if (shape === 'donut' || shape === 'disabled') {\n return { fill: outline, stroke: color };\n }\n return { fill: color, stroke: outline };\n}\n\nexport function appendGlowFilter(\n svg: Selection<SVGSVGElement, unknown, null, undefined>,\n id = 'ui9000-glow',\n): string {\n let defs = svg.select<SVGDefsElement>('defs');\n if (defs.empty()) defs = svg.append('defs');\n if (defs.select(`#${id}`).empty()) {\n const filter = defs\n .append('filter')\n .attr('id', id)\n .attr('x', '-50%')\n .attr('y', '-50%')\n .attr('width', '200%')\n .attr('height', '200%');\n filter.append('feGaussianBlur').attr('stdDeviation', 3).attr('result', 'coloredBlur');\n const merge = filter.append('feMerge');\n merge.append('feMergeNode').attr('in', 'coloredBlur');\n merge.append('feMergeNode').attr('in', 'SourceGraphic');\n }\n return `url(#${id})`;\n}\n\nexport function calculateNumTicks(height: number): number {\n if (height < 120) return 3;\n if (height < 220) return 4;\n if (height < 360) return 5;\n return 6;\n}\n\n/** Append FuseDash-style line/area marker at (cx, cy). */\nexport function appendLineMarker(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: {\n shape: MarkerShape;\n color: string;\n cx: number;\n cy: number;\n r?: number;\n themeMode?: 'light' | 'dark';\n hovered?: boolean;\n },\n): void {\n const {\n shape,\n color,\n cx,\n cy,\n r = FD.markerRadius,\n themeMode = 'light',\n hovered = false,\n } = opts;\n if (shape === 'disabled') return;\n\n const { fill, stroke } = markerAppearance(shape, color, themeMode);\n const strokeWidth = hovered ? 3 : 1;\n\n if (shape === 'square') {\n const size = 7;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n if (shape === 'rhombus') {\n const size = 9;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth)\n .attr('transform', `rotate(45, ${cx}, ${cy})`);\n return;\n }\n\n if (shape === 'triangle') {\n const s = 4;\n parent\n .append('polygon')\n .attr(\n 'points',\n `${cx},${cy - s} ${cx - s},${cy + s} ${cx + s},${cy + s}`,\n )\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n parent\n .append('circle')\n .attr('cx', cx)\n .attr('cy', cy)\n .attr('r', r)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n}\n\n/**\n * Lollipop head — FuseDash Vertical markers (default = rhombus diamond path).\n */\nexport function appendLollipopMarkerVertical(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: { shape: MarkerShape; color: string; cx: number; cy: number },\n): void {\n const { shape, color, cx, cy } = opts;\n if (shape === 'disabled') return;\n\n if (shape === 'donut') {\n parent\n .append('path')\n .attr(\n 'd',\n `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10 M ${cx}, ${cy - 2} a 2,2 0 1,1 0,4 a 2,2 0 1,1 0,-4`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n parent.append('circle').attr('cx', cx).attr('cy', cy).attr('r', 2).attr('fill', '#fff');\n return;\n }\n\n if (shape === 'circle') {\n parent\n .append('path')\n .attr('d', `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'square') {\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} L${cx + 5}, ${cy - 5} L${cx - 5}, ${cy - 5} Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'triangle') {\n parent\n .append('path')\n .attr('d', `M${cx}, ${cy - 5} L${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} Z`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n // default / rhombus\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx}, ${cy + 5} L${cx + 5}, ${cy} L${cx}, ${cy - 5} L${cx - 5}, ${cy}Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n}\n"],"names":[],"mappings":"AAIO,MAAM,KAAK;AAAA,EAChB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA,EACf,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhB,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF,YAAY,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA,EACnD,gBAAgB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAEvD,aAAa,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,EAAA;AAAA,EACpD,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,kBAAkB;AAAA,EAClB,oBAAoB;AAAA;AAAA,EAEpB,iBAAiB,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAEvD,cAAc,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAErD,mBAAmB;AAAA,EACnB,kBAAkB;AAAA;AAAA,EAElB,qBAAqB;AAAA;AAAA,EAErB,qBAAqB;AAAA,EACrB,wBAAwB;AAAA;AAAA,EAExB,4BAA4B;AAAA;AAAA,EAE5B,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,yBAAyB;AAAA,EACzB,wBAAwB;AAAA;AAAA,EAExB,sBAAsB;AAAA;AAAA,EAEtB,wBAAwB;AAAA,EACxB,gBAAgB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAEvD,iBAAiB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA,EACxD,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,eAAe,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA,EACtD,iBAAiB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAExD,yBAAyB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAEhE,2BAA2B,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA,EAClE,uBAAuB;AAAA,EACvB,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,0BAA0B;AAAA;AAAA,EAE1B,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA;AAAA,EAGnB,sBAAsB,EAAE,KAAK,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAE9D,wBAAwB,EAAE,KAAK,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAA;AAAA,EAIhE,iBAAiB;AAAA,EACjB,oBAAoB;AAAA;AAAA,EAEpB,wBAAwB;AAAA,EACxB,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,cAAc;AAAA;AAAA,EAEd,iBAAiB;AAAA;AAAA,EAEjB,qBAAqB;AAAA;AAAA,EAErB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA;AAAA,EAEhB,gBAAgB;AAAA,EAChB,eAAe;AAAA;AAAA,EAEf,mBAAmB;AAAA;AAAA,EAEnB,eAAe;AAAA,EACf,oBAAoB;AAAA;AAAA,EAEpB,WAAW,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA,EAClD,iBAAiB;AAAA;AAAA,EAEjB,gBAAgB;AAAA;AAAA,EAGhB,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,cAAc;AAAA;AAAA,EAEd,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,aAAa;AAAA;AAAA,EAEb,wBAAwB;AAAA;AAAA,EAExB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,aAAa;AAAA;AAAA,EAEb,oBAAoB;AAAA,EACpB,wBAAwB;AAAA;AAAA,EAExB,uBAAuB;AAAA;AAAA,EAEvB,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA;AAAA,EAExB,iBAAiB;AAAA,EACjB,oBAAoB;AAAA;AAAA,EAOpB,iBAAiB;AAAA,EACjB,uBAAuB;AAAA;AAAA,EAEvB,WAAW,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,EAChD,mBAAmB;AAAA;AAAA,EAEnB,iBAAiB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,EAAA;AAAA;AAAA,EAExD,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA;AAAA,EAEtB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA;AAAA,EAErB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,0BAA0B;AAAA;AAAA,EAE1B,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,6BAA6B;AAAA;AAAA,EAE7B,qBAAqB;AAAA;AAAA,EAErB,oBAAoB;AAAA,EACpB,0BAA0B;AAAA;AAAA,EAE1B,wBAAwB;AAAA,EACxB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,mBAAmB;AAAA;AAAA,EAEnB,iBAAiB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,EAAA;AAAA;AAAA,EAExD,2BAA2B;AAAA,EAC3B,mBAAmB;AAAA,EACnB,gBAAgB;AAAA;AAAA,EAEhB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA;AAAA,EAE1B,qBAAqB;AAAA,EACrB,2BAA2B;AAAA;AAAA,EAE3B,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA;AAAA,EAExB,0BAA0B;AAAA;AAAA,EAE1B,yBAAyB;AAAA;AAAA,EAEzB,eAAe,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAEtD,sBAAsB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAE7D,kCAAkC;AAAA,EAClC,qCAAqC;AAAA,EACrC,4BAA4B;AAAA,EAC5B,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA;AAAA,EAE1B,kBAAkB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,IAAI,MAAM,GAAA;AAAA,EACzD,iBAAiB;AAAA,EACjB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA;AAAA,EAEtB,oBAAoB,EAAE,KAAK,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAA;AAAA,EAC5D,oBAAoB,CAAC,WAAW,WAAW,WAAW,WAAW,SAAS;AAAA,EAC1E,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,yBAAyB;AAAA;AAAA,EAEzB,+BAA+B;AAAA;AAAA,EAE/B,6BAA6B;AAAA,EAC7B,oBAAoB;AAAA,EACpB,oBAAoB;AAAA;AAAA,EAEpB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA;AAAA,EAEvB,eAAe,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,EACpD,qBAAqB;AAAA,EACrB,mBAAmB;AAAA;AAAA,EAEnB,8BAA8B;AAAA;AAAA,EAE9B,oBAAoB;AAAA,EACpB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA;AAAA,EAEtB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA;AAAA,EAKpB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA;AAAA,EAOvB,sBAAsB;AAAA;AAAA,EAEtB,mBAAmB;AAAA;AAAA,EAEnB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA;AAAA,EAEtB,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,sBAAsB;AAAA;AAAA,EAEtB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA;AAAA,EAElB,gBAAgB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA,EACtD,wBAAwB,EAAE,KAAK,IAAI,OAAO,GAAG,QAAQ,GAAG,MAAM,EAAA;AAAA;AAAA,EAE9D,qBAAqB;AAAA;AAAA,EAErB,0BAA0B;AAAA;AAAA,EAE1B,2BAA2B;AAAA,EAC3B,qBAAqB;AAAA,EACrB,8BAA8B;AAAA,EAC9B,sBAAsB;AAAA;AAAA,EAEtB,mBAAmB;AAAA,EACnB,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,2BAA2B;AAAA;AAAA,EAE3B,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,yBAAyB;AAAA;AAAA,EAEzB,YAAY,EAAE,KAAK,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,GAAA;AAAA;AAAA,EAEpD,gBAAgB;AAAA;AAAA,EAEhB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,iBAAiB;AAAA;AAAA,EAEjB,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA;AAAA,EAEtB,qBAAqB;AACvB;AAGO,MAAM,gBAAgB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAWO,SAAS,aAAa,KAAa,QAAwB;AAChE,MAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE;AAC/B,MAAI,MAAM,WAAW,GAAG;AACtB,YAAQ,MACL,MAAM,EAAE,EACR,IAAI,CAAC,MAAM,IAAI,CAAC,EAChB,KAAK,EAAE;AAAA,EACZ;AACA,MAAI,CAAC,mBAAmB,KAAK,KAAK,EAAG,QAAO;AAC5C,QAAM,IAAI,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,MAAM,CAAC;AACzC,QAAM,IAAI,SAAS,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;AACxC,QAAM,IAAI,SAAS,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;AACxC,QAAM,IAAI,SAAS,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;AACxC,QAAM,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,CAAC;AACvC,QAAM,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,CAAC;AACvC,QAAM,KAAK,KAAK,MAAM,KAAK,MAAM,KAAK,CAAC;AACvC,SAAO,IAAI,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,GAAG,GAAG,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC;AACnH;AAGO,SAAS,aAAa,KAAa,YAA4B;AACpE,MAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE,YAAA;AACjC,MAAI,MAAM,WAAW,GAAG;AACtB,YAAQ,MACL,MAAM,EAAE,EACR,IAAI,CAAC,MAAM,IAAI,CAAC,EAChB,KAAK,EAAE;AAAA,EACZ;AACA,MAAI,CAAC,gBAAgB,KAAK,KAAK,EAAG,QAAO;AACzC,QAAM,QAAQ,KAAK,MAAO,KAAK,IAAI,GAAG,KAAK,IAAI,KAAK,UAAU,CAAC,IAAI,MAAO,GAAG,EAC1E,SAAS,EAAE,EACX,SAAS,GAAG,GAAG,EACf,YAAA;AACH,SAAO,IAAI,KAAK,GAAG,KAAK;AAC1B;AAGO,SAAS,2BAA2B,MAAkC;AAC3E,MAAI,CAAC,KAAK,OAAQ,QAAO,CAAC,GAAG,CAAC;AAC9B,MAAI,MAAM;AACV,MAAI,MAAM;AACV,aAAW,KAAK,MAAM;AACpB,QAAI,CAAC,OAAO,SAAS,CAAC,EAAG;AACzB,QAAI,IAAI,IAAK,OAAM;AACnB,QAAI,IAAI,IAAK,OAAM;AAAA,EACrB;AACA,MAAI,CAAC,OAAO,SAAS,GAAG,KAAK,CAAC,OAAO,SAAS,GAAG,EAAG,QAAO,CAAC,GAAG,CAAC;AAChE,MAAI,MAAM,KAAK,MAAM,GAAG;AACtB,UAAM,SAAS,KAAK,IAAI,KAAK,IAAI,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC;AACpD,WAAO,CAAC,CAAC,QAAQ,MAAM;AAAA,EACzB;AACA,SAAO,CAAC,KAAK,IAAI,GAAG,GAAG,GAAG,KAAK,IAAI,GAAG,GAAG,CAAC;AAC5C;AAGO,SAAS,oBAAoB,OAAe,WAAW,GAAW;AACvE,QAAM,MAAM,KAAK,IAAI,KAAK;AAC1B,MAAI,OAAO,IAAe,QAAO,IAAI,QAAQ,KAAe,QAAQ,CAAC,CAAC;AACtE,MAAI,OAAO,IAAW,QAAO,IAAI,QAAQ,KAAW,QAAQ,CAAC,CAAC;AAC9D,MAAI,OAAO,IAAO,QAAO,IAAI,QAAQ,KAAO,QAAQ,CAAC,CAAC;AACtD,MAAI,OAAO,UAAU,KAAK,KAAK,MAAM,IAAM,QAAO,OAAO,KAAK;AAC9D,SAAO,MAAM,QAAQ,QAAQ;AAC/B;AAEO,SAAS,YAAY,OAAe,UAA2B;AAEpE,SAAO,GAAG,OAAO,QAAQ,GAAG,OAAO,MAAM;AAC3C;AAGO,SAAS,iBACd,OACA,OACA,YAA8B,SACI;AAClC,QAAM,UAAU,cAAc,SAAS,SAAS;AAChD,MAAI,UAAU,WAAW,UAAU,YAAY;AAC7C,WAAO,EAAE,MAAM,SAAS,QAAQ,MAAA;AAAA,EAClC;AACA,SAAO,EAAE,MAAM,OAAO,QAAQ,QAAA;AAChC;AAEO,SAAS,iBACd,KACA,KAAK,eACG;AACR,MAAI,OAAO,IAAI,OAAuB,MAAM;AAC5C,MAAI,KAAK,MAAA,EAAS,QAAO,IAAI,OAAO,MAAM;AAC1C,MAAI,KAAK,OAAO,IAAI,EAAE,EAAE,EAAE,SAAS;AACjC,UAAM,SAAS,KACZ,OAAO,QAAQ,EACf,KAAK,MAAM,EAAE,EACb,KAAK,KAAK,MAAM,EAChB,KAAK,KAAK,MAAM,EAChB,KAAK,SAAS,MAAM,EACpB,KAAK,UAAU,MAAM;AACxB,WAAO,OAAO,gBAAgB,EAAE,KAAK,gBAAgB,CAAC,EAAE,KAAK,UAAU,aAAa;AACpF,UAAM,QAAQ,OAAO,OAAO,SAAS;AACrC,UAAM,OAAO,aAAa,EAAE,KAAK,MAAM,aAAa;AACpD,UAAM,OAAO,aAAa,EAAE,KAAK,MAAM,eAAe;AAAA,EACxD;AACA,SAAO,QAAQ,EAAE;AACnB;AAEO,SAAS,kBAAkB,QAAwB;AACxD,MAAI,SAAS,IAAK,QAAO;AACzB,MAAI,SAAS,IAAK,QAAO;AACzB,MAAI,SAAS,IAAK,QAAO;AACzB,SAAO;AACT;AAGO,SAAS,iBAEd,QACA,MASM;AACN,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,IAAI,GAAG;AAAA,IACP,YAAY;AAAA,IACZ,UAAU;AAAA,EAAA,IACR;AACJ,MAAI,UAAU,WAAY;AAE1B,QAAM,EAAE,MAAM,OAAA,IAAW,iBAAiB,OAAO,OAAO,SAAS;AACjE,QAAM,cAAc,UAAU,IAAI;AAElC,MAAI,UAAU,UAAU;AACtB,UAAM,OAAO;AACb,WACG,OAAO,MAAM,EACb,KAAK,KAAK,KAAK,OAAO,CAAC,EACvB,KAAK,KAAK,KAAK,OAAO,CAAC,EACvB,KAAK,SAAS,IAAI,EAClB,KAAK,UAAU,IAAI,EACnB,KAAK,QAAQ,IAAI,EACjB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,WAAW;AACnC;AAAA,EACF;AAEA,MAAI,UAAU,WAAW;AACvB,UAAM,OAAO;AACb,WACG,OAAO,MAAM,EACb,KAAK,KAAK,KAAK,OAAO,CAAC,EACvB,KAAK,KAAK,KAAK,OAAO,CAAC,EACvB,KAAK,SAAS,IAAI,EAClB,KAAK,UAAU,IAAI,EACnB,KAAK,QAAQ,IAAI,EACjB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,WAAW,EAChC,KAAK,aAAa,cAAc,EAAE,KAAK,EAAE,GAAG;AAC/C;AAAA,EACF;AAEA,MAAI,UAAU,YAAY;AACxB,UAAM,IAAI;AACV,WACG,OAAO,SAAS,EAChB;AAAA,MACC;AAAA,MACA,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;AAAA,IAAA,EAExD,KAAK,QAAQ,IAAI,EACjB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,WAAW;AACnC;AAAA,EACF;AAEA,SACG,OAAO,QAAQ,EACf,KAAK,MAAM,EAAE,EACb,KAAK,MAAM,EAAE,EACb,KAAK,KAAK,CAAC,EACX,KAAK,QAAQ,IAAI,EACjB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,WAAW;AACrC;AAKO,SAAS,6BAEd,QACA,MACM;AACN,QAAM,EAAE,OAAO,OAAO,IAAI,OAAO;AACjC,MAAI,UAAU,WAAY;AAE1B,MAAI,UAAU,SAAS;AACrB,WACG,OAAO,MAAM,EACb;AAAA,MACC;AAAA,MACA,KAAK,EAAE,KAAK,KAAK,CAAC,yCAAyC,EAAE,KAAK,KAAK,CAAC;AAAA,IAAA,EAEzE,KAAK,QAAQ,KAAK,EAClB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC;AACzB,WAAO,OAAO,QAAQ,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,KAAK,CAAC,EAAE,KAAK,QAAQ,MAAM;AACtF;AAAA,EACF;AAEA,MAAI,UAAU,UAAU;AACtB,WACG,OAAO,MAAM,EACb,KAAK,KAAK,KAAK,EAAE,KAAK,KAAK,CAAC,qCAAqC,EACjE,KAAK,QAAQ,KAAK,EAClB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC;AACzB;AAAA,EACF;AAEA,MAAI,UAAU,UAAU;AACtB,WACG,OAAO,MAAM,EACb;AAAA,MACC;AAAA,MACA,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC;AAAA,IAAA,EAExF,KAAK,QAAQ,KAAK,EAClB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC;AACzB;AAAA,EACF;AAEA,MAAI,UAAU,YAAY;AACxB,WACG,OAAO,MAAM,EACb,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,IAAI,EAC3E,KAAK,QAAQ,KAAK,EAClB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC;AACzB;AAAA,EACF;AAGA,SACG,OAAO,MAAM,EACb;AAAA,IACC;AAAA,IACA,IAAI,EAAE,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,EAAE;AAAA,EAAA,EAExE,KAAK,QAAQ,KAAK,EAClB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC;AAC3B;"}
1
+ {"version":3,"file":"fusedash-visual.js","sources":["../../src/utils/fusedash-visual.ts"],"sourcesContent":["import type { Selection } from 'd3-selection';\n\n/** FuseDash Widgets visual tokens — keep charts looking 1:1 with client. */\n\nexport const FD = {\n gridStroke: '#afb3bb',\n gridDash: '1 2',\n axisLabelFill: '#6c7584',\n axisLabelSize: 11,\n axisStroke: '#afb3bb',\n hoverGuideLight: '#6c7584',\n hoverGuideDark: '#ffffff',\n /**\n * Qualitative12Colors.default — used when series count unknown.\n * Prefer `resolveFormattingColor` / `pickQualitativePalette` for FuseDash widgets.\n */\n series: [\n '#473DD9',\n '#938CFF',\n '#36C4A5',\n '#ADF4E5',\n '#BDBCC8',\n '#56546D',\n '#FF8C47',\n '#FFCEB0',\n '#FF4781',\n '#FFB0C9',\n '#47B0FF',\n '#B0DDFF',\n ],\n lineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n lollipopMargin: { top: 10, right: 3, bottom: 21, left: 40 },\n /** FuseDash RadarChart (useNewDesign) frame */\n radarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n radarScaleSteps: 5,\n radarDomainPadFactor: 1.1,\n radarMarkerSize: 50,\n radarMarkerHoverSize: 70,\n radarSpokeDash: '2,2',\n radarCapRadius: 3,\n radarLabelOffset: 12,\n radarGradientEdgeOpacity: 0.3,\n radarStrokeWidth: 2,\n radarTickLabelFill: '#f1f4f7',\n /** Client PunchcardChart DEFAULT_MARGIN */\n punchcardMargin: { top: 0, right: 0, bottom: 21, left: 80 },\n /** Client MatrixChart DEFAULT_MARGIN */\n matrixMargin: { top: 20, right: 0, bottom: 30, left: 80 },\n /** MatrixChart cell gutter + corner (client `rectPadding`) */\n matrixCellPadding: 3,\n matrixCellRadius: 2,\n /** Rows never shrink below this — the plot scrolls instead */\n matrixMinCellHeight: 16,\n /** Top header: font + tick + label spacing reserve (client `topAxisHeight`) */\n matrixTopTickLength: 8,\n matrixTopLabelsSpacing: 12,\n /** Above this many rows the top axis is pinned and the rows scroll */\n matrixSeparateAxisRowLimit: 7,\n /** Negative cells are flat grey; zero / missing cells get the hatch pattern */\n matrixNegativeFill: '#DADAE1',\n matrixNoDataLight: '#f0f1f2',\n matrixNoDataDark: '#33373d',\n matrixNoDataStripeLight: '#ffffff',\n matrixNoDataStripeDark: '#000000',\n /** Client AxisLeft `TickLabel length={9}` */\n matrixYLabelMaxChars: 9,\n /** Client `MAX_LABEL_LENGTH` for the top header labels */\n matrixTopLabelMaxChars: 25,\n stepLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** SparkLineChart — same frame as StepLineChart */\n sparkLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n sparkLineStrokeWidth: 1.5,\n sparkDomainPadFactor: 1.2,\n sparkGuideDash: '5,2',\n sparkHoverDotRadius: 4,\n boxPlotMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n histogramMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** Client VerticalWaterfallChart margin */\n waterfallVerticalMargin: { top: 10, right: 0, bottom: 21, left: 40 },\n /** Client HorizontalWaterfallChart base margin (left is sized from labels) */\n waterfallHorizontalMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n waterfallBarThickness: 16,\n waterfallBarRadius: 2,\n waterfallArrow: 5,\n waterfallDomainPadFactor: 1.2,\n /** Client hard-coded fills (formatting keys are ignored for paint) */\n waterfallPositive: '#938CFF',\n waterfallNegative: '#FF8C47',\n waterfallTotal: '#BDBCC8',\n waterfallHoverDim: 0.2,\n waterfallMinBand: 32,\n /** Client VerticalViolinChart DEFAULT_MARGIN */\n violinVerticalMargin: { top: 10, right: 16, bottom: 28, left: 44 },\n /** Client HorizontalViolinChart DEFAULT_MARGIN */\n violinHorizontalMargin: { top: 10, right: 24, bottom: 28, left: 44 },\n /** Client Horizontal/Vertical BoxPlot */\n boxPlotDomainPadFactor: 1.1,\n boxPlotBorderRadius: 2,\n lineStrokeWidth: 2,\n lineStrokeAlphaPct: 80,\n /** FuseDash AreaChart linearGradient stops (new design) */\n areaGradientTopOpacity: 0.6,\n areaGradientBottomOpacity: 0.1,\n lollipopStemWidth: 3,\n lollipopStemAlphaPct: 50,\n markerRadius: 4,\n /** StepLineChart: plain stroke, no alpha / glow / markers */\n stepStrokeWidth: 1.5,\n /** StepLineChart y-domain is padded by 1.2x before `.nice()` */\n stepDomainPadFactor: 1.2,\n /** KS-plot \"Ideal\" overlay */\n stepIdealColor: '#2ecc71',\n stepIdealWidth: 3,\n /** ROC \"Random guessing\" diagonal */\n stepGuessWidth: 2,\n stepGuessDash: '5,5',\n /** Max-deviation marker (KS distance) */\n stepDeviationFill: '#2c2d33',\n /** Tooltip crosshair on the step chart */\n stepGuideDash: '5,2',\n stepHoverDotRadius: 4,\n /** Barchart — shared frame + bar geometry (all six FuseDash variants) */\n barMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n barCornerRadius: 4,\n /** Bar fill is a gradient from the series color to a faded stop */\n barFadeOpacity: 0.6,\n barFadeOpacityHovered: 0.7,\n /** Vertical single-series: bandwidth * 0.4, capped, with a visible floor */\n barBandFraction: 0.4,\n barMaxWidth: 40,\n barMinHeight: 6,\n /** Vertical grouped: floor(clamp(plotWidth / categories / series)) + 1px gap */\n barGroupMinWidth: 4,\n barGroupMaxWidth: 24,\n barGroupGap: 1,\n /** Vertical stacked: bandwidth * 0.85, same clamp as grouped */\n barStackedBandFraction: 0.85,\n /** Horizontal: fixed row thickness, gutter, and a floor for tiny values */\n barRowThickness: 24,\n barRowSpacing: 16,\n barMinWidth: 6,\n /** Y (vertical) / X (horizontal) domain headroom */\n barDomainPadFactor: 1.2,\n barHorizontalPadFactor: 1.1,\n /** Stacked totals get a flat 10% pad instead */\n barStackedPadFraction: 0.1,\n /** Cumulative overlay line (FuseDash `cumulativeLine`) */\n barCumulativeColor: '#6d6df7',\n barCumulativeWidth: 2,\n barCumulativeDotRadius: 3,\n /** Hovered category column: animated dot pattern + solid guide */\n barHoverDotFill: '#CFD2D6',\n barHoverGuideWidth: 2,\n /** Client `calculatedLeftMargin` (unused in chat — shared LEFT_GUTTER_MARGIN) */\n barLabelCharWidth: 5,\n barLabelGutter: 28,\n barLabelGutterMin: 56,\n barLabelGutterMax: 180,\n /** Resting / dimmed / hovered arc opacity (FuseDash settles on 0.8) */\n donutArcOpacity: 0.8,\n donutArcOpacityDimmed: 0.2,\n /** PieChart — FuseDash uses zero margin; pie is a square inscribed in the body */\n pieMargin: { top: 0, right: 0, bottom: 0, left: 0 },\n pieMinArcLengthPx: 5,\n /** PolarAreaChart — FuseDash margin around the centred disc */\n polarAreaMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n /** Concentric grid rings; opacity ramps 0.2 → 1.0 outward */\n polarRadialSteps: 5,\n polarGridStroke: '#939ba7',\n polarGridStepOpacity: 0.2,\n /** Dashed spoke from the centre to each category boundary, with a round cap */\n polarSpokeDash: '2,2',\n polarSpokeCapRadius: 3,\n /** Category labels sit just outside the outermost ring */\n polarCategoryLabelFill: '#5f6877',\n polarCategoryLabelSize: 12,\n polarCategoryLabelOffset: 12,\n /** Side room reserved for those labels, measured off the longest one */\n polarLabelCharWidth: 0.55,\n polarLabelGutterMin: 40,\n polarLabelGutterMax: 120,\n polarLabelGutterMaxFraction: 0.28,\n /** Below this radius the label ring collides with itself — drop it */\n polarMinLabelRadius: 40,\n /** Sectors: 0.8 at rest, siblings drop to 0.2 on hover */\n polarSectorOpacity: 0.8,\n polarSectorOpacityDimmed: 0.2,\n /** Radial tick pills are hidden when the disc is too short to fit them */\n polarTickPillRowHeight: 21,\n polarTickPillPadX: 7,\n polarTickPillPadY: 3,\n polarTickPillRadius: 4,\n polarTickPill: '#ffffff',\n polarTickPillDark: '#1a1b1f',\n /** RadialBarChart — client margin; the plot is a circle inscribed in the body */\n radialBarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n /** Hole is 20% of the outer radius; rings sweep 270° clockwise from 12 o'clock */\n radialBarInnerRadiusRatio: 0.2,\n radialBarSweepDeg: 270,\n radialBarTicks: 5,\n /** Ring thickness clamp around `((outer - inner - rings) / rings) * 0.5` */\n radialBarMinArcWidth: 4,\n radialBarMaxArcWidth: 24,\n radialBarArcCornerRadius: 1,\n /** Resting / dimmed arc opacity */\n radialBarArcOpacity: 0.8,\n radialBarArcOpacityDimmed: 0.2,\n /** Client draws the rings and the radial axes in one darker grey */\n radialBarGridStroke: '#939ba7',\n radialBarTickDash: '4,4',\n radialBarLabelFill: '#5f6877',\n radialBarTickLabelSize: 12,\n radialBarRingLabelSize: 11,\n /** Value labels sit 12px outside the outer ring */\n radialBarTickLabelOffset: 12,\n /** Ring labels are cut at `(outer - inner) / 8` characters */\n radialBarLabelCharWidth: 8,\n /** ScatterPlot — FuseDash DEFAULT_MARGIN */\n scatterMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** AreaGroupedBarChart — client DEFAULT_MARGIN */\n areaGroupedBarMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** Area fill under the line (client stopOpacity 0.35 → 0) */\n areaGroupedBarGradientTopOpacity: 0.35,\n areaGroupedBarGradientBottomOpacity: 0,\n areaGroupedBarMarkerRadius: 3,\n areaGroupedBarDimOpacity: 0.3,\n areaGroupedBarBarOpacity: 0.85,\n /** BubbleChart — BASE_MARGIN + MAX_BUBBLE_RADIUS/2 inset on top/right */\n bubbleBaseMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n bubbleMaxRadius: 30,\n bubbleNegativeFill: '#DADAE1',\n scatterMarkerSize: 40,\n scatterReferenceLine: '#56546D',\n /** BiasVarianceTradeoffChart — the client widget carries its own frame/palette */\n biasVarianceMargin: { top: 24, right: 24, bottom: 36, left: 48 },\n biasVarianceSeries: ['#6366f1', '#22c55e', '#f59e0b', '#06b6d4', '#ef4444'],\n biasVarianceGridStroke: '#d1d5db',\n biasVarianceGridDash: '2,4',\n biasVarianceAxisStroke: '#9ca3af',\n biasVarianceLabelFill: '#6b7280',\n biasVarianceLineWidth: 2,\n biasVarianceLineOpacity: 0.95,\n /** Sibling curves fade while one is hovered (FuseDash line-hover convention) */\n biasVarianceLineOpacityDimmed: 0.2,\n /** Y domain is `[0, max * 1.1]` before `.nice()` */\n biasVarianceDomainPadFactor: 1.1,\n biasVarianceXTicks: 8,\n biasVarianceYTicks: 6,\n /** Shared `DomainsLimits` overlay (reference lines / bands) */\n domainLimitColor: '#6C8CF5',\n domainLimitFillOpacity: 0.12,\n domainLimitDash: '4,4',\n domainLimitArrow: 8,\n domainLimitLabelFill: '#141c2ce6',\n domainLimitLabelText: '#ffffff',\n domainLimitLabelSize: 10,\n /** PartialDependenceChart — client DEFAULT_MARGIN */\n pdpMargin: { top: 16, right: 24, bottom: 28, left: 44 },\n /** ICE band: many faint curves under one dashed average line */\n pdpIceOpacity: 0.18,\n pdpIceStrokeWidth: 1.25,\n pdpAverageStrokeWidth: 2.5,\n pdpAverageDash: '4,4',\n donutSliceStroke: '#ffffff',\n donutSliceStrokeDark: '#1a1b1f',\n donutSliceStrokeWidth: 2,\n /** Treemap — d3 `treemapBinary` tiles, no axes so the plot fills the body */\n treemapMargin: { top: 0, right: 0, bottom: 0, left: 0 },\n treemapPaddingInner: 2,\n treemapTileRadius: 6,\n /** Tile fill fades from the band color to 80% alpha at the bottom edge */\n treemapGradientBottomOpacity: 0.8,\n /** White scanlines every 5px, fading out toward the bottom of the tile */\n treemapStripeColor: '#FFFFFF',\n treemapStripeSpacing: 5,\n treemapStripeOpacity: 0.14,\n treemapStripeFalloff: 0.8,\n /** Client `hasLightColor` label colors */\n treemapLabelOnLight: '#0B101A',\n treemapLabelOnDark: '#FFFFFF',\n treemapLabelPadding: 4,\n treemapLabelSize: 14,\n treemapValueSize: 12,\n /** A tile only gets a name below this, and a value below `MinValueHeight` */\n treemapMinLabelWidth: 40,\n treemapMinLabelHeight: 20,\n treemapMinValueHeight: 30,\n /** Grouped mode: one card per group in the client's grid-template-areas */\n treemapCardGap: 8,\n treemapCardRadius: 8,\n treemapCardPadding: 8,\n treemapGroupsMarginTop: 10,\n /** Rows in the >5 group fallback list, which scrolls instead of squeezing */\n treemapCardMinHeight: 140,\n /** Sibling tiles fade while one is hovered (chat-only affordance) */\n treemapDimOpacity: 0.4,\n /** `getTreemapRangeColors`: 7 shades from +55% white to -35% black */\n treemapRangeSteps: 7,\n treemapRangeMinShift: 0.55,\n treemapRangeMaxShift: -0.35,\n /** Sankey: layout extent inset, node gap, and the two node-rule colors */\n sankeyPadding: 4.5,\n sankeyNodePadding: 14,\n sankeyNodeWidth: 70,\n sankeyNodeWidthSmall: 65,\n sankeyNodeRule: '#D3DBE3',\n sankeyNodeRuleActive: '#939BA7',\n /** Ribbons sit at 50% alpha until hovered or focused */\n sankeyLinkAlphaPct: 50,\n sankeyLinkInset: 3,\n sankeyDimOpacity: 0.5,\n /** ParallelCoordinates — client Horizontal/Vertical frames */\n parallelMargin: { top: 10, right: 1, bottom: 8, left: 1 },\n parallelVerticalMargin: { top: 10, right: 1, bottom: 1, left: 1 },\n /** Horizontal: one 72px band per dimension, so the plot scrolls past ~5 axes */\n parallelAxisSpacing: 72,\n /** Vertical: gutter kept free under the axes for the bottom tick row */\n parallelColorScaleHeight: 44,\n /** Right gutter reserved for the colour ramp + its tick labels */\n parallelLegendOffsetRight: 20,\n parallelLegendWidth: 10,\n parallelLegendTickLabelWidth: 44,\n parallelLegendRadius: 6,\n /** Resting / dimmed / hovered polyline stroke */\n parallelLineWidth: 1,\n parallelLineWidthHovered: 5,\n parallelLineOpacity: 0.4,\n parallelLineOpacityDimmed: 0.05,\n /** Client draws these axes a shade darker than the shared FD axis tokens */\n parallelAxisStroke: '#939ba7',\n parallelAxisLabelFill: '#5f6877',\n parallelTitleSize: 11,\n parallelTitleSizeActive: 13,\n /** GiniImpurityEntropyChart — client DEFAULT_MARGIN */\n giniMargin: { top: 20, right: 24, bottom: 28, left: 44 },\n /** Curves are drawn as smooth Catmull-Rom splines with this tension */\n giniCurveAlpha: 0.5,\n /** p-hat guide + confidence-interval band */\n giniOverlayColor: '#4c6ef5',\n giniOverlayBandOpacity: 0.08,\n giniOverlayDash: '5,5',\n /** Split annotation markers on the Gini curve */\n giniSplitMarkerFill: '#12b886',\n giniSplitMarkerStroke: '#ffffff',\n giniSplitMarkerRadius: 4,\n giniSplitLabelOffset: 8,\n /** Hovering one curve fades the others so the read is unambiguous */\n giniCurveDimOpacity: 0.2,\n} as const;\n\n/** SequentialColors1 for the `default` styleId — low → high. */\nexport const FD_SEQUENTIAL = [\n '#D6D3FF',\n '#B5B0FF',\n '#938CFF',\n '#7369FF',\n '#5448FF',\n '#473DD9',\n '#3C33B5',\n] as const;\n\nexport type MarkerShape =\n | 'donut'\n | 'circle'\n | 'square'\n | 'rhombus'\n | 'triangle'\n | 'disabled';\n\n/** Mirrors client `lightenColor` — blend hex toward white (amount 0–1). */\nexport function lightenColor(hex: string, amount: number): string {\n let clean = hex.replace('#', '');\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-Fa-f]{6}$/.test(clean)) return hex;\n const t = Math.max(0, Math.min(1, amount));\n const r = parseInt(clean.slice(0, 2), 16);\n const g = parseInt(clean.slice(2, 4), 16);\n const b = parseInt(clean.slice(4, 6), 16);\n const lr = Math.round(r + (255 - r) * t);\n const lg = Math.round(g + (255 - g) * t);\n const lb = Math.round(b + (255 - b) * t);\n return `#${lr.toString(16).padStart(2, '0')}${lg.toString(16).padStart(2, '0')}${lb.toString(16).padStart(2, '0')}`;\n}\n\n/** Mirrors client `hexToHexWithAlpha` (opacity 0–100). */\nexport function hexWithAlpha(hex: string, opacityPct: number): string {\n let clean = hex.replace('#', '').toUpperCase();\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-F]{6}$/.test(clean)) return hex;\n const alpha = Math.round((Math.max(0, Math.min(100, opacityPct)) / 100) * 255)\n .toString(16)\n .padStart(2, '0')\n .toUpperCase();\n return `#${clean}${alpha}`;\n}\n\n/** Mirrors client `calculateScaleLinearDomain`. */\nexport function calculateScaleLinearDomain(data: number[]): [number, number] {\n if (!data.length) return [0, 1];\n let min = Infinity;\n let max = -Infinity;\n for (const v of data) {\n if (!Number.isFinite(v)) continue;\n if (v < min) min = v;\n if (v > max) max = v;\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n if (min < 0 && max > 0) {\n const absMax = Math.max(Math.abs(min), Math.abs(max));\n return [-absMax, absMax];\n }\n return [Math.min(0, min), Math.max(0, max)];\n}\n\n/** Mirrors client Y-tick formatting. */\nexport function formatCompactNumber(value: number, decimals = 2): string {\n const abs = Math.abs(value);\n if (abs >= 1_000_000_000) return `${(value / 1_000_000_000).toFixed(1)}B`;\n if (abs >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;\n if (abs >= 1_000) return `${(value / 1_000).toFixed(1)}K`;\n if (Number.isInteger(value) && abs < 1000) return String(value);\n return value.toFixed(decimals);\n}\n\nexport function seriesColor(index: number, override?: string): string {\n if (override) return override;\n return FD.series[index % FD.series.length];\n}\n\n/** Line markers: donut = hollow ring (FuseDash default). */\nexport function markerAppearance(\n shape: MarkerShape,\n color: string,\n themeMode: 'light' | 'dark' = 'light',\n): { fill: string; stroke: string } {\n const outline = themeMode === 'dark' ? '#000' : '#fff';\n if (shape === 'donut' || shape === 'disabled') {\n return { fill: outline, stroke: color };\n }\n return { fill: color, stroke: outline };\n}\n\nexport function appendGlowFilter(\n svg: Selection<SVGSVGElement, unknown, null, undefined>,\n id = 'ui9000-glow',\n): string {\n let defs = svg.select<SVGDefsElement>('defs');\n if (defs.empty()) defs = svg.append('defs');\n if (defs.select(`#${id}`).empty()) {\n const filter = defs\n .append('filter')\n .attr('id', id)\n .attr('x', '-50%')\n .attr('y', '-50%')\n .attr('width', '200%')\n .attr('height', '200%');\n filter.append('feGaussianBlur').attr('stdDeviation', 3).attr('result', 'coloredBlur');\n const merge = filter.append('feMerge');\n merge.append('feMergeNode').attr('in', 'coloredBlur');\n merge.append('feMergeNode').attr('in', 'SourceGraphic');\n }\n return `url(#${id})`;\n}\n\nexport function calculateNumTicks(height: number): number {\n if (height < 120) return 3;\n if (height < 220) return 4;\n if (height < 360) return 5;\n return 6;\n}\n\n/** Append FuseDash-style line/area marker at (cx, cy). */\nexport function appendLineMarker(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: {\n shape: MarkerShape;\n color: string;\n cx: number;\n cy: number;\n r?: number;\n themeMode?: 'light' | 'dark';\n hovered?: boolean;\n },\n): void {\n const {\n shape,\n color,\n cx,\n cy,\n r = FD.markerRadius,\n themeMode = 'light',\n hovered = false,\n } = opts;\n if (shape === 'disabled') return;\n\n const { fill, stroke } = markerAppearance(shape, color, themeMode);\n const strokeWidth = hovered ? 3 : 1;\n\n if (shape === 'square') {\n const size = 7;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n if (shape === 'rhombus') {\n const size = 9;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth)\n .attr('transform', `rotate(45, ${cx}, ${cy})`);\n return;\n }\n\n if (shape === 'triangle') {\n const s = 4;\n parent\n .append('polygon')\n .attr(\n 'points',\n `${cx},${cy - s} ${cx - s},${cy + s} ${cx + s},${cy + s}`,\n )\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n parent\n .append('circle')\n .attr('cx', cx)\n .attr('cy', cy)\n .attr('r', r)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n}\n\n/**\n * Lollipop head — FuseDash Vertical markers (default = rhombus diamond path).\n */\nexport function appendLollipopMarkerVertical(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: { shape: MarkerShape; color: string; cx: number; cy: number },\n): void {\n const { shape, color, cx, cy } = opts;\n if (shape === 'disabled') return;\n\n if (shape === 'donut') {\n parent\n .append('path')\n .attr(\n 'd',\n `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10 M ${cx}, ${cy - 2} a 2,2 0 1,1 0,4 a 2,2 0 1,1 0,-4`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n parent.append('circle').attr('cx', cx).attr('cy', cy).attr('r', 2).attr('fill', '#fff');\n return;\n }\n\n if (shape === 'circle') {\n parent\n .append('path')\n .attr('d', `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'square') {\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} L${cx + 5}, ${cy - 5} L${cx - 5}, ${cy - 5} Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'triangle') {\n parent\n .append('path')\n .attr('d', `M${cx}, ${cy - 5} L${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} Z`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n // default / rhombus\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx}, ${cy + 5} L${cx + 5}, ${cy} L${cx}, ${cy - 5} L${cx - 5}, ${cy}Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n}\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusedashlabs/widgets",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "Props-only chart web components for UI9000 / FuseDash MCP resources",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -136,6 +136,10 @@
136
136
  "types": "./dist/components/treemap-chart/index.d.ts",
137
137
  "import": "./dist/components/treemap-chart/index.js"
138
138
  },
139
+ "./partial-dependence-chart": {
140
+ "types": "./dist/components/partial-dependence-chart/index.d.ts",
141
+ "import": "./dist/components/partial-dependence-chart/index.js"
142
+ },
139
143
  "./kpi-widget": {
140
144
  "types": "./dist/components/kpi-widget/index.d.ts",
141
145
  "import": "./dist/components/kpi-widget/index.js"
@@ -264,6 +268,10 @@
264
268
  "types": "./dist/lazy/treemap-chart.d.ts",
265
269
  "import": "./dist/lazy/treemap-chart.js"
266
270
  },
271
+ "./lazy/partial-dependence-chart": {
272
+ "types": "./dist/lazy/partial-dependence-chart.d.ts",
273
+ "import": "./dist/lazy/partial-dependence-chart.js"
274
+ },
267
275
  "./lazy/kpi-widget": {
268
276
  "types": "./dist/lazy/kpi-widget.d.ts",
269
277
  "import": "./dist/lazy/kpi-widget.js"
@@ -284,7 +292,8 @@
284
292
  "packageManager": "yarn@4.5.0",
285
293
  "scripts": {
286
294
  "dev": "vite --config playground/vite.config.ts",
287
- "build": "tsc --noEmit && vite build && yarn bundle-size",
295
+ "build": "tsc --noEmit && vite build && yarn assert-dist-externals && yarn bundle-size",
296
+ "assert-dist-externals": "node scripts/assert-dist-externals.mjs",
288
297
  "prepublishOnly": "yarn typecheck && yarn test && yarn build && yarn license-check",
289
298
  "build:playground": "vite build --config playground/vite.config.ts",
290
299
  "preview": "vite preview --config playground/vite.config.ts",
@@ -1,28 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2017 Google LLC
4
- * SPDX-License-Identifier: BSD-3-Clause
5
- */
6
- const t = { ATTRIBUTE: 1 }, e = (t2) => (...e2) => ({ _$litDirective$: t2, values: e2 });
7
- class i {
8
- constructor(t2) {
9
- }
10
- get _$AU() {
11
- return this._$AM._$AU;
12
- }
13
- _$AT(t2, e2, i2) {
14
- this._$Ct = t2, this._$AM = e2, this._$Ci = i2;
15
- }
16
- _$AS(t2, e2) {
17
- return this.update(t2, e2);
18
- }
19
- update(t2, e2) {
20
- return this.render(...e2);
21
- }
22
- }
23
- export {
24
- i as Directive,
25
- t as PartType,
26
- e as directive
27
- };
28
- //# sourceMappingURL=directive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"directive.js","sources":["../../../node_modules/lit-html/directive.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n"],"names":["t","e","i"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAKK,MAAC,IAAE,EAAC,WAAU,EAA0D,GAAE,IAAE,CAAAA,OAAG,IAAIC,QAAK,EAAC,iBAAgBD,IAAE,QAAOC,GAAC;AAAG,MAAM,EAAC;AAAA,EAAC,YAAYD,IAAE;AAAA,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,KAAKA,IAAEC,IAAEC,IAAE;AAAC,SAAK,OAAKF,IAAE,KAAK,OAAKC,IAAE,KAAK,OAAKC;AAAA,EAAC;AAAA,EAAC,KAAKF,IAAEC,IAAE;AAAC,WAAO,KAAK,OAAOD,IAAEC,EAAC;AAAA,EAAC;AAAA,EAAC,OAAOD,IAAEC,IAAE;AAAC,WAAO,KAAK,OAAO,GAAGA,EAAC;AAAA,EAAC;AAAC;","x_google_ignoreList":[0]}