@lumeo-ui/mcp-server 2.0.0-rc.31 → 2.0.0-rc.32

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lumeo-ui/mcp-server",
3
- "version": "2.0.0-rc.31",
3
+ "version": "2.0.0-rc.32",
4
4
  "description": "Model Context Protocol server for the Lumeo Blazor component library. Lets LLMs (Claude, Copilot, Cursor) author correct Lumeo markup.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "$schema": "https://lumeo.nativ.sh/components-api-schema.json",
3
- "version": "2.0.0-rc.31",
4
- "generated": "2026-05-12T12:05:01.9080870Z",
3
+ "version": "2.0.0-rc.32",
4
+ "generated": "2026-05-12T13:19:59.4405051Z",
5
5
  "stats": {
6
- "componentCount": 131,
7
- "totalParameters": 3194,
8
- "totalEnums": 91,
6
+ "componentCount": 134,
7
+ "totalParameters": 3238,
8
+ "totalEnums": 95,
9
9
  "totalRecords": 48,
10
10
  "thinFallbacks": []
11
11
  },
@@ -3533,6 +3533,89 @@
3533
3533
  "parseFailed": false,
3534
3534
  "parseError": null
3535
3535
  },
3536
+ "ButtonGroup": {
3537
+ "name": "ButtonGroup",
3538
+ "category": "Utility",
3539
+ "subcategory": null,
3540
+ "description": "Button Group component.",
3541
+ "nugetPackage": "Lumeo",
3542
+ "files": [
3543
+ "UI/ButtonGroup/ButtonGroup.razor"
3544
+ ],
3545
+ "namespace": "Lumeo",
3546
+ "inheritsFrom": null,
3547
+ "implements": [],
3548
+ "parameters": [
3549
+ {
3550
+ "name": "ChildContent",
3551
+ "type": "RenderFragment?",
3552
+ "default": null,
3553
+ "description": null,
3554
+ "isCascading": false,
3555
+ "captureUnmatched": false
3556
+ },
3557
+ {
3558
+ "name": "Class",
3559
+ "type": "string?",
3560
+ "default": null,
3561
+ "description": null,
3562
+ "isCascading": false,
3563
+ "captureUnmatched": false
3564
+ },
3565
+ {
3566
+ "name": "Orientation",
3567
+ "type": "ButtonGroupOrientation",
3568
+ "default": "ButtonGroupOrientation.Horizontal",
3569
+ "description": null,
3570
+ "isCascading": false,
3571
+ "captureUnmatched": false
3572
+ },
3573
+ {
3574
+ "name": "AdditionalAttributes",
3575
+ "type": "Dictionary<string, object>?",
3576
+ "default": null,
3577
+ "description": null,
3578
+ "isCascading": false,
3579
+ "captureUnmatched": true
3580
+ }
3581
+ ],
3582
+ "events": [],
3583
+ "enums": [
3584
+ {
3585
+ "name": "ButtonGroupOrientation",
3586
+ "values": [
3587
+ "Horizontal",
3588
+ "Vertical"
3589
+ ],
3590
+ "description": null
3591
+ }
3592
+ ],
3593
+ "records": [],
3594
+ "cssVars": [
3595
+ "--radius"
3596
+ ],
3597
+ "examples": [
3598
+ {
3599
+ "title": "Horizontal (default)",
3600
+ "code": "<ButtonGroup>\n <Button Variant=\"Button.ButtonVariant.Outline\">\n <Blazicon Svg=\"Lucide.Bold\" class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">\n <Blazicon Svg=\"Lucide.Italic\" class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">\n <Blazicon Svg=\"Lucide.Underline\" class=\"h-4 w-4\" />\n </Button>\n</ButtonGroup>"
3601
+ },
3602
+ {
3603
+ "title": "Vertical",
3604
+ "code": "<ButtonGroup Orientation=\"ButtonGroup.ButtonGroupOrientation.Vertical\">\n <Button Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">Middle</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">Bottom</Button>\n</ButtonGroup>"
3605
+ },
3606
+ {
3607
+ "title": "Mixed Variants",
3608
+ "code": "<ButtonGroup>\n <Button>Save</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">Preview</Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\">Discard</Button>\n</ButtonGroup>"
3609
+ },
3610
+ {
3611
+ "title": "With Labels",
3612
+ "code": "<ButtonGroup>\n <Button Variant=\"Button.ButtonVariant.Outline\">Previous</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">1</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">2</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">3</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">Next</Button>\n</ButtonGroup>"
3613
+ }
3614
+ ],
3615
+ "subComponents": {},
3616
+ "parseFailed": false,
3617
+ "parseError": null
3618
+ },
3536
3619
  "Calendar": {
3537
3620
  "name": "Calendar",
3538
3621
  "category": "Data Display",
@@ -3644,8 +3727,8 @@
3644
3727
  },
