@lumeo-ui/mcp-server 3.2.6 → 3.3.0

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": "3.2.6",
3
+ "version": "3.3.0",
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": "3.2.6",
4
- "generated": "2026-05-26T10:01:51.2133220Z",
3
+ "version": "3.3.0",
4
+ "generated": "2026-05-27T15:06:23.0568446Z",
5
5
  "stats": {
6
- "componentCount": 155,
7
- "totalParameters": 3767,
8
- "totalEnums": 66,
6
+ "componentCount": 157,
7
+ "totalParameters": 3808,
8
+ "totalEnums": 68,
9
9
  "totalRecords": 63,
10
10
  "thinFallbacks": []
11
11
  },
@@ -641,7 +641,7 @@
641
641
  "records": [
642
642
  {
643
643
  "name": "AccordionItemContext",
644
- "signature": "AccordionItemContext(string Value, bool Disabled)",
644
+ "signature": "AccordionItemContext(string Value, bool Disabled, string TriggerId, string ContentId)",
645
645
  "description": null
646
646
  }
647
647
  ],
@@ -2207,6 +2207,14 @@
2207
2207
  "isCascading": false,
2208
2208
  "captureUnmatched": false
2209
2209
  },
2210
+ {
2211
+ "name": "AriaLabel",
2212
+ "type": "string?",
2213
+ "default": null,
2214
+ "description": "Accessible name announced for the avatar. When set, the component renders role=\"img\" + aria-label so a screen-reader has something to read. Useful for image-only avatars (no initials in ChildContent) where the user's name is the meaningful AT context.",
2215
+ "isCascading": false,
2216
+ "captureUnmatched": false
2217
+ },
2210
2218
  {
2211
2219
  "name": "Class",
2212
2220
  "type": "string?",
@@ -4576,7 +4584,7 @@
4576
4584
  "records": [
4577
4585
  {
4578
4586
  "name": "CarouselContext",
4579
- "signature": "CarouselContext(\n string ContentId,\n Lumeo.Orientation Orientation,\n bool CanScrollPrev,\n bool CanScrollNext,\n EventCallback ScrollPrev,\n EventCallback ScrollNext\n )",
4587
+ "signature": "CarouselContext(\n string ContentId,\n Lumeo.Orientation Orientation,\n bool CanScrollPrev,\n bool CanScrollNext,\n EventCallback ScrollPrev,\n EventCallback ScrollNext,\n Action<object> RegisterItem,\n Action<object> UnregisterItem\n )",
4580
4588
  "description": null
4581
4589
  }
4582
4590
  ],
@@ -4657,7 +4665,9 @@
4657
4665
  "fileName": "CarouselItem.razor",
4658
4666
  "namespace": "Lumeo",
4659
4667
  "inheritsFrom": null,
4660
- "implements": [],
4668
+ "implements": [
4669
+ "IDisposable"
4670
+ ],
4661
4671
  "parameters": [
4662
4672
  {
4663
4673
  "name": "Context",
@@ -13438,7 +13448,7 @@
13438
13448
  "records": [
13439
13449
  {
13440
13450
  "name": "CollapsibleContext",
13441
- "signature": "CollapsibleContext(bool IsOpen, EventCallback Toggle)",
13451
+ "signature": "CollapsibleContext(bool IsOpen, EventCallback Toggle, string TriggerId, string ContentId)",
13442
13452
  "description": null
13443
13453
  }
13444
13454
  ],
@@ -13990,6 +14000,14 @@
13990
14000
  "isCascading": false,
13991
14001
  "captureUnmatched": false
13992
14002
  },
14003
+ {
14004
+ "name": "AutoFocus",
14005
+ "type": "bool",
14006
+ "default": null,
14007
+ "description": "Focuses the combobox text input on first render. See Input.AutoFocus — the HTML autofocus attribute doesn't work in Blazor WASM, this parameter uses FocusElement after the component has mounted.",
14008
+ "isCascading": false,
14009
+ "captureUnmatched": false
14010
+ },
13993
14011
  {
13994
14012
  "name": "Items",
13995
14013
  "type": "IEnumerable<object>?",
@@ -14091,7 +14109,7 @@
14091
14109
  "records": [
14092
14110
  {
14093
14111
  "name": "ComboboxContext",
14094
- "signature": "ComboboxContext(\n string? Value, HashSet<string>? Values, string SearchText, bool IsOpen, bool Multiple, bool IsSearchLoading, bool Creatable,\n EventCallback<string> OnSelect, EventCallback<bool> SetOpen, EventCallback<string> OnSearch,\n EventCallback<string> OnCreateItem,\n string WrapperId, string ContentId, int FocusedIndex, string? FocusedItemId, string? FocusedItemValue,\n EventCallback<int> SetFocusedIndex,\n Action<string, string> RegisterItem, Action<string> UnregisterItem, int ItemCount,\n bool Invalid, bool Required,\n // Data-bound mode params (null when composition mode)\n IEnumerable<object>? Items,\n Func<object, string> ItemValue,\n Func<object, string>? ItemText,\n Func<object, string?>? ItemGroup,\n Func<object, bool>? ItemDisabled,\n RenderFragment<object>? ItemTemplate,\n bool Virtualize,\n float ItemSize)",
14112
+ "signature": "ComboboxContext(\n string? Value, HashSet<string>? Values, string SearchText, bool IsOpen, bool Multiple, bool IsSearchLoading, bool Creatable,\n EventCallback<string> OnSelect, EventCallback<bool> SetOpen, EventCallback<string> OnSearch,\n EventCallback<string> OnCreateItem,\n string WrapperId, string ContentId, string InputId, int FocusedIndex, string? FocusedItemId, string? FocusedItemValue,\n EventCallback<int> SetFocusedIndex,\n Action<string, string> RegisterItem, Action<string> UnregisterItem, int ItemCount,\n bool Invalid, bool Required,\n // Data-bound mode params (null when composition mode)\n IEnumerable<object>? Items,\n Func<object, string> ItemValue,\n Func<object, string>? ItemText,\n Func<object, string?>? ItemGroup,\n Func<object, bool>? ItemDisabled,\n RenderFragment<object>? ItemTemplate,\n bool Virtualize,\n float ItemSize)",
14095
14113
  "description": null
14096
14114
  }
14097
14115
  ],
@@ -14881,6 +14899,154 @@
14881
14899
  "parseFailed": false,
14882
14900
  "parseError": null
14883
14901
  },
14902
+ "ConfirmButton": {
14903
+ "name": "ConfirmButton",
14904
+ "category": "Utility",
14905
+ "subcategory": null,
14906
+ "description": "Confirm Button component.",
14907
+ "nugetPackage": "Lumeo",
14908
+ "files": [
14909
+ "UI/ConfirmButton/ConfirmButton.razor"
14910
+ ],
14911
+ "namespace": "Lumeo",
14912
+ "inheritsFrom": null,
14913
+ "implements": [],
14914
+ "parameters": [
14915
+ {
14916
+ "name": "ChildContent",
14917
+ "type": "RenderFragment?",
14918
+ "default": null,
14919
+ "description": "Button content (the visible label or icon).",
14920
+ "isCascading": false,
14921
+ "captureUnmatched": false
14922
+ },
14923
+ {
14924
+ "name": "Title",
14925
+ "type": "string?",
14926
+ "default": null,
14927
+ "description": "Title shown at the top of the confirm dialog. Defaults to the AlertDialog default (\"Are you sure?\").",
14928
+ "isCascading": false,
14929
+ "captureUnmatched": false
14930
+ },
14931
+ {
14932
+ "name": "Description",
14933
+ "type": "string?",
14934
+ "default": null,
14935
+ "description": "Optional descriptive body text under the title.",
14936
+ "isCascading": false,
14937
+ "captureUnmatched": false
14938
+ },
14939
+ {
14940
+ "name": "ConfirmText",
14941
+ "type": "string?",
14942
+ "default": null,
14943
+ "description": "Label for the confirm action button. Defaults to \"Continue\".",
14944
+ "isCascading": false,
14945
+ "captureUnmatched": false
14946
+ },
14947
+ {
14948
+ "name": "CancelText",
14949
+ "type": "string?",
14950
+ "default": null,
14951
+ "description": "Label for the cancel action button. Defaults to \"Cancel\".",
14952
+ "isCascading": false,
14953
+ "captureUnmatched": false
14954
+ },
14955
+ {
14956
+ "name": "IsDestructive",
14957
+ "type": "bool",
14958
+ "default": null,
14959
+ "description": "When true, the confirm button is styled as destructive (red) — for delete / remove / discard actions.",
14960
+ "isCascading": false,
14961
+ "captureUnmatched": false
14962
+ },
14963
+ {
14964
+ "name": "OnConfirm",
14965
+ "type": "EventCallback",
14966
+ "default": null,
14967
+ "description": "Fires after the user confirms. Does NOT fire on cancel — listen to OnCancel for that path if needed.",
14968
+ "isCascading": false,
14969
+ "captureUnmatched": false
14970
+ },
14971
+ {
14972
+ "name": "OnCancel",
14973
+ "type": "EventCallback",
14974
+ "default": null,
14975
+ "description": "Fires when the user cancels (or closes the dialog without confirming). Optional — most consumers only care about OnConfirm.",
14976
+ "isCascading": false,
14977
+ "captureUnmatched": false
14978
+ },
14979
+ {
14980
+ "name": "Variant",
14981
+ "type": "Button.ButtonVariant",
14982
+ "default": "Button.ButtonVariant.Default",
14983
+ "description": "Visual variant of the trigger button. Defaults to Default; commonly set to Destructive for delete actions so the button itself is red even before the dialog opens.",
14984
+ "isCascading": false,
14985
+ "captureUnmatched": false
14986
+ },
14987
+ {
14988
+ "name": "Size",
14989
+ "type": "Button.ButtonSize",
14990
+ "default": "Button.ButtonSize.Default",
14991
+ "description": "Size of the trigger button.",
14992
+ "isCascading": false,
14993
+ "captureUnmatched": false
14994
+ },
14995
+ {
14996
+ "name": "Disabled",
14997
+ "type": "bool",
14998
+ "default": null,
14999
+ "description": null,
15000
+ "isCascading": false,
15001
+ "captureUnmatched": false
15002
+ },
15003
+ {
15004
+ "name": "IsLoading",
15005
+ "type": "bool",
15006
+ "default": null,
15007
+ "description": null,
15008
+ "isCascading": false,
15009
+ "captureUnmatched": false
15010
+ },
15011
+ {
15012
+ "name": "Class",
15013
+ "type": "string?",
15014
+ "default": null,
15015
+ "description": null,
15016
+ "isCascading": false,
15017
+ "captureUnmatched": false
15018
+ },
15019
+ {
15020
+ "name": "AdditionalAttributes",
15021
+ "type": "Dictionary<string, object>?",
15022
+ "default": null,
15023
+ "description": null,
15024
+ "isCascading": false,
15025
+ "captureUnmatched": true
15026
+ }
15027
+ ],
15028
+ "events": [
15029
+ {
15030
+ "name": "OnConfirm",
15031
+ "type": "EventCallback",
15032
+ "description": "Fires after the user confirms. Does NOT fire on cancel — listen to OnCancel for that path if needed."
15033
+ },
15034
+ {
15035
+ "name": "OnCancel",
15036
+ "type": "EventCallback",
15037
+ "description": "Fires when the user cancels (or closes the dialog without confirming). Optional — most consumers only care about OnConfirm."
15038
+ }
15039
+ ],
15040
+ "enums": [],
15041
+ "records": [],
15042
+ "cssVars": [
15043
+ "--color-foreground"
15044
+ ],
15045
+ "examples": [],
15046
+ "subComponents": {},
15047
+ "parseFailed": false,
15048
+ "parseError": null
15049
+ },
14884
15050
  "ConsentBanner": {
14885
15051
  "name": "ConsentBanner",
14886
15052
  "category": "Utility",
@@ -19001,6 +19167,14 @@
19001
19167
  "isCascading": false,
19002
19168
  "captureUnmatched": false
19003
19169
  },
19170
+ {
19171
+ "name": "AutoFocus",
19172
+ "type": "bool",
19173
+ "default": null,
19174
+ "description": "Focuses the date-picker trigger on first render. Whichever trigger element is rendered (button / range-button / masked input) receives the focus via its shared id. See Input.AutoFocus for the rationale.",
19175
+ "isCascading": false,
19176
+ "captureUnmatched": false
19177
+ },
19004
19178
  {
19005
19179
  "name": "AdditionalAttributes",
19006
19180
  "type": "Dictionary<string, object>?",
@@ -21821,6 +21995,14 @@
21821
21995
  "isCascading": false,
21822
21996
  "captureUnmatched": false
21823
21997
  },
21998
+ {
21999
+ "name": "Image",
22000
+ "type": "RenderFragment?",
22001
+ "default": null,
22002
+ "description": "Custom illustration slot for branded empty states. Wins over IconContent when both are provided. Use for SVGs / images where the icon doesn't carry enough brand weight (404, broken state, onboarding hero).",
22003
+ "isCascading": false,
22004
+ "captureUnmatched": false
22005
+ },
21824
22006
  {
21825
22007
  "name": "Title",
21826
22008
  "type": "string?",
@@ -25088,6 +25270,22 @@
25088
25270
  "isCascading": false,
25089
25271
  "captureUnmatched": false
25090
25272
  },
25273
+ {
25274
+ "name": "AutoFocus",
25275
+ "type": "bool",
25276
+ "default": null,
25277
+ "description": "Focuses the underlying &lt;input&gt; on first render. The HTML autofocus attribute doesn't work in Blazor WASM because the browser's autofocus algorithm runs during initial document parsing — at parse time the WASM runtime hasn't booted yet and no &lt;input&gt; exists for it to focus. This parameter uses ElementReference.FocusAsync in OnAfterRenderAsync(firstRender) which is the canonical workaround.",
25278
+ "isCascading": false,
25279
+ "captureUnmatched": false
25280
+ },
25281
+ {
25282
+ "name": "Variant",
25283
+ "type": "InputVariant",
25284
+ "default": "InputVariant.Default",
25285
+ "description": "Visual / semantic input variant. Default is the plain text input. Search auto-renders a search icon prefix, sets type=\"search\" (gives platforms a clear-button + IME hints), and applies a search-friendly minimum width so the field doesn't collapse in narrow flex containers — replaces the min-w-[180px] max-w-md + manual icon prefix consumers previously shipped at every search field call-site.",
25286
+ "isCascading": false,
25287
+ "captureUnmatched": false
25288
+ },
25091
25289
  {
25092
25290
  "name": "Class",
25093
25291
  "type": "string?",
@@ -25122,7 +25320,16 @@
25122
25320
  "description": null
25123
25321
  }
25124
25322
  ],
25125
- "enums": [],
25323
+ "enums": [
25324
+ {
25325
+ "name": "InputVariant",
25326
+ "values": [
25327
+ "Default",
25328
+ "Search"
25329
+ ],
25330
+ "description": null
25331
+ }
25332
+ ],
25126
25333
  "records": [],
25127
25334
  "cssVars": [
25128
25335
  "--color-destructive",
@@ -28819,6 +29026,14 @@
28819
29026
  "isCascading": false,
28820
29027
  "captureUnmatched": false
28821
29028
  },
29029
+ {
29030
+ "name": "IsActive",
29031
+ "type": "bool",
29032
+ "default": null,
29033
+ "description": "When true, the link is the user's current location and is rendered with aria-current=\"page\". Lets screen-reader users identify the active item in a nav landmark.",
29034
+ "isCascading": false,
29035
+ "captureUnmatched": false
29036
+ },
28822
29037
  {
28823
29038
  "name": "ChildContent",
28824
29039
  "type": "RenderFragment?",
@@ -29238,6 +29453,14 @@
29238
29453
  "isCascading": false,
29239
29454
  "captureUnmatched": false
29240
29455
  },
29456
+ {
29457
+ "name": "AutoFocus",
29458
+ "type": "bool",
29459
+ "default": null,
29460
+ "description": "Focuses the underlying number &lt;input&gt; on first render. See Input.AutoFocus for why the HTML autofocus attribute doesn't work in Blazor WASM.",
29461
+ "isCascading": false,
29462
+ "captureUnmatched": false
29463
+ },
29241
29464
  {
29242
29465
  "name": "Class",
29243
29466
  "type": "string?",
@@ -29555,6 +29778,14 @@
29555
29778
  "isCascading": false,
29556
29779
  "captureUnmatched": false
29557
29780
  },
29781
+ {
29782
+ "name": "AutoFocus",
29783
+ "type": "bool",
29784
+ "default": null,
29785
+ "description": "Focuses the first OTP digit input on first render. Useful for the typical OTP flow where the field appears right after a \"code sent\" screen and the user should be typing immediately. See Input.AutoFocus for why the HTML autofocus attribute doesn't work in Blazor WASM.",
29786
+ "isCascading": false,
29787
+ "captureUnmatched": false
29788
+ },
29558
29789
  {
29559
29790
  "name": "Class",
29560
29791
  "type": "string?",
@@ -29635,7 +29866,7 @@
29635
29866
  "enums": [],
29636
29867
  "records": [],
29637
29868
  "cssVars": [
29638
- "--color-foreground"
29869
+ "--radius"
29639
29870
  ],
29640
29871
  "examples": [
29641
29872
  {
@@ -30081,6 +30312,14 @@
30081
30312
  "isCascading": false,
30082
30313
  "captureUnmatched": false
30083
30314
  },
30315
+ {
30316
+ "name": "AutoFocus",
30317
+ "type": "bool",
30318
+ "default": null,
30319
+ "description": "Focuses the underlying password &lt;input&gt; on first render. See Input.AutoFocus for why the HTML autofocus attribute doesn't work in Blazor WASM.",
30320
+ "isCascading": false,
30321
+ "captureUnmatched": false
30322
+ },
30084
30323
  {
30085
30324
  "name": "Class",
30086
30325
  "type": "string?",
@@ -30193,6 +30432,14 @@
30193
30432
  "isCascading": false,
30194
30433
  "captureUnmatched": false
30195
30434
  },
30435
+ {
30436
+ "name": "FitMode",
30437
+ "type": "PdfFitMode",
30438
+ "default": "PdfFitMode.Custom",
30439
+ "description": "Fit-to-container mode that overrides Zoom when set to a non-Custom value. FitWidth scales the page so its width matches the scroll-parent's clientWidth (minus a 16px padding for breathing room before the scrollbar). FitPage scales so the whole page fits within the scroll-parent's box. JS computes the ratio on each render, so a container resize that triggers OnParametersSet re-renders the page at the new fit. Set back to Custom to return control to the numeric Zoom value.",
30440
+ "isCascading": false,
30441
+ "captureUnmatched": false
30442
+ },
30196
30443
  {
30197
30444
  "name": "ShowToolbar",
30198
30445
  "type": "bool",
@@ -30309,7 +30556,17 @@
30309
30556
  "description": "Fires when the underlying JS load/render fails (CDN unreachable, malformed PDF, worker init failure, …). Receives the exception message. Consumers can use this to surface their own error UI; the built-in EmptyState fallback renders regardless."
30310
30557
  }
30311
30558
  ],
30312
- "enums": [],
30559
+ "enums": [
30560
+ {
30561
+ "name": "PdfFitMode",
30562
+ "values": [
30563
+ "Custom",
30564
+ "FitWidth",
30565
+ "FitPage"
30566
+ ],
30567
+ "description": null
30568
+ }
30569
+ ],
30313
30570
  "records": [],
30314
30571
  "cssVars": [
30315
30572
  "--color-accent",
@@ -31715,6 +31972,14 @@
31715
31972
  "isCascading": false,
31716
31973
  "captureUnmatched": false
31717
31974
  },
31975
+ {
31976
+ "name": "AriaLabel",
31977
+ "type": "string?",
31978
+ "default": null,
31979
+ "description": "Override the accessible label announced for the QR code. Defaults to \"QR code: {Value}\". Useful when the encoded payload is a long URL or technical string the user doesn't need read out — pass a human-friendly description instead.",
31980
+ "isCascading": false,
31981
+ "captureUnmatched": false
31982
+ },
31718
31983
  {
31719
31984
  "name": "Class",
31720
31985
  "type": "string?",
@@ -34683,6 +34948,14 @@
34683
34948
  "isCascading": false,
34684
34949
  "captureUnmatched": false
34685
34950
  },
34951
+ {
34952
+ "name": "AutoFocus",
34953
+ "type": "bool",
34954
+ "default": null,
34955
+ "description": "Focuses the select's trigger button on first render. See Input.AutoFocus — the HTML autofocus attribute doesn't work in Blazor WASM, this parameter uses FocusElement after mount.",
34956
+ "isCascading": false,
34957
+ "captureUnmatched": false
34958
+ },
34686
34959
  {
34687
34960
  "name": "AdditionalAttributes",
34688
34961
  "type": "Dictionary<string, object>?",
@@ -34787,7 +35060,7 @@
34787
35060
  "records": [
34788
35061
  {
34789
35062
  "name": "SelectContext",
34790
- "signature": "SelectContext(\n string? Value, bool IsOpen, bool Searchable, string SearchText,\n bool Multiple, List<string>? Values, bool IsLoading, bool Disabled, bool Clearable, bool Creatable, int MaxDisplayTags,\n EventCallback<string> OnSelect, EventCallback<bool> SetOpen, EventCallback<string> OnSearch,\n EventCallback OnClear, EventCallback<string> OnCreateItem,\n string WrapperId, string ContentId, int FocusedIndex, string? FocusedItemId, string? FocusedItemValue,\n EventCallback<int> SetFocusedIndex,\n Action<string, string> RegisterItem, Action<string> UnregisterItem,\n bool Invalid, bool Required,\n // Data-bound mode params (null when composition mode)\n IEnumerable<object>? Items,\n Func<object, string> ItemValue,\n Func<object, string>? ItemText,\n Func<object, string?>? ItemGroup,\n Func<object, bool>? ItemDisabled,\n RenderFragment<object>? ItemTemplate,\n bool Virtualize,\n float ItemSize)",
35063
+ "signature": "SelectContext(\n string? Value, bool IsOpen, bool Searchable, string SearchText,\n bool Multiple, List<string>? Values, bool IsLoading, bool Disabled, bool Clearable, bool Creatable, int MaxDisplayTags,\n EventCallback<string> OnSelect, EventCallback<bool> SetOpen, EventCallback<string> OnSearch,\n EventCallback OnClear, EventCallback<string> OnCreateItem,\n string WrapperId, string ContentId, string TriggerId, int FocusedIndex, string? FocusedItemId, string? FocusedItemValue,\n EventCallback<int> SetFocusedIndex,\n Action<string, string> RegisterItem, Action<string> UnregisterItem,\n bool Invalid, bool Required,\n // Data-bound mode params (null when composition mode)\n IEnumerable<object>? Items,\n Func<object, string> ItemValue,\n Func<object, string>? ItemText,\n Func<object, string?>? ItemGroup,\n Func<object, bool>? ItemDisabled,\n RenderFragment<object>? ItemTemplate,\n bool Virtualize,\n float ItemSize)",
34791
35064
  "description": null
34792
35065
  }
34793
35066
  ],
@@ -37236,7 +37509,15 @@
37236
37509
  "name": "Size",
37237
37510
  "type": "string?",
37238
37511
  "default": null,
37239
- "description": null,
37512
+ "description": "Tailwind size token (e.g. \"4\", \"px\"). When set, renders a fixed-size square spacer. When unset, renders a flex-grow spacer that fills available space along the parent flex axis.",
37513
+ "isCascading": false,
37514
+ "captureUnmatched": false
37515
+ },
37516
+ {
37517
+ "name": "Orientation",
37518
+ "type": "Lumeo.Orientation",
37519
+ "default": "Lumeo.Orientation.Horizontal",
37520
+ "description": "Hints which axis the parent flex container uses so the grow-spacer collapses to zero on the cross-axis instead of expanding it. Default Horizontal keeps the historical behaviour (flex-1 inside a row). Switch to Vertical when the parent is a column stack — without it, the spacer's flex-1 took width from the column instead of pushing siblings to opposite ends.",
37240
37521
  "isCascading": false,
37241
37522
  "captureUnmatched": false
37242
37523
  },
@@ -40211,6 +40492,14 @@
40211
40492
  "isCascading": false,
40212
40493
  "captureUnmatched": false
40213
40494
  },
40495
+ {
40496
+ "name": "AutoFocus",
40497
+ "type": "bool",
40498
+ "default": null,
40499
+ "description": "Focuses the inner text &lt;input&gt; on first render. See Input.AutoFocus for why the HTML autofocus attribute doesn't work in Blazor WASM.",
40500
+ "isCascading": false,
40501
+ "captureUnmatched": false
40502
+ },
40214
40503
  {
40215
40504
  "name": "MaxTagsHelperText",
40216
40505
  "type": "string?",
@@ -40478,7 +40767,9 @@
40478
40767
  ],
40479
40768
  "namespace": "Lumeo",
40480
40769
  "inheritsFrom": null,
40481
- "implements": [],
40770
+ "implements": [
40771
+ "IAsyncDisposable"
40772
+ ],
40482
40773
  "parameters": [
40483
40774
  {
40484
40775
  "name": "FormField",
@@ -40608,6 +40899,14 @@
40608
40899
  "isCascading": false,
40609
40900
  "captureUnmatched": false
40610
40901
  },
40902
+ {
40903
+ "name": "AutoFocus",
40904
+ "type": "bool",
40905
+ "default": null,
40906
+ "description": "Focuses the underlying &lt;textarea&gt; on first render. See Input.AutoFocus — the HTML autofocus attribute doesn't work in Blazor WASM because parse-time has already passed by the time the runtime adds the element to the DOM.",
40907
+ "isCascading": false,
40908
+ "captureUnmatched": false
40909
+ },
40611
40910
  {
40612
40911
  "name": "Class",
40613
40912
  "type": "string?",
@@ -43718,6 +44017,136 @@
43718
44017
  "parseFailed": false,
43719
44018
  "parseError": null
43720
44019
  },
44020
+ "UploadTrigger": {
44021
+ "name": "UploadTrigger",
44022
+ "category": "Utility",
44023
+ "subcategory": null,
44024
+ "description": "Upload Trigger component.",
44025
+ "nugetPackage": "Lumeo",
44026
+ "files": [
44027
+ "UI/UploadTrigger/UploadTrigger.razor"
44028
+ ],
44029
+ "namespace": "Lumeo",
44030
+ "inheritsFrom": null,
44031
+ "implements": [],
44032
+ "parameters": [
44033
+ {
44034
+ "name": "OnFilesSelected",
44035
+ "type": "EventCallback<InputFileChangeEventArgs>",
44036
+ "default": null,
44037
+ "description": "Files chosen in the picker. Fires once per picker confirmation; the consumer is responsible for any subsequent state / upload logic.",
44038
+ "isCascading": false,
44039
+ "captureUnmatched": false
44040
+ },
44041
+ {
44042
+ "name": "Multiple",
44043
+ "type": "bool",
44044
+ "default": null,
44045
+ "description": "Allow multiple files. Maps to the native picker's multi-select.",
44046
+ "isCascading": false,
44047
+ "captureUnmatched": false
44048
+ },
44049
+ {
44050
+ "name": "Accept",
44051
+ "type": "string?",
44052
+ "default": null,
44053
+ "description": "MIME-type / extension filter passed to accept=. E.g. \"image/*\", \".pdf,.docx\". Null = no filter.",
44054
+ "isCascading": false,
44055
+ "captureUnmatched": false
44056
+ },
44057
+ {
44058
+ "name": "Disabled",
44059
+ "type": "bool",
44060
+ "default": null,
44061
+ "description": "Disables the trigger.",
44062
+ "isCascading": false,
44063
+ "captureUnmatched": false
44064
+ },
44065
+ {
44066
+ "name": "Variant",
44067
+ "type": "Button.ButtonVariant",
44068
+ "default": "Button.ButtonVariant.Default",
44069
+ "description": "Visual variant. Matches the corresponding Button variant so the trigger composes visually with surrounding buttons.",
44070
+ "isCascading": false,
44071
+ "captureUnmatched": false
44072
+ },
44073
+ {
44074
+ "name": "Size",
44075
+ "type": "Button.ButtonSize",
44076
+ "default": "Button.ButtonSize.Default",
44077
+ "description": "Size. Matches the corresponding Button size.",
44078
+ "isCascading": false,
44079
+ "captureUnmatched": false
44080
+ },
44081
+ {
44082
+ "name": "Text",
44083
+ "type": "string?",
44084
+ "default": null,
44085
+ "description": "Trigger label. Falls back to localized \"Pick a file\" when null. Ignored if ChildContent is provided.",
44086
+ "isCascading": false,
44087
+ "captureUnmatched": false
44088
+ },
44089
+ {
44090
+ "name": "ChildContent",
44091
+ "type": "RenderFragment?",
44092
+ "default": null,
44093
+ "description": "Custom label content. Overrides Text.",
44094
+ "isCascading": false,
44095
+ "captureUnmatched": false
44096
+ },
44097
+ {
44098
+ "name": "Icon",
44099
+ "type": "RenderFragment?",
44100
+ "default": null,
44101
+ "description": "Custom leading icon. Defaults to Lucide.Upload.",
44102
+ "isCascading": false,
44103
+ "captureUnmatched": false
44104
+ },
44105
+ {
44106
+ "name": "Class",
44107
+ "type": "string?",
44108
+ "default": null,
44109
+ "description": null,
44110
+ "isCascading": false,
44111
+ "captureUnmatched": false
44112
+ },
44113
+ {
44114
+ "name": "AdditionalAttributes",
44115
+ "type": "Dictionary<string, object>?",
44116
+ "default": null,
44117
+ "description": null,
44118
+ "isCascading": false,
44119
+ "captureUnmatched": true
44120
+ }
44121
+ ],
44122
+ "events": [
44123
+ {
44124
+ "name": "OnFilesSelected",
44125
+ "type": "EventCallback<InputFileChangeEventArgs>",
44126
+ "description": "Files chosen in the picker. Fires once per picker confirmation; the consumer is responsible for any subsequent state / upload logic."
44127
+ }
44128
+ ],
44129
+ "enums": [],
44130
+ "records": [],
44131
+ "cssVars": [
44132
+ "--color-accent",
44133
+ "--color-accent-foreground",
44134
+ "--color-background",
44135
+ "--color-destructive",
44136
+ "--color-destructive-foreground",
44137
+ "--color-input",
44138
+ "--color-primary",
44139
+ "--color-primary-foreground",
44140
+ "--color-ring",
44141
+ "--color-secondary",
44142
+ "--color-secondary-foreground",
44143
+ "--radius"
44144
+ ],
44145
+ "examples": [],
44146
+ "subComponents": {},
44147
+ "parseFailed": false,
44148
+ "parseError": null
44149
+ },
43721
44150
  "Watermark": {
43722
44151
  "name": "Watermark",
43723
44152
  "category": "Data Display",
package/src/registry.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://lumeo.nativ.sh/registry-schema.json",
3
- "version": "3.2.6",
4
- "generated": "2026-05-26T10:01:49.9516476Z",
3
+ "version": "3.3.0",
4
+ "generated": "2026-05-27T15:06:21.7577660Z",
5
5
  "components": {
6
6
  "accordion": {
7
7
  "name": "Accordion",
@@ -916,6 +916,26 @@
916
916
  ],
917
917
  "registryUrl": "https://lumeo.nativ.sh/registry/confetti.json"
918
918
  },
919
+ "confirm-button": {
920
+ "name": "ConfirmButton",
921
+ "category": "Utility",
922
+ "subcategory": null,
923
+ "description": "Confirm Button component.",
924
+ "thumbnail": "/preview-cards/confirm-button.png",
925
+ "hasDocsPage": false,
926
+ "nugetPackage": "Lumeo",
927
+ "files": [
928
+ "UI/ConfirmButton/ConfirmButton.razor"
929
+ ],
930
+ "dependencies": [
931
+ "button"
932
+ ],
933
+ "packageDependencies": [],
934
+ "cssVars": [
935
+ "--color-foreground"
936
+ ],
937
+ "registryUrl": "https://lumeo.nativ.sh/registry/confirm-button.json"
938
+ },
919
939
  "consent-banner": {
920
940
  "name": "ConsentBanner",
921
941
  "category": "Utility",
@@ -2244,7 +2264,7 @@
2244
2264
  ],
2245
2265
  "packageDependencies": [],
2246
2266
  "cssVars": [
2247
- "--color-foreground"
2267
+ "--radius"
2248
2268
  ],
2249
2269
  "registryUrl": "https://lumeo.nativ.sh/registry/overlay.json"
2250
2270
  },
@@ -4057,6 +4077,39 @@
4057
4077
  ],
4058
4078
  "registryUrl": "https://lumeo.nativ.sh/registry/tree-view.json"
4059
4079
  },
