zyzz 0.0.23 → 0.0.24
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/README.md +6 -6
- package/dist/internal/Configuration.d.ts.map +1 -1
- package/dist/internal/Configuration.js +2 -1
- package/dist/internal/Configuration.js.map +1 -1
- package/dist/node/Host.d.ts.map +1 -1
- package/dist/node/Host.js +40 -12
- package/dist/node/Host.js.map +1 -1
- package/dist/react-native/internal/Device.js +90 -37
- package/dist/react-native/internal/Device.js.map +3 -3
- package/dist/react-native/internal/NativeZyzz.js.map +2 -2
- package/dist/react-native/internal/Store.d.ts +4 -0
- package/dist/react-native/internal/Store.d.ts.map +1 -1
- package/dist/react-native/internal/Store.js.map +1 -1
- package/dist/react-native/internal/Viewport.d.ts +6 -0
- package/dist/react-native/internal/Viewport.d.ts.map +1 -1
- package/dist/react-native/internal/Viewport.js +2 -0
- package/dist/react-native/internal/Viewport.js.map +1 -1
- package/dist/react-native/react.d.ts +5 -2
- package/dist/react-native/react.d.ts.map +1 -1
- package/dist/react-native/react.js +60 -8
- package/dist/react-native/react.js.map +1 -1
- package/dist/runtime/NativeContext.d.ts +6 -0
- package/dist/runtime/NativeContext.d.ts.map +1 -1
- package/dist/runtime/NativeContext.js +62 -9
- package/dist/runtime/NativeContext.js.map +1 -1
- package/dist/unplugin/index.d.ts.map +1 -1
- package/dist/unplugin/index.js +4 -1
- package/dist/unplugin/index.js.map +1 -1
- package/dist/variants.d.ts +3 -2
- package/dist/variants.d.ts.map +1 -1
- package/dist/variants.js.map +1 -1
- package/native/NativeZyzz.cpp +52 -65
- package/native/NativeZyzz.h +0 -4
- package/native/ZyzzSpecJSI.h +0 -10
- package/native/android/ZyzzSpec-generated.cpp +0 -6
- package/package.json +1 -1
- package/src/internal/Configuration.ts +2 -1
- package/src/node/Host.ts +64 -17
- package/src/react-native/internal/Device.ts +129 -48
- package/src/react-native/internal/NativeZyzz.ts +4 -6
- package/src/react-native/internal/Store.ts +4 -0
- package/src/react-native/internal/Viewport.ts +7 -0
- package/src/react-native/react.ts +81 -11
- package/src/runtime/NativeContext.ts +83 -9
- package/src/unplugin/index.ts +4 -1
- package/src/variants.ts +3 -2
|
@@ -8,10 +8,16 @@ import * as Subscription from "../react.js";
|
|
|
8
8
|
import * as Viewport from "./Viewport.js";
|
|
9
9
|
function defineConfig(options = {}) {
|
|
10
10
|
const config = Subscription.defineConfig(options);
|
|
11
|
-
return Object.freeze(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
return Object.freeze(
|
|
12
|
+
Object.defineProperties(
|
|
13
|
+
{ Provider: dimensions(config.Provider) },
|
|
14
|
+
Object.fromEntries(
|
|
15
|
+
Object.entries(Object.getOwnPropertyDescriptors(config)).filter(
|
|
16
|
+
([name]) => name !== "Provider"
|
|
17
|
+
)
|
|
18
|
+
)
|
|
19
|
+
)
|
|
20
|
+
);
|
|
15
21
|
}
|
|
16
22
|
const Provider = dimensions(Subscription.Provider);
|
|
17
23
|
function useStyles() {
|
|
@@ -44,60 +50,84 @@ function withStyles(Component, options = {}) {
|
|
|
44
50
|
function dimensions(Component) {
|
|
45
51
|
return function WindowProvider(props) {
|
|
46
52
|
const window = ReactNative.useWindowDimensions();
|
|
53
|
+
const scheme = ReactNative.useColorScheme();
|
|
47
54
|
const viewport = React.useMemo(
|
|
48
55
|
() => ({ height: window.height, width: window.width }),
|
|
49
56
|
[window.height, window.width]
|
|
50
57
|
);
|
|
58
|
+
const appearance = React.useMemo(
|
|
59
|
+
() => ({
|
|
60
|
+
adaptive,
|
|
61
|
+
colorScheme: scheme === "dark" ? "dark" : "light"
|
|
62
|
+
}),
|
|
63
|
+
[scheme]
|
|
64
|
+
);
|
|
51
65
|
return React.createElement(
|
|
52
66
|
Viewport.context.Provider,
|
|
53
67
|
{ value: viewport },
|
|
54
|
-
React.createElement(
|
|
68
|
+
React.createElement(
|
|
69
|
+
Viewport.appearance.Provider,
|
|
70
|
+
{ value: appearance },
|
|
71
|
+
React.createElement(Component, props)
|
|
72
|
+
)
|
|
55
73
|
);
|
|
56
74
|
};
|
|
57
75
|
}
|
|
76
|
+
const adaptive = ReactNative.Platform.OS === "ios" ? (light, dark) => ReactNative.DynamicColorIOS({
|
|
77
|
+
dark,
|
|
78
|
+
light
|
|
79
|
+
}) : void 0;
|
|
58
80
|
const useNativeStyles = useBindings;
|
|
59
81
|
function useBindings() {
|
|
60
82
|
const owner = React.useContext(Store.context);
|
|
61
|
-
const
|
|
62
|
-
|
|
83
|
+
const fallbackRef = React.useRef(
|
|
84
|
+
void 0
|
|
85
|
+
);
|
|
86
|
+
if (!owner)
|
|
87
|
+
fallbackRef.current ??= Store.create({
|
|
63
88
|
colorScheme: "light",
|
|
64
89
|
viewport: ReactNative.Dimensions.get("window")
|
|
65
|
-
})
|
|
66
|
-
|
|
90
|
+
});
|
|
91
|
+
const fallback = fallbackRef.current;
|
|
67
92
|
const store = owner ?? fallback;
|
|
68
93
|
const [, render] = React.useReducer((count) => count + 1, 0);
|
|
69
|
-
const [refs] = React.useState(
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
94
|
+
const [refs] = React.useState(() => {
|
|
95
|
+
const entries = /* @__PURE__ */ new Map();
|
|
96
|
+
let scheduled = false;
|
|
97
|
+
return {
|
|
98
|
+
entries,
|
|
99
|
+
// Runs after the commit, once every cleanup and re-attachment has settled, without a layout effect per render.
|
|
100
|
+
sweep() {
|
|
101
|
+
if (scheduled) return;
|
|
102
|
+
scheduled = true;
|
|
103
|
+
queueMicrotask(() => {
|
|
104
|
+
scheduled = false;
|
|
105
|
+
for (const [instance, entry] of entries) {
|
|
106
|
+
if (entry.active) continue;
|
|
107
|
+
entry.release();
|
|
108
|
+
entries.delete(instance);
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
};
|
|
78
113
|
});
|
|
79
|
-
React.useLayoutEffect(
|
|
80
|
-
() => () => {
|
|
81
|
-
for (const entry of refs.values()) entry.release();
|
|
82
|
-
refs.clear();
|
|
83
|
-
},
|
|
84
|
-
[refs]
|
|
85
|
-
);
|
|
86
114
|
return {
|
|
87
115
|
style: NativeContext.application,
|
|
88
116
|
view: (props) => {
|
|
89
117
|
const snapshot = store.getSnapshot();
|
|
90
118
|
const selected = NativeContext.resolve(props.style, snapshot);
|
|
91
119
|
const initial = NativeContext.key(props.style, snapshot);
|
|
120
|
+
if (!initial.length && typeof selected !== "function" && props.ref == null)
|
|
121
|
+
return { ...props, style: selected };
|
|
92
122
|
return {
|
|
93
123
|
...props,
|
|
94
124
|
ref: (value) => {
|
|
95
125
|
const ref = props.ref;
|
|
96
126
|
if (!value) return;
|
|
97
|
-
let entry = refs.get(value);
|
|
127
|
+
let entry = refs.entries.get(value);
|
|
98
128
|
if (entry && entry.ref !== ref) {
|
|
99
129
|
entry.release();
|
|
100
|
-
refs.delete(value);
|
|
130
|
+
refs.entries.delete(value);
|
|
101
131
|
entry = void 0;
|
|
102
132
|
}
|
|
103
133
|
if (!entry) {
|
|
@@ -112,7 +142,7 @@ function useBindings() {
|
|
|
112
142
|
else if (ref) ref.current = null;
|
|
113
143
|
}
|
|
114
144
|
};
|
|
115
|
-
refs.set(value, entry);
|
|
145
|
+
refs.entries.set(value, entry);
|
|
116
146
|
}
|
|
117
147
|
entry.active = true;
|
|
118
148
|
const attached = entry;
|
|
@@ -127,32 +157,39 @@ function useBindings() {
|
|
|
127
157
|
if (store.getSnapshot() !== snapshot) render();
|
|
128
158
|
return unsubscribe;
|
|
129
159
|
}
|
|
130
|
-
|
|
160
|
+
let id;
|
|
161
|
+
let bound = false;
|
|
131
162
|
let previous = initial;
|
|
132
163
|
const read = (context) => {
|
|
133
164
|
const keys = NativeContext.key(props.style, context);
|
|
134
165
|
if (keys.length === previous.length && keys.every((key, index) => Object.is(key, previous[index])))
|
|
135
166
|
return { commit: () => {
|
|
136
167
|
} };
|
|
137
|
-
const
|
|
138
|
-
if (!selective(
|
|
168
|
+
const next = NativeContext.resolve(props.style, context);
|
|
169
|
+
if (!selective(next)) return { commit: render };
|
|
170
|
+
id ??= ++bindings;
|
|
139
171
|
return {
|
|
140
172
|
commit: () => {
|
|
141
173
|
previous = keys;
|
|
174
|
+
bound = true;
|
|
142
175
|
},
|
|
143
|
-
patch: {
|
|
176
|
+
patch: bound ? { id, props: nativeProps(next) } : {
|
|
144
177
|
id,
|
|
145
|
-
|
|
178
|
+
node,
|
|
179
|
+
props: nativeProps(next),
|
|
180
|
+
rendered: nativeProps(selected)
|
|
146
181
|
}
|
|
147
182
|
};
|
|
148
183
|
};
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
184
|
+
if (store.getSnapshot() !== snapshot) {
|
|
185
|
+
const current = read(store.getSnapshot());
|
|
186
|
+
if (current.patch) write([current.patch]);
|
|
187
|
+
current.commit();
|
|
188
|
+
}
|
|
152
189
|
const unbind = store.bind(read, write);
|
|
153
190
|
return () => {
|
|
154
191
|
unbind();
|
|
155
|
-
NativeZyzz.detach(id);
|
|
192
|
+
if (bound) NativeZyzz.detach(id);
|
|
156
193
|
};
|
|
157
194
|
})();
|
|
158
195
|
const update = () => fallback.update({
|
|
@@ -166,6 +203,7 @@ function useBindings() {
|
|
|
166
203
|
detach();
|
|
167
204
|
subscription?.remove();
|
|
168
205
|
attached.active = false;
|
|
206
|
+
refs.sweep();
|
|
169
207
|
};
|
|
170
208
|
},
|
|
171
209
|
style: selected
|
|
@@ -175,6 +213,15 @@ function useBindings() {
|
|
|
175
213
|
}
|
|
176
214
|
function selective(style) {
|
|
177
215
|
if (typeof style === "function") return false;
|
|
216
|
+
const shared = typeof style === "object" && style !== null && !Array.isArray(style) && Object.isFrozen(style);
|
|
217
|
+
const cached = shared ? patchable.get(style) : void 0;
|
|
218
|
+
if (cached !== void 0) return cached;
|
|
219
|
+
const result = writable(style);
|
|
220
|
+
if (shared) patchable.set(style, result);
|
|
221
|
+
return result;
|
|
222
|
+
}
|
|
223
|
+
const patchable = /* @__PURE__ */ new WeakMap();
|
|
224
|
+
function writable(style) {
|
|
178
225
|
const value = ReactNative.StyleSheet.flatten(
|
|
179
226
|
style
|
|
180
227
|
);
|
|
@@ -192,7 +239,11 @@ function selective(style) {
|
|
|
192
239
|
"transformOrigin"
|
|
193
240
|
].some((property) => property in value);
|
|
194
241
|
}
|
|
242
|
+
const converted = /* @__PURE__ */ new WeakMap();
|
|
195
243
|
function nativeProps(style) {
|
|
244
|
+
const shared = typeof style === "object" && style !== null && !Array.isArray(style) && Object.isFrozen(style);
|
|
245
|
+
const cached = shared ? converted.get(style) : void 0;
|
|
246
|
+
if (cached) return cached;
|
|
196
247
|
const flattened = ReactNative.StyleSheet.flatten(
|
|
197
248
|
style
|
|
198
249
|
) ?? {};
|
|
@@ -201,8 +252,10 @@ function nativeProps(style) {
|
|
|
201
252
|
if (name === "color" || name.endsWith("Color"))
|
|
202
253
|
result[name] = ReactNative.processColor(value);
|
|
203
254
|
}
|
|
255
|
+
if (shared) converted.set(style, result);
|
|
204
256
|
return result;
|
|
205
257
|
}
|
|
258
|
+
let bindings = 0;
|
|
206
259
|
function write(patches) {
|
|
207
260
|
NativeZyzz.update(patches);
|
|
208
261
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/react-native/internal/Device.ts"],
|
|
4
|
-
"sourcesContent": ["/** Supplies automatic window measurements for native React consumers. @module */\nimport type * as Config from '../../Config.js'\nimport * as NativeContext from '../../runtime/NativeContext.js'\nimport NativeZyzz from './NativeZyzz.js'\nimport * as React from 'react'\nimport * as ReactNative from 'react-native'\nimport * as Store from './Store.js'\nimport * as Styles from './Styles.js'\nimport * as Subscription from '../react.js'\nimport * as Viewport from './Viewport.js'\n\n/** Creates native authoring helpers and a Provider with automatic window subscriptions. */\nexport function defineConfig<const options extends Config.create.Options = {}>(\n options: options & Parameters<typeof Config.create<options>>[0] = {} as never,\n): Subscription.defineConfig.ReturnType<options> {\n const config = Subscription.defineConfig<options>(options)\n return Object.freeze({\n ...config,\n Provider: dimensions(config.Provider),\n }) as Subscription.defineConfig.ReturnType<options>\n}\n\n/** Provides selected variables, appearance, and automatic native dimensions. */\nexport const Provider = dimensions(Subscription.Provider)\n\n/**\n * Compiler-inserted subscription for resolving native style applications.\n * Outside a Provider, selections use default variables, the light scheme, and window dimensions.\n */\nexport function useStyles(): Subscription.useStyles.ReturnType {\n const owner = React.useContext(Store.context)\n const [fallback] = React.useState(() =>\n Store.create({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n }),\n )\n React.useLayoutEffect(() => {\n if (owner) return\n const update = () =>\n fallback.update({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n // Dimensions can change between render and commit.\n update()\n const subscription = ReactNative.Dimensions.addEventListener(\n 'change',\n update,\n )\n return () => subscription.remove()\n }, [fallback, owner])\n\n return Styles.use(owner ?? fallback)\n}\n\nexport { useVars } from '../react.js'\n\n/**\n * Resolves compiled style props for function components using React updates.\n * @param Component - Function, memo, or ref-forwarding component receiving native styles.\n * @param options - Additional style-bearing prop names.\n * @returns A component with the original call signature and ref. Type parameters remain when `styleProps` is omitted.\n * @throws For invalid style prop names.\n */\nexport function withStyles<\n props extends object,\n result extends React.ReactNode,\n>(\n Component: (props: props) => result,\n options?: NoInfer<Subscription.withStyles.Options<(props: props) => result>>,\n): (props: props) => result\n/**\n * Resolves compiled style props for class and host components using React updates.\n * @param Component - Class component or host element type receiving native styles.\n * @param options - Additional style-bearing prop names.\n * @returns A component preserving the original props and instance ref.\n * @throws For invalid style prop names.\n */\nexport function withStyles<const component extends React.ElementType>(\n Component: component,\n options?: Subscription.withStyles.Options<component>,\n): React.ForwardRefExoticComponent<React.ComponentPropsWithRef<component>>\nexport function withStyles(\n Component: React.ElementType,\n options: Subscription.withStyles.Options<\n (props: Readonly<Record<string, unknown>>) => React.ReactNode\n > = {},\n): React.ElementType {\n return Styles.wrap(Component, options, useStyles)\n}\n\nfunction dimensions<props extends Subscription.Provider.Props>(\n Component: React.FunctionComponent<props>,\n): React.FunctionComponent<props> {\n return function WindowProvider(props: props) {\n const window = ReactNative.useWindowDimensions()\n const viewport = React.useMemo(\n () => ({ height: window.height, width: window.width }),\n [window.height, window.width],\n )\n return React.createElement(\n Viewport.context.Provider,\n { value: viewport },\n React.createElement(Component, props),\n )\n }\n}\n\n/** Compiler-only binding path, with React subscriptions for Expo Go. */\nexport const useNativeStyles = useBindings\n\ntype Instance = {\n readonly __internalInstanceHandle?:\n | {\n readonly stateNode?: { readonly node?: object | undefined } | undefined\n }\n | undefined\n readonly getNativeScrollRef?: (() => Instance) | undefined\n}\n\nfunction useBindings() {\n const owner = React.useContext(Store.context)\n const [fallback] = React.useState(() =>\n Store.create({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n }),\n )\n const store = owner ?? fallback\n const [, render] = React.useReducer((count: number) => count + 1, 0)\n const [refs] = React.useState(\n () =>\n new Map<\n Instance,\n {\n active: boolean\n ref: React.Ref<Instance> | undefined\n release: () => void\n }\n >(),\n )\n React.useLayoutEffect(() => {\n for (const [instance, entry] of refs) {\n if (entry.active) continue\n entry.release()\n refs.delete(instance)\n }\n })\n React.useLayoutEffect(\n () => () => {\n for (const entry of refs.values()) entry.release()\n refs.clear()\n },\n [refs],\n )\n return {\n style: NativeContext.application,\n view: (props: Record<string, unknown>) => {\n const snapshot = store.getSnapshot()\n const selected = NativeContext.resolve(props.style, snapshot)\n const initial = NativeContext.key(props.style, snapshot)\n\n return {\n ...props,\n ref: (value: Instance | null) => {\n const ref = props.ref as React.Ref<Instance> | undefined\n if (!value) return\n let entry = refs.get(value)\n if (entry && entry.ref !== ref) {\n entry.release()\n refs.delete(value)\n entry = undefined\n }\n if (!entry) {\n const release = typeof ref === 'function' ? ref(value) : undefined\n if (ref && typeof ref !== 'function') ref.current = value\n entry = {\n active: true,\n ref,\n release: () => {\n if (typeof release === 'function') release()\n else if (typeof ref === 'function') ref(null)\n else if (ref) ref.current = null\n },\n }\n refs.set(value, entry)\n }\n entry.active = true\n const attached = entry\n\n const instance = value.getNativeScrollRef?.() ?? value\n const node = instance.__internalInstanceHandle?.stateNode?.node\n const detach = (() => {\n if (!initial.length && typeof selected !== 'function')\n return () => {}\n if (!NativeZyzz || !node || !selective(selected)) {\n const unsubscribe = store.subscribe(render)\n if (store.getSnapshot() !== snapshot) render()\n return unsubscribe\n }\n const id = NativeZyzz!.attach(node, nativeProps(selected))\n let previous = initial\n const read = (context: NativeContext.Context) => {\n const keys = NativeContext.key(props.style, context)\n if (\n keys.length === previous.length &&\n keys.every((key, index) => Object.is(key, previous[index]))\n )\n return { commit: () => {} }\n const selected = NativeContext.resolve(props.style, context)\n if (!selective(selected)) return { commit: render }\n return {\n commit: () => {\n previous = keys\n },\n patch: {\n id,\n props: nativeProps(selected),\n },\n }\n }\n // Context can change between render and committing the host ref.\n const current = read(store.getSnapshot())\n if (current.patch) write([current.patch])\n current.commit()\n const unbind = store.bind(read, write)\n return () => {\n unbind()\n NativeZyzz!.detach(id)\n }\n })()\n const update = () =>\n fallback.update({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n const contextual =\n initial.length > 0 || typeof selected === 'function'\n const subscription =\n owner || !contextual\n ? undefined\n : ReactNative.Dimensions.addEventListener('change', update)\n if (!owner && contextual) update()\n return () => {\n detach()\n subscription?.remove()\n attached.active = false\n }\n },\n style: selected,\n }\n },\n }\n}\n\nfunction selective(style: unknown): boolean {\n if (typeof style === 'function') return false\n const value = ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n )\n // Let React Native apply its processors to caller-owned representations.\n // Only color properties are processed by the selective writer below.\n return (\n !value ||\n ![\n 'aspectRatio',\n 'backgroundImage',\n 'backgroundPosition',\n 'backgroundRepeat',\n 'backgroundSize',\n 'boxShadow',\n 'experimental_backgroundImage',\n 'filter',\n 'fontVariant',\n 'transform',\n 'transformOrigin',\n ].some((property) => property in value)\n )\n}\n\nfunction nativeProps(style: unknown): Record<string, unknown> {\n const flattened =\n ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n ) ?? {}\n const result: Record<string, unknown> = { ...flattened }\n for (const [name, value] of Object.entries(result)) {\n if (name === 'color' || name.endsWith('Color'))\n result[name] = ReactNative.processColor(value as ReactNative.ColorValue)\n }\n return result\n}\n\nfunction write(patches: readonly Store.Patch[]) {\n NativeZyzz!.update(patches)\n}\n"],
|
|
5
|
-
"mappings": "AAEA,YAAY,mBAAmB;AAC/B,OAAO,gBAAgB;AACvB,YAAY,WAAW;AACvB,YAAY,iBAAiB;AAC7B,YAAY,WAAW;AACvB,YAAY,YAAY;AACxB,YAAY,kBAAkB;AAC9B,YAAY,cAAc;AAGnB,SAAS,aACd,UAAkE,CAAC,GACpB;AAC/C,QAAM,SAAS,aAAa,aAAsB,OAAO;
|
|
6
|
-
"names": [
|
|
4
|
+
"sourcesContent": ["/** Supplies automatic window measurements for native React consumers. @module */\nimport type * as Config from '../../Config.js'\nimport * as NativeContext from '../../runtime/NativeContext.js'\nimport NativeZyzz from './NativeZyzz.js'\nimport * as React from 'react'\nimport * as ReactNative from 'react-native'\nimport * as Store from './Store.js'\nimport * as Styles from './Styles.js'\nimport * as Subscription from '../react.js'\nimport * as Viewport from './Viewport.js'\n\n/** Creates native authoring helpers and a Provider with automatic window subscriptions. */\nexport function defineConfig<const options extends Config.create.Options = {}>(\n options: options & Parameters<typeof Config.create<options>>[0] = {} as never,\n): Subscription.defineConfig.ReturnType<options> {\n const config = Subscription.defineConfig<options>(options)\n // Copy descriptors rather than spreading, so deferred helpers stay deferred.\n return Object.freeze(\n Object.defineProperties(\n { Provider: dimensions(config.Provider) } as Record<string, unknown>,\n Object.fromEntries(\n Object.entries(Object.getOwnPropertyDescriptors(config)).filter(\n ([name]) => name !== 'Provider',\n ),\n ),\n ),\n ) as unknown as Subscription.defineConfig.ReturnType<options>\n}\n\n/** Provides selected variables, appearance, and automatic native dimensions. */\nexport const Provider = dimensions(Subscription.Provider)\n\n/**\n * Compiler-inserted subscription for resolving native style applications.\n * Outside a Provider, selections use default variables, the light scheme, and window dimensions.\n */\nexport function useStyles(): Subscription.useStyles.ReturnType {\n const owner = React.useContext(Store.context)\n const [fallback] = React.useState(() =>\n Store.create({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n }),\n )\n React.useLayoutEffect(() => {\n if (owner) return\n const update = () =>\n fallback.update({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n // Dimensions can change between render and commit.\n update()\n const subscription = ReactNative.Dimensions.addEventListener(\n 'change',\n update,\n )\n return () => subscription.remove()\n }, [fallback, owner])\n\n return Styles.use(owner ?? fallback)\n}\n\nexport { useVars } from '../react.js'\n\n/**\n * Resolves compiled style props for function components using React updates.\n * @param Component - Function, memo, or ref-forwarding component receiving native styles.\n * @param options - Additional style-bearing prop names.\n * @returns A component with the original call signature and ref. Type parameters remain when `styleProps` is omitted.\n * @throws For invalid style prop names.\n */\nexport function withStyles<\n props extends object,\n result extends React.ReactNode,\n>(\n Component: (props: props) => result,\n options?: NoInfer<Subscription.withStyles.Options<(props: props) => result>>,\n): (props: props) => result\n/**\n * Resolves compiled style props for class and host components using React updates.\n * @param Component - Class component or host element type receiving native styles.\n * @param options - Additional style-bearing prop names.\n * @returns A component preserving the original props and instance ref.\n * @throws For invalid style prop names.\n */\nexport function withStyles<const component extends React.ElementType>(\n Component: component,\n options?: Subscription.withStyles.Options<component>,\n): React.ForwardRefExoticComponent<React.ComponentPropsWithRef<component>>\nexport function withStyles(\n Component: React.ElementType,\n options: Subscription.withStyles.Options<\n (props: Readonly<Record<string, unknown>>) => React.ReactNode\n > = {},\n): React.ElementType {\n return Styles.wrap(Component, options, useStyles)\n}\n\nfunction dimensions<props extends Subscription.Provider.Props>(\n Component: React.FunctionComponent<props>,\n): React.FunctionComponent<props> {\n return function WindowProvider(props: props) {\n const window = ReactNative.useWindowDimensions()\n const scheme = ReactNative.useColorScheme()\n const viewport = React.useMemo(\n () => ({ height: window.height, width: window.width }),\n [window.height, window.width],\n )\n const appearance = React.useMemo(\n () => ({\n adaptive,\n colorScheme: scheme === 'dark' ? ('dark' as const) : ('light' as const),\n }),\n [scheme],\n )\n return React.createElement(\n Viewport.context.Provider,\n { value: viewport },\n React.createElement(\n Viewport.appearance.Provider,\n { value: appearance },\n React.createElement(Component, props),\n ),\n )\n }\n}\n\n// iOS resolves these colors from the window's appearance, so scheme changes need no Fabric update.\nconst adaptive =\n ReactNative.Platform.OS === 'ios'\n ? (light: string | number, dark: string | number) =>\n ReactNative.DynamicColorIOS({\n dark: dark as ReactNative.ColorValue,\n light: light as ReactNative.ColorValue,\n })\n : undefined\n\n/** Compiler-only binding path, with React subscriptions for Expo Go. */\nexport const useNativeStyles = useBindings\n\ntype Instance = {\n readonly __internalInstanceHandle?:\n | {\n readonly stateNode?: { readonly node?: object | undefined } | undefined\n }\n | undefined\n readonly getNativeScrollRef?: (() => Instance) | undefined\n}\n\nfunction useBindings() {\n const owner = React.useContext(Store.context)\n // Views inside a Provider never read the fallback, so it is created only outside one.\n const fallbackRef = React.useRef<ReturnType<typeof Store.create> | undefined>(\n undefined,\n )\n if (!owner)\n fallbackRef.current ??= Store.create({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n const fallback = fallbackRef.current\n const store = (owner ?? fallback)!\n const [, render] = React.useReducer((count: number) => count + 1, 0)\n const [refs] = React.useState(() => {\n const entries = new Map<\n Instance,\n {\n active: boolean\n ref: React.Ref<Instance> | undefined\n release: () => void\n }\n >()\n let scheduled = false\n return {\n entries,\n // Runs after the commit, once every cleanup and re-attachment has settled, without a layout effect per render.\n sweep() {\n if (scheduled) return\n scheduled = true\n queueMicrotask(() => {\n scheduled = false\n for (const [instance, entry] of entries) {\n if (entry.active) continue\n entry.release()\n entries.delete(instance)\n }\n })\n },\n }\n })\n return {\n style: NativeContext.application,\n view: (props: Record<string, unknown>) => {\n const snapshot = store.getSnapshot()\n const selected = NativeContext.resolve(props.style, snapshot)\n const initial = NativeContext.key(props.style, snapshot)\n // A context-free style never needs a binding, so React keeps a stable element without a ref wrapper.\n if (\n !initial.length &&\n typeof selected !== 'function' &&\n props.ref == null\n )\n return { ...props, style: selected }\n\n return {\n ...props,\n ref: (value: Instance | null) => {\n const ref = props.ref as React.Ref<Instance> | undefined\n if (!value) return\n let entry = refs.entries.get(value)\n if (entry && entry.ref !== ref) {\n entry.release()\n refs.entries.delete(value)\n entry = undefined\n }\n if (!entry) {\n const release = typeof ref === 'function' ? ref(value) : undefined\n if (ref && typeof ref !== 'function') ref.current = value\n entry = {\n active: true,\n ref,\n release: () => {\n if (typeof release === 'function') release()\n else if (typeof ref === 'function') ref(null)\n else if (ref) ref.current = null\n },\n }\n refs.entries.set(value, entry)\n }\n entry.active = true\n const attached = entry\n\n const instance = value.getNativeScrollRef?.() ?? value\n const node = instance.__internalInstanceHandle?.stateNode?.node\n const detach = (() => {\n if (!initial.length && typeof selected !== 'function')\n return () => {}\n if (!NativeZyzz || !node || !selective(selected)) {\n const unsubscribe = store.subscribe(render)\n if (store.getSnapshot() !== snapshot) render()\n return unsubscribe\n }\n // Most views never change selection, so they bind on their first patch.\n let id: number | undefined\n let bound = false\n let previous = initial\n const read = (context: NativeContext.Context) => {\n const keys = NativeContext.key(props.style, context)\n if (\n keys.length === previous.length &&\n keys.every((key, index) => Object.is(key, previous[index]))\n )\n return { commit: () => {} }\n const next = NativeContext.resolve(props.style, context)\n if (!selective(next)) return { commit: render }\n id ??= ++bindings\n return {\n commit: () => {\n previous = keys\n bound = true\n },\n patch: bound\n ? { id, props: nativeProps(next) }\n : {\n id,\n node,\n props: nativeProps(next),\n rendered: nativeProps(selected),\n },\n }\n }\n // Context can change between render and committing the host ref.\n if (store.getSnapshot() !== snapshot) {\n const current = read(store.getSnapshot())\n if (current.patch) write([current.patch])\n current.commit()\n }\n const unbind = store.bind(read, write)\n return () => {\n unbind()\n if (bound) NativeZyzz!.detach(id!)\n }\n })()\n const update = () =>\n fallback!.update({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n const contextual =\n initial.length > 0 || typeof selected === 'function'\n const subscription =\n owner || !contextual\n ? undefined\n : ReactNative.Dimensions.addEventListener('change', update)\n if (!owner && contextual) update()\n return () => {\n detach()\n subscription?.remove()\n attached.active = false\n refs.sweep()\n }\n },\n style: selected,\n }\n },\n }\n}\n\nfunction selective(style: unknown): boolean {\n if (typeof style === 'function') return false\n const shared =\n typeof style === 'object' &&\n style !== null &&\n !Array.isArray(style) &&\n Object.isFrozen(style)\n const cached = shared ? patchable.get(style) : undefined\n if (cached !== undefined) return cached\n const result = writable(style)\n if (shared) patchable.set(style, result)\n return result\n}\n\nconst patchable = new WeakMap<object, boolean>()\n\nfunction writable(style: unknown): boolean {\n const value = ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n )\n // Let React Native apply its processors to caller-owned representations.\n // Only color properties are processed by the selective writer below.\n return (\n !value ||\n ![\n 'aspectRatio',\n 'backgroundImage',\n 'backgroundPosition',\n 'backgroundRepeat',\n 'backgroundSize',\n 'boxShadow',\n 'experimental_backgroundImage',\n 'filter',\n 'fontVariant',\n 'transform',\n 'transformOrigin',\n ].some((property) => property in value)\n )\n}\n\n// Compiled styles are frozen and shared by every view that selects them.\nconst converted = new WeakMap<object, Record<string, unknown>>()\nfunction nativeProps(style: unknown): Record<string, unknown> {\n const shared =\n typeof style === 'object' &&\n style !== null &&\n !Array.isArray(style) &&\n Object.isFrozen(style)\n const cached = shared ? converted.get(style) : undefined\n if (cached) return cached\n const flattened =\n ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n ) ?? {}\n const result: Record<string, unknown> = { ...flattened }\n for (const [name, value] of Object.entries(result)) {\n if (name === 'color' || name.endsWith('Color'))\n result[name] = ReactNative.processColor(value as ReactNative.ColorValue)\n }\n if (shared) converted.set(style, result)\n return result\n}\n\n// Binding identifiers are unique per JavaScript runtime, like the native module.\nlet bindings = 0\n\nfunction write(patches: readonly Store.Patch[]) {\n NativeZyzz!.update(patches)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/react-native/internal/NativeZyzz.ts"],
|
|
4
|
-
"sourcesContent": ["/** Private Fabric bridge for committed view bindings. @module */\nimport type { CodegenTypes, TurboModule } from 'react-native'\nimport { TurboModuleRegistry } from 'react-native'\n\n/** Codegen contract, consumed only by the native adapter. */\nexport interface Spec extends TurboModule {\n /**
|
|
5
|
-
"mappings": "AAEA,SAAS,2BAA2B;
|
|
4
|
+
"sourcesContent": ["/** Private Fabric bridge for committed view bindings. @module */\nimport type { CodegenTypes, TurboModule } from 'react-native'\nimport { TurboModuleRegistry } from 'react-native'\n\n/** Codegen contract, consumed only by the native adapter. */\nexport interface Spec extends TurboModule {\n /** Releases a view binding. */\n readonly detach: (id: number) => void\n /** Reports live bindings and applied update batches. */\n readonly inspect: () => CodegenTypes.UnsafeObject\n /**\n * Applies one batch of changed native styles. An update with `node` and\n * `rendered` first binds that mounted Fabric node to its rendered style.\n */\n readonly update: (updates: ReadonlyArray<CodegenTypes.UnsafeObject>) => void\n}\n\nexport default TurboModuleRegistry.get<Spec>('NativeZyzz')\n"],
|
|
5
|
+
"mappings": "AAEA,SAAS,2BAA2B;AAepC,IAAO,qBAAQ,oBAAoB,IAAU,YAAY;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,8 +5,12 @@ import * as React from 'react';
|
|
|
5
5
|
export type Patch = {
|
|
6
6
|
/** Runtime-local mounted view identifier. */
|
|
7
7
|
readonly id: number;
|
|
8
|
+
/** Mounted Fabric node, sent until the binding's first patch commits. */
|
|
9
|
+
readonly node?: object | undefined;
|
|
8
10
|
/** Processed native style properties. */
|
|
9
11
|
readonly props: Record<string, unknown>;
|
|
12
|
+
/** Processed style React rendered, sent with `node`. */
|
|
13
|
+
readonly rendered?: Record<string, unknown> | undefined;
|
|
10
14
|
};
|
|
11
15
|
type Selection = {
|
|
12
16
|
readonly commit: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,KAAK,aAAa,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,MAAM,MAAM,KAAK,GAAG;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,KAAK,aAAa,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,MAAM,MAAM,KAAK,GAAG;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACvC,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;CACxD,CAAA;AAED,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CACnC,CAAA;AACD,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,KAAK,SAAS,CAAA;AACzD,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,KAAK,IAAI,CAAA;AAEjD,6CAA6C;AAC7C,eAAO,MAAM,OAAO;eAWL,MAAM,SAAS,MAAM;;wBAOZ,MAAM,IAAI;kBAOhB,aAAa,CAAC,OAAO;cAvB3B,CAAA;AAEZ,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO;IAMjD,IAAI,OAAO,MAAM,SAAS,MAAM;IAMhC,WAAW;IACX,SAAS,WAAW,MAAM,IAAI;IAO9B,MAAM,QAAQ,aAAa,CAAC,OAAO;EAgCtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,6CAA6C;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAExC,SAAS,CAAC,CAAA;AAEZ,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,OAA8B;IACnD,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IAEvC,OAAO;QACL,IAAI,CAAC,IAAY,EAAE,KAAa;YAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACzB,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,CAAA;QACH,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;QAC3B,SAAS,CAAC,QAAoB;YAC5B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC,CAAA;QACH,CAAC;QACD,MAAM,CAAC,KAA4B;YACjC,IACE,QAAQ,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;gBAC1C,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,MAAM;gBACpD,QAAQ,CAAC,QAAQ,EAAE,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE,KAAK;gBAElD,OAAM;YAER,sEAAsE;YACtE,MAAM,UAAU,GAAgB,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;YAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC7B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK;oBAAE,SAAQ;gBAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,CAAA;oBACV,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAC3B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAEtD,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/B,KAAK,MAAM,SAAS,IAAI,UAAU;gBAAE,SAAS,CAAC,MAAM,EAAE,CAAA;YACtD,oEAAoE;YACpE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC1C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,QAAQ,EAAE,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
/** Connects the native device adapter to framework subscriptions. @module */
|
|
2
|
+
import type * as NativeContext from '../../runtime/NativeContext.js';
|
|
2
3
|
import type * as Media from '../../runtime/internal/NativeMedia.js';
|
|
3
4
|
import * as React from 'react';
|
|
4
5
|
/** Window measurements owned by the native Provider lifecycle. */
|
|
5
6
|
export declare const context: React.Context<Media.Viewport | undefined>;
|
|
7
|
+
/** Device appearance for `colorScheme: 'system'`, with the platform's appearance-following color when it has one. */
|
|
8
|
+
export declare const appearance: React.Context<{
|
|
9
|
+
readonly adaptive?: NativeContext.Context['adaptive'];
|
|
10
|
+
readonly colorScheme: 'dark' | 'light';
|
|
11
|
+
}>;
|
|
6
12
|
//# sourceMappingURL=Viewport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Viewport.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,KAAK,KAAK,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,eAAO,MAAM,OAAO,2CAEnB,CAAA"}
|
|
1
|
+
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Viewport.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,OAAO,KAAK,KAAK,aAAa,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,KAAK,KAAK,MAAM,uCAAuC,CAAA;AACnE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,eAAO,MAAM,OAAO,2CAEnB,CAAA;AAED,qHAAqH;AACrH,eAAO,MAAM,UAAU;wBACD,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;0BAC/B,MAAM,GAAG,OAAO;EACZ,CAAA"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
/** Window measurements owned by the native Provider lifecycle. */
|
|
3
3
|
export const context = React.createContext(undefined);
|
|
4
|
+
/** Device appearance for `colorScheme: 'system'`, with the platform's appearance-following color when it has one. */
|
|
5
|
+
export const appearance = React.createContext({ colorScheme: 'light' });
|
|
4
6
|
//# sourceMappingURL=Viewport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/react-native/internal/Viewport.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Viewport.js","sourceRoot":"","sources":["../../../src/react-native/internal/Viewport.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CACxC,SAAS,CACV,CAAA;AAED,qHAAqH;AACrH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAG1C,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA"}
|
|
@@ -39,8 +39,11 @@ export declare namespace Provider {
|
|
|
39
39
|
type Props = {
|
|
40
40
|
/** Components that consume compiled native styling or values. */
|
|
41
41
|
readonly children?: React.ReactNode | undefined;
|
|
42
|
-
/**
|
|
43
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Resolved device scheme, an application override, or `system` to follow the device.
|
|
44
|
+
* On iOS, `system` styles whose schemes differ only in color switch without updates.
|
|
45
|
+
*/
|
|
46
|
+
readonly colorScheme: 'dark' | 'light' | 'system';
|
|
44
47
|
/** Selected variables. Omission uses each configuration's default. */
|
|
45
48
|
readonly vars?: string | undefined;
|
|
46
49
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react-native/react.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,aAAa,MAAM,6BAA6B,CAAA;AACjE,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAI5C,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,KAAK,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,EAC3E,OAAO,GAAE,OAAO,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAe,GAC5E,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/react-native/react.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ import * as Styles from './internal/Styles.js';
|
|
|
7
7
|
import * as Viewport from './internal/Viewport.js';
|
|
8
8
|
/** Creates native authoring helpers and a Provider typed to the configured variables. */
|
|
9
9
|
export function defineConfig(options = {}) {
|
|
10
|
-
const config = Config.create(options);
|
|
11
10
|
const defaultVars = options.defaultVars;
|
|
12
11
|
const names = defaultVars === undefined
|
|
13
12
|
? undefined
|
|
@@ -20,25 +19,78 @@ export function defineConfig(options = {}) {
|
|
|
20
19
|
vars: props.vars ?? defaultVars,
|
|
21
20
|
});
|
|
22
21
|
}
|
|
22
|
+
if (options.vars === undefined)
|
|
23
|
+
return Object.freeze({
|
|
24
|
+
...Config.create(options),
|
|
25
|
+
Provider: BoundProvider,
|
|
26
|
+
});
|
|
27
|
+
// Compiled native styles and `useVars` read precompiled tables, so variable
|
|
28
|
+
// configurations build their authoring helpers on first runtime use.
|
|
29
|
+
let config;
|
|
30
|
+
const create = () => (config ??= Config.create(options));
|
|
23
31
|
return Object.freeze({
|
|
24
|
-
|
|
32
|
+
get appearance() {
|
|
33
|
+
return create().appearance;
|
|
34
|
+
},
|
|
25
35
|
Provider: BoundProvider,
|
|
36
|
+
get script() {
|
|
37
|
+
return create().script;
|
|
38
|
+
},
|
|
39
|
+
style: (...args) => create().style(...args),
|
|
40
|
+
variants: (...args) => create().variants(...args),
|
|
41
|
+
vars: deferred(() => create().vars),
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/** Forwards every operation to a value built on first use, mirroring it onto the proxy target so invariants hold. */
|
|
45
|
+
function deferred(create) {
|
|
46
|
+
const target = (() => { });
|
|
47
|
+
let ready = false;
|
|
48
|
+
function resolve() {
|
|
49
|
+
if (ready)
|
|
50
|
+
return target;
|
|
51
|
+
const value = create();
|
|
52
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(value));
|
|
53
|
+
Object.setPrototypeOf(target, Object.getPrototypeOf(value));
|
|
54
|
+
if (Object.isFrozen(value))
|
|
55
|
+
Object.freeze(target);
|
|
56
|
+
ready = true;
|
|
57
|
+
return target;
|
|
58
|
+
}
|
|
59
|
+
return new Proxy(target, {
|
|
60
|
+
apply: (_, self, args) => Reflect.apply(create(), self, args),
|
|
61
|
+
defineProperty: (_, key, descriptor) => Reflect.defineProperty(resolve(), key, descriptor),
|
|
62
|
+
deleteProperty: (_, key) => Reflect.deleteProperty(resolve(), key),
|
|
63
|
+
get: (_, key) => Reflect.get(resolve(), key),
|
|
64
|
+
getOwnPropertyDescriptor: (_, key) => Reflect.getOwnPropertyDescriptor(resolve(), key),
|
|
65
|
+
getPrototypeOf: () => Reflect.getPrototypeOf(resolve()),
|
|
66
|
+
has: (_, key) => Reflect.has(resolve(), key),
|
|
67
|
+
isExtensible: () => Reflect.isExtensible(resolve()),
|
|
68
|
+
ownKeys: () => Reflect.ownKeys(resolve()),
|
|
69
|
+
preventExtensions: () => Reflect.preventExtensions(resolve()),
|
|
70
|
+
set: (_, key, value) => Reflect.set(resolve(), key, value),
|
|
71
|
+
setPrototypeOf: (_, prototype) => Reflect.setPrototypeOf(resolve(), prototype),
|
|
26
72
|
});
|
|
27
73
|
}
|
|
28
74
|
/** Supplies selected variables, appearance, and adapter measurements to this subtree. */
|
|
29
75
|
export function Provider(props) {
|
|
30
76
|
if (Object.hasOwn(props, 'set'))
|
|
31
77
|
throw new Error('Provider uses vars instead of set.');
|
|
32
|
-
if ((props.colorScheme !== 'light' &&
|
|
78
|
+
if ((props.colorScheme !== 'light' &&
|
|
79
|
+
props.colorScheme !== 'dark' &&
|
|
80
|
+
props.colorScheme !== 'system') ||
|
|
33
81
|
(props.vars !== undefined &&
|
|
34
82
|
(typeof props.vars !== 'string' || !props.vars.trim())))
|
|
35
|
-
throw new Error('Native appearance requires a
|
|
83
|
+
throw new Error('Native appearance requires a light, dark, or system scheme and a nonempty vars name.');
|
|
36
84
|
const viewport = React.useContext(Viewport.context);
|
|
37
|
-
const
|
|
85
|
+
const system = React.useContext(Viewport.appearance);
|
|
86
|
+
const colorScheme = props.colorScheme === 'system' ? system.colorScheme : props.colorScheme;
|
|
87
|
+
const adaptive = props.colorScheme === 'system' ? system.adaptive : undefined;
|
|
88
|
+
const [store] = React.useState(() => Store.create({ adaptive, colorScheme, set: props.vars, viewport }));
|
|
38
89
|
const [, publish] = React.useReducer((version) => version + 1, 0);
|
|
39
90
|
const committed = React.useRef(props.children);
|
|
40
91
|
const snapshot = store.getSnapshot();
|
|
41
|
-
const pending = snapshot.
|
|
92
|
+
const pending = snapshot.adaptive !== adaptive ||
|
|
93
|
+
snapshot.colorScheme !== colorScheme ||
|
|
42
94
|
snapshot.set !== props.vars ||
|
|
43
95
|
snapshot.viewport?.width !== viewport?.width ||
|
|
44
96
|
snapshot.viewport?.height !== viewport?.height;
|
|
@@ -50,9 +102,9 @@ export function Provider(props) {
|
|
|
50
102
|
// Keep the committed subtree until its selection is published. This avoids
|
|
51
103
|
// rendering new application props with the previous store snapshot, without
|
|
52
104
|
// mutating an external store during a potentially abandoned React render.
|
|
53
|
-
store.update({
|
|
105
|
+
store.update({ adaptive, colorScheme, set: props.vars, viewport });
|
|
54
106
|
publish();
|
|
55
|
-
}, [
|
|
107
|
+
}, [adaptive, children, colorScheme, pending, props.vars, store, viewport]);
|
|
56
108
|
return React.createElement(Store.context.Provider, { value: store }, children);
|
|
57
109
|
}
|
|
58
110
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/react-native/react.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAEtC,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;AACtD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAA;AAElD,yFAAyF;AACzF,MAAM,UAAU,YAAY,CAC1B,OAAO,GAA2D,EAAW;IAE7E,MAAM,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../../src/react-native/react.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,12 @@ import type * as Native from './Native.js';
|
|
|
3
3
|
import * as Media from './internal/NativeMedia.js';
|
|
4
4
|
/** Render-local set and resolved appearance. */
|
|
5
5
|
export type Context = {
|
|
6
|
+
/**
|
|
7
|
+
* Builds a color that follows the platform appearance. When present, styles whose
|
|
8
|
+
* light and dark selections differ only in color use it and need no scheme update.
|
|
9
|
+
* Must be stable, since adapted styles are cached per selection pair.
|
|
10
|
+
*/
|
|
11
|
+
readonly adaptive?: ((light: string | number, dark: string | number) => unknown) | undefined;
|
|
6
12
|
/** Resolved system appearance or an explicit override. */
|
|
7
13
|
readonly colorScheme: 'dark' | 'light';
|
|
8
14
|
/** Named compiled set; omission uses each configuration default. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeContext.d.ts","sourceRoot":"","sources":["../../src/runtime/NativeContext.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAKlD,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;IACtC,oEAAoE;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;CAC/C,CAAA;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACtD,KAAK,MAAM,GAAG,QAAQ,CACpB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAC7D,CAAA;AAED,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS,MAAM,EAChD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,MAAM,GAAG,MAAM,GACjC,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"NativeContext.d.ts","sourceRoot":"","sources":["../../src/runtime/NativeContext.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAKlD,gDAAgD;AAChD,MAAM,MAAM,OAAO,GAAG;IACpB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EACd,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,CAAC,GAC5D,SAAS,CAAA;IACb,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;IACtC,oEAAoE;IACpE,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACjC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;CAC/C,CAAA;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AACtD,KAAK,MAAM,GAAG,QAAQ,CACpB,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAC7D,CAAA;AAED,6FAA6F;AAC7F,wBAAgB,MAAM,CAAC,KAAK,CAAC,MAAM,SAAS,MAAM,EAChD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,MAAM,GAAG,MAAM,GACjC,MAAM,CAAC,MAAM,MAAM,CAAC,CAAC,OAAO,CAAC,CA6B/B;AAED,2FAA2F;AAC3F,wBAAgB,OAAO,CACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAgBT;AAED,kFAAkF;AAClF,wBAAgB,UAAU,CACxB,KAAK,CAAC,QAAQ,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,EAEzD,OAAO,EAAE,SAAS,KAAK,CAAC,KAAK,EAAE,EAC/B,QAAQ,EAAE,QAAQ,GACjB,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAY1B;AAED,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAQpE;AAED,kFAAkF;AAClF,wBAAgB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,OAAO,EAAE,CAaxE"}
|