3645
3728
  {
3646
3729
  "name": "InitialView",
3647
- "type": "string",
3648
- "default": "\"Days\"",
3730
+ "type": "CalendarView",
3731
+ "default": "CalendarView.Days",
3649
3732
  "description": null,
3650
3733
  "isCascading": false,
3651
3734
  "captureUnmatched": false
@@ -17675,8 +17758,8 @@
17675
17758
  },
17676
17759
  {
17677
17760
  "name": "Mode",
17678
- "type": "string",
17679
- "default": "\"Single\"",
17761
+ "type": "DatePickerMode",
17762
+ "default": "DatePickerMode.Single",
17680
17763
  "description": null,
17681
17764
  "isCascading": false,
17682
17765
  "captureUnmatched": false
@@ -17769,11 +17852,35 @@
17769
17852
  "isCascading": false,
17770
17853
  "captureUnmatched": false
17771
17854
  },
17855
+ {
17856
+ "name": "Inline",
17857
+ "type": "bool",
17858
+ "default": null,
17859
+ "description": "Optional controlled-mode override for the popover open state. When non-null, the consumer holds the source of truth — the picker no longer mutates its internal state and instead raises OpenChanged. Use this when the picker lives inside a parent that re-renders heavily (e.g. an EditForm with active DataAnnotationsValidator) and the popover would otherwise close mid-click during a parameter cascade. When null (default), the picker falls back to its internal open state and behaves exactly as before.",
17860
+ "isCascading": false,
17861
+ "captureUnmatched": false
17862
+ },
17863
+ {
17864
+ "name": "FirstDayOfWeek",
17865
+ "type": "DayOfWeek?",
17866
+ "default": null,
17867
+ "description": "Leftmost column day of week. Null means culture default.",
17868
+ "isCascading": false,
17869
+ "captureUnmatched": false
17870
+ },
17871
+ {
17872
+ "name": "ShowWeekNumbers",
17873
+ "type": "bool",
17874
+ "default": null,
17875
+ "description": "When true, renders an ISO week-number column.",
17876
+ "isCascading": false,
17877
+ "captureUnmatched": false
17878
+ },
17772
17879
  {
17773
17880
  "name": "Open",
17774
17881
  "type": "bool?",
17775
17882
  "default": null,
17776
- "description": "Optional controlled-mode override for the popover open state. When non-null, the consumer holds the source of truth — the picker no longer mutates its internal state and instead raises OpenChanged. Use this when the picker lives inside a parent that re-renders heavily (e.g. an EditForm with active DataAnnotationsValidator) and the popover would otherwise close mid-click during a parameter cascade. When null (default), the picker falls back to its internal open state and behaves exactly as before.",
17883
+ "description": null,
17777
17884
  "isCascading": false,
17778
17885
  "captureUnmatched": false
17779
17886
  },
@@ -17834,7 +17941,18 @@
17834
17941
  "description": "Fires whenever the popover would open or close. Pair with Open via @bind-Open for the controlled-mode pattern described above."
17835
17942
  }
17836
17943
  ],
17837
- "enums": [],
17944
+ "enums": [
17945
+ {
17946
+ "name": "DatePickerMode",
17947
+ "values": [
17948
+ "Single",
17949
+ "Range",
17950
+ "Month",
17951
+ "Year"
17952
+ ],
17953
+ "description": null
17954
+ }
17955
+ ],
17838
17956
  "records": [
17839
17957
  {
17840
17958
  "name": "DatePickerPreset",
@@ -17860,7 +17978,7 @@
17860
17978
  },
17861
17979
  {
17862
17980
  "title": "With Label",
17863
- "code": "<Label>Date of birth</Label>\r\n<DatePicker @bind-Value=\"_date\" Placeholder=\"Pick your date of birth\" />"
17981
+ "code": "<Label>Date of birth</Label>\n<DatePicker @bind-Value=\"_date\" Placeholder=\"Pick your date of birth\" />"
17864
17982
  },
17865
17983
  {
17866
17984
  "title": "Custom Format",
@@ -17868,7 +17986,7 @@
17868
17986
  },
17869
17987
  {
17870
17988
  "title": "Min & Max Date",
17871
- "code": "<DatePicker @bind-Value=\"_date\" MinDate=\"@_minDate\" MaxDate=\"@_maxDate\" Placeholder=\"Select within range\" />\r\n\r\n@code {\r\n private DateOnly? _date;\r\n private DateOnly _minDate = DateOnly.FromDateTime(DateTime.Today);\r\n private DateOnly _maxDate = DateOnly.FromDateTime(DateTime.Today.AddDays(30));\r\n}"
17989
+ "code": "<DatePicker @bind-Value=\"_date\" MinDate=\"@_minDate\" MaxDate=\"@_maxDate\" Placeholder=\"Select within range\" />\n\n@code {\n private DateOnly? _date;\n private DateOnly _minDate = DateOnly.FromDateTime(DateTime.Today);\n private DateOnly _maxDate = DateOnly.FromDateTime(DateTime.Today.AddDays(30));\n}"
17872
17990
  }
17873
17991
  ],
