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