@lumeo-ui/mcp-server 3.18.0 → 3.19.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.18.0",
3
+ "version": "3.19.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,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://lumeo.nativ.sh/components-api-schema.json",
3
- "version": "3.18.0",
4
- "generated": "2026-06-18T11:36:26.8009093Z",
3
+ "version": "3.19.0",
4
+ "generated": "2026-06-18T14:38:21.3799147Z",
5
5
  "stats": {
6
6
  "componentCount": 163,
7
- "totalParameters": 4099,
7
+ "totalParameters": 4102,
8
8
  "totalEnums": 74,
9
9
  "totalRecords": 71,
10
10
  "serviceCount": 33,
@@ -819,6 +819,12 @@
819
819
  "signature": "RegisterDrawerSwipe(string elementId, string direction, Func<Task> handler, int? activationPx, int? firePx)",
820
820
  "summary": null
821
821
  },
822
+ {
823
+ "name": "RegisterDrawerSwipe",
824
+ "returnType": "ValueTask",
825
+ "signature": "RegisterDrawerSwipe(string elementId, string direction, Func<Task> handler, int? activationPx, int? firePx, double? velocity)",
826
+ "summary": null
827
+ },
822
828
  {
823
829
  "name": "UnregisterDrawerSwipe",
824
830
  "returnType": "ValueTask",
@@ -831,6 +837,36 @@
831
837
  "signature": "OnSwipeDismiss(string elementId)",
832
838
  "summary": null
833
839
  },
840
+ {
841
+ "name": "RegisterDrawerSnap",
842
+ "returnType": "ValueTask",
843
+ "signature": "RegisterDrawerSnap(string elementId, string direction, Func<Task<bool>> dismissHandler, Func<int, Task> snapHandler, IReadOnlyList<double> snapPoints, int activeIndex, bool dismissible, int? activationPx, int? firePx, double? velocity)",
844
+ "summary": null
845
+ },
846
+ {
847
+ "name": "SetDrawerSnap",
848
+ "returnType": "ValueTask",
849
+ "signature": "SetDrawerSnap(string elementId, int index)",
850
+ "summary": null
851
+ },
852
+ {
853
+ "name": "UnregisterDrawerSnap",
854
+ "returnType": "ValueTask",
855
+ "signature": "UnregisterDrawerSnap(string elementId)",
856
+ "summary": null
857
+ },
858
+ {
859
+ "name": "OnDrawerSnapChange",
860
+ "returnType": "Task",
861
+ "signature": "OnDrawerSnapChange(string elementId, int index)",
862
+ "summary": null
863
+ },
864
+ {
865
+ "name": "OnDrawerSnapDismiss",
866
+ "returnType": "Task<bool>",
867
+ "signature": "OnDrawerSnapDismiss(string elementId)",
868
+ "summary": null
869
+ },
834
870
  {
835
871
  "name": "RegisterSortableTouch",
836
872
  "returnType": "ValueTask",
@@ -2057,12 +2093,36 @@
2057
2093
  "signature": "RegisterDrawerSwipe(string elementId, string direction, Func<Task> handler, int? activationPx, int? firePx)",
2058
2094
  "summary": "3.0.1 — extended overload that accepts swipe-to-close thresholds. Both parameters are optional; passing null falls back to the JS hardcoded defaults so existing callers keep working unchanged. Mirrors the LumeoGestureOptions bag."
2059
2095
  },
2096
+ {
2097
+ "name": "RegisterDrawerSwipe",
2098
+ "returnType": "ValueTask",
2099
+ "signature": "RegisterDrawerSwipe(string elementId, string direction, Func<Task> handler, int? activationPx, int? firePx, double? velocity)",
2100
+ "summary": "3.19 — adds (px/ms): a flick faster than this in the dismiss direction closes the drawer even below . Default impl ignores it so non-overriding implementations keep working."
2101
+ },
2060
2102
  {
2061
2103
  "name": "UnregisterDrawerSwipe",
2062
2104
  "returnType": "ValueTask",
2063
2105
  "signature": "UnregisterDrawerSwipe(string elementId)",
2064
2106
  "summary": null
2065
2107
  },
2108
+ {
2109
+ "name": "RegisterDrawerSnap",
2110
+ "returnType": "ValueTask",
2111
+ "signature": "RegisterDrawerSnap(string elementId, string direction, Func<Task<bool>> dismissHandler, Func<int, Task> snapHandler, IReadOnlyList<double> snapPoints, int activeIndex, bool dismissible, int? activationPx, int? firePx, double? velocity)",
2112
+ "summary": "Registers a snap-point gesture: the drawer rests at one of (fractions 0&lt;f≤1), drags between them, and dismisses when flicked/dragged below the lowest. fires with the new index on each settle; fires on close. Default impl falls back to plain swipe-dismiss."
2113
+ },
2114
+ {
2115
+ "name": "SetDrawerSnap",
2116
+ "returnType": "ValueTask",
2117
+ "signature": "SetDrawerSnap(string elementId, int index)",
2118
+ "summary": "Programmatically move a snap-point drawer to ."
2119
+ },
2120
+ {
2121
+ "name": "UnregisterDrawerSnap",
2122
+ "returnType": "ValueTask",
2123
+ "signature": "UnregisterDrawerSnap(string elementId)",
2124
+ "summary": null
2125
+ },
2066
2126
  {
2067
2127
  "name": "RegisterTabSwipe",
2068
2128
  "returnType": "ValueTask",
@@ -25563,8 +25623,8 @@
25563
25623
  "code": "<Drawer @bind-Open=\"_preventDrawerOpen\">\n <DrawerTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Open Protected Drawer</Button>\n </DrawerTrigger>\n <DrawerContent PreventClose=\"true\">\n <DrawerHeader>\n <DrawerTitle>Confirm Action</DrawerTitle>\n <DrawerDescription>You must choose an option to continue.</DrawerDescription>\n </DrawerHeader>\n <Stack Gap=\"2\" Class=\"p-4\">\n <Button Class=\"w-full\" OnClick=\"@(() => _preventDrawerOpen = false)\">Confirm</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\" Class=\"w-full\" OnClick=\"@(() => _preventDrawerOpen = false)\">Cancel</Button>\n </Stack>\n </DrawerContent>\n</Drawer>\n\n@code {\n private bool _preventDrawerOpen;\n}"
25564
25624
  },