17874
17992
  "subComponents": {
@@ -17999,6 +18117,22 @@
17999
18117
  "isCascading": false,
18000
18118
  "captureUnmatched": false
18001
18119
  },
18120
+ {
18121
+ "name": "FirstDayOfWeek",
18122
+ "type": "DayOfWeek?",
18123
+ "default": null,
18124
+ "description": null,
18125
+ "isCascading": false,
18126
+ "captureUnmatched": false
18127
+ },
18128
+ {
18129
+ "name": "ShowWeekNumbers",
18130
+ "type": "bool",
18131
+ "default": null,
18132
+ "description": null,
18133
+ "isCascading": false,
18134
+ "captureUnmatched": false
18135
+ },
18002
18136
  {
18003
18137
  "name": "Class",
18004
18138
  "type": "string?",
@@ -18178,6 +18312,30 @@
18178
18312
  "isCascading": false,
18179
18313
  "captureUnmatched": false
18180
18314
  },
18315
+ {
18316
+ "name": "MinDate",
18317
+ "type": "DateTime?",
18318
+ "default": null,
18319
+ "description": null,
18320
+ "isCascading": false,
18321
+ "captureUnmatched": false
18322
+ },
18323
+ {
18324
+ "name": "MaxDate",
18325
+ "type": "DateTime?",
18326
+ "default": null,
18327
+ "description": null,
18328
+ "isCascading": false,
18329
+ "captureUnmatched": false
18330
+ },
18331
+ {
18332
+ "name": "IsDateDisabled",
18333
+ "type": "Func<DateTime, bool>?",
18334
+ "default": null,
18335
+ "description": null,
18336
+ "isCascading": false,
18337
+ "captureUnmatched": false
18338
+ },
18181
18339
  {
18182
18340
  "name": "Class",
18183
18341
  "type": "string?",
@@ -18229,6 +18387,10 @@
18229
18387
  {
18230
18388
  "title": "12-Hour with Seconds",
18231
18389
  "code": "<DateTimePicker @bind-Value=\"_dateTime\" Use24Hour=\"false\" ShowSeconds=\"true\" />"
18390
+ },
18391
+ {
18392
+ "title": "Min & Max Date",
18393
+ "code": "<DateTimePicker @bind-Value=\"_dateTime\" MinDate=\"@_minDate\" MaxDate=\"@_maxDate\" Placeholder=\"Select within range\" />\r\n\r\n@code {\r\n private DateTime? _dateTime;\r\n private DateTime _minDate = DateTime.Today;\r\n private DateTime _maxDate = DateTime.Today.AddDays(30);\r\n}"
18232
18394
  }
18233
18395
  ],
18234
18396
  "subComponents": {},
@@ -19500,6 +19662,112 @@
19500
19662
  "parseFailed": false,
19501
19663
  "parseError": null
19502
19664
  },
