jui-tools-mcp-server 2.10.0 → 2.10.2
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.
|
@@ -1031,6 +1031,54 @@
|
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
1033
1033
|
},
|
|
1034
|
+
"alert": {
|
|
1035
|
+
"type": "object",
|
|
1036
|
+
"description": "Alert configuration (iOS 15+). Same shape as confirmationDialog minus titleVisibility: .alert always shows its title, and unlike .confirmationDialog it draws the cancel role in a regular size class",
|
|
1037
|
+
"platform": "swift",
|
|
1038
|
+
"mode": "swiftui",
|
|
1039
|
+
"properties": {
|
|
1040
|
+
"isPresented": {
|
|
1041
|
+
"type": "binding",
|
|
1042
|
+
"required": true,
|
|
1043
|
+
"description": "Binding to control alert visibility"
|
|
1044
|
+
},
|
|
1045
|
+
"title": {
|
|
1046
|
+
"type": [
|
|
1047
|
+
"string",
|
|
1048
|
+
"binding"
|
|
1049
|
+
],
|
|
1050
|
+
"default": "",
|
|
1051
|
+
"description": "Alert title (empty string if not specified)"
|
|
1052
|
+
},
|
|
1053
|
+
"message": {
|
|
1054
|
+
"type": [
|
|
1055
|
+
"string",
|
|
1056
|
+
"binding"
|
|
1057
|
+
],
|
|
1058
|
+
"description": "Optional alert message"
|
|
1059
|
+
},
|
|
1060
|
+
"actions": {
|
|
1061
|
+
"type": "binding",
|
|
1062
|
+
"description": "Binding to function returning action buttons (alternative to layout)"
|
|
1063
|
+
},
|
|
1064
|
+
"layout": {
|
|
1065
|
+
"type": "object",
|
|
1066
|
+
"description": "Layout configuration for alert content (alternative to actions)",
|
|
1067
|
+
"properties": {
|
|
1068
|
+
"name": {
|
|
1069
|
+
"type": "string",
|
|
1070
|
+
"required": true,
|
|
1071
|
+
"description": "JSON filename for alert content"
|
|
1072
|
+
},
|
|
1073
|
+
"data": {
|
|
1074
|
+
"type": "binding",
|
|
1075
|
+
"required": true,
|
|
1076
|
+
"description": "Binding to data for the layout view"
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
1034
1082
|
"alignment": {
|
|
1035
1083
|
"type": "string",
|
|
1036
1084
|
"enum": [
|
|
@@ -2723,7 +2771,7 @@
|
|
|
2723
2771
|
"array",
|
|
2724
2772
|
"binding"
|
|
2725
2773
|
],
|
|
2726
|
-
"description": "List of items for normal picker (can be template variable)"
|
|
2774
|
+
"description": "List of items for normal picker (can be template variable). Data (usually bound): entries are rendered as given and are NOT looked up in strings."
|
|
2727
2775
|
},
|
|
2728
2776
|
"selectItemType": {
|
|
2729
2777
|
"type": "string",
|
|
@@ -3172,7 +3220,7 @@
|
|
|
3172
3220
|
"items": {
|
|
3173
3221
|
"type": "array",
|
|
3174
3222
|
"required": true,
|
|
3175
|
-
"description": "Segment items array"
|
|
3223
|
+
"description": "Segment items array. Static labels; an entry may be a strings key, resolved at render time on every face."
|
|
3176
3224
|
},
|
|
3177
3225
|
"selectedIndex": {
|
|
3178
3226
|
"type": [
|
|
@@ -3396,11 +3444,13 @@
|
|
|
3396
3444
|
},
|
|
3397
3445
|
"child": {
|
|
3398
3446
|
"type": "array",
|
|
3399
|
-
"
|
|
3447
|
+
"acceptsSingle": true,
|
|
3448
|
+
"description": "Child component(s). A single component node (object) is accepted as a one-element array."
|
|
3400
3449
|
},
|
|
3401
3450
|
"children": {
|
|
3402
3451
|
"type": "array",
|
|
3403
|
-
"
|
|
3452
|
+
"acceptsSingle": true,
|
|
3453
|
+
"description": "Child components (alias for child). A single component node (object) is accepted as a one-element array."
|
|
3404
3454
|
},
|
|
3405
3455
|
"distribution": {
|
|
3406
3456
|
"type": "string",
|
|
@@ -3525,21 +3575,25 @@
|
|
|
3525
3575
|
"_comment": "Sparse by design, not an alias: only the Kotlin dynamic runtime dispatches CircleView (DynamicCircleViewComponent, CircleShape clip) - P18 audit 2026-08-01. Everything it renders beyond child/children comes from common. component_metadata.json carries the per-platform truth.",
|
|
3526
3576
|
"child": {
|
|
3527
3577
|
"type": "array",
|
|
3528
|
-
"
|
|
3578
|
+
"acceptsSingle": true,
|
|
3579
|
+
"description": "Child component(s). A single component node (object) is accepted as a one-element array."
|
|
3529
3580
|
},
|
|
3530
3581
|
"children": {
|
|
3531
3582
|
"type": "array",
|
|
3532
|
-
"
|
|
3583
|
+
"acceptsSingle": true,
|
|
3584
|
+
"description": "Child components (alias for child). A single component node (object) is accepted as a one-element array."
|
|
3533
3585
|
}
|
|
3534
3586
|
},
|
|
3535
3587
|
"ScrollView": {
|
|
3536
3588
|
"child": {
|
|
3537
3589
|
"type": "array",
|
|
3538
|
-
"
|
|
3590
|
+
"acceptsSingle": true,
|
|
3591
|
+
"description": "Child component(s). A single component node (object) is accepted as a one-element array."
|
|
3539
3592
|
},
|
|
3540
3593
|
"children": {
|
|
3541
3594
|
"type": "array",
|
|
3542
|
-
"
|
|
3595
|
+
"acceptsSingle": true,
|
|
3596
|
+
"description": "Child components. A single component node (object) is accepted as a one-element array."
|
|
3543
3597
|
},
|
|
3544
3598
|
"orientation": {
|
|
3545
3599
|
"type": "string",
|
|
@@ -3732,7 +3786,7 @@
|
|
|
3732
3786
|
"none"
|
|
3733
3787
|
],
|
|
3734
3788
|
"default": "lazy",
|
|
3735
|
-
"description": "Outer container shape for the Collection (single-column section path uses CollectionStackView/CollectionStack). Accepts: 'lazy' (default) -> ScrollView+LazyVStack/LazyHStack on iOS, LazyColumn/LazyRow on Android, with virtualized cell rendering. 'eager' -> ScrollView+VStack/HStack on iOS, Column(verticalScroll)/Row(horizontalScroll) on Android — no virtualization, smooth scrolling for heavy cells (markdown / images / attributed text) that suffer from LazyVStack re-evaluation. 'none' -> VStack/HStack only, no scroll container, parent must already be scrollable. Bindings (@{prop}) are resolved at runtime via the wrapper's mode parameter so toggles preserve view identity. Sticky headers and paging require 'lazy'."
|
|
3789
|
+
"description": "Outer container shape for the Collection (single-column section path uses CollectionStackView/CollectionStack). Accepts: 'lazy' (default) -> ScrollView+LazyVStack/LazyHStack on iOS, LazyColumn/LazyRow on Android, with virtualized cell rendering. 'eager' -> ScrollView+VStack/HStack on iOS, Column(verticalScroll)/Row(horizontalScroll) on Android — no virtualization, smooth scrolling for heavy cells (markdown / images / attributed text) that suffer from LazyVStack re-evaluation. 'none' -> VStack/HStack only, no scroll container, parent must already be scrollable (for layout:'flow' this is the only value that removes the Collection's own vertical scroll). Bindings (@{prop}) are resolved at runtime via the wrapper's mode parameter so toggles preserve view identity. Sticky headers and paging require 'lazy'."
|
|
3736
3790
|
},
|
|
3737
3791
|
"columns": {
|
|
3738
3792
|
"type": [
|
|
@@ -3784,7 +3838,7 @@
|
|
|
3784
3838
|
"LeftAligned": "flow",
|
|
3785
3839
|
"leftAligned": "flow"
|
|
3786
3840
|
},
|
|
3787
|
-
"description": "Layout type (vertical | horizontal | flow — wrapping layout packed to the leading edge). Flow/LeftAligned/leftAligned are accepted alias spellings of flow (2026-08-03 unification ruling; the old 'left-aligned wrapping' distinction was a frozen-UIKit fossil — no modern path ever implemented it)."
|
|
3841
|
+
"description": "Layout type (vertical | horizontal | flow — wrapping layout packed to the leading edge). Flow/LeftAligned/leftAligned are accepted alias spellings of flow (2026-08-03 unification ruling; the old 'left-aligned wrapping' distinction was a frozen-UIKit fossil — no modern path ever implemented it). Scroll rule for flow (2026-09-03 ruling): with `lazy` in effect (default or 'eager') the flow Collection scrolls vertically inside its own bounds; with lazy:'none' it only wraps and the parent must scroll."
|
|
3788
3842
|
},
|
|
3789
3843
|
"insets": {
|
|
3790
3844
|
"type": [
|
|
@@ -4132,7 +4186,7 @@
|
|
|
4132
4186
|
"array",
|
|
4133
4187
|
"binding"
|
|
4134
4188
|
],
|
|
4135
|
-
"description": "List of items for normal picker (can be template variable). Declared from the implementation, which already read it: sjui radio_converter.rb:13 — the option list a radio GROUP renders; with it the converter emits a group, without it a single radio (plan 51-E)."
|
|
4189
|
+
"description": "List of items for normal picker (can be template variable). Declared from the implementation, which already read it: sjui radio_converter.rb:13 — the option list a radio GROUP renders; with it the converter emits a group, without it a single radio (plan 51-E). Data (usually bound): entries are rendered as given and are NOT looked up in strings."
|
|
4136
4190
|
}
|
|
4137
4191
|
},
|
|
4138
4192
|
"CheckBox": {
|
|
@@ -4354,11 +4408,13 @@
|
|
|
4354
4408
|
},
|
|
4355
4409
|
"child": {
|
|
4356
4410
|
"type": "array",
|
|
4357
|
-
"
|
|
4411
|
+
"acceptsSingle": true,
|
|
4412
|
+
"description": "Child component(s). Declared from the implementation, which already read it: sjui gradient_view_converter.rb:16 (plan 51-E). A single component node (object) is accepted as a one-element array."
|
|
4358
4413
|
},
|
|
4359
4414
|
"children": {
|
|
4360
4415
|
"type": "array",
|
|
4361
|
-
"
|
|
4416
|
+
"acceptsSingle": true,
|
|
4417
|
+
"description": "Child components (alias for child). Declared from the implementation, which already read it: sjui gradient_view_converter.rb:16 (child || children) (plan 51-E). A single component node (object) is accepted as a one-element array."
|
|
4362
4418
|
},
|
|
4363
4419
|
"startPoint": {
|
|
4364
4420
|
"type": [
|
|
@@ -4421,11 +4477,13 @@
|
|
|
4421
4477
|
},
|
|
4422
4478
|
"child": {
|
|
4423
4479
|
"type": "array",
|
|
4424
|
-
"
|
|
4480
|
+
"acceptsSingle": true,
|
|
4481
|
+
"description": "Child component(s). Declared from the implementation, which already read it: sjui blur_converter.rb:16 (plan 51-E). A single component node (object) is accepted as a one-element array."
|
|
4425
4482
|
},
|
|
4426
4483
|
"children": {
|
|
4427
4484
|
"type": "array",
|
|
4428
|
-
"
|
|
4485
|
+
"acceptsSingle": true,
|
|
4486
|
+
"description": "Child components (alias for child). Declared from the implementation, which already read it: sjui blur_converter.rb:16 (child || children) (plan 51-E). A single component node (object) is accepted as a one-element array."
|
|
4429
4487
|
}
|
|
4430
4488
|
},
|
|
4431
4489
|
"IconLabel": {
|
|
@@ -4561,11 +4619,13 @@
|
|
|
4561
4619
|
},
|
|
4562
4620
|
"child": {
|
|
4563
4621
|
"type": "array",
|
|
4564
|
-
"
|
|
4622
|
+
"acceptsSingle": true,
|
|
4623
|
+
"description": "Child component(s). A single component node (object) is accepted as a one-element array."
|
|
4565
4624
|
},
|
|
4566
4625
|
"children": {
|
|
4567
4626
|
"type": "array",
|
|
4568
|
-
"
|
|
4627
|
+
"acceptsSingle": true,
|
|
4628
|
+
"description": "Child components (alias for child). A single component node (object) is accepted as a one-element array."
|
|
4569
4629
|
},
|
|
4570
4630
|
"direction": {
|
|
4571
4631
|
"type": "string",
|
package/package.json
CHANGED
|
@@ -44,7 +44,7 @@ const DATA_DIR = join(PROJECT_ROOT, "data");
|
|
|
44
44
|
// 3. `npm run fetch-definitions` and commit the data/ diff together with
|
|
45
45
|
// this pin in one commit
|
|
46
46
|
// JSONUI_CLI_RAW_BASE still overrides the whole base URL for manual testing.
|
|
47
|
-
const JSONUI_CLI_TAG = "v1.
|
|
47
|
+
const JSONUI_CLI_TAG = "v1.8.38";
|
|
48
48
|
const BASE_URL =
|
|
49
49
|
process.env.JSONUI_CLI_RAW_BASE ||
|
|
50
50
|
`https://raw.githubusercontent.com/Tai-Kimura/jsonui-cli/${JSONUI_CLI_TAG}`;
|