4080
+ "upload-trigger": {
4081
+ "name": "UploadTrigger",
4082
+ "category": "Utility",
4083
+ "subcategory": null,
4084
+ "description": "Upload Trigger component.",
4085
+ "thumbnail": "/preview-cards/upload-trigger.png",
4086
+ "hasDocsPage": false,
4087
+ "nugetPackage": "Lumeo",
4088
+ "files": [
4089
+ "UI/UploadTrigger/UploadTrigger.razor"
4090
+ ],
4091
+ "dependencies": [
4092
+ "input"
4093
+ ],
4094
+ "packageDependencies": [
4095
+ "Blazicons.Lucide"
4096
+ ],
4097
+ "cssVars": [
4098
+ "--color-accent",
4099
+ "--color-accent-foreground",
4100
+ "--color-background",
4101
+ "--color-destructive",
4102
+ "--color-destructive-foreground",
4103
+ "--color-input",
4104
+ "--color-primary",
4105
+ "--color-primary-foreground",
4106
+ "--color-ring",
4107
+ "--color-secondary",
4108
+ "--color-secondary-foreground",
4109
+ "--radius"
4110
+ ],
4111
+ "registryUrl": "https://lumeo.nativ.sh/registry/upload-trigger.json"
4112
+ },
4060
4113
  "watermark": {
4061
4114
  "name": "Watermark",
4062
4115
  "category": "Data Display",