@lynx-js/type-config 3.6.0 → 4.1.0

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/types/config.d.ts CHANGED
@@ -10,73 +10,7 @@
10
10
 
11
11
  export interface Config {
12
12
  /**
13
- * When set to true, the containing block of absolute/fixed elements is the content area; otherwise, it is the padding area
14
- *
15
- * Supported platform: Android, HarmonyOS, iOS
16
- *
17
- * Since: LynxSDK 3.2
18
- *
19
- * @defaultValue false
20
- */
21
- absoluteInContentBound?: boolean;
22
-
23
- /**
24
- * Enable Android Lynx Image URL asynchronous redirect
25
- *
26
- * Supported platform: Android
27
- *
28
- * Since: LynxSDK 3.2
29
- *
30
- * @defaultValue undefined
31
- */
32
- asyncRedirect?: boolean;
33
-
34
- /**
35
- * if this flag is true, onShow/onHide will be automatically triggered by attachToView/detachFromWindow calls
36
- *
37
- * Supported platform: Android, HarmonyOS, iOS
38
- *
39
- * Since: LynxSDK 3.2
40
- *
41
- * @defaultValue true
42
- */
43
- autoExpose?: boolean;
44
-
45
- /**
46
- * When set to true, for compatibility, some layout behaviors are consistent with the previous incorrect behaviors.
47
- *
48
- * Supported platform: Android, HarmonyOS, iOS
49
- *
50
- * Since: LynxSDK 3.2
51
- *
52
- * @defaultValue false
53
- */
54
- CSSAlignWithLegacyW3C?: boolean;
55
-
56
- /**
57
- * Custom Inheritable CSS Properties
58
- *
59
- * Supported platform: Android, HarmonyOS, iOS
60
- *
61
- * Since: LynxSDK 3.2
62
- *
63
- * @defaultValue undefined
64
- */
65
- customCSSInheritanceList?: string[];
66
-
67
- /**
68
- * ReactLynx cannot opt top_level_variables used in lepus. So we cannot forbid updateData when variable not in top_level_variables. User can use this config to close the check.
69
- *
70
- * Supported platform: Android, HarmonyOS, iOS
71
- *
72
- * Since: LynxSDK 3.2
73
- *
74
- * @defaultValue true
75
- */
76
- dataStrictMode?: boolean;
77
-
78
- /**
79
- * Prevent the long press event from being triggered during inertial scrolling.
13
+ * Controls iOS long-press recognition after scroll gestures. When enabled, Lynx requires long press to wait for a decelerating scroll view pan recognizer to fail, suppressing long press during inertial scrolling.
80
14
  *
81
15
  * Supported platform: iOS
82
16
  *
@@ -87,18 +21,7 @@ export interface Config {
87
21
  disableLongpressAfterScroll?: boolean;
88
22
 
89
23
  /**
90
- * Disable tracing gc mode in quick context.
91
- *
92
- * Supported platform: Android, HarmonyOS, iOS
93
- *
94
- * Since: LynxSDK 3.2
95
- *
96
- * @defaultValue false
97
- */
98
- disableQuickTracingGC?: boolean;
99
-
100
- /**
101
- * Enable Android A11y
24
+ * Controls whether Android turns on the helper-based Lynx accessibility path for the page. When enabled, LynxAccessibilityWrapper initializes the accessibility helper and a11y-id based lookup path; when disabled, runtime falls back to the default or delegate-based accessibility behavior.
102
25
  *
103
26
  * Supported platform: Android
104
27
  *
@@ -109,7 +32,7 @@ export interface Config {
109
32
  enableA11y?: boolean;
110
33
 
111
34
  /**
112
- * Indicates whether all ui enable a11y
35
+ * Controls the default accessibility-element status for Android Lynx views. When enabled, views whose own a11y status is default inherit important-for-accessibility behavior from page config; when disabled, those views stay out of the default accessibility tree unless explicitly marked.
113
36
  *
114
37
  * Supported platform: Android
115
38
  *
@@ -120,106 +43,7 @@ export interface Config {
120
43
  enableAccessibilityElement?: boolean;
121
44
 
122
45
  /**
123
- * Whether to enable asynchronous initialization of videoEngine
124
- *
125
- * Supported platform: Android
126
- *
127
- * Since: LynxSDK 3.2
128
- *
129
- * @defaultValue false
130
- */
131
- enableAsyncInitVideoEngine?: boolean;
132
-
133
- /**
134
- * If true, supports initiating image requests in asynchronous threads.
135
- *
136
- * Supported platform: Android
137
- *
138
- * Since: LynxSDK 3.2
139
- *
140
- * @defaultValue false
141
- */
142
- enableAsyncRequestImage?: boolean;
143
-
144
- /**
145
- * FE Framework use this config to notify Engine that resolve subtree binding will be triggered when render DOM (Not exposed to normal user)
146
- *
147
- * Supported platform: Android, iOS
148
- *
149
- * Since: LynxSDK 3.4
150
- *
151
- * @defaultValue undefined
152
- */
153
- enableAsyncResolveSubtree?: boolean;
154
-
155
- /**
156
- * Enable exposure detection optimization so that exposure detection is not performed when the page is static.
157
- *
158
- * Supported platform: iOS
159
- *
160
- * Since: LynxSDK 3.2
161
- *
162
- * @defaultValue false
163
- */
164
- enableCheckExposureOptimize?: boolean;
165
-
166
- /**
167
- * Determine whether redirection is needed for local image resources.
168
- *
169
- * Supported platform: Android
170
- *
171
- * Since: LynxSDK 3.2
172
- *
173
- * @defaultValue true
174
- */
175
- enableCheckLocalImage?: boolean;
176
-
177
- /**
178
- * If this flag is true, circular data check will enable when convert js value to other vale.
179
- *
180
- * Supported platform: Android, HarmonyOS, iOS
181
- *
182
- * Since: LynxSDK 3.2
183
- *
184
- * @defaultValue true
185
- */
186
- enableCircularDataCheck?: boolean;
187
-
188
- /**
189
- * Enable dynamic components to be decoded in child threads before they are delivered into tasm in async-loading.
190
- *
191
- * Supported platform: Android, HarmonyOS, iOS
192
- *
193
- * Since: LynxSDK 3.2
194
- *
195
- * @defaultValue undefined
196
- */
197
- enableComponentAsyncDecode?: boolean;
198
-
199
- /**
200
- * Support component can be passed null props, null props only supported in LepusNG now. Open this switch to support lepus use null prop.
201
- *
202
- * Supported platform: Android, HarmonyOS, iOS
203
- *
204
- * Since: LynxSDK 3.2
205
- *
206
- * @defaultValue false
207
- */
208
- enableComponentNullProp?: boolean;
209
-
210
- /**
211
- * Create Android platform UIs in lynx built-in thread-pool to optimize UI Operation Execution
212
- *
213
- * Supported platform: Android
214
- *
215
- * Since: LynxSDK 3.2
216
- *
217
- * @defaultValue true
218
- */
219
- enableCreateViewAsync?: boolean;
220
-
221
- /**
222
- * Enable CSS inheritance
46
+ * Controls whether the style system applies the CSS inheritance path during style propagation. When enabled, Fiber style propagation and inherited-property updates respect CSS inheritance; when disabled, inherited style propagation stays off.
223
47
  *
224
48
  * Supported platform: Android, HarmonyOS, iOS
225
49
  *
@@ -230,7 +54,7 @@ export interface Config {
230
54
  enableCSSInheritance?: boolean;
231
55
 
232
56
  /**
233
- * Enable CSS inline variables.
57
+ * Controls whether runtime treats inline style values as CSS variables and resolves them through the inline-variable path. When enabled, decoded page config turns on inline CSS variable support for runtime CSS readers and style resolution; when disabled, inline style values are handled as ordinary static styles. If the field is omitted, the setting can still be driven by native or settings fallback.
234
58
  *
235
59
  * Supported platform: Android, iOS, HarmonyOS
236
60
  *
@@ -241,29 +65,18 @@ export interface Config {
241
65
  enableCSSInlineVariables?: boolean;
242
66
 
243
67
  /**
244
- * Under scoped CSS, the imported CSS declarations by import rules are lazily decoded at the first time the scope takes effect.
68
+ * Controls unified CSS rule support in template CSS encoding and decoding. When enabled, CSS rules such as style, media, supports, keyframes, font-face, and layer rules are parsed and decoded through the unified rule path.
245
69
  *
246
70
  * Supported platform: Android, HarmonyOS, iOS
247
71
  *
248
- * Since: LynxSDK 3.2
249
- *
250
- * @defaultValue undefined
251
- */
252
- enableCSSLazyImport?: boolean;
253
-
254
- /**
255
- * Enables the disexposure event to fire when LynxView is in the hidden state.
256
- *
257
- * Supported platform: Android
258
- *
259
- * Since: LynxSDK 3.2
72
+ * Since: LynxSDK 4.0
260
73
  *
261
- * @defaultValue true
74
+ * @defaultValue false
262
75
  */
263
- enableDisexposureWhenLynxHidden?: boolean;
76
+ enableCSSRule?: boolean;
264
77
 
265
78
  /**
266
- * Enable the Lynx touch event to be triggered normally after the last finger is lifted in a multi-finger scenario.
79
+ * Controls whether iOS multi-finger touch handling ends only after the last finger is lifted. When enabled, the touch recognizer reports ended or cancelled when the final finger leaves; when disabled, the legacy earlier-ending behavior remains.
267
80
  *
268
81
  * Supported platform: iOS
269
82
  *
@@ -274,18 +87,7 @@ export interface Config {
274
87
  enableEndGestureAtLastFingerUp?: boolean;
275
88
 
276
89
  /**
277
- * Enable new event processing logic to support dynamic registration of event listeners, interception of events, etc.
278
- *
279
- * Supported platform: Android, HarmonyOS, iOS
280
- *
281
- * Since: LynxSDK 3.5
282
- *
283
- * @defaultValue false
284
- */
285
- enableEventHandleRefactor?: boolean;
286
-
287
- /**
288
- * Enable the client-slide touch event penetrate Lynx when touching the root node area of the Lynx page.
90
+ * Controls whether touches on the root area can pass through the Lynx page instead of being consumed by Lynx. When enabled, root touch dispatch returns false and overlay or host views underneath can receive the event; when disabled, Lynx keeps normal touch consumption.
289
91
  *
290
92
  * Supported platform: Android, HarmonyOS, iOS
291
93
  *
@@ -296,40 +98,40 @@ export interface Config {
296
98
  enableEventThrough?: boolean;
297
99
 
298
100
  /**
299
- * Enable exposure-ui-margin-* properties to take effect.
101
+ * Controls standard HTTP streaming support for the Lynx Fetch API. When enabled through page or native config, Fetch requests use the standard streaming response path; when disabled or unset, Fetch keeps the non-standard streaming fallback unless a legacy streaming flag is present.
300
102
  *
301
103
  * Supported platform: Android, iOS
302
104
  *
303
- * Since: LynxSDK 3.2
105
+ * Since: LynxSDK 3.7
304
106
  *
305
- * @defaultValue false
107
+ * @defaultValue undefined
306
108
  */
307
- enableExposureUIMargin?: boolean;
109
+ enableFetchAPIStandardStreaming?: boolean;
308
110
 
309
111
  /**
310
- * Enable exposure check when LynxView is layoutRequest
112
+ * When enabled, flex-basis defaults to 0% instead of 0 when omitted in flex shorthand, matching web browser behavior.
311
113
  *
312
- * Supported platform: Android
114
+ * Supported platform: Android, HarmonyOS, iOS
313
115
  *
314
- * Since: LynxSDK 3.2
116
+ * Since: LynxSDK 3.8
315
117
  *
316
118
  * @defaultValue false
317
119
  */
318
- enableExposureWhenLayout?: boolean;
120
+ enableFlexBasisZeroPercent?: boolean;
319
121
 
320
122
  /**
321
- * Enables exposure and disexposure events to be triggered when reloading the Lynx page.
123
+ * Controls whether the CSS parser accepts grid-column and grid-row shorthand syntax. When enabled, grid shorthand handlers parse placement shorthands into style values; when disabled, those shorthand declarations are rejected.
322
124
  *
323
- * Supported platform: Android, HarmonyOS, iOS
125
+ * Supported platform: Android, iOS, HarmonyOS
324
126
  *
325
- * Since: LynxSDK 3.5
127
+ * Since: LynxSDK 3.9
326
128
  *
327
129
  * @defaultValue false
328
130
  */
329
- enableExposureWhenReload?: boolean;
131
+ enableGridPlacementShorthands?: boolean;
330
132
 
331
133
  /**
332
- * A better and stable position fixed handling.
134
+ * Controls whether JS binding APIs surface binding failures as JS exceptions. When enabled, the runtime bundle turns on throw-exception behavior for JSI bindings; when disabled, bindings keep the older non-throwing behavior.
333
135
  *
334
136
  * Supported platform: Android, HarmonyOS, iOS
335
137
  *
@@ -337,54 +139,43 @@ export interface Config {
337
139
  *
338
140
  * @defaultValue false
339
141
  */
340
- enableFixedNew?: boolean;
341
-
342
- /**
343
- * Enable harmony new overlay based overlayManager to handle events pass through.
344
- *
345
- * Supported platform: HarmonyOS
346
- *
347
- * Since: LynxSDK 3.6
348
- *
349
- * @defaultValue false
350
- */
351
- enableHarmonyNewOverlay?: boolean;
142
+ enableJsBindingApiThrowException?: boolean;
352
143
 
353
144
  /**
354
- * Enable Harmony to detect exposure with visible area change event.
145
+ * Controls whether list nodes are created through the newer Radon diff list architecture. When enabled, renderer functions can build RadonDiffListNode2 and decoder falls back to the settings value if the page omits it; when disabled, runtime keeps the older list architecture.
355
146
  *
356
- * Supported platform: HarmonyOS
147
+ * Supported platform: Android, iOS
357
148
  *
358
- * Since: LynxSDK 3.4
149
+ * Since: LynxSDK 3.2
359
150
  *
360
151
  * @defaultValue false
361
152
  */
362
- enableHarmonyVisibleAreaChangeForExposure?: boolean;
153
+ enableListNewArchitecture?: boolean;
363
154
 
364
155
  /**
365
- * Enable Bind PRIMJS-ICU
156
+ * Controls whether Lynx touch events carry multi-finger state instead of collapsing to single-touch behavior. When enabled, touch events include information for multiple active fingers; when disabled, runtime keeps the single-touch event model.
366
157
  *
367
- * Supported platform: Android, iOS
158
+ * Supported platform: Android, HarmonyOS, iOS
368
159
  *
369
160
  * Since: LynxSDK 3.2
370
161
  *
371
162
  * @defaultValue false
372
163
  */
373
- enableICU?: boolean;
164
+ enableMultiTouch?: boolean;
374
165
 
375
166
  /**
376
- * If true, downsampling will be enabled for all images on this LynxView
167
+ * Controls whether list rendering prefers the native C++ list implementation instead of the older platform list path. When enabled, list elements resolve to native-list mode in shell or page config; when disabled, runtime keeps the legacy platform implementation. When unset, native config can still decide the flag.
377
168
  *
378
- * Supported platform: iOS
169
+ * Supported platform: Android, HarmonyOS, iOS
379
170
  *
380
171
  * Since: LynxSDK 3.2
381
172
  *
382
- * @defaultValue false
173
+ * @defaultValue undefined
383
174
  */
384
- enableImageDownsampling?: boolean;
175
+ enableNativeList?: boolean;
385
176
 
386
177
  /**
387
- * Enable js binding api throw exception
178
+ * Controls whether runtime enables the new gesture arena and handler integration instead of the legacy touch-only gesture path. When enabled, platform UI owners initialize new gesture handlers and Radon or Fiber gesture updates take the new path; when disabled, scrolling and touch handling keep the legacy behavior.
388
179
  *
389
180
  * Supported platform: Android, HarmonyOS, iOS
390
181
  *
@@ -392,43 +183,43 @@ export interface Config {
392
183
  *
393
184
  * @defaultValue false
394
185
  */
395
- enableJsBindingApiThrowException?: boolean;
186
+ enableNewGesture?: boolean;
396
187
 
397
188
  /**
398
- * Enable data processor on JS thread
189
+ * Controls whether intersection observers use the newer detection logic instead of the older scroll-bound path. When enabled, intersection managers add observers to the dedicated run loop and observe without depending on scroll-event binding; when disabled, runtime keeps the legacy observer logic. When unset, settings can still decide the flag.
399
190
  *
400
- * Supported platform: Android, HarmonyOS, iOS
191
+ * Supported platform: Android, iOS
401
192
  *
402
193
  * Since: LynxSDK 3.2
403
194
  *
404
- * @defaultValue false
195
+ * @defaultValue true
405
196
  */
406
- enableJSDataProcessor?: boolean;
197
+ enableNewIntersectionObserver?: boolean;
407
198
 
408
199
  /**
409
- * Does diffResult have moveAction
200
+ * Controls whether iOS uses the newer transform-origin calculation for transforms and background positioning. When enabled, `LynxUI`, `LynxConverter+Transform`, and background handling use the new origin algorithm; when disabled, iOS keeps the legacy transform-origin math. From target SDK 2.6 onward, the default override is enabled.
410
201
  *
411
202
  * Supported platform: Android, HarmonyOS, iOS
412
203
  *
413
204
  * Since: LynxSDK 3.2
414
205
  *
415
- * @defaultValue false
206
+ * @defaultValue true
416
207
  */
417
- enableListMoveOperation?: boolean;
208
+ enableNewTransformOrigin?: boolean;
418
209
 
419
210
  /**
420
- * Indicates whether to use new architecture for the platform list
211
+ * Controls whether iOS Lynx tap gestures can fire at the same time as outer native tap gestures. When enabled, LynxTap and host tap gestures are allowed to recognize together; when disabled, Lynx keeps the default mutual-exclusion behavior.
421
212
  *
422
- * Supported platform: Android, iOS
213
+ * Supported platform: iOS
423
214
  *
424
215
  * Since: LynxSDK 3.2
425
216
  *
426
217
  * @defaultValue false
427
218
  */
428
- enableListNewArchitecture?: boolean;
219
+ enableSimultaneousTap?: boolean;
429
220
 
430
221
  /**
431
- * Indicates whether to use list plug
222
+ * Controls whether platform text renderers treat text overflow as visible instead of clipping to bounds. When enabled, page config forwards the flag to platform text contexts and iOS or Harmony text rendering allows visible overflow; when disabled, text keeps the older clipped overflow behavior. From target SDK 2.8 onward, the default override is enabled.
432
223
  *
433
224
  * Supported platform: Android, iOS
434
225
  *
@@ -436,54 +227,54 @@ export interface Config {
436
227
  *
437
228
  * @defaultValue false
438
229
  */
439
- enableListPlug?: boolean;
230
+ enableTextOverflow?: boolean;
440
231
 
441
232
  /**
442
- * Force report lynx scroll fluency event. When setting pageConfig.enableLynxScrollFluency to a double value in the range [0, 1], we will monitor the fluency metrics for this LynxUI based on this probability. The probability indicates the likelihood of enabling fluency monitoring, and the metrics will be reported unconditionally through the applogService.
233
+ * Controls whether touch event coordinates account for element transforms. When enabled, Lynx and Canvas touch dispatch convert root touch points into the transformed target view coordinate space; when disabled, touch positions keep the legacy untransformed calculation.
443
234
  *
444
- * Supported platform: Android, HarmonyOS, iOS
235
+ * Supported platform: Android, HarmonyOS
445
236
  *
446
- * Since: LynxSDK 3.2
237
+ * Since: LynxSDK 3.6
447
238
  *
448
- * @defaultValue undefined
239
+ * @defaultValue false
449
240
  */
450
- enableLynxScrollFluency?: boolean | number;
241
+ enableTransformedTouchPosition?: boolean;
451
242
 
452
243
  /**
453
- * This configuration item enableMicrotaskPromisePolyfill is used to determine whether to enable the micro - task Promise polyfill. Its value type is TernaryBool, and the default value is TernaryBool::UNDEFINE_VALUE.
244
+ * Controls whether font scale applies only to `sp` units. When enabled, non-sp font-relevant lengths use a font scale of 1 while `sp` values keep font-scale behavior; when disabled, font scale can affect broader text sizing.
454
245
  *
455
246
  * Supported platform: Android, HarmonyOS, iOS
456
247
  *
457
248
  * Since: LynxSDK 3.2
458
249
  *
459
- * @defaultValue undefined
250
+ * @defaultValue false
460
251
  */
461
- enableMicrotaskPromisePolyfill?: boolean;
252
+ fontScaleEffectiveOnlyOnSp?: boolean;
462
253
 
463
254
  /**
464
- * Enable support multi-finger events so that event parameters can contain information about multiple fingers.
255
+ * Controls whether Android text measurement includes the font's top and bottom padding. When enabled, page config forwards `includeFontPadding` to text shadow nodes and text height or vertical centering includes font padding; when disabled, text metrics exclude that padding. When omitted, Android falls back to the historical SDK-based default (`true` for 2.4 <= target SDK < 2.9).
465
256
  *
466
- * Supported platform: Android, HarmonyOS, iOS
257
+ * Supported platform: Android
467
258
  *
468
259
  * Since: LynxSDK 3.2
469
260
  *
470
261
  * @defaultValue false
471
262
  */
472
- enableMultiTouch?: boolean;
263
+ includeFontPadding?: boolean;
473
264
 
474
265
  /**
475
- * Enable the parameters of multi-finger events compatible with single-finger events
266
+ * Controls the Android PageConfig flag returned by `useRelativeKeyboardHeightApi()` for keyboard height callbacks. When enabled, keyboard APIs can report height relative to the Lynx view bottom to handle decor-view offset changes; when disabled, callbacks keep the default height semantics.
476
267
  *
477
- * Supported platform: Android, HarmonyOS, iOS
268
+ * Supported platform: Android
478
269
  *
479
270
  * Since: LynxSDK 3.2
480
271
  *
481
272
  * @defaultValue false
482
273
  */
483
- enableMultiTouchParamsCompatible?: boolean;
274
+ keyboardCallbackPassRelativeHeight?: boolean;
484
275
 
485
276
  /**
486
- * Indicates whether use c++ list.
277
+ * Controls the platform long-press timeout before Lynx fires a `longpress` event. Smaller values make long-press recognition fire sooner, while the default or negative handling keeps the platform timeout behavior.
487
278
  *
488
279
  * Supported platform: Android, HarmonyOS, iOS
489
280
  *
@@ -491,837 +282,38 @@ export interface Config {
491
282
  *
492
283
  * @defaultValue undefined
493
284
  */
494
- enableNativeList?: boolean;
285
+ longPressDuration?: number;
495
286
 
496
287
  /**
497
- * If this flag is false, will use platform animation ability.
288
+ * Controls whether descendant selectors are allowed to cross component scope boundaries during style resolution. When enabled, `AttributeHolder` and `StyleResolver` stop constraining descendant selectors to the current component scope; when disabled, descendant selectors only match inside the component scope. In Fiber, manual decode keeps the default off unless explicitly set.
498
289
  *
499
290
  * Supported platform: Android, HarmonyOS, iOS
500
291
  *
501
292
  * Since: LynxSDK 3.2
502
293
  *
503
- * @defaultValue undefined
504
- */
505
- enableNewAnimator?: boolean;
506
-
507
- /**
508
- * Whether enable new clip mode.
509
- *
510
- * Supported platform: Android, iOS
511
- *
512
- * Since: LynxSDK 3.2
513
- *
514
294
  * @defaultValue true
515
295
  */
516
- enableNewClipMode?: boolean;
517
-
518
- /**
519
- * if want to use gesture handler api, you need to set true
520
- *
521
- * Supported platform: Android, HarmonyOS, iOS
522
- *
523
- * Since: LynxSDK 3.2
524
- *
525
- * @defaultValue false
526
- */
527
- enableNewGesture?: boolean;
296
+ removeDescendantSelectorScope?: boolean;
528
297
 
529
298
  /**
530
- * Enable load image from image service
299
+ * Controls the movement threshold used by platform gesture recognizers before a tap is canceled. When pointer movement exceeds this distance, Android or Harmony tap handling no longer treats the interaction as a tap; smaller movement keeps the tap path eligible.
531
300
  *
532
- * Supported platform: Android, iOS
301
+ * Supported platform: Android, HarmonyOS
533
302
  *
534
303
  * Since: LynxSDK 3.2
535
304
  *
536
- * @defaultValue true
305
+ * @defaultValue "50px"
537
306
  */
538
- enableNewImage?: boolean;
307
+ tapSlop?: string;
539
308
 
540
309
  /**
541
- * Enable the new IntersectionObserver detection logic so that observe can be triggered normally without binding to scroll events.
310
+ * Controls whether `vw` and `vh` values use the unified viewport calculation path across layout and dynamic style updates. When enabled, Fiber elements and dynamic CSS updates recompute viewport units from the current viewport consistently; when disabled, some properties keep the older behavior. From target SDK 2.3 onward, the default override is enabled.
542
311
  *
543
- * Supported platform: Android, iOS
544
- *
545
- * Since: LynxSDK 3.2
546
- *
547
- * @defaultValue false
548
- */
549
- enableNewIntersectionObserver?: boolean;
550
-
551
- /**
552
- * Implement the platform-level list based on scrollView on the IOS platform
553
- *
554
- * Supported platform: iOS
555
- *
556
- * Since: LynxSDK 3.2
557
- *
558
- * @defaultValue false
559
- */
560
- enableNewListContainer?: boolean;
561
-
562
- /**
563
- * If this flag is true, new transform origin algorithm will apply.
564
- *
565
- * Supported platform: Android, HarmonyOS, iOS
566
- *
567
- * Since: LynxSDK 3.2
568
- *
569
- * @defaultValue true
570
- */
571
- enableNewTransformOrigin?: boolean;
572
-
573
- /**
574
- * Enable shadow platform gesture to handle gesture conflict.
575
- *
576
- * Supported platform: Android, iOS
577
- *
578
- * Since: LynxSDK 3.6
579
- *
580
- * @defaultValue false
581
- */
582
- enablePlatformGesture?: boolean;
583
-
584
- /**
585
- * SimpleStyle mode will incrementally update styles based on properties if this config set to TRUE. Otherwise it will incrementally update based on StyleObjects. The StyleObject based updating has a better performance but not allow StyleObjects bound to the same element has intersect properties.
586
- *
587
- * Supported platform: Android, iOS, HarmonyOS
588
- *
589
- * Since: LynxSDK 3.5
590
- *
591
- * @defaultValue false
592
- */
593
- enablePropertyBasedSimpleStyle?: boolean;
594
-
595
- /**
596
- * Enable query component sync in background runtime
597
- *
598
- * Supported platform: Android, HarmonyOS, iOS
599
- *
600
- * Since: LynxSDK 3.2
601
- *
602
- * @defaultValue false
603
- */
604
- enableQueryComponentSync?: boolean;
605
-
606
- /**
607
- * If we got propsId, we could only pass propsId and a flag to JS thread. JS thread will use a propsMap to get correct props
608
- *
609
- * Supported platform: Android, HarmonyOS, iOS
610
- *
611
- * Since: LynxSDK 3.2
612
- *
613
- * @defaultValue false
614
- */
615
- enableReactOnlyPropsId?: boolean;
616
-
617
- /**
618
- * If this flag is true, do not copy init data, instead copy Object.keys of init data for efficiency.
619
- *
620
- * Supported platform: Android, HarmonyOS, iOS
621
- *
622
- * Since: LynxSDK 3.2
623
- *
624
- * @defaultValue false
625
- */
626
- enableReduceInitDataCopy?: boolean;
627
-
628
- /**
629
- * Enable LynxUI onNodeReload lifecycle.
630
- *
631
- * Supported platform: Android, HarmonyOS, iOS
632
- *
633
- * Since: LynxSDK 3.2
634
- *
635
- * @defaultValue false
636
- */
637
- enableReloadLifecycle?: boolean;
638
-
639
- /**
640
- * If this flag is true, remove the globalProps & systemInfo from component data for efficiency.
641
- *
642
- * Supported platform: Android, HarmonyOS, iOS
643
- *
644
- * Since: LynxSDK 3.2
645
- *
646
- * @defaultValue false
647
- */
648
- enableRemoveComponentExtraData?: boolean;
649
-
650
- /**
651
- * Enable reuse loadScript's result.
652
- *
653
- * Supported platform: Android, HarmonyOS, iOS
654
- *
655
- * Since: LynxSDK 3.5
656
- *
657
- * @defaultValue false
658
- */
659
- enableReuseLoadScriptExports?: boolean;
660
-
661
- /**
662
- * Enable using native signal API
663
- *
664
- * Supported platform: Android, HarmonyOS, iOS
665
- *
666
- * Since: LynxSDK 3.2
667
- *
668
- * @defaultValue undefined
669
- */
670
- enableSignalAPI?: boolean;
671
-
672
- /**
673
- * Enable the client's tap gesture to be triggered simultaneously with Lynx's tap gesture.
674
- *
675
- * Supported platform: iOS
676
- *
677
- * Since: LynxSDK 3.2
678
- *
679
- * @defaultValue false
680
- */
681
- enableSimultaneousTap?: boolean;
682
-
683
- /**
684
- * Enable using BoringLayout on Android.
685
- *
686
- * Supported platform: Android
687
- *
688
- * Since: LynxSDK 3.2
689
- *
690
- * @defaultValue undefined
691
- */
692
- enableTextBoringLayout?: boolean;
693
-
694
- /**
695
- * Enable text gradient optimization for iOS.
696
- *
697
- * Supported platform: iOS
698
- *
699
- * Since: LynxSDK 3.5
700
- *
701
- * @defaultValue undefined
702
- */
703
- enableTextGradientOpt?: boolean;
704
-
705
- /**
706
- * Enable a more accurate text alignment judgment method, but it will increase the time taken for text layout.
707
- *
708
- * Supported platform: iOS
709
- *
710
- * Since: LynxSDK 3.2
711
- *
712
- * @defaultValue false
713
- */
714
- enableTextLanguageAlignment?: boolean;
715
-
716
- /**
717
- * Enable using text layer render on iOS.
718
- *
719
- * Supported platform: iOS
720
- *
721
- * Since: LynxSDK 3.2
722
- *
723
- * @defaultValue undefined
724
- */
725
- enableTextLayerRender?: boolean;
726
-
727
- /**
728
- * Whether enable text layout cache.
729
- *
730
- * Supported platform: Android, iOS
731
- *
732
- * Since: LynxSDK 3.3
733
- *
734
- * @defaultValue undefined
735
- */
736
- enableTextLayoutCache?: boolean;
737
-
738
- /**
739
- * Whether enable text noncontiguous layout
740
- *
741
- * Supported platform: iOS
742
- *
743
- * Since: LynxSDK 3.2
744
- *
745
- * @defaultValue true
746
- */
747
- enableTextNonContiguousLayout?: boolean;
748
-
749
- /**
750
- * Set text overflow as visible if true.
751
- *
752
- * Supported platform: Android, iOS
753
- *
754
- * Since: LynxSDK 3.2
755
- *
756
- * @defaultValue false
757
- */
758
- enableTextOverflow?: boolean;
759
-
760
- /**
761
- * Enable text refactor, with behavior more aligned with web.
762
- *
763
- * Supported platform: Android, iOS
764
- *
765
- * Since: LynxSDK 3.2
766
- *
767
- * @defaultValue false
768
- */
769
- enableTextRefactor?: boolean;
770
-
771
- /**
772
- * Enable Lynx's touchend event to be triggered normally.
773
- *
774
- * Supported platform: iOS
775
- *
776
- * Since: LynxSDK 3.2
777
- *
778
- * @defaultValue true
779
- */
780
- enableTouchRefactor?: boolean;
781
-
782
- /**
783
- * Enable the optimization about UIOperation batching and CreateViewAsync at Android.
784
- *
785
- * Supported platform: Android, HarmonyOS, iOS
786
- *
787
- * Since: LynxSDK 3.2
788
- *
789
- * @defaultValue undefined
790
- */
791
- enableUIOperationOptimize?: boolean;
792
-
793
- /**
794
- * Enable the unified pixel pipeline for Lynx Engine.
795
- *
796
- * Supported platform: Android, HarmonyOS, iOS
797
- *
798
- * Since: LynxSDK 3.4
799
- *
800
- * @defaultValue undefined
801
- */
802
- enableUnifiedPipeline?: boolean;
803
-
804
- /**
805
- * Enable Use Context Pool For LepusNG VM creation.
806
- *
807
- * Supported platform: Android, HarmonyOS, iOS
808
- *
809
- * Since: LynxSDK 3.2
810
- *
811
- * @defaultValue undefined
812
- */
813
- enableUseContextPool?: boolean;
814
-
815
- /**
816
- * Enable the mapbuffer structure for LynxProps.
817
- *
818
- * Supported platform: Android, HarmonyOS, iOS
819
- *
820
- * Since: LynxSDK 3.2
821
- *
822
- * @defaultValue undefined
823
- */
824
- enableUseMapBuffer?: boolean;
825
-
826
- /**
827
- * Enable touchesBegan and other methods to be triggered when touching the client-slide custom components.
828
- *
829
- * Supported platform: iOS
830
- *
831
- * Since: LynxSDK 3.2
832
- *
833
- * @defaultValue false
834
- */
835
- enableViewReceiveTouch?: boolean;
836
-
837
- /**
838
- * Drive the execution of UI tasks in the pipeline according to the VSync signal, bringing a certain progressive rendering effect. It is suitable for scenarios where JS-driven updates are frequent. Turn it on as needed.
839
- *
840
- * Supported platform: Android, iOS
841
- *
842
- * Since: LynxSDK [{'Android': '3.2'}, {'iOS': '3.2'}]
843
- *
844
- * @defaultValue false
845
- */
846
- enableVsyncAlignedFlush?: boolean;
847
-
848
- /**
849
- * Whether enable x-text layout reused.
850
- *
851
- * Supported platform: iOS
852
- *
853
- * Since: LynxSDK 3.2
854
- *
855
- * @defaultValue false
856
- */
857
- enableXTextLayoutReused?: boolean;
858
-
859
- /**
860
- * A config to force make some special properties can be used to layout only (such as direction&text-align,etc.).
861
- *
862
- * Supported platform: Android, HarmonyOS, iOS
863
- *
864
- * Since: LynxSDK 3.2
865
- *
866
- * @defaultValue false
867
- */
868
- extendedLayoutOnlyOpt?: boolean;
869
-
870
- /**
871
- * user defined extraInfo.
872
- *
873
- * Supported platform: Android, HarmonyOS, iOS
874
- *
875
- * Since: LynxSDK 3.2
876
- *
877
- * @defaultValue undefined
878
- */
879
- extraInfo?: Record<string, unknown>;
880
-
881
- /**
882
- * Control whether the node requires creating a corresponding Android View. Default is true.
883
- *
884
- * Supported platform: Android
885
- *
886
- * Since: LynxSDK 3.2
887
- *
888
- * @defaultValue true
889
- */
890
- flatten?: boolean;
891
-
892
- /**
893
- * Make font scale only apply to sp units.
894
- *
895
- * Supported platform: Android, HarmonyOS, iOS
896
- *
897
- * Since: LynxSDK 3.2
898
- *
899
- * @defaultValue false
900
- */
901
- fontScaleEffectiveOnlyOnSp?: boolean;
902
-
903
- /**
904
- * Control whether implicit animations are allowed on the iOS platform.
905
- *
906
- * Supported platform: iOS
907
- *
908
- * Since: LynxSDK 3.2
909
- *
910
- * @defaultValue true
911
- */
912
- implicit?: boolean;
913
-
914
- /**
915
- * Control the top and bottom padding of text on Android, which affects the text's height and vertical centering effect.
916
- *
917
- * Supported platform: Android
918
- *
919
- * Since: LynxSDK 3.2
920
- *
921
- * @defaultValue false
922
- */
923
- includeFontPadding?: boolean;
924
-
925
- /**
926
- * The outer decor view that wraps lynx view may change due to that virtual navigation bar is shielded or drawn. Change the returning value of keyboard event to return absolute keyboard height and the offset from keyboard to to lynx view bottom
927
- *
928
- * Supported platform: Android
929
- *
930
- * Since: LynxSDK 3.2
931
- *
932
- * @defaultValue false
933
- */
934
- keyboardCallbackPassRelativeHeight?: boolean;
935
-
936
- /**
937
- * Specify the interval for triggering the long press event.
938
- *
939
- * Supported platform: Android, HarmonyOS, iOS
940
- *
941
- * Since: LynxSDK 3.2
942
- *
943
- * @defaultValue undefined
944
- */
945
- longPressDuration?: number;
946
-
947
- /**
948
- * Specifies the frequency of exposure detection.
949
- *
950
- * Supported platform: Android, HarmonyOS, iOS
951
- *
952
- * Since: LynxSDK 3.2
953
- *
954
- * @defaultValue undefined
955
- */
956
- observerFrameRate?: number;
957
-
958
- /**
959
- * Scheduler config for pipeline, including enableParallelElement/list-framework batch render and other scheduler config.
960
- *
961
- * Supported platform: Android, iOS
962
- *
963
- * Since: LynxSDK 3.2
964
- *
965
- * @defaultValue undefined
966
- */
967
- pipelineSchedulerConfig?: number;
968
-
969
- /**
970
- * Control the frame rate of CSS animations
971
- *
972
- * Supported platform: Android, HarmonyOS, iOS
973
- *
974
- * Since: LynxSDK 3.2
975
- *
976
- * @defaultValue "auto"
977
- */
978
- preferredFps?: string;
979
-
980
- /**
981
- * Supports string value. It is equal to TargetSDKVersion by default. The mode is for compatibility with old pages that do not conform to CSS layout specifications produced.
982
- *
983
- * Supported platform: Android, HarmonyOS, iOS
984
- *
985
- * Since: LynxSDK 3.2
986
- *
987
- * @defaultValue undefined
988
- */
989
- quirksMode?: boolean | string;
990
-
991
- /**
992
- * If false, descendant selector only works in component scope.
993
- *
994
- * Supported platform: Android, HarmonyOS, iOS
995
- *
996
- * Since: LynxSDK 3.2
997
- *
998
- * @defaultValue true
999
- */
1000
- removeDescendantSelectorScope?: boolean;
1001
-
1002
- /**
1003
- * if this flag is true, if component's prop type mismatch, will use default value.
1004
- *
1005
- * Supported platform: Android, HarmonyOS, iOS
1006
- *
1007
- * Since: LynxSDK 3.2
1008
- *
1009
- * @defaultValue false
1010
- */
1011
- strictPropType?: boolean;
1012
-
1013
- /**
1014
- * Specify the sliding distance threshold at which the tap event is not triggered.
1015
- *
1016
- * Supported platform: Android, HarmonyOS
1017
- *
1018
- * Since: LynxSDK 3.2
1019
- *
1020
- * @defaultValue "50px"
1021
- */
1022
- tapSlop?: string;
1023
-
1024
- /**
1025
- * Enable the iOS image refactor
1026
- *
1027
- * Supported platform: iOS
1028
- *
1029
- * Since: LynxSDK 3.2
1030
- *
1031
- * @defaultValue undefined
1032
- */
1033
- trailNewImage?: boolean;
1034
-
1035
- /**
1036
- * Control whether the vw and vh units dynamically adjust with the viewport in properties like font-size; enabled by default for targetSdkVersion >= 2.3
1037
- *
1038
- * Supported platform: Android, HarmonyOS, iOS
312
+ * Supported platform: Android, HarmonyOS, iOS
1039
313
  *
1040
314
  * Since: LynxSDK 3.2
1041
315
  *
1042
316
  * @defaultValue false
1043
317
  */
1044
318
  unifyVWVHBehavior?: boolean;
1045
-
1046
- /**
1047
- * Whether use image post processor
1048
- *
1049
- * Supported platform: Android
1050
- *
1051
- * Since: LynxSDK 3.2
1052
- *
1053
- * @defaultValue false
1054
- */
1055
- useImagePostProcessor?: boolean;
1056
-
1057
- /**
1058
- * Indicates whether to use new swiper
1059
- *
1060
- * Supported platform: Android
1061
- *
1062
- * Since: LynxSDK 3.2
1063
- *
1064
- * @defaultValue true
1065
- */
1066
- useNewSwiper?: boolean;
1067
-
1068
- /**
1069
- * deprecated
1070
- *
1071
- * Supported platform: Android, iOS, HarmonyOS
1072
- *
1073
- * Since: LynxSDK 3.2
1074
- *
1075
- * @defaultValue true
1076
- * @deprecated 3.5
1077
- */
1078
- autoResumeAnimation?: boolean;
1079
-
1080
- /**
1081
- * cli version
1082
- *
1083
- * Supported platform: Android, HarmonyOS, iOS
1084
- *
1085
- * Since: LynxSDK 3.2
1086
- *
1087
- * @defaultValue ""
1088
- * @deprecated 3.5
1089
- */
1090
- cli?: string;
1091
-
1092
- /**
1093
- * Supported platform: Android, iOS, HarmonyOS
1094
- *
1095
- * Since: LynxSDK 3.2
1096
- *
1097
- * @defaultValue false
1098
- * @deprecated 3.5
1099
- */
1100
- compileRender?: boolean;
1101
-
1102
- /**
1103
- * Supported platform: Android, iOS, HarmonyOS
1104
- *
1105
- * Since: LynxSDK 3.2
1106
- *
1107
- * @defaultValue ""
1108
- * @deprecated 3.5
1109
- */
1110
- customData?: string;
1111
-
1112
- /**
1113
- * Enable MutationObserver for accessibility.
1114
- *
1115
- * Supported platform: Android, iOS, HarmonyOS
1116
- *
1117
- * Since: LynxSDK 3.2
1118
- *
1119
- * @defaultValue false
1120
- * @deprecated 3.5
1121
- */
1122
- enableA11yIDMutationObserver?: boolean;
1123
-
1124
- /**
1125
- * Globally enable async rendering for software rendering contents on iOS, this can largely optimize the frame rate and reduce janks.
1126
- *
1127
- * Supported platform: iOS
1128
- *
1129
- * Since: LynxSDK 3.2
1130
- *
1131
- * @defaultValue true
1132
- * @deprecated 3.5
1133
- */
1134
- enableAsyncDisplay?: boolean;
1135
-
1136
- /**
1137
- * Enable iOS background manager to apply shape layer optimization. Deprecated and to be removed since this optimization becomes a fixed setting.
1138
- *
1139
- * Supported platform: iOS
1140
- *
1141
- * Since: LynxSDK 3.2
1142
- *
1143
- * @defaultValue true
1144
- * @deprecated 3.5
1145
- */
1146
- enableBackgroundShapeLayer?: boolean;
1147
-
1148
- /**
1149
- * Deprecated, this is for legacy CSS selector to enable a cascading.
1150
- *
1151
- * Supported platform: Android, HarmonyOS, iOS
1152
- *
1153
- * Since: LynxSDK 3.2
1154
- *
1155
- * @defaultValue false
1156
- * @deprecated 3.5
1157
- */
1158
- enableCascadePseudo?: boolean;
1159
-
1160
- /**
1161
- * Supported platform: Android, HarmonyOS, iOS
1162
- *
1163
- * Since: LynxSDK 3.2
1164
- *
1165
- * @defaultValue true
1166
- * @deprecated 3.5
1167
- */
1168
- enableCheckDataWhenUpdatePage?: boolean;
1169
-
1170
- /**
1171
- * Supported platform: Android, HarmonyOS, iOS
1172
- *
1173
- * Since: LynxSDK 3.2
1174
- *
1175
- * @defaultValue false
1176
- * @deprecated 3.5
1177
- */
1178
- enableComponentLayoutOnly?: boolean;
1179
-
1180
- /**
1181
- * Supported platform: Android, iOS, HarmonyOS
1182
- *
1183
- * Since: LynxSDK 3.2
1184
- *
1185
- * @defaultValue false
1186
- * @deprecated 3.5
1187
- */
1188
- enableGlobalComponentMap?: boolean;
1189
-
1190
- /**
1191
- * Enable create ui async form C++ PaintingContext
1192
- *
1193
- * Supported platform: Android
1194
- *
1195
- * Since: LynxSDK 3.2
1196
- *
1197
- * @defaultValue undefined
1198
- * @deprecated 3.5
1199
- */
1200
- enableNativeScheduleCreateViewAsync?: boolean;
1201
-
1202
- /**
1203
- * Supported platform: Android
1204
- *
1205
- * Since: LynxSDK 3.2
1206
- *
1207
- * @defaultValue false
1208
- * @deprecated 3.5
1209
- */
1210
- enableNewAccessibility?: boolean;
1211
-
1212
- /**
1213
- * Supported platform: Android, HarmonyOS, iOS
1214
- *
1215
- * Since: LynxSDK 3.2
1216
- *
1217
- * @defaultValue true
1218
- * @deprecated 3.5
1219
- */
1220
- enableNewLayoutOnly?: boolean;
1221
-
1222
- /**
1223
- * Enable using PropBundleStyleWriter to write style to PropBundle.
1224
- *
1225
- * Supported platform: Android, HarmonyOS, iOS
1226
- *
1227
- * Since: LynxSDK 3.2
1228
- *
1229
- * @defaultValue undefined
1230
- * @deprecated 3.5
1231
- */
1232
- enableOptPushStyleToBundle?: boolean;
1233
-
1234
- /**
1235
- * Supported platform: Android
1236
- *
1237
- * Since: LynxSDK 3.2
1238
- *
1239
- * @defaultValue true
1240
- * @deprecated 3.5
1241
- */
1242
- enableOverlapForAccessibilityElement?: boolean;
1243
-
1244
- /**
1245
- * Supported platform: Android, HarmonyOS, iOS
1246
- *
1247
- * Since: LynxSDK 3.2
1248
- *
1249
- * @defaultValue true
1250
- * @deprecated 3.5
1251
- */
1252
- fixCSSImportRuleOrder?: boolean;
1253
-
1254
- /**
1255
- * Supported platform: Android, iOS, HarmonyOS
1256
- *
1257
- * Since: LynxSDK 3.2
1258
- *
1259
- * @defaultValue true
1260
- * @deprecated 3.5
1261
- */
1262
- forceCalcNewStyle?: boolean;
1263
-
1264
- /**
1265
- * Supported platform: Android, HarmonyOS, iOS
1266
- *
1267
- * Since: LynxSDK 3.2
1268
- *
1269
- * @defaultValue ""
1270
- * @deprecated 3.5
1271
- */
1272
- reactVersion?: string;
1273
-
1274
- /**
1275
- * Supported platform: Android, iOS, HarmonyOS
1276
- *
1277
- * Since: LynxSDK 3.2
1278
- *
1279
- * @defaultValue undefined
1280
- * @deprecated 3.5
1281
- */
1282
- redBoxImageSizeWarningThreshold?: number;
1283
-
1284
- /**
1285
- * deprecated
1286
- *
1287
- * Supported platform: Android, HarmonyOS, iOS
1288
- *
1289
- * Since: LynxSDK 3.2
1290
- *
1291
- * @defaultValue false
1292
- * @deprecated 3.5
1293
- */
1294
- removeComponentElement?: boolean;
1295
-
1296
- /**
1297
- * If true and on the main thread, image requests will be initiated immediately; otherwise, image requests will be posted after the next frame of the main thread to delay the requests.
1298
- *
1299
- * Supported platform: Android
1300
- *
1301
- * Since: LynxSDK 3.2
1302
- *
1303
- * @defaultValue true
1304
- * @deprecated 3.5
1305
- */
1306
- syncImageAttach?: boolean;
1307
-
1308
- /**
1309
- * Supported platform: Android, iOS
1310
- *
1311
- * Since: LynxSDK 3.2
1312
- *
1313
- * @defaultValue undefined
1314
- * @deprecated 3.5
1315
- */
1316
- useNewImage?: boolean;
1317
-
1318
- /**
1319
- * Supported platform: Android, HarmonyOS, iOS
1320
- *
1321
- * Since: LynxSDK 3.2
1322
- *
1323
- * @defaultValue ""
1324
- * @deprecated 3.5
1325
- */
1326
- version?: string;
1327
319
  }