19665
+ "DropdownButton": {
19666
+ "name": "DropdownButton",
19667
+ "category": "Utility",
19668
+ "subcategory": null,
19669
+ "description": "Dropdown Button component.",
19670
+ "nugetPackage": "Lumeo",
19671
+ "files": [
19672
+ "UI/DropdownButton/DropdownButton.razor"
19673
+ ],
19674
+ "namespace": "Lumeo",
19675
+ "inheritsFrom": null,
19676
+ "implements": [],
19677
+ "parameters": [
19678
+ {
19679
+ "name": "Text",
19680
+ "type": "string?",
19681
+ "default": null,
19682
+ "description": null,
19683
+ "isCascading": false,
19684
+ "captureUnmatched": false
19685
+ },
19686
+ {
19687
+ "name": "ChildContent",
19688
+ "type": "RenderFragment?",
19689
+ "default": null,
19690
+ "description": null,
19691
+ "isCascading": false,
19692
+ "captureUnmatched": false
19693
+ },
19694
+ {
19695
+ "name": "MenuContent",
19696
+ "type": "RenderFragment?",
19697
+ "default": null,
19698
+ "description": null,
19699
+ "isCascading": false,
19700
+ "captureUnmatched": false
19701
+ },
19702
+ {
19703
+ "name": "Variant",
19704
+ "type": "Button.ButtonVariant",
19705
+ "default": "Button.ButtonVariant.Default",
19706
+ "description": null,
19707
+ "isCascading": false,
19708
+ "captureUnmatched": false
19709
+ },
19710
+ {
19711
+ "name": "Size",
19712
+ "type": "Button.ButtonSize",
19713
+ "default": "Button.ButtonSize.Default",
19714
+ "description": null,
19715
+ "isCascading": false,
19716
+ "captureUnmatched": false
19717
+ },
19718
+ {
19719
+ "name": "Disabled",
19720
+ "type": "bool",
19721
+ "default": null,
19722
+ "description": null,
19723
+ "isCascading": false,
19724
+ "captureUnmatched": false
19725
+ },
19726
+ {
19727
+ "name": "Class",
19728
+ "type": "string?",
19729
+ "default": null,
19730
+ "description": null,
19731
+ "isCascading": false,
19732
+ "captureUnmatched": false
19733
+ },
19734
+ {
19735
+ "name": "AdditionalAttributes",
19736
+ "type": "Dictionary<string, object>?",
19737
+ "default": null,
19738
+ "description": null,
19739
+ "isCascading": false,
19740
+ "captureUnmatched": true
19741
+ }
19742
+ ],
19743
+ "events": [],
19744
+ "enums": [],
19745
+ "records": [],
19746
+ "cssVars": [
19747
+ "--color-foreground"
19748
+ ],
19749
+ "examples": [
19750
+ {
19751
+ "title": "Basic",
19752
+ "code": "<DropdownButton Text=\"Actions\">\n <MenuContent>\n <DropdownMenuItem>Edit</DropdownMenuItem>\n <DropdownMenuItem>Duplicate</DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem>Delete</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>"
19753
+ },
19754
+ {
19755
+ "title": "Variants",
19756
+ "code": "<DropdownButton Text=\"Default\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n <DropdownMenuItem>Option B</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>\n<DropdownButton Text=\"Secondary\" Variant=\"Button.ButtonVariant.Secondary\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n <DropdownMenuItem>Option B</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>\n<DropdownButton Text=\"Outline\" Variant=\"Button.ButtonVariant.Outline\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n <DropdownMenuItem>Option B</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>"
19757
+ },
19758
+ {
19759
+ "title": "Sizes",
19760
+ "code": "<DropdownButton Text=\"Small\" Size=\"Button.ButtonSize.Sm\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>\n<DropdownButton Text=\"Default\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>\n<DropdownButton Text=\"Large\" Size=\"Button.ButtonSize.Lg\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>"
19761
+ },
19762
+ {
19763
+ "title": "Disabled",
19764
+ "code": "<DropdownButton Text=\"Disabled\" Disabled=\"true\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n </MenuContent>\n</DropdownButton>"
19765
+ }
19766
+ ],
19767
+ "subComponents": {},
19768
+ "parseFailed": false,
19769
+ "parseError": null
19770
+ },
19503
19771
  "DropdownMenu": {
19504
19772
  "name": "DropdownMenu",
19505
19773
  "category": "Overlay",
@@ -20352,8 +20620,8 @@
20352
20620
  },
20353
20621
  {
20354
20622
  "name": "Variant",
20355
- "type": "string",
20356
- "default": "\"Dropzone\"",
20623
+ "type": "FileUploadVariant",
20624
+ "default": "FileUploadVariant.Dropzone",
20357
20625
  "description": null,
20358
20626
  "isCascading": false,
20359
20627
  "captureUnmatched": false
@@ -20391,6 +20659,15 @@
20391
20659
  }
20392
20660
  ],
