You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: architecture.md
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -218,6 +218,13 @@ The sheet must remain serializable. Cache state, subscriptions, and runtime trac
218
218
219
219
`src/compiler.ts` parses CSS with the lightweight `css` parser. Runtime mode returns an empty diagnostic sheet on syntax errors. Build mode throws for errors that should fail Babel/loader builds.
220
220
221
+
Build mode validates static declaration values through the shared value resolver
222
+
and property transformer. Unsupported static constructs such as
223
+
layout-dependent `calc()` expressions, unsupported transform functions, and
224
+
unsupported background images fail during Babel/loader compilation.
225
+
Declarations containing `var()` or template slots are deferred to runtime
226
+
validation because their final value is not knowable at build time.
-`config.ts`: optional `CssxProvider`, `configureCssx()`, and `useCssxConfig()`.
308
315
309
316
`useCssxSheet()` starts a render-local dependency collection before render and commits it in a layout/effect phase. If a render is aborted, for example because a component throws a promise into Suspense, the pending dependencies are not committed and do not leak global subscriptions.
310
317
311
-
Variable writes and deletes notify subscribers once per microtask. Subscribers only rerender when a variable they actually used changes. Media and viewport-unit subscribers are tied to dimension changes. Web resize uses leading plus trailing debounced updates.
318
+
Variable writes and deletes notify subscribers once per microtask. Subscribers only rerender when a variable they actually used changes. Viewport-unit subscribers are tied to dimension changes. Media-query dependencies store the match value observed during the committed render; dimension changes and platform media adapter changes only rerender subscribers whose committed media result changed. Browser `matchMedia` is used on web when available, and tests can install a media-query adapter for non-DOM media features such as `prefers-color-scheme`, `hover`, and `pointer`. Web resize uses leading plus trailing debounced updates.
312
319
313
320
## Loaders And Separate Files
314
321
@@ -392,7 +399,7 @@ cd packages/babel-plugin-rn-stylename-to-style && yarn test
392
399
`@cssxjs/css-to-rn` tests:
393
400
394
401
-`test/engine/**`: parser IR, value resolution, property transforms, resolver cascade, cache behavior.
0 commit comments