@stacksjs/defaults 0.75.127 → 0.75.128

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.
@@ -106,6 +106,46 @@ minimumIntervalMinutes? }`and`associatedDomains` (universal links). Leave
106
106
  `buddy build:ios` warns. The Liquid Glass chrome needs iOS 26 at run time;
107
107
  the default `deploymentTarget` stays, older systems drawing classic bars.
108
108
 
109
+ ## Native screen bindings
110
+
111
+ Screens under `resources/native/` use the same STX client syntax as web views.
112
+ Declare reactive data in `<script client>` and bind text with `:text`, props
113
+ with `:prop`, and native presses with `@click`. Pull-to-refresh uses `@refresh`
114
+ and a boolean `:refreshing` signal. Bare signals auto-unwrap in bindings;
115
+ read them with `signal()` and update them with `signal.set()` inside scripts.
116
+ Imported helpers used only in bindings are retained in the client setup.
117
+
118
+ ```stx
119
+ <script client>
120
+ const title = state('Today')
121
+ const refreshing = state(false)
122
+ async function refresh() {
123
+ refreshing.set(true)
124
+ try {
125
+ const response = await fetch('https://example.com/api/title')
126
+ if (!response.ok) throw new Error('Could not refresh')
127
+ title.set((await response.json()).title)
128
+ }
129
+ finally {
130
+ refreshing.set(false)
131
+ }
132
+ }
133
+ </script>
134
+ <ScrollView @refresh="refresh()" :refreshing="refreshing">
135
+ <Text :text="title" />
136
+ </ScrollView>
137
+ ```
138
+
139
+ A single-brace JSX expression such as `{title}` is plain text in STX. Keep
140
+ startup requests and timers in `onMount()`, returning a cleanup for timers so
141
+ leaving a native screen releases them. Test the minified `compileNativeBundle`
142
+ output with the native bridge, including refresh, keyed rows, conditions and
143
+ navigation; compiling a plausible tree alone does not prove it updates.
144
+
145
+ While an app is in TestFlight before its first public release, keep the iOS
146
+ marketing version at `1.0.0` and run `buddy release:ios --bump build`. Each
147
+ upload needs a new build number, not a patch to the marketing version.
148
+
109
149
  ## Device search index
110
150
 
111
151
  `spotlight` says what of the application's own content a device may index, so
@@ -2,7 +2,7 @@
2
2
  "publisher": "Stacks",
3
3
  "name": "vscode-stacks",
4
4
  "displayName": "Stacks",
5
- "version": "0.75.127",
5
+ "version": "0.75.128",
6
6
  "description": "Stacks, built into VS Code: stx templates, pickier linting and formatting, encrypted env files, the dev server preview and every buddy command. No other extensions required.",
7
7
  "license": "MIT",
8
8
  "funding": "https://github.com/sponsors/chrisbbreuer",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@stacksjs/defaults",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "0.75.127",
5
+ "version": "0.75.128",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/stacksjs/stacks.git",
@@ -55,7 +55,7 @@
55
55
  "dependencies": {
56
56
  "@iconify-json/f7": "^1.2.2",
57
57
  "@iconify-json/hugeicons": "^1.2.35",
58
- "@stacksjs/mobile": "0.75.127",
58
+ "@stacksjs/mobile": "0.75.128",
59
59
  "@stacksjs/sanitizer": "^0.2.422",
60
60
  "@xterm/addon-fit": "^0.11.0",
61
61
  "@xterm/xterm": "^6.0.0",