20393
20661
  "enums": [
20662
+ {
20663
+ "name": "FileUploadVariant",
20664
+ "values": [
20665
+ "Dropzone",
20666
+ "Button",
20667
+ "Avatar"
20668
+ ],
20669
+ "description": null
20670
+ },
20394
20671
  {
20395
20672
  "name": "FileUploadSize",
20396
20673
  "values": [
@@ -32773,6 +33050,126 @@
32773
33050
  "parseFailed": false,
32774
33051
  "parseError": null
32775
33052
  },
33053
+ "SplitButton": {
33054
+ "name": "SplitButton",
33055
+ "category": "Utility",
33056
+ "subcategory": null,
33057
+ "description": "Split Button component.",
33058
+ "nugetPackage": "Lumeo",
33059
+ "files": [
33060
+ "UI/SplitButton/SplitButton.razor"
33061
+ ],
33062
+ "namespace": "Lumeo",
33063
+ "inheritsFrom": null,
33064
+ "implements": [],
33065
+ "parameters": [
33066
+ {
33067
+ "name": "Text",
33068
+ "type": "string?",
33069
+ "default": null,
33070
+ "description": null,
33071
+ "isCascading": false,
33072
+ "captureUnmatched": false
33073
+ },
33074
+ {
33075
+ "name": "ChildContent",
33076
+ "type": "RenderFragment?",
33077
+ "default": null,
33078
+ "description": null,
33079
+ "isCascading": false,
33080
+ "captureUnmatched": false
33081
+ },
33082
+ {
33083
+ "name": "MenuContent",
33084
+ "type": "RenderFragment?",
33085
+ "default": null,
33086
+ "description": null,
33087
+ "isCascading": false,
33088
+ "captureUnmatched": false
33089
+ },
33090
+ {
33091
+ "name": "OnClick",
33092
+ "type": "EventCallback<Microsoft.AspNetCore.Components.Web.MouseEventArgs>",
33093
+ "default": null,
33094
+ "description": null,
33095
+ "isCascading": false,
33096
+ "captureUnmatched": false
33097
+ },
33098
+ {
33099
+ "name": "Variant",
33100
+ "type": "Button.ButtonVariant",
33101
+ "default": "Button.ButtonVariant.Default",
33102
+ "description": null,
33103
+ "isCascading": false,
33104
+ "captureUnmatched": false
33105
+ },
33106
+ {
33107
+ "name": "Size",
33108
+ "type": "Button.ButtonSize",
33109
+ "default": "Button.ButtonSize.Default",
33110
+ "description": null,
33111
+ "isCascading": false,
33112
+ "captureUnmatched": false
33113
+ },
33114
+ {
33115
+ "name": "Disabled",
33116
+ "type": "bool",
33117
+ "default": null,
33118
+ "description": null,
33119
+ "isCascading": false,
33120
+ "captureUnmatched": false
33121
+ },
33122
+ {
33123
+ "name": "Class",
33124
+ "type": "string?",
33125
+ "default": null,
33126
+ "description": null,
33127
+ "isCascading": false,
33128
+ "captureUnmatched": false
33129
+ },
33130
+ {
33131
+ "name": "AdditionalAttributes",
33132
+ "type": "Dictionary<string, object>?",
33133
+ "default": null,
33134
+ "description": null,
33135
+ "isCascading": false,
33136
+ "captureUnmatched": true
33137
+ }
33138
+ ],
33139
+ "events": [
33140
+ {
33141
+ "name": "OnClick",
33142
+ "type": "EventCallback<Microsoft.AspNetCore.Components.Web.MouseEventArgs>",
33143
+ "description": null
33144
+ }
33145
+ ],
33146
+ "enums": [],
33147
+ "records": [],
33148
+ "cssVars": [
33149
+ "--radius"
33150
+ ],
33151
+ "examples": [
33152
+ {
33153
+ "title": "Basic",
33154
+ "code": "<SplitButton Text=\"Save\" OnClick=\"HandleSave\">\n <MenuContent>\n <DropdownMenuItem OnClick=\"HandleSaveAndPublish\">Save and Publish</DropdownMenuItem>\n <DropdownMenuItem OnClick=\"HandleSaveAsDraft\">Save as Draft</DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem>Discard changes</DropdownMenuItem>\n </MenuContent>\n</SplitButton>\n\n@code {\n private void HandleSave() { /* primary action */ }\n private void HandleSaveAndPublish() { /* secondary */ }\n private void HandleSaveAsDraft() { /* secondary */ }\n}"
33155
+ },
33156
+ {
33157
+ "title": "Variants",
33158
+ "code": "<SplitButton Text=\"Default\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n <DropdownMenuItem>Option B</DropdownMenuItem>\n </MenuContent>\n</SplitButton>\n<SplitButton Text=\"Secondary\" Variant=\"Button.ButtonVariant.Secondary\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n <DropdownMenuItem>Option B</DropdownMenuItem>\n </MenuContent>\n</SplitButton>\n<SplitButton Text=\"Outline\" Variant=\"Button.ButtonVariant.Outline\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n <DropdownMenuItem>Option B</DropdownMenuItem>\n </MenuContent>\n</SplitButton>"
33159
+ },
33160
+ {
33161
+ "title": "Sizes",
33162
+ "code": "<SplitButton Text=\"Small\" Size=\"Button.ButtonSize.Sm\">\n <MenuContent><DropdownMenuItem>Option A</DropdownMenuItem></MenuContent>\n</SplitButton>\n<SplitButton Text=\"Default\">\n <MenuContent><DropdownMenuItem>Option A</DropdownMenuItem></MenuContent>\n</SplitButton>\n<SplitButton Text=\"Large\" Size=\"Button.ButtonSize.Lg\">\n <MenuContent><DropdownMenuItem>Option A</DropdownMenuItem></MenuContent>\n</SplitButton>"
33163
+ },
33164
+ {
33165
+ "title": "Disabled",
33166
+ "code": "<SplitButton Text=\"Disabled\" Disabled=\"true\">\n <MenuContent>\n <DropdownMenuItem>Option A</DropdownMenuItem>\n </MenuContent>\n</SplitButton>"
33167
+ }
33168
+ ],
33169
+ "subComponents": {},
33170
+ "parseFailed": false,
33171
+ "parseError": null
33172
+ },
32776
33173
  "Splitter": {
32777
33174
  "name": "Splitter",
32778
33175
  "category": "Navigation",
@@ -34146,8 +34543,8 @@
34146
34543
  },
34147
34544
  {
34148
34545
  "name": "Variant",
34149
- "type": "string",
34150
- "default": "\"Default\"",
34546
+ "type": "TabsVariant",
34547
+ "default": "TabsVariant.Default",
34151
34548
  "description": null,
34152
34549
  "isCascading": false,
34153
34550
  "captureUnmatched": false
@@ -34201,6 +34598,15 @@
34201
34598
  ],
34202
34599
  "description": null
34203
34600
  },
34601
+ {
34602
+ "name": "TabsVariant",
34603
+ "values": [
34604
+ "Default",
34605
+ "Card",
34606
+ "Pill"
34607
+ ],
34608
+ "description": null
34609
+ },
34204
34610
  {
34205
34611
  "name": "TabsRenderMode",
34206
34612
  "values": [
@@ -34214,7 +34620,7 @@
34214
34620
  "records": [
34215
34621
  {
34216
34622
  "name": "TabsContext",
34217
- "signature": "TabsContext(\r\n string ActiveValue,\r\n EventCallback<string> SetValue,\r\n TabsOrientation Orientation,\r\n string Variant,\r\n Dictionary<string, (string TabId, string PanelId)> TabIds,\r\n bool AnimatedIndicator,\r\n TabsRenderMode RenderMode,\r\n HashSet<string> ActivatedValues)",
34623
+ "signature": "TabsContext(\r\n string ActiveValue,\r\n EventCallback<string> SetValue,\r\n TabsOrientation Orientation,\r\n TabsVariant Variant,\r\n Dictionary<string, (string TabId, string PanelId)> TabIds,\r\n bool AnimatedIndicator,\r\n TabsRenderMode RenderMode,\r\n HashSet<string> ActivatedValues)",
34218
34624
  "description": null
34219
34625
  }
34220
34626
  ],
@@ -35702,6 +36108,7 @@
35702
36108
  "UI/Toast/ToastClose.razor",
35703
36109
  "UI/Toast/ToastDescription.razor",
35704
36110
  "UI/Toast/ToastProvider.razor",
36111
+ "UI/Toast/ToastProvider.razor.cs",
35705
36112
  "UI/Toast/ToastTitle.razor",
35706
36113
  "UI/Toast/ToastViewport.razor"
35707
36114
  ],
@@ -37405,6 +37812,70 @@
37405
37812
  "description": null,
37406
37813
  "isCascading": false,
37407
37814
  "captureUnmatched": true
37815
+ },
37816
+ {
37817
+ "name": "LoadChildren",
37818
+ "type": "Func<TreeViewItem<T>, Task<List<TreeViewItem<T>>>>?",
37819
+ "default": null,
37820
+ "description": null,
37821
+ "isCascading": false,
37822
+ "captureUnmatched": false
37823
+ },
37824
+ {
37825
+ "name": "CascadeCheck",
37826
+ "type": "bool",
37827
+ "default": "true",
37828
+ "description": null,
37829
+ "isCascading": false,
37830
+ "captureUnmatched": false
37831
+ },
37832
+ {
37833
+ "name": "CheckedValuesChanged",
37834
+ "type": "EventCallback<List<T?>>",
37835
+ "default": null,
37836
+ "description": null,
37837
+ "isCascading": false,
37838
+ "captureUnmatched": false
37839
+ },
37840
+ {
37841
+ "name": "NodeTemplate",
37842
+ "type": "RenderFragment<TreeViewItem<T>>?",
37843
+ "default": null,
37844
+ "description": null,
37845
+ "isCascading": false,
37846
+ "captureUnmatched": false
37847
+ },
37848
+ {
37849
+ "name": "ExpandAll",
37850
+ "type": "bool",
37851
+ "default": null,
37852
+ "description": null,
37853
+ "isCascading": false,
37854
+ "captureUnmatched": false
37855
+ },
37856
+ {
37857
+ "name": "MultiSelect",
37858
+ "type": "bool",
37859
+ "default": null,
37860
+ "description": null,
37861
+ "isCascading": false,
37862
+ "captureUnmatched": false
37863
+ },
37864
+ {
37865
+ "name": "SelectedValues",
37866
+ "type": "List<T>?",
37867
+ "default": null,
37868
+ "description": null,
37869
+ "isCascading": false,
37870
+ "captureUnmatched": false
37871
+ },
37872
+ {
37873
+ "name": "SelectedValuesChanged",
37874
+ "type": "EventCallback<List<T>>",
37875
+ "default": null,
37876
+ "description": null,
37877
+ "isCascading": false,
37878
+ "captureUnmatched": false
37408
37879
  }
37409
37880
  ],