25565
25625
  {
25566
- "title": "Side interactive",
25567
- "code": "<Segmented @bind-Value=\"_drawerSideSel\" Options=\"_drawerSideOptions\" />\n<Drawer @bind-Open=\"_open\">\n <DrawerTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Open Drawer (@_drawerSideSel)</Button>\n </DrawerTrigger>\n <DrawerContent Side=\"@_activeSide\">\n <DrawerHeader>\n <DrawerTitle>@_drawerSideSel Drawer</DrawerTitle>\n <DrawerDescription>Slides in from the @_drawerSideSel.ToLower().</DrawerDescription>\n </DrawerHeader>\n <DrawerFooter>\n <DrawerClose><Button Class=\"w-full\">Close</Button></DrawerClose>\n </DrawerFooter>\n </DrawerContent>\n</Drawer>\n\n@code {\n private string _drawerSideSel = \"Bottom\";\n private Lumeo.Side _activeSide => Enum.Parse<Lumeo.Side>(_drawerSideSel);\n private List<Segmented.SegmentedOption> _drawerSideOptions = new()\n {\n new() { Label = \"Top\", Value = \"Top\" },\n new() { Label = \"Right\", Value = \"Right\" },\n new() { Label = \"Bottom\", Value = \"Bottom\" },\n new() { Label = \"Left\", Value = \"Left\" },\n };\n}"
25626
+ "title": "Snap points (touch)",
25627
+ "code": "<Drawer @bind-Open=\"_snapOpen\">\n <DrawerTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Open Snap Drawer</Button>\n </DrawerTrigger>\n <DrawerContent SnapPoints=\"_snapPoints\" @bind-ActiveSnapPoint=\"_snapIndex\">\n <DrawerHeader>\n <DrawerTitle>Snap Drawer</DrawerTitle>\n <DrawerDescription>Drag the handle to snap between 40%, 75%, and full height.</DrawerDescription>\n </DrawerHeader>\n <Stack Gap=\"2\" Class=\"p-4\">\n @* …content… *@\n </Stack>\n <DrawerFooter>\n <DrawerClose><Button Class=\"w-full\">Close</Button></DrawerClose>\n </DrawerFooter>\n </DrawerContent>\n</Drawer>\n\n@code {\n private bool _snapOpen;\n private int _snapIndex = 1; // open at 75%\n private double[] _snapPoints = { 0.4, 0.75, 1.0 };\n}"
25568
25628
  }
25569
25629
  ],
25570
25630
  "subComponents": {
@@ -25672,6 +25732,30 @@
25672
25732
  "isCascading": false,
25673
25733
  "captureUnmatched": false
25674
25734
  },
25735
+ {
25736
+ "name": "SnapPoints",
25737
+ "type": "IReadOnlyList<double>?",
25738
+ "default": null,
25739
+ "description": "vaul-style snap points: fractional resting heights in ascending order, each 0 &lt; f ≤ 1 (e.g. [0.4, 0.75, 1] = 40% / 75% / fully open). When set on a Top/Bottom drawer, the panel rests at one of these heights, drags between them, and dismisses when flicked/dragged below the lowest. Ignored for Left/Right (which keep plain swipe-to-dismiss). (#218)",
25740
+ "isCascading": false,
25741
+ "captureUnmatched": false
25742
+ },
25743
+ {
25744
+ "name": "ActiveSnapPoint",
25745
+ "type": "int",
25746
+ "default": "-1",
25747
+ "description": "Index into SnapPoints of the current resting snap. Two-way bindable: updates as the user drags between snaps, and setting it moves the drawer programmatically. -1 (default) opens at the most-open (last) snap. (#218)",
25748
+ "isCascading": false,
25749
+ "captureUnmatched": false
25750
+ },
25751
+ {
25752
+ "name": "ActiveSnapPointChanged",
25753
+ "type": "EventCallback<int>",
25754
+ "default": null,
25755
+ "description": null,
25756
+ "isCascading": false,
25757
+ "captureUnmatched": false
25758
+ },
25675
25759
  {
25676
25760
  "name": "Class",
25677
25761
  "type": "string?",
@@ -25697,7 +25781,13 @@
25697
25781
  "captureUnmatched": true
25698
25782
  }
25699
25783
  ],
25700
- "events": [],
25784
+ "events": [
25785
+ {
25786
+ "name": "ActiveSnapPointChanged",
25787
+ "type": "EventCallback<int>",
25788
+ "description": null
25789
+ }
25790
+ ],
25701
25791
  "enums": [
25702
25792
  {
25703
25793
  "name": "DrawerAnimation",
package/src/registry.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://lumeo.nativ.sh/registry-schema.json",
3
- "version": "3.18.0",
4
- "generated": "2026-06-18T11:36:25.3532160Z",
3
+ "version": "3.19.0",
4
+ "generated": "2026-06-18T14:38:19.7829197Z",
5
5
  "components": {
6
6
  "accordion": {
7
7
  "name": "Accordion",