@classic-homes/theme-mcp 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -7,7 +7,6 @@ import { ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
7
7
  // src/data/component-catalog.json
8
8
  var component_catalog_default = {
9
9
  version: "0.1.0",
10
- generated: "2026-01-14T23:23:18.723Z",
11
10
  components: [
12
11
  {
13
12
  name: "Alert",
@@ -307,6 +306,54 @@ var component_catalog_default = {
307
306
  "Toast"
308
307
  ]
309
308
  },
309
+ {
310
+ name: "AreaChart",
311
+ description: "Line chart with gradient fill and stacking support",
312
+ category: "chart",
313
+ importPath: "@classic-homes/charts-svelte",
314
+ props: [],
315
+ variants: [],
316
+ slots: [],
317
+ events: [],
318
+ examples: [
319
+ {
320
+ title: "Basic Usage",
321
+ code: `<script>
322
+ import { AreaChart } from '@classic-homes/charts-svelte';
323
+
324
+ const data = {
325
+ categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
326
+ series: [
327
+ { name: 'Email', data: [120, 132, 101, 134, 90, 230, 210] },
328
+ { name: 'Ads', data: [220, 182, 191, 234, 290, 330, 310] },
329
+ { name: 'Video', data: [150, 232, 201, 154, 190, 330, 410] },
330
+ ],
331
+ };
332
+ </script>
333
+
334
+ <AreaChart title="Weekly Traffic" {data} stacked smooth gradient height={400} />`
335
+ },
336
+ {
337
+ title: "Stacked Area with Gradient",
338
+ code: '<AreaChart title="Traffic Sources" {data} stacked smooth gradient height={400} />'
339
+ },
340
+ {
341
+ title: "Simple Area Chart",
342
+ code: `<AreaChart
343
+ title="Single Series"
344
+ data={{
345
+ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May'],
346
+ series: [{ name: 'Revenue', data: [100, 150, 120, 180, 200] }],
347
+ }}
348
+ smooth
349
+ />`
350
+ }
351
+ ],
352
+ relatedComponents: [
353
+ "LineChart",
354
+ "BarChart"
355
+ ]
356
+ },
310
357
  {
311
358
  name: "AuthLayout",
312
359
  description: "Centered card layout for authentication pages",
@@ -718,6 +765,50 @@ var component_catalog_default = {
718
765
  "Button"
719
766
  ]
720
767
  },
768
+ {
769
+ name: "BarChart",
770
+ description: "Compare categories with vertical or horizontal bars",
771
+ category: "chart",
772
+ importPath: "@classic-homes/charts-svelte",
773
+ props: [],
774
+ variants: [],
775
+ slots: [],
776
+ events: [],
777
+ examples: [
778
+ {
779
+ title: "Basic Usage",
780
+ code: `<script>
781
+ import { BarChart } from '@classic-homes/charts-svelte';
782
+
783
+ const data = {
784
+ categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
785
+ series: [
786
+ { name: 'Sales', data: [320, 332, 301, 334, 390] },
787
+ { name: 'Returns', data: [120, 132, 101, 134, 90] },
788
+ ],
789
+ };
790
+ </script>
791
+
792
+ <BarChart title="Weekly Sales" {data} height={400} />`
793
+ },
794
+ {
795
+ title: "Horizontal Bar Chart",
796
+ code: '<BarChart title="Sales by Region" {data} orientation="horizontal" height={400} />'
797
+ },
798
+ {
799
+ title: "Stacked Bar Chart",
800
+ code: '<BarChart title="Revenue Breakdown" {data} stacked height={400} />'
801
+ },
802
+ {
803
+ title: "With Value Labels",
804
+ code: '<BarChart title="Monthly Performance" {data} showValues height={400} />'
805
+ }
806
+ ],
807
+ relatedComponents: [
808
+ "LineChart",
809
+ "FunnelChart"
810
+ ]
811
+ },
721
812
  {
722
813
  name: "Button",
723
814
  description: "Clickable button component with multiple variants, sizes, and loading states",
@@ -888,6 +979,61 @@ var component_catalog_default = {
888
979
  "Dialog"
889
980
  ]
890
981
  },
982
+ {
983
+ name: "CandlestickChart",
984
+ description: "Financial OHLC data with volume bars",
985
+ category: "chart",
986
+ importPath: "@classic-homes/charts-svelte",
987
+ props: [],
988
+ variants: [],
989
+ slots: [],
990
+ events: [],
991
+ examples: [
992
+ {
993
+ title: "Basic Usage",
994
+ code: `<script>
995
+ import { CandlestickChart } from '@classic-homes/charts-svelte';
996
+
997
+ const data = {
998
+ dates: ['2024-01', '2024-02', '2024-03', '2024-04'],
999
+ data: [
1000
+ { open: 20, close: 34, low: 10, high: 38 },
1001
+ { open: 40, close: 35, low: 30, high: 50 },
1002
+ { open: 31, close: 38, low: 28, high: 48 },
1003
+ { open: 38, close: 30, low: 25, high: 44 },
1004
+ ],
1005
+ volume: [100, 120, 90, 140],
1006
+ };
1007
+ </script>
1008
+
1009
+ <CandlestickChart title="Stock Price" {data} showVolume height={400} />`
1010
+ },
1011
+ {
1012
+ title: "With Volume",
1013
+ code: '<CandlestickChart title="AAPL Stock" {data} showVolume height={500} />'
1014
+ },
1015
+ {
1016
+ title: "Without Volume",
1017
+ code: `<CandlestickChart
1018
+ title="Price History"
1019
+ data={{
1020
+ dates: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'],
1021
+ data: [
1022
+ { open: 100, close: 110, low: 95, high: 115 },
1023
+ { open: 110, close: 105, low: 100, high: 120 },
1024
+ { open: 105, close: 115, low: 102, high: 118 },
1025
+ { open: 115, close: 108, low: 105, high: 120 },
1026
+ { open: 108, close: 125, low: 105, high: 128 },
1027
+ ],
1028
+ }}
1029
+ />`
1030
+ }
1031
+ ],
1032
+ relatedComponents: [
1033
+ "LineChart",
1034
+ "BarChart"
1035
+ ]
1036
+ },
891
1037
  {
892
1038
  name: "Card",
893
1039
  description: "Container component for grouping related content",
@@ -1745,6 +1891,48 @@ var component_catalog_default = {
1745
1891
  "DropdownMenu"
1746
1892
  ]
1747
1893
  },
1894
+ {
1895
+ name: "DonutChart",
1896
+ description: "Pie chart variant with center labels for key metrics",
1897
+ category: "chart",
1898
+ importPath: "@classic-homes/charts-svelte",
1899
+ props: [],
1900
+ variants: [],
1901
+ slots: [],
1902
+ events: [],
1903
+ examples: [
1904
+ {
1905
+ title: "Basic Usage",
1906
+ code: `<script>
1907
+ import { DonutChart } from '@classic-homes/charts-svelte';
1908
+
1909
+ const data = [
1910
+ { name: 'Completed', value: 65 },
1911
+ { name: 'In Progress', value: 25 },
1912
+ { name: 'Pending', value: 10 },
1913
+ ];
1914
+ </script>
1915
+
1916
+ <DonutChart title="Task Status" {data} centerLabel="Total" centerValue="100" height={400} />`
1917
+ },
1918
+ {
1919
+ title: "Dashboard KPI",
1920
+ code: '<DonutChart title="Budget Usage" {data} centerLabel="Spent" centerValue="$45,000" height={300} />'
1921
+ },
1922
+ {
1923
+ title: "With Labels",
1924
+ code: '<DonutChart title="Category Distribution" {data} showLabels centerLabel="Items" centerValue="156" />'
1925
+ },
1926
+ {
1927
+ title: "Custom Inner Radius",
1928
+ code: '<DonutChart title="Thin Donut" {data} innerRadius="70%" />'
1929
+ }
1930
+ ],
1931
+ relatedComponents: [
1932
+ "PieChart",
1933
+ "GaugeChart"
1934
+ ]
1935
+ },
1748
1936
  {
1749
1937
  name: "DropdownMenu",
1750
1938
  description: "Contextual menu with items, groups, and keyboard navigation",
@@ -2721,6 +2909,96 @@ var component_catalog_default = {
2721
2909
  "PageHeader"
2722
2910
  ]
2723
2911
  },
2912
+ {
2913
+ name: "FunnelChart",
2914
+ description: "Visualize conversion rates and process flows",
2915
+ category: "chart",
2916
+ importPath: "@classic-homes/charts-svelte",
2917
+ props: [],
2918
+ variants: [],
2919
+ slots: [],
2920
+ events: [],
2921
+ examples: [
2922
+ {
2923
+ title: "Basic Usage",
2924
+ code: `<script>
2925
+ import { FunnelChart } from '@classic-homes/charts-svelte';
2926
+
2927
+ const data = [
2928
+ { name: 'Visited', value: 100 },
2929
+ { name: 'Inquired', value: 80 },
2930
+ { name: 'Ordered', value: 60 },
2931
+ { name: 'Paid', value: 40 },
2932
+ { name: 'Completed', value: 20 },
2933
+ ];
2934
+ </script>
2935
+
2936
+ <FunnelChart title="Conversion Funnel" {data} sort="descending" showLabels height={400} />`
2937
+ },
2938
+ {
2939
+ title: "Sales Pipeline",
2940
+ code: `<FunnelChart
2941
+ title="Sales Pipeline"
2942
+ data={[
2943
+ { name: 'Leads', value: 500 },
2944
+ { name: 'Qualified', value: 350 },
2945
+ { name: 'Proposal', value: 200 },
2946
+ { name: 'Negotiation', value: 100 },
2947
+ { name: 'Closed', value: 50 },
2948
+ ]}
2949
+ sort="descending"
2950
+ />`
2951
+ },
2952
+ {
2953
+ title: "Ascending Funnel",
2954
+ code: '<FunnelChart title="Growth Funnel" {data} sort="ascending" />'
2955
+ }
2956
+ ],
2957
+ relatedComponents: [
2958
+ "BarChart",
2959
+ "SankeyChart"
2960
+ ]
2961
+ },
2962
+ {
2963
+ name: "GaugeChart",
2964
+ description: "Display single value metrics with progress indicator",
2965
+ category: "chart",
2966
+ importPath: "@classic-homes/charts-svelte",
2967
+ props: [],
2968
+ variants: [],
2969
+ slots: [],
2970
+ events: [],
2971
+ examples: [
2972
+ {
2973
+ title: "Basic Usage",
2974
+ code: `<script>
2975
+ import { GaugeChart } from '@classic-homes/charts-svelte';
2976
+ </script>
2977
+
2978
+ <GaugeChart title="Performance Score" value={72} min={0} max={100} showProgress height={400} />`
2979
+ },
2980
+ {
2981
+ title: "Performance Score",
2982
+ code: '<GaugeChart title="Performance Score" value={85} min={0} max={100} showProgress />'
2983
+ },
2984
+ {
2985
+ title: "With Custom Formatter",
2986
+ code: '<GaugeChart title="Completion Rate" value={72} formatValue={(v) => `${v}%`} showProgress />'
2987
+ },
2988
+ {
2989
+ title: "Temperature Gauge",
2990
+ code: '<GaugeChart\n title="CPU Temperature"\n value={65}\n min={0}\n max={100}\n formatValue={(v) => `${v}\xB0C`}\n showProgress\n/>'
2991
+ },
2992
+ {
2993
+ title: "Revenue KPI",
2994
+ code: '<GaugeChart\n title="Monthly Target"\n value={85000}\n min={0}\n max={100000}\n formatValue={(v) => `$${(v / 1000).toFixed(0)}K`}\n showProgress\n/>'
2995
+ }
2996
+ ],
2997
+ relatedComponents: [
2998
+ "DonutChart",
2999
+ "RadarChart"
3000
+ ]
3001
+ },
2724
3002
  {
2725
3003
  name: "Header",
2726
3004
  description: "Flexible application header with navigation support",
@@ -2893,6 +3171,68 @@ var component_catalog_default = {
2893
3171
  "PublicLayout"
2894
3172
  ]
2895
3173
  },
3174
+ {
3175
+ name: "HeatmapChart",
3176
+ description: "Matrix data visualization with color intensity",
3177
+ category: "chart",
3178
+ importPath: "@classic-homes/charts-svelte",
3179
+ props: [],
3180
+ variants: [],
3181
+ slots: [],
3182
+ events: [],
3183
+ examples: [
3184
+ {
3185
+ title: "Basic Usage",
3186
+ code: `<script>
3187
+ import { HeatmapChart } from '@classic-homes/charts-svelte';
3188
+
3189
+ const xAxis = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
3190
+ const yAxis = ['12a', '6a', '12p', '6p'];
3191
+
3192
+ const data = {
3193
+ data: [
3194
+ [0, 0, 5],
3195
+ [0, 1, 1],
3196
+ [0, 2, 0],
3197
+ [0, 3, 2],
3198
+ [1, 0, 1],
3199
+ [1, 1, 0],
3200
+ [1, 2, 3],
3201
+ [1, 3, 4],
3202
+ // ... more data points
3203
+ ],
3204
+ min: 0,
3205
+ max: 5,
3206
+ };
3207
+ </script>
3208
+
3209
+ <HeatmapChart title="Activity Heatmap" {data} {xAxis} {yAxis} showValues height={400} />`
3210
+ },
3211
+ {
3212
+ title: "GitHub-style Activity",
3213
+ code: `<HeatmapChart
3214
+ title="Commit Activity"
3215
+ {data}
3216
+ xAxis={['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']}
3217
+ yAxis={['12a', '4a', '8a', '12p', '4p', '8p']}
3218
+ />`
3219
+ },
3220
+ {
3221
+ title: "Correlation Matrix",
3222
+ code: `<HeatmapChart
3223
+ title="Feature Correlation"
3224
+ {data}
3225
+ xAxis={['Price', 'Size', 'Age', 'Rooms']}
3226
+ yAxis={['Price', 'Size', 'Age', 'Rooms']}
3227
+ showValues
3228
+ />`
3229
+ }
3230
+ ],
3231
+ relatedComponents: [
3232
+ "ScatterChart",
3233
+ "TreemapChart"
3234
+ ]
3235
+ },
2896
3236
  {
2897
3237
  name: "Icon",
2898
3238
  description: "A unified icon component with 50+ commonly used icons",
@@ -3285,6 +3625,64 @@ var component_catalog_default = {
3285
3625
  "FormField"
3286
3626
  ]
3287
3627
  },
3628
+ {
3629
+ name: "LineChart",
3630
+ description: "Display trends over time with smooth curves and area fill options",
3631
+ category: "chart",
3632
+ importPath: "@classic-homes/charts-svelte",
3633
+ props: [],
3634
+ variants: [],
3635
+ slots: [],
3636
+ events: [],
3637
+ examples: [
3638
+ {
3639
+ title: "Basic Usage",
3640
+ code: `<script>
3641
+ import { LineChart } from '@classic-homes/charts-svelte';
3642
+
3643
+ const data = {
3644
+ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
3645
+ series: [
3646
+ { name: '2024', data: [120, 132, 101, 134, 90, 230] },
3647
+ { name: '2025', data: [220, 182, 191, 234, 290, 330] },
3648
+ ],
3649
+ };
3650
+ </script>
3651
+
3652
+ <LineChart title="Monthly Revenue" {data} smooth height={400} />`
3653
+ },
3654
+ {
3655
+ title: "Smooth Line Chart",
3656
+ code: '<LineChart title="Monthly Sales" {data} smooth height={400} />'
3657
+ },
3658
+ {
3659
+ title: "With Data Points",
3660
+ code: '<LineChart title="Monthly Sales" {data} smooth showDataPoints height={400} />'
3661
+ },
3662
+ {
3663
+ title: "Stacked Lines",
3664
+ code: '<LineChart title="Stacked Revenue" {data} stacked smooth height={400} />'
3665
+ },
3666
+ {
3667
+ title: "With Area Fill",
3668
+ code: '<LineChart title="Revenue Trend" {data} areaFilled smooth height={400} />'
3669
+ },
3670
+ {
3671
+ title: "Handling Click Events",
3672
+ code: `<script>
3673
+ function handleClick(params) {
3674
+ console.log('Clicked:', params.seriesName, params.name, params.value);
3675
+ }
3676
+ </script>
3677
+
3678
+ <LineChart title="Interactive Chart" {data} onClick={handleClick} />`
3679
+ }
3680
+ ],
3681
+ relatedComponents: [
3682
+ "AreaChart",
3683
+ "BarChart"
3684
+ ]
3685
+ },
3288
3686
  {
3289
3687
  name: "LoadingLogo",
3290
3688
  description: "Animated brand logo for loading states",
@@ -4015,6 +4413,55 @@ var component_catalog_default = {
4015
4413
  "Separator"
4016
4414
  ]
4017
4415
  },
4416
+ {
4417
+ name: "PieChart",
4418
+ description: "Show proportional data with interactive labels",
4419
+ category: "chart",
4420
+ importPath: "@classic-homes/charts-svelte",
4421
+ props: [],
4422
+ variants: [],
4423
+ slots: [],
4424
+ events: [],
4425
+ examples: [
4426
+ {
4427
+ title: "Basic Usage",
4428
+ code: `<script>
4429
+ import { PieChart } from '@classic-homes/charts-svelte';
4430
+
4431
+ const data = [
4432
+ { name: 'Search Engine', value: 1048 },
4433
+ { name: 'Direct', value: 735 },
4434
+ { name: 'Email', value: 580 },
4435
+ { name: 'Social Media', value: 484 },
4436
+ ];
4437
+ </script>
4438
+
4439
+ <PieChart title="Traffic Sources" {data} showLabels height={400} />`
4440
+ },
4441
+ {
4442
+ title: "With Outside Labels",
4443
+ code: '<PieChart title="Market Share" {data} showLabels labelPosition="outside" height={400} />'
4444
+ },
4445
+ {
4446
+ title: "With Inside Labels",
4447
+ code: '<PieChart title="Market Share" {data} showLabels labelPosition="inside" height={400} />'
4448
+ },
4449
+ {
4450
+ title: "Handling Click Events",
4451
+ code: `<script>
4452
+ function handleClick(params) {
4453
+ console.log('Clicked slice:', params.name, params.value);
4454
+ }
4455
+ </script>
4456
+
4457
+ <PieChart title="Interactive Pie" {data} onClick={handleClick} />`
4458
+ }
4459
+ ],
4460
+ relatedComponents: [
4461
+ "DonutChart",
4462
+ "FunnelChart"
4463
+ ]
4464
+ },
4018
4465
  {
4019
4466
  name: "PublicLayout",
4020
4467
  description: "Layout for public-facing marketing and content pages",
@@ -4158,6 +4605,65 @@ var component_catalog_default = {
4158
4605
  "DashboardLayout"
4159
4606
  ]
4160
4607
  },
4608
+ {
4609
+ name: "RadarChart",
4610
+ description: "Multi-dimensional comparison across categories",
4611
+ category: "chart",
4612
+ importPath: "@classic-homes/charts-svelte",
4613
+ props: [],
4614
+ variants: [],
4615
+ slots: [],
4616
+ events: [],
4617
+ examples: [
4618
+ {
4619
+ title: "Basic Usage",
4620
+ code: `<script>
4621
+ import { RadarChart } from '@classic-homes/charts-svelte';
4622
+
4623
+ const indicators = [
4624
+ { name: 'Sales', max: 6500 },
4625
+ { name: 'Administration', max: 16000 },
4626
+ { name: 'IT', max: 30000 },
4627
+ { name: 'Support', max: 38000 },
4628
+ { name: 'Development', max: 52000 },
4629
+ ];
4630
+
4631
+ const data = {
4632
+ series: [
4633
+ { name: 'Budget', data: [4200, 3000, 20000, 35000, 50000] },
4634
+ { name: 'Actual', data: [5000, 14000, 28000, 26000, 42000] },
4635
+ ],
4636
+ };
4637
+ </script>
4638
+
4639
+ <RadarChart title="Budget vs Actual" {data} {indicators} shape="polygon" height={400} />`
4640
+ },
4641
+ {
4642
+ title: "Circle Shape",
4643
+ code: '<RadarChart title="Skill Assessment" {data} {indicators} shape="circle" />'
4644
+ },
4645
+ {
4646
+ title: "Single Series",
4647
+ code: `<RadarChart
4648
+ title="Performance Metrics"
4649
+ data={{
4650
+ series: [{ name: 'Score', data: [80, 90, 70, 85, 95] }],
4651
+ }}
4652
+ indicators={[
4653
+ { name: 'Speed', max: 100 },
4654
+ { name: 'Quality', max: 100 },
4655
+ { name: 'Teamwork', max: 100 },
4656
+ { name: 'Innovation', max: 100 },
4657
+ { name: 'Communication', max: 100 },
4658
+ ]}
4659
+ />`
4660
+ }
4661
+ ],
4662
+ relatedComponents: [
4663
+ "BarChart",
4664
+ "GaugeChart"
4665
+ ]
4666
+ },
4161
4667
  {
4162
4668
  name: "RadioGroup",
4163
4669
  description: "Radio button group for single selection from multiple options",
@@ -4342,6 +4848,149 @@ var component_catalog_default = {
4342
4848
  "Switch"
4343
4849
  ]
4344
4850
  },
4851
+ {
4852
+ name: "SankeyChart",
4853
+ description: "Flow relationships between entities",
4854
+ category: "chart",
4855
+ importPath: "@classic-homes/charts-svelte",
4856
+ props: [],
4857
+ variants: [],
4858
+ slots: [],
4859
+ events: [],
4860
+ examples: [
4861
+ {
4862
+ title: "Basic Usage",
4863
+ code: `<script>
4864
+ import { SankeyChart } from '@classic-homes/charts-svelte';
4865
+
4866
+ const data = {
4867
+ nodes: [{ name: 'Source A' }, { name: 'Source B' }, { name: 'Process' }, { name: 'Output' }],
4868
+ links: [
4869
+ { source: 'Source A', target: 'Process', value: 50 },
4870
+ { source: 'Source B', target: 'Process', value: 30 },
4871
+ { source: 'Process', target: 'Output', value: 80 },
4872
+ ],
4873
+ };
4874
+ </script>
4875
+
4876
+ <SankeyChart title="Energy Flow" {data} orient="horizontal" height={400} />`
4877
+ },
4878
+ {
4879
+ title: "Website User Flow",
4880
+ code: `<SankeyChart
4881
+ title="User Journey"
4882
+ data={{
4883
+ nodes: [
4884
+ { name: 'Homepage' },
4885
+ { name: 'Products' },
4886
+ { name: 'Cart' },
4887
+ { name: 'Checkout' },
4888
+ { name: 'Purchase' },
4889
+ { name: 'Exit' },
4890
+ ],
4891
+ links: [
4892
+ { source: 'Homepage', target: 'Products', value: 1000 },
4893
+ { source: 'Homepage', target: 'Exit', value: 300 },
4894
+ { source: 'Products', target: 'Cart', value: 500 },
4895
+ { source: 'Products', target: 'Exit', value: 200 },
4896
+ { source: 'Cart', target: 'Checkout', value: 400 },
4897
+ { source: 'Cart', target: 'Exit', value: 100 },
4898
+ { source: 'Checkout', target: 'Purchase', value: 350 },
4899
+ { source: 'Checkout', target: 'Exit', value: 50 },
4900
+ ],
4901
+ }}
4902
+ />`
4903
+ },
4904
+ {
4905
+ title: "Budget Allocation",
4906
+ code: `<SankeyChart
4907
+ title="Budget Distribution"
4908
+ data={{
4909
+ nodes: [
4910
+ { name: 'Revenue' },
4911
+ { name: 'Operations' },
4912
+ { name: 'Marketing' },
4913
+ { name: 'R&D' },
4914
+ { name: 'Profit' },
4915
+ ],
4916
+ links: [
4917
+ { source: 'Revenue', target: 'Operations', value: 40 },
4918
+ { source: 'Revenue', target: 'Marketing', value: 25 },
4919
+ { source: 'Revenue', target: 'R&D', value: 20 },
4920
+ { source: 'Revenue', target: 'Profit', value: 15 },
4921
+ ],
4922
+ }}
4923
+ />`
4924
+ },
4925
+ {
4926
+ title: "Vertical Orientation",
4927
+ code: '<SankeyChart title="Process Flow" {data} orient="vertical" />'
4928
+ }
4929
+ ],
4930
+ relatedComponents: [
4931
+ "FunnelChart",
4932
+ "TreemapChart"
4933
+ ]
4934
+ },
4935
+ {
4936
+ name: "ScatterChart",
4937
+ description: "Visualize X/Y relationships with optional trend lines",
4938
+ category: "chart",
4939
+ importPath: "@classic-homes/charts-svelte",
4940
+ props: [],
4941
+ variants: [],
4942
+ slots: [],
4943
+ events: [],
4944
+ examples: [
4945
+ {
4946
+ title: "Basic Usage",
4947
+ code: `<script>
4948
+ import { ScatterChart } from '@classic-homes/charts-svelte';
4949
+
4950
+ const data = {
4951
+ series: [
4952
+ {
4953
+ name: 'Dataset A',
4954
+ data: [
4955
+ [10.0, 8.04],
4956
+ [8.07, 6.95],
4957
+ [13.0, 7.58],
4958
+ [9.05, 8.81],
4959
+ [11.0, 8.33],
4960
+ [14.0, 7.66],
4961
+ ],
4962
+ },
4963
+ {
4964
+ name: 'Dataset B',
4965
+ data: [
4966
+ [8.0, 9.04],
4967
+ [6.07, 7.95],
4968
+ [11.0, 8.58],
4969
+ [7.05, 9.81],
4970
+ [9.0, 9.33],
4971
+ [12.0, 8.66],
4972
+ ],
4973
+ },
4974
+ ],
4975
+ };
4976
+ </script>
4977
+
4978
+ <ScatterChart title="Data Correlation" {data} showTrendLine height={400} />`
4979
+ },
4980
+ {
4981
+ title: "With Trend Line",
4982
+ code: '<ScatterChart title="Correlation Analysis" {data} showTrendLine height={400} />'
4983
+ },
4984
+ {
4985
+ title: "Dynamic Point Size",
4986
+ code: '<ScatterChart title="Sized Points" {data} symbolSize={(value) => Math.sqrt(value[1]) * 3} />'
4987
+ }
4988
+ ],
4989
+ relatedComponents: [
4990
+ "LineChart",
4991
+ "HeatmapChart"
4992
+ ]
4993
+ },
4345
4994
  {
4346
4995
  name: "Section",
4347
4996
  description: "Content section container for page organization",
@@ -5985,6 +6634,94 @@ var component_catalog_default = {
5985
6634
  "Dialog",
5986
6635
  "DropdownMenu"
5987
6636
  ]
6637
+ },
6638
+ {
6639
+ name: "TreemapChart",
6640
+ description: "Hierarchical data as nested rectangles",
6641
+ category: "chart",
6642
+ importPath: "@classic-homes/charts-svelte",
6643
+ props: [],
6644
+ variants: [],
6645
+ slots: [],
6646
+ events: [],
6647
+ examples: [
6648
+ {
6649
+ title: "Basic Usage",
6650
+ code: `<script>
6651
+ import { TreemapChart } from '@classic-homes/charts-svelte';
6652
+
6653
+ const data = [
6654
+ {
6655
+ name: 'Frontend',
6656
+ children: [
6657
+ { name: 'React', value: 40 },
6658
+ { name: 'Vue', value: 30 },
6659
+ { name: 'Svelte', value: 20 },
6660
+ ],
6661
+ },
6662
+ {
6663
+ name: 'Backend',
6664
+ children: [
6665
+ { name: 'Node.js', value: 35 },
6666
+ { name: 'Python', value: 25 },
6667
+ ],
6668
+ },
6669
+ ];
6670
+ </script>
6671
+
6672
+ <TreemapChart title="Tech Stack" {data} height={400} />`
6673
+ },
6674
+ {
6675
+ title: "File System",
6676
+ code: `<TreemapChart
6677
+ title="Disk Usage"
6678
+ data={[
6679
+ {
6680
+ name: 'Documents',
6681
+ children: [
6682
+ { name: 'PDFs', value: 500 },
6683
+ { name: 'Images', value: 300 },
6684
+ { name: 'Videos', value: 2000 },
6685
+ ],
6686
+ },
6687
+ {
6688
+ name: 'Applications',
6689
+ children: [
6690
+ { name: 'Development', value: 1500 },
6691
+ { name: 'Productivity', value: 800 },
6692
+ ],
6693
+ },
6694
+ ]}
6695
+ />`
6696
+ },
6697
+ {
6698
+ title: "Budget Breakdown",
6699
+ code: `<TreemapChart
6700
+ title="Department Budget"
6701
+ data={[
6702
+ {
6703
+ name: 'Engineering',
6704
+ children: [
6705
+ { name: 'Salaries', value: 500000 },
6706
+ { name: 'Equipment', value: 100000 },
6707
+ { name: 'Training', value: 50000 },
6708
+ ],
6709
+ },
6710
+ {
6711
+ name: 'Marketing',
6712
+ children: [
6713
+ { name: 'Advertising', value: 200000 },
6714
+ { name: 'Events', value: 75000 },
6715
+ ],
6716
+ },
6717
+ ]}
6718
+ />`
6719
+ }
6720
+ ],
6721
+ relatedComponents: [
6722
+ "PieChart",
6723
+ "SankeyChart"
6724
+ ]
5988
6725
  }
5989
6726
  ]
5990
6727
  };
@@ -7026,7 +7763,17 @@ import { z } from "zod";
7026
7763
  var catalog2 = component_catalog_default;
7027
7764
  var SearchComponentsSchema = z.object({
7028
7765
  query: z.string().describe("Search query (component name, description, or functionality)"),
7029
- category: z.enum(["core", "form", "layout", "feedback", "data", "overlay", "navigation", "branding"]).optional().describe("Filter by component category"),
7766
+ category: z.enum([
7767
+ "core",
7768
+ "form",
7769
+ "layout",
7770
+ "feedback",
7771
+ "data",
7772
+ "overlay",
7773
+ "navigation",
7774
+ "branding",
7775
+ "chart"
7776
+ ]).optional().describe("Filter by component category"),
7030
7777
  limit: z.number().min(1).max(50).default(10).describe("Maximum number of results")
7031
7778
  });
7032
7779
  function registerSearchComponentsTool(server) {