37410
37881
  "events": [
@@ -37417,6 +37888,16 @@
37417
37888
  "name": "OnItemCheck",
37418
37889
  "type": "EventCallback<TreeViewItem<T>>",
37419
37890
  "description": null
37891
+ },
37892
+ {
37893
+ "name": "CheckedValuesChanged",
37894
+ "type": "EventCallback<List<T?>>",
37895
+ "description": null
37896
+ },
37897
+ {
37898
+ "name": "SelectedValuesChanged",
37899
+ "type": "EventCallback<List<T>>",
37900
+ "description": null
37420
37901
  }
37421
37902
  ],
37422
37903
  "enums": [],
@@ -37429,6 +37910,7 @@
37429
37910
  ],
37430
37911
  "cssVars": [
37431
37912
  "--color-accent",
37913
+ "--color-accent-foreground",
37432
37914
  "--color-input",
37433
37915
  "--color-muted",
37434
37916
  "--color-muted-foreground",
@@ -37441,12 +37923,16 @@
37441
37923
  "code": "<TreeView TItem=\"string\" Items=\"_items\" />"
37442
37924
  },
37443
37925
  {
37444
- "title": "With Checkboxes",
37445
- "code": "<TreeView TItem=\"string\" Items=\"_items\" ShowCheckboxes=\"true\" />"
37926
+ "title": "With Checkboxes (Tri-state)",
37927
+ "code": "<TreeView TItem=\"string\" Items=\"_items\" ShowCheckboxes=\"true\" CascadeCheck=\"true\" />"
37446
37928
  },
