jui-tools-mcp-server 2.12.3 → 2.12.5
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.
|
@@ -2994,29 +2994,31 @@
|
|
|
2994
2994
|
},
|
|
2995
2995
|
"caretAttributes": {
|
|
2996
2996
|
"type": "object",
|
|
2997
|
-
"description": "Caret/arrow styling
|
|
2998
|
-
"platform": "swift",
|
|
2999
|
-
"mode": "uikit",
|
|
2997
|
+
"description": "Caret/arrow styling for the closed select. Absent: every face keeps its native indicator at its native inset (the picture each face drew before 1.8.101), so existing layouts do not move. Present: the face draws the caret itself from these keys, on every platform and mode — this object was UIKit-only (SJUISelectBox) until 1.8.101; SwiftUI codegen/dynamic, Compose codegen/dynamic and the web <select> now honour it too. `src` is optional: when it is absent the face draws its own default chevron glyph, so `{\"rightMargin\": 12}` alone moves the native-looking arrow away from the trailing edge. Not inherited from any other object; the multiple/list-box and Date modes have no closed-state caret and ignore it.",
|
|
3000
2998
|
"properties": {
|
|
3001
2999
|
"src": {
|
|
3002
3000
|
"type": "string",
|
|
3003
|
-
"description": "Caret image name"
|
|
3001
|
+
"description": "Caret image asset name. Optional — absent means the face's default chevron glyph."
|
|
3004
3002
|
},
|
|
3005
3003
|
"width": {
|
|
3006
3004
|
"type": "number",
|
|
3007
|
-
"description": "Caret width"
|
|
3005
|
+
"description": "Caret width (pt / dp / px). Absent: the face's default glyph size."
|
|
3008
3006
|
},
|
|
3009
3007
|
"height": {
|
|
3010
3008
|
"type": "number",
|
|
3011
|
-
"description": "Caret height"
|
|
3009
|
+
"description": "Caret height (pt / dp / px). Absent: the face's default glyph size."
|
|
3012
3010
|
},
|
|
3013
3011
|
"tintColor": {
|
|
3014
3012
|
"type": "string",
|
|
3015
|
-
"description": "Caret tint color - hex string or color name from colors.json"
|
|
3013
|
+
"description": "Caret tint color - hex string or color name from colors.json. Applies to the default glyph and to a template `src`."
|
|
3016
3014
|
},
|
|
3017
3015
|
"background": {
|
|
3018
3016
|
"type": "string",
|
|
3019
|
-
"description": "Caret background color - hex string or color name from colors.json"
|
|
3017
|
+
"description": "Caret background color - hex string or color name from colors.json. Fills the caret's own box (width x height), not the select."
|
|
3018
|
+
},
|
|
3019
|
+
"rightMargin": {
|
|
3020
|
+
"type": "number",
|
|
3021
|
+
"description": "Distance from the select's trailing edge to the caret's trailing edge (pt / dp / px). Absent: 0, which is the UIKit contract this object came from (the caret sits flush against the edge)."
|
|
3020
3022
|
}
|
|
3021
3023
|
}
|
|
3022
3024
|
},
|
|
@@ -4758,7 +4760,7 @@
|
|
|
4758
4760
|
"string",
|
|
4759
4761
|
"binding"
|
|
4760
4762
|
],
|
|
4761
|
-
"description": "Unselected tab color - hex string or color name from colors.json (binding supported). SCOPE: this is the colour of an unselected TAB ITEM, so it only concerns TabView used as a tab bar. A TabView carrying .tabViewStyle(.page) is a PAGER and has no tab items at all, so nothing here applies to it
|
|
4763
|
+
"description": "Unselected tab color - hex string or color name from colors.json (binding supported). SCOPE: this is the colour of an unselected TAB ITEM, so it only concerns TabView used as a tab bar. A TabView carrying .tabViewStyle(.page) is a PAGER and has no tab items at all, so nothing here applies to it. iOS 26 AND LATER DO NOT HONOUR THIS, and there is no replacement: SwiftUI exposes no per-item tint for a tab bar (the whole tab/toolbar modifier surface was enumerated from the iOS 27 SDK swiftinterface - tabBarMinimizeBehavior, tabViewCustomization, tabViewSearchActivation and eleven toolbar* modifiers, none of which reaches an item), so the iOS render path routes through the UIKit appearance proxy UITabBar.appearance().unselectedItemTintColor. Measured 2026-09-15 on iPhone 16 Pro / iOS 26.5: the fixture renders 0 differing pixels from its control while tabBarBackground renders 223110 and tintColor 4553 on the same capture. The proxy is not being cleared - reading it back immediately after the set and again one runloop later both return the assigned colour - iOS 26 simply ignores it for item tints, having replaced the tab bar. Three replacement routes were rendered and each measured 0: the legacy property, UITabBarAppearance item colours (stackedLayoutAppearance / inlineLayoutAppearance / compactInlineLayoutAppearance, assigned to standardAppearance and scrollEdgeAppearance) in onAppear, and the same set before the view is constructed; a build control injecting a red backgroundColor on that same path moved 223110 pixels, so the code demonstrably ran. NOT a v10.22.0 regression: conformance run 34849471695 shows it on iOS 26 before that tag existed, and the iOS 18 runs before it do not. The sibling keys are unaffected - tintColor, tabBarBackground (which also has a SwiftUI route) and the Slider / Switch / Segment appearance proxies are all still active on iOS 26, so this is one key, not the proxy as a whole. android and web are unaffected and still honour it."
|
|
4762
4764
|
},
|
|
4763
4765
|
"tabBarBackground": {
|
|
4764
4766
|
"type": [
|
package/data/coverage.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"_comment": "Declared attributes no platform converter reads. Hand-maintained: close a gap by implementing it (then delete the entry) or by narrowing platform/mode in attribute_definitions.json. reason is one of: dynamic-key, legacy, platform-na, runtime-only, unimplemented.",
|
|
3
|
+
"_comment": "Declared attributes no platform converter reads. Hand-maintained: close a gap by implementing it (then delete the entry) or by narrowing platform/mode in attribute_definitions.json. reason is one of: dynamic-key, legacy, platform-na, runtime-only, unimplemented, unreviewed.",
|
|
4
4
|
"entries": [
|
|
5
5
|
{
|
|
6
6
|
"component": "ScrollView",
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
"platforms": [
|
|
18
18
|
"android"
|
|
19
19
|
],
|
|
20
|
-
"reason": "unimplemented"
|
|
20
|
+
"reason": "unimplemented",
|
|
21
|
+
"note": "written by `coverage --update`; replace with a real reason and a note, or close the gap"
|
|
21
22
|
},
|
|
22
23
|
{
|
|
23
24
|
"component": "common",
|
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.8.
|
|
47
|
+
const JSONUI_CLI_TAG = "v1.8.101";
|
|
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}`;
|