37447
37929
  {
37448
37930
  "title": "With Search",
37449
37931
  "code": "<TreeView TItem=\"string\" Items=\"_items\" ShowSearch=\"true\" />"
37932
+ },
37933
+ {
37934
+ "title": "Multi-select",
37935
+ "code": "<TreeView TItem=\"string\" Items=\"_items\" MultiSelect=\"true\" @bind-SelectedValues=\"_selectedValues\" />"
37450
37936
  }
37451
37937
  ],
37452
37938
  "subComponents": {
@@ -37504,6 +37990,62 @@
37504
37990
  "description": null,
37505
37991
  "isCascading": false,
37506
37992
  "captureUnmatched": false
37993
+ },
37994
+ {
37995
+ "name": "CascadeCheck",
37996
+ "type": "bool",
37997
+ "default": null,
37998
+ "description": null,
37999
+ "isCascading": false,
38000
+ "captureUnmatched": false
38001
+ },
38002
+ {
38003
+ "name": "MultiSelect",
38004
+ "type": "bool",
38005
+ "default": null,
38006
+ "description": null,
38007
+ "isCascading": false,
38008
+ "captureUnmatched": false
38009
+ },
38010
+ {
38011
+ "name": "SelectedValues",
38012
+ "type": "HashSet<T>?",
38013
+ "default": null,
38014
+ "description": null,
38015
+ "isCascading": false,
38016
+ "captureUnmatched": false
38017
+ },
38018
+ {
38019
+ "name": "NodeTemplate",
38020
+ "type": "RenderFragment<TreeView<T>.TreeViewItem<T>>?",
38021
+ "default": null,
38022
+ "description": null,
38023
+ "isCascading": false,
38024
+ "captureUnmatched": false
38025
+ },
38026
+ {
38027
+ "name": "LoadChildren",
38028
+ "type": "Func<TreeView<T>.TreeViewItem<T>, Task<List<TreeView<T>.TreeViewItem<T>>>>?",
38029
+ "default": null,
38030
+ "description": null,
38031
+ "isCascading": false,
38032
+ "captureUnmatched": false
38033
+ },
38034
+ {
38035
+ "name": "OnExpandChanged",
38036
+ "type": "EventCallback<TreeView<T>.TreeViewItem<T>>",
38037
+ "default": null,
38038
+ "description": null,
38039
+ "isCascading": false,
38040
+ "captureUnmatched": false
38041
+ },
38042
+ {
38043
+ "name": "OnSelectionChanged",
38044
+ "type": "EventCallback<TreeView<T>.TreeViewItem<T>>",
38045
+ "default": null,
38046
+ "description": null,
38047
+ "isCascading": false,
38048
+ "captureUnmatched": false
37507
38049
  }
37508
38050
  ],
37509
38051
  "events": [
@@ -37516,6 +38058,16 @@
37516
38058
  "name": "OnItemCheck",
37517
38059
  "type": "EventCallback<TreeView<T>.TreeViewItem<T>>",
37518
38060
  "description": null
38061
+ },
38062
+ {
38063
+ "name": "OnExpandChanged",
38064
+ "type": "EventCallback<TreeView<T>.TreeViewItem<T>>",
38065
+ "description": null
38066
+ },
38067
+ {
38068
+ "name": "OnSelectionChanged",
38069
+ "type": "EventCallback<TreeView<T>.TreeViewItem<T>>",
38070
+ "description": null
37519
38071
  }
37520
38072
  ],
37521
38073
  "enums": [],
package/src/registry.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://lumeo.nativ.sh/registry-schema.json",
3
3
  "version": "2.0.0",
4
- "generated": "2026-05-12T12:05:00.7815292Z",
4
+ "generated": "2026-05-12T13:19:58.4284993Z",
5
5
  "components": {
6
6
  "accordion": {
7
7
  "name": "Accordion",
@@ -395,6 +395,24 @@
395
395
  ],
396
396
  "registryUrl": "https://lumeo.nativ.sh/registry/button.json"
397
397
  },
398
+ "button-group": {
399
+ "name": "ButtonGroup",
400
+ "category": "Utility",
401
+ "subcategory": null,
402
+ "description": "Button Group component.",
403
+ "thumbnail": "/preview-cards/button-group.png",
404
+ "hasDocsPage": true,
405
+ "nugetPackage": "Lumeo",
406
+ "files": [
407
+ "UI/ButtonGroup/ButtonGroup.razor"
408
+ ],
409
+ "dependencies": [],
410
+ "packageDependencies": [],
411
+ "cssVars": [
412
+ "--radius"
413
+ ],
414
+ "registryUrl": "https://lumeo.nativ.sh/registry/button-group.json"
415
+ },
398
416
  "calendar": {
399
417
  "name": "Calendar",
400
418
  "category": "Data Display",
@@ -1174,6 +1192,29 @@
1174
1192
  ],
1175
1193
  "registryUrl": "https://lumeo.nativ.sh/registry/drawer.json"
1176
1194
  },
1195
+ "dropdown-button": {
1196
+ "name": "DropdownButton",
1197
+ "category": "Utility",
1198
+ "subcategory": null,
1199
+ "description": "Dropdown Button component.",
1200
+ "thumbnail": "/preview-cards/dropdown-button.png",
1201
+ "hasDocsPage": true,
1202
+ "nugetPackage": "Lumeo",
1203
+ "files": [
1204
+ "UI/DropdownButton/DropdownButton.razor"
1205
+ ],
1206
+ "dependencies": [
1207
+ "button",
1208
+ "dropdown-menu"
1209
+ ],
1210
+ "packageDependencies": [
1211
+ "Blazicons.Lucide"
1212
+ ],
1213
+ "cssVars": [
1214
+ "--color-foreground"
1215
+ ],
1216
+ "registryUrl": "https://lumeo.nativ.sh/registry/dropdown-button.json"
1217
+ },
1177
1218
  "dropdown-menu": {
1178
1219
  "name": "DropdownMenu",
1179
1220
  "category": "Overlay",
@@ -2760,6 +2801,29 @@
2760
2801
  ],
2761
2802
  "registryUrl": "https://lumeo.nativ.sh/registry/spinner.json"
2762
2803
  },
2804
+ "split-button": {
2805
+ "name": "SplitButton",
2806
+ "category": "Utility",
2807
+ "subcategory": null,
2808
+ "description": "Split Button component.",
2809
+ "thumbnail": "/preview-cards/split-button.png",
2810
+ "hasDocsPage": true,
2811
+ "nugetPackage": "Lumeo",
2812
+ "files": [
2813
+ "UI/SplitButton/SplitButton.razor"
2814
+ ],
2815
+ "dependencies": [
2816
+ "button",
2817
+ "dropdown-menu"
2818
+ ],
2819
+ "packageDependencies": [
2820
+ "Blazicons.Lucide"
2821
+ ],
2822
+ "cssVars": [
2823
+ "--radius"
2824
+ ],
2825
+ "registryUrl": "https://lumeo.nativ.sh/registry/split-button.json"
2826
+ },
2763
2827
  "splitter": {
2764
2828
  "name": "Splitter",
2765
2829
  "category": "Navigation",
@@ -3179,6 +3243,7 @@
3179
3243
  "UI/Toast/ToastClose.razor",
3180
3244
  "UI/Toast/ToastDescription.razor",
3181
3245
  "UI/Toast/ToastProvider.razor",
3246
+ "UI/Toast/ToastProvider.razor.cs",
3182
3247
  "UI/Toast/ToastTitle.razor",
3183
3248
  "UI/Toast/ToastViewport.razor"
3184
3249
  ],
@@ -3402,13 +3467,15 @@
3402
3467
  "UI/TreeView/TreeViewNode.razor"
3403
3468
  ],
3404
3469
  "dependencies": [
3405
- "checkbox"
3470
+ "checkbox",
3471
+ "list"
3406
3472
  ],
3407
3473
  "packageDependencies": [
3408
3474
  "Blazicons.Lucide"
3409
3475
  ],
3410
3476
  "cssVars": [
3411
3477
  "--color-accent",
3478
+ "--color-accent-foreground",
3412
3479
  "--color-input",
3413
3480
  "--color-muted",
3414
3481
  "--color-muted-foreground",