@lynx-js/type-config 3.6.1-alpha.0 → 4.1.1-alpha.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,249 +10,128 @@
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 1.4
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 2.6
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 2.1
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 1.4
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 1.6
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 2.1
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
  *
83
- * Since: LynxSDK 2.5
84
- *
85
- * @defaultValue false
86
- */
87
- disableLongpressAfterScroll?: boolean
88
-
89
- /**
90
- * Disable tracing gc mode in quick context.
91
- *
92
- * Supported platform: Android, HarmonyOS, iOS
93
- *
94
17
  * Since: LynxSDK 3.2
95
18
  *
96
19
  * @defaultValue false
97
20
  */
98
- disableQuickTracingGC?: boolean
21
+ disableLongpressAfterScroll?: boolean;
99
22
 
100
23
  /**
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
  *
105
- * Since: LynxSDK 2.12
28
+ * Since: LynxSDK 3.2
106
29
  *
107
30
  * @defaultValue false
108
31
  */
109
- enableA11y?: boolean
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
  *
116
- * Since: LynxSDK 2.0
39
+ * Since: LynxSDK 3.2
117
40
  *
118
41
  * @defaultValue true
119
42
  */
120
- enableAccessibilityElement?: boolean
43
+ enableAccessibilityElement?: boolean;
121
44
 
122
45
  /**
123
- * Whether to enable asynchronous initialization of videoEngine
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.
124
47
  *
125
- * Supported platform: Android
48
+ * Supported platform: Android, HarmonyOS, iOS
126
49
  *
127
- * Since: LynxSDK 2.6
50
+ * Since: LynxSDK 3.2
128
51
  *
129
52
  * @defaultValue false
130
53
  */
131
- enableAsyncInitVideoEngine?: boolean
54
+ enableCSSInheritance?: boolean;
132
55
 
133
56
  /**
134
- * If true, supports initiating image requests in asynchronous threads.
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.
135
58
  *
136
- * Supported platform: Android
59
+ * Supported platform: Android, iOS, HarmonyOS
137
60
  *
138
- * Since: LynxSDK 2.12
61
+ * Since: LynxSDK 3.6
139
62
  *
140
63
  * @defaultValue false
141
64
  */
142
- enableAsyncRequestImage?: boolean
65
+ enableCSSInlineVariables?: boolean;
143
66
 
144
67
  /**
145
- * FE Framework use this config to notify Engine that resolve subtree binding will be triggered when render DOM (Not exposed to normal user)
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.
146
69
  *
147
- * Supported platform: Android, iOS
70
+ * Supported platform: Android, HarmonyOS, iOS
148
71
  *
149
- * Since: LynxSDK 3.4
72
+ * Since: LynxSDK 4.0
150
73
  *
151
- * @defaultValue undefined
74
+ * @defaultValue false
152
75
  */
153
- enableAsyncResolveSubtree?: boolean
76
+ enableCSSRule?: boolean;
154
77
 
155
78
  /**
156
- * Enable exposure detection optimization so that exposure detection is not performed when the page is static.
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.
157
80
  *
158
81
  * Supported platform: iOS
159
82
  *
160
- * Since: LynxSDK 2.10
83
+ * Since: LynxSDK 3.2
161
84
  *
162
85
  * @defaultValue false
163
86
  */
164
- enableCheckExposureOptimize?: boolean
165
-
166
- /**
167
- * Determine whether redirection is needed for local image resources.
168
- *
169
- * Supported platform: Android
170
- *
171
- * Since: LynxSDK 2.8
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 2.10
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 2.14
194
- *
195
- * @defaultValue undefined
196
- */
197
- enableComponentAsyncDecode?: boolean
87
+ enableEndGestureAtLastFingerUp?: boolean;
198
88
 
199
89
  /**
200
- * Support component can be passed null props, null props only supported in LepusNG now. Open this switch to support lepus use null prop.
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.
201
91
  *
202
92
  * Supported platform: Android, HarmonyOS, iOS
203
93
  *
204
- * Since: LynxSDK 2.9
94
+ * Since: LynxSDK 3.2
205
95
  *
206
96
  * @defaultValue false
207
97
  */
208
- enableComponentNullProp?: boolean
98
+ enableEventThrough?: boolean;
209
99
 
210
100
  /**
211
- * Create Android platform UIs in lynx built-in thread-pool to optimize UI Operation Execution
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.
212
102
  *
213
- * Supported platform: Android
103
+ * Supported platform: Android, iOS
214
104
  *
215
- * Since: LynxSDK 2.0
105
+ * Since: LynxSDK 3.7
216
106
  *
217
- * @defaultValue true
107
+ * @defaultValue undefined
218
108
  */
219
- enableCreateViewAsync?: boolean
109
+ enableFetchAPIStandardStreaming?: boolean;
220
110
 
221
111
  /**
222
- * Enable CSS inheritance
112
+ * When enabled, flex-basis defaults to 0% instead of 0 when omitted in flex shorthand, matching web browser behavior.
223
113
  *
224
114
  * Supported platform: Android, HarmonyOS, iOS
225
115
  *
226
- * Since: LynxSDK 1.6
116
+ * Since: LynxSDK 3.8
227
117
  *
228
118
  * @defaultValue false
229
119
  */
230
- enableCSSInheritance?: boolean
120
+ enableFlexBasisZeroPercent?: boolean;
231
121
 
232
122
  /**
233
- * Enable CSS inline variables.
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.
234
124
  *
235
125
  * Supported platform: Android, iOS, HarmonyOS
236
126
  *
237
- * Since: LynxSDK 3.6
127
+ * Since: LynxSDK 3.9
238
128
  *
239
129
  * @defaultValue false
240
130
  */
241
- enableCSSInlineVariables?: boolean
242
-
243
- /**
244
- * Under scoped CSS, the imported CSS declarations by import rules are lazily decoded at the first time the scope takes effect.
245
- *
246
- * Supported platform: Android, HarmonyOS, iOS
247
- *
248
- * Since: LynxSDK 2.18
249
- *
250
- * @defaultValue undefined
251
- */
252
- enableCSSLazyImport?: boolean
131
+ enableGridPlacementShorthands?: boolean;
253
132
 
254
133
  /**
255
- * CSS Length should be <number> follows a unit. Under strict mode, invalid <length> values are dropped.
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.
256
135
  *
257
136
  * Supported platform: Android, HarmonyOS, iOS
258
137
  *
@@ -260,1054 +139,181 @@ export interface Config {
260
139
  *
261
140
  * @defaultValue false
262
141
  */
263
- enableCSSStrictMode?: boolean
264
-
265
- /**
266
- * Enables the disexposure event to fire when LynxView is in the hidden state.
267
- *
268
- * Supported platform: Android
269
- *
270
- * Since: LynxSDK 2.10
271
- *
272
- * @defaultValue true
273
- */
274
- enableDisexposureWhenLynxHidden?: boolean
275
-
276
- /**
277
- * Enable the Lynx touch event to be triggered normally after the last finger is lifted in a multi-finger scenario.
278
- *
279
- * Supported platform: iOS
280
- *
281
- * Since: LynxSDK 2.9
282
- *
283
- * @defaultValue false
284
- */
285
- enableEndGestureAtLastFingerUp?: boolean
286
-
287
- /**
288
- * Enable new event processing logic to support dynamic registration of event listeners, interception of events, etc.
289
- *
290
- * Supported platform: Android, HarmonyOS, iOS
291
- *
292
- * Since: LynxSDK 3.5
293
- *
294
- * @defaultValue false
295
- */
296
- enableEventHandleRefactor?: boolean
297
-
298
- /**
299
- * Enable the client-slide touch event penetrate Lynx when touching the root node area of the Lynx page.
300
- *
301
- * Supported platform: Android, HarmonyOS, iOS
302
- *
303
- * Since: LynxSDK 1.4
304
- *
305
- * @defaultValue false
306
- */
307
- enableEventThrough?: boolean
142
+ enableJsBindingApiThrowException?: boolean;
308
143
 
309
144
  /**
310
- * Enable exposure-ui-margin-* properties to take effect.
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.
311
146
  *
312
147
  * Supported platform: Android, iOS
313
148
  *
314
- * Since: LynxSDK 2.6
315
- *
316
- * @defaultValue false
317
- */
318
- enableExposureUIMargin?: boolean
319
-
320
- /**
321
- * Enable exposure check when LynxView is layoutRequest
322
- *
323
- * Supported platform: Android
324
- *
325
- * Since: LynxSDK 2.10
149
+ * Since: LynxSDK 3.2
326
150
  *
327
151
  * @defaultValue false
328
152
  */
329
- enableExposureWhenLayout?: boolean
153
+ enableListNewArchitecture?: boolean;
330
154
 
331
155
  /**
332
- * Enables exposure and disexposure events to be triggered when reloading the Lynx page.
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.
333
157
  *
334
158
  * Supported platform: Android, HarmonyOS, iOS
335
159
  *
336
- * Since: LynxSDK 3.5
160
+ * Since: LynxSDK 3.2
337
161
  *
338
162
  * @defaultValue false
339
163
  */
340
- enableExposureWhenReload?: boolean
164
+ enableMultiTouch?: boolean;
341
165
 
342
166
  /**
343
- * A better and stable position fixed handling.
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.
344
168
  *
345
169
  * Supported platform: Android, HarmonyOS, iOS
346
170
  *
347
- * Since: LynxSDK 2.10
348
- *
349
- * @defaultValue false
350
- */
351
- enableFixedNew?: boolean
352
-
353
- /**
354
- * Enable harmony new overlay based overlayManager to handle events pass through.
355
- *
356
- * Supported platform: Harmony
357
- *
358
- * Since: LynxSDK 3.6
171
+ * Since: LynxSDK 3.2
359
172
  *
360
- * @defaultValue false
173
+ * @defaultValue undefined
361
174
  */
362
- enableHarmonyNewOverlay?: boolean
175
+ enableNativeList?: boolean;
363
176
 
364
177
  /**
365
- * Enable Harmony to detect exposure with visible area change event.
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.
366
179
  *
367
- * Supported platform: HarmonyOS
180
+ * Supported platform: Android, HarmonyOS, iOS
368
181
  *
369
- * Since: LynxSDK 3.4
182
+ * Since: LynxSDK 3.2
370
183
  *
371
184
  * @defaultValue false
372
185
  */
373
- enableHarmonyVisibleAreaChangeForExposure?: boolean
186
+ enableNewGesture?: boolean;
374
187
 
375
188
  /**
376
- * Enable Bind PRIMJS-ICU
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.
377
190
  *
378
191
  * Supported platform: Android, iOS
379
192
  *
380
- * Since: LynxSDK 2.16
381
- *
382
- * @defaultValue false
383
- */
384
- enableICU?: boolean
385
-
386
- /**
387
- * If true, downsampling will be enabled for all images on this LynxView
388
- *
389
- * Supported platform: iOS
390
- *
391
- * Since: LynxSDK 2.0
392
- *
393
- * @defaultValue false
394
- */
395
- enableImageDownsampling?: boolean
396
-
397
- /**
398
- * Enable js binding api throw exception
399
- *
400
- * Supported platform: Android, HarmonyOS, iOS
401
- *
402
- * Since: LynxSDK 2.14
193
+ * Since: LynxSDK 3.2
403
194
  *
404
- * @defaultValue false
195
+ * @defaultValue true
405
196
  */
406
- enableJsBindingApiThrowException?: boolean
197
+ enableNewIntersectionObserver?: boolean;
407
198
 
408
199
  /**
409
- * Enable data processor on JS thread
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
- * Since: LynxSDK 2.12
204
+ * Since: LynxSDK 3.2
414
205
  *
415
- * @defaultValue false
206
+ * @defaultValue true
416
207
  */
417
- enableJSDataProcessor?: boolean
208
+ enableNewTransformOrigin?: boolean;
418
209
 
419
210
  /**
420
- * Does diffResult have moveAction?
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, HarmonyOS, iOS
213
+ * Supported platform: iOS
423
214
  *
424
- * Since: LynxSDK 2.2
215
+ * Since: LynxSDK 3.2
425
216
  *
426
217
  * @defaultValue false
427
218
  */
428
- enableListMoveOperation?: boolean
219
+ enableSimultaneousTap?: boolean;
429
220
 
430
221
  /**
431
- * Indicates whether to use new architecture for the platform list
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
  *
435
- * Since: LynxSDK 2.4.4
226
+ * Since: LynxSDK 3.2
436
227
  *
437
228
  * @defaultValue false
438
229
  */
439
- enableListNewArchitecture?: boolean
230
+ enableTextOverflow?: boolean;
440
231
 
441
232
  /**
442
- * Indicates whether to use list plug
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, iOS
235
+ * Supported platform: Android, HarmonyOS
445
236
  *
446
- * Since: LynxSDK 2.5
237
+ * Since: LynxSDK 3.6
447
238
  *
448
239
  * @defaultValue false
449
240
  */
450
- enableListPlug?: boolean
451
-
452
- /**
453
- * 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.
454
- *
455
- * Supported platform: Android, HarmonyOS, iOS
456
- *
457
- * Since: LynxSDK 2.15
458
- *
459
- * @defaultValue undefined
460
- */
461
- enableLynxScrollFluency?: boolean | number
462
-
463
- /**
464
- * 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.
465
- *
466
- * Supported platform: Android, HarmonyOS, iOS
467
- *
468
- * Since: LynxSDK 3.1
469
- *
470
- * @defaultValue undefined
471
- */
472
- enableMicrotaskPromisePolyfill?: boolean
241
+ enableTransformedTouchPosition?: boolean;
473
242
 
474
243
  /**
475
- * Enable support multi-finger events so that event parameters can contain information about multiple fingers.
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.
476
245
  *
477
246
  * Supported platform: Android, HarmonyOS, iOS
478
247
  *
479
- * Since: LynxSDK 2.14
248
+ * Since: LynxSDK 3.2
480
249
  *
481
250
  * @defaultValue false
482
251
  */
483
- enableMultiTouch?: boolean
252
+ fontScaleEffectiveOnlyOnSp?: boolean;
484
253
 
485
254
  /**
486
- * Enable the parameters of multi-finger events compatible with single-finger events
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).
487
256
  *
488
- * Supported platform: Android, HarmonyOS, iOS
257
+ * Supported platform: Android
489
258
  *
490
259
  * Since: LynxSDK 3.2
491
260
  *
492
261
  * @defaultValue false
493
262
  */
494
- enableMultiTouchParamsCompatible?: boolean
263
+ includeFontPadding?: boolean;
495
264
 
496
265
  /**
497
- * Indicates whether use c++ list.
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.
498
267
  *
499
- * Supported platform: Android, HarmonyOS, iOS
268
+ * Supported platform: Android
500
269
  *
501
270
  * Since: LynxSDK 3.2
502
271
  *
503
- * @defaultValue undefined
272
+ * @defaultValue false
504
273
  */
505
- enableNativeList?: boolean
274
+ keyboardCallbackPassRelativeHeight?: boolean;
506
275
 
507
276
  /**
508
- * If this flag is false, will use platform animation ability.
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.
509
278
  *
510
279
  * Supported platform: Android, HarmonyOS, iOS
511
280
  *
512
- * Since: LynxSDK 2.18
281
+ * Since: LynxSDK 3.2
513
282
  *
514
283
  * @defaultValue undefined
515
284
  */
516
- enableNewAnimator?: boolean
517
-
518
- /**
519
- * Whether enable new clip mode.
520
- *
521
- * Supported platform: Android, iOS
522
- *
523
- * Since: LynxSDK 2.10
524
- *
525
- * @defaultValue true
526
- */
527
- enableNewClipMode?: boolean
285
+ longPressDuration?: number;
528
286
 
529
287
  /**
530
- * if want to use gesture handler api, you need to set true
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.
531
289
  *
532
290
  * Supported platform: Android, HarmonyOS, iOS
533
291
  *
534
- * Since: LynxSDK 2.16
535
- *
536
- * @defaultValue false
537
- */
538
- enableNewGesture?: boolean
539
-
540
- /**
541
- * Enable load image from image service
542
- *
543
- * Supported platform: Android, iOS
544
- *
545
- * Since: LynxSDK 2.8
292
+ * Since: LynxSDK 3.2
546
293
  *
547
294
  * @defaultValue true
548
295
  */
549
- enableNewImage?: boolean
550
-
551
- /**
552
- * Enable the new IntersectionObserver detection logic so that observe can be triggered normally without binding to scroll events.
553
- *
554
- * Supported platform: Android, iOS
555
- *
556
- * Since: LynxSDK 2.8
557
- *
558
- * @defaultValue false
559
- */
560
- enableNewIntersectionObserver?: boolean
296
+ removeDescendantSelectorScope?: boolean;
561
297
 
562
298
  /**
563
- * Implement the platform-level list based on scrollView on the IOS platform
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.
564
300
  *
565
- * Supported platform: iOS
301
+ * Supported platform: Android, HarmonyOS
566
302
  *
567
- * Since: LynxSDK 2.13
303
+ * Since: LynxSDK 3.2
568
304
  *
569
- * @defaultValue false
305
+ * @defaultValue "50px"
570
306
  */
571
- enableNewListContainer?: boolean
307
+ tapSlop?: string;
572
308
 
573
309
  /**
574
- * If this flag is true, new transform origin algorithm will apply.
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.
575
311
  *
576
312
  * Supported platform: Android, HarmonyOS, iOS
577
313
  *
578
- * Since: LynxSDK 2.6
579
- *
580
- * @defaultValue true
581
- */
582
- enableNewTransformOrigin?: boolean
583
-
584
- /**
585
- * Enable shadow platform gesture to handle gesture conflict.
586
- *
587
- * Supported platform: Android, iOS
588
- *
589
- * Since: LynxSDK 3.6
314
+ * Since: LynxSDK 3.2
590
315
  *
591
316
  * @defaultValue false
592
317
  */
593
- enablePlatformGesture?: boolean
594
-
595
- /**
596
- * 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.
597
- *
598
- * Supported platform: Android, iOS, HarmonyOS
599
- *
600
- * Since: LynxSDK 3.5
601
- *
602
- * @defaultValue false
603
- */
604
- enablePropertyBasedSimpleStyle?: boolean
605
-
606
- /**
607
- * Enable query component sync in background runtime
608
- *
609
- * Supported platform: Android, HarmonyOS, iOS
610
- *
611
- * Since: LynxSDK 2.14
612
- *
613
- * @defaultValue false
614
- */
615
- enableQueryComponentSync?: boolean
616
-
617
- /**
618
- * 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
619
- *
620
- * Supported platform: Android, HarmonyOS, iOS
621
- *
622
- * Since: LynxSDK 2.2
623
- *
624
- * @defaultValue false
625
- */
626
- enableReactOnlyPropsId?: boolean
627
-
628
- /**
629
- * If this flag is true, do not copy init data, instead copy Object.keys of init data for efficiency.
630
- *
631
- * Supported platform: Android, HarmonyOS, iOS
632
- *
633
- * Since: LynxSDK 2.6
634
- *
635
- * @defaultValue false
636
- */
637
- enableReduceInitDataCopy?: boolean
638
-
639
- /**
640
- * Enable LynxUI onNodeReload lifecycle.
641
- *
642
- * Supported platform: Android, HarmonyOS, iOS
643
- *
644
- * Since: LynxSDK 2.17
645
- *
646
- * @defaultValue false
647
- */
648
- enableReloadLifecycle?: boolean
649
-
650
- /**
651
- * If this flag is true, remove the globalProps & systemInfo from component data for efficiency.
652
- *
653
- * Supported platform: Android, HarmonyOS, iOS
654
- *
655
- * Since: LynxSDK 2.7
656
- *
657
- * @defaultValue false
658
- */
659
- enableRemoveComponentExtraData?: boolean
660
-
661
- /**
662
- * Enable reuse loadScript's result.
663
- *
664
- * Supported platform: Android, HarmonyOS, iOS
665
- *
666
- * Since: LynxSDK 3.5
667
- *
668
- * @defaultValue false
669
- */
670
- enableReuseLoadScriptExports?: boolean
671
-
672
- /**
673
- * Enable using native signal API
674
- *
675
- * Supported platform: Android, HarmonyOS, iOS
676
- *
677
- * Since: LynxSDK 3.1
678
- *
679
- * @defaultValue undefined
680
- */
681
- enableSignalAPI?: boolean
682
-
683
- /**
684
- * Enable the client's tap gesture to be triggered simultaneously with Lynx's tap gesture.
685
- *
686
- * Supported platform: iOS
687
- *
688
- * Since: LynxSDK 2.8
689
- *
690
- * @defaultValue false
691
- */
692
- enableSimultaneousTap?: boolean
693
-
694
- /**
695
- * Enable using BoringLayout on Android.
696
- *
697
- * Supported platform: Android
698
- *
699
- * Since: LynxSDK 2.17
700
- *
701
- * @defaultValue undefined
702
- */
703
- enableTextBoringLayout?: boolean
704
-
705
- /**
706
- * Enable text gradient optimization for iOS.
707
- *
708
- * Supported platform: iOS
709
- *
710
- * Since: LynxSDK 3.5
711
- *
712
- * @defaultValue undefined
713
- */
714
- enableTextGradientOpt?: boolean
715
-
716
- /**
717
- * Enable a more accurate text alignment judgment method, but it will increase the time taken for text layout.
718
- *
719
- * Supported platform: iOS
720
- *
721
- * Since: LynxSDK 2.8
722
- *
723
- * @defaultValue false
724
- */
725
- enableTextLanguageAlignment?: boolean
726
-
727
- /**
728
- * Enable using text layer render on iOS.
729
- *
730
- * Supported platform: iOS
731
- *
732
- * Since: LynxSDK 2.3
733
- *
734
- * @defaultValue undefined
735
- */
736
- enableTextLayerRender?: boolean
737
-
738
- /**
739
- * Whether enable text layout cache.
740
- *
741
- * Supported platform: Android, iOS
742
- *
743
- * Since: LynxSDK 3.3
744
- *
745
- * @defaultValue undefined
746
- */
747
- enableTextLayoutCache?: boolean
748
-
749
- /**
750
- * Whether enable text noncontiguous layout
751
- *
752
- * Supported platform: iOS
753
- *
754
- * Since: LynxSDK 1.6
755
- *
756
- * @defaultValue true
757
- */
758
- enableTextNonContiguousLayout?: boolean
759
-
760
- /**
761
- * Set text overflow as visible if true.
762
- *
763
- * Supported platform: Android, iOS
764
- *
765
- * Since: LynxSDK 2.8
766
- *
767
- * @defaultValue false
768
- */
769
- enableTextOverflow?: boolean
770
-
771
- /**
772
- * Enable text refactor, with behavior more aligned with web.
773
- *
774
- * Supported platform: Android, iOS
775
- *
776
- * Since: LynxSDK 2.2
777
- *
778
- * @defaultValue false
779
- */
780
- enableTextRefactor?: boolean
781
-
782
- /**
783
- * Enable Lynx's touchend event to be triggered normally.
784
- *
785
- * Supported platform: iOS
786
- *
787
- * Since: LynxSDK 2.8
788
- *
789
- * @defaultValue true
790
- */
791
- enableTouchRefactor?: boolean
792
-
793
- /**
794
- * Enable the optimization about UIOperation batching and CreateViewAsync at Android.
795
- *
796
- * Supported platform: Android, HarmonyOS, iOS
797
- *
798
- * Since: LynxSDK 2.16
799
- *
800
- * @defaultValue undefined
801
- */
802
- enableUIOperationOptimize?: boolean
803
-
804
- /**
805
- * Enable the unified pixel pipeline for Lynx Engine.
806
- *
807
- * Supported platform: Android, HarmonyOS, iOS
808
- *
809
- * Since: LynxSDK 3.4
810
- *
811
- * @defaultValue undefined
812
- */
813
- enableUnifiedPipeline?: boolean
814
-
815
- /**
816
- * Enable Use Context Pool For LepusNG VM creation.
817
- *
818
- * Supported platform: Android, HarmonyOS, iOS
819
- *
820
- * Since: LynxSDK 2.14
821
- *
822
- * @defaultValue undefined
823
- */
824
- enableUseContextPool?: boolean
825
-
826
- /**
827
- * Enable the mapbuffer structure for LynxProps.
828
- *
829
- * Supported platform: Android, HarmonyOS, iOS
830
- *
831
- * Since: LynxSDK 2.14
832
- *
833
- * @defaultValue undefined
834
- */
835
- enableUseMapBuffer?: boolean
836
-
837
- /**
838
- * Enable touchesBegan and other methods to be triggered when touching the client-slide custom components.
839
- *
840
- * Supported platform: iOS
841
- *
842
- * Since: LynxSDK 1.4
843
- *
844
- * @defaultValue false
845
- */
846
- enableViewReceiveTouch?: boolean
847
-
848
- /**
849
- * 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.
850
- *
851
- * Supported platform: Android, iOS
852
- *
853
- * Since: LynxSDK Android: 2.11, iOS: 3.2
854
- *
855
- * @defaultValue false
856
- */
857
- enableVsyncAlignedFlush?: boolean
858
-
859
- /**
860
- * Whether enable x-text layout reused.
861
- *
862
- * Supported platform: iOS
863
- *
864
- * Since: LynxSDK 2.9
865
- *
866
- * @defaultValue false
867
- */
868
- enableXTextLayoutReused?: boolean
869
-
870
- /**
871
- * A config to force make some special properties can be used to layout only (such as direction&text-align,etc.).
872
- *
873
- * Supported platform: Android, HarmonyOS, iOS
874
- *
875
- * Since: LynxSDK 2.11
876
- *
877
- * @defaultValue false
878
- */
879
- extendedLayoutOnlyOpt?: boolean
880
-
881
- /**
882
- * user defined extraInfo.
883
- *
884
- * Supported platform: Android, HarmonyOS, iOS
885
- *
886
- * Since: LynxSDK 2.8
887
- *
888
- * @defaultValue undefined
889
- */
890
- extraInfo?: Record<string, unknown>
891
-
892
- /**
893
- * Control whether the node requires creating a corresponding Android View. Default is true.
894
- *
895
- * Supported platform: Android
896
- *
897
- * Since: LynxSDK 1.4
898
- *
899
- * @defaultValue true
900
- */
901
- flatten?: boolean
902
-
903
- /**
904
- * Make font scale only apply to sp units.
905
- *
906
- * Supported platform: Android, HarmonyOS, iOS
907
- *
908
- * Since: LynxSDK 2.4
909
- *
910
- * @defaultValue false
911
- */
912
- fontScaleEffectiveOnlyOnSp?: boolean
913
-
914
- /**
915
- * Control whether implicit animations are allowed on the iOS platform.
916
- *
917
- * Supported platform: iOS
918
- *
919
- * Since: LynxSDK 1.4
920
- *
921
- * @defaultValue true
922
- */
923
- implicit?: boolean
924
-
925
- /**
926
- * Control the top and bottom padding of text on Android, which affects the text's height and vertical centering effect.
927
- *
928
- * Supported platform: Android
929
- *
930
- * Since: LynxSDK 2.4
931
- *
932
- * @defaultValue false
933
- */
934
- includeFontPadding?: boolean
935
-
936
- /**
937
- * 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
938
- *
939
- * Supported platform: Android
940
- *
941
- * Since: LynxSDK 2.2
942
- *
943
- * @defaultValue false
944
- */
945
- keyboardCallbackPassRelativeHeight?: boolean
946
-
947
- /**
948
- * Specify the interval for triggering the long press event.
949
- *
950
- * Supported platform: Android, HarmonyOS, iOS
951
- *
952
- * Since: LynxSDK 2.8
953
- *
954
- * @defaultValue undefined
955
- */
956
- longPressDuration?: number
957
-
958
- /**
959
- * Specifies the frequency of exposure detection.
960
- *
961
- * Supported platform: Android, HarmonyOS, iOS
962
- *
963
- * Since: LynxSDK 2.5
964
- *
965
- * @defaultValue undefined
966
- */
967
- observerFrameRate?: number
968
-
969
- /**
970
- * Scheduler config for pipeline, including enableParallelElement/list-framework batch render and other scheduler config.
971
- *
972
- * Supported platform: Android, iOS
973
- *
974
- * Since: LynxSDK 3.1
975
- *
976
- * @defaultValue undefined
977
- */
978
- pipelineSchedulerConfig?: number
979
-
980
- /**
981
- * Control the frame rate of CSS animations
982
- *
983
- * Supported platform: Android, HarmonyOS, iOS
984
- *
985
- * Since: LynxSDK 3.0
986
- *
987
- * @defaultValue "auto"
988
- */
989
- preferredFps?: string
990
-
991
- /**
992
- * 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.
993
- *
994
- * Supported platform: Android, HarmonyOS, iOS
995
- *
996
- * Since: LynxSDK 1.4
997
- *
998
- * @defaultValue undefined
999
- */
1000
- quirksMode?: boolean | string
1001
-
1002
- /**
1003
- * If false, descendant selector only works in component scope.
1004
- *
1005
- * Supported platform: Android, HarmonyOS, iOS
1006
- *
1007
- * Since: LynxSDK 2.0
1008
- *
1009
- * @defaultValue true
1010
- */
1011
- removeDescendantSelectorScope?: boolean
1012
-
1013
- /**
1014
- * if this flag is true, if component's prop type mismatch, will use default value.
1015
- *
1016
- * Supported platform: Android, HarmonyOS, iOS
1017
- *
1018
- * Since: LynxSDK 2.10
1019
- *
1020
- * @defaultValue false
1021
- */
1022
- strictPropType?: boolean
1023
-
1024
- /**
1025
- * Specify the sliding distance threshold at which the tap event is not triggered.
1026
- *
1027
- * Supported platform: Android, HarmonyOS
1028
- *
1029
- * Since: LynxSDK 2.0
1030
- *
1031
- * @defaultValue "50px"
1032
- */
1033
- tapSlop?: string
1034
-
1035
- /**
1036
- * Enable the iOS image refactor
1037
- *
1038
- * Supported platform: iOS
1039
- *
1040
- * Since: LynxSDK 2.6
1041
- *
1042
- * @defaultValue undefined
1043
- */
1044
- trailNewImage?: boolean
1045
-
1046
- /**
1047
- * Control whether the vw and vh units dynamically adjust with the viewport in properties like font-size; enabled by default for targetSdkVersion >= 2.3
1048
- *
1049
- * Supported platform: Android, HarmonyOS, iOS
1050
- *
1051
- * Since: LynxSDK 2.3
1052
- *
1053
- * @defaultValue false
1054
- */
1055
- unifyVWVHBehavior?: boolean
1056
-
1057
- /**
1058
- * Whether use image post processor
1059
- *
1060
- * Supported platform: Android
1061
- *
1062
- * Since: LynxSDK 2.7
1063
- *
1064
- * @defaultValue false
1065
- */
1066
- useImagePostProcessor?: boolean
1067
-
1068
- /**
1069
- * Indicates whether to use new swiper
1070
- *
1071
- * Supported platform: Android
1072
- *
1073
- * Since: LynxSDK 1.6
1074
- *
1075
- * @defaultValue true
1076
- */
1077
- useNewSwiper?: boolean
1078
-
1079
- /**
1080
- * deprecated
1081
- *
1082
- * Supported platform: Android, iOS, HarmonyOS
1083
- *
1084
- * @defaultValue true
1085
- * @deprecated 3.5
1086
- */
1087
- autoResumeAnimation?: boolean
1088
-
1089
- /**
1090
- * cli version
1091
- *
1092
- * Supported platform: Android, HarmonyOS, iOS
1093
- *
1094
- * @defaultValue ""
1095
- * @deprecated 3.5
1096
- */
1097
- cli?: string
1098
-
1099
- /**
1100
- * Supported platform: Android, iOS, HarmonyOS
1101
- *
1102
- * @defaultValue false
1103
- * @deprecated 3.5
1104
- */
1105
- compileRender?: boolean
1106
-
1107
- /**
1108
- * Supported platform: Android, iOS, HarmonyOS
1109
- *
1110
- * @defaultValue ""
1111
- * @deprecated 3.5
1112
- */
1113
- customData?: string
1114
-
1115
- /**
1116
- * Enable MutationObserver for accessibility.
1117
- *
1118
- * Supported platform: Android, iOS, HarmonyOS
1119
- *
1120
- * Since: LynxSDK 2.18
1121
- *
1122
- * @defaultValue false
1123
- * @deprecated 3.5
1124
- */
1125
- enableA11yIDMutationObserver?: boolean
1126
-
1127
- /**
1128
- * Globally enable async rendering for software rendering contents on iOS, this can largely optimize the frame rate and reduce janks.
1129
- *
1130
- * Supported platform: iOS
1131
- *
1132
- * Since: LynxSDK 2.1
1133
- *
1134
- * @defaultValue true
1135
- * @deprecated 3.5
1136
- */
1137
- enableAsyncDisplay?: boolean
1138
-
1139
- /**
1140
- * Enable iOS background manager to apply shape layer optimization. Deprecated and to be removed since this optimization becomes a fixed setting.
1141
- *
1142
- * Supported platform: iOS
1143
- *
1144
- * Since: LynxSDK 2.3
1145
- *
1146
- * @defaultValue true
1147
- * @deprecated 3.5
1148
- */
1149
- enableBackgroundShapeLayer?: boolean
1150
-
1151
- /**
1152
- * Deprecated, this is for legacy CSS selector to enable a cascading.
1153
- *
1154
- * Supported platform: Android, HarmonyOS, iOS
1155
- *
1156
- * Since: LynxSDK 2.1
1157
- *
1158
- * @defaultValue false
1159
- * @deprecated 3.5
1160
- */
1161
- enableCascadePseudo?: boolean
1162
-
1163
- /**
1164
- * Supported platform: Android, HarmonyOS, iOS
1165
- *
1166
- * @defaultValue true
1167
- * @deprecated 3.5
1168
- */
1169
- enableCheckDataWhenUpdatePage?: boolean
1170
-
1171
- /**
1172
- * Supported platform: Android, HarmonyOS, iOS
1173
- *
1174
- * Since: LynxSDK 2.5
1175
- *
1176
- * @defaultValue false
1177
- * @deprecated 3.5
1178
- */
1179
- enableComponentLayoutOnly?: boolean
1180
-
1181
- /**
1182
- * Supported platform: Android, iOS, HarmonyOS
1183
- *
1184
- * @defaultValue false
1185
- * @deprecated 3.5
1186
- */
1187
- enableGlobalComponentMap?: boolean
1188
-
1189
- /**
1190
- * Enable create ui async form C++ PaintingContext
1191
- *
1192
- * Supported platform: Android
1193
- *
1194
- * @defaultValue undefined
1195
- * @deprecated 3.5
1196
- */
1197
- enableNativeScheduleCreateViewAsync?: boolean
1198
-
1199
- /**
1200
- * Supported platform: Android
1201
- *
1202
- * Since: LynxSDK 2.7
1203
- *
1204
- * @defaultValue false
1205
- * @deprecated 3.5
1206
- */
1207
- enableNewAccessibility?: boolean
1208
-
1209
- /**
1210
- * Supported platform: Android, HarmonyOS, iOS
1211
- *
1212
- * @defaultValue true
1213
- * @deprecated 3.5
1214
- */
1215
- enableNewLayoutOnly?: boolean
1216
-
1217
- /**
1218
- * Enable using PropBundleStyleWriter to write style to PropBundle.
1219
- *
1220
- * Supported platform: Android, HarmonyOS, iOS
1221
- *
1222
- * @defaultValue undefined
1223
- * @deprecated 3.5
1224
- */
1225
- enableOptPushStyleToBundle?: boolean
1226
-
1227
- /**
1228
- * Supported platform: Android
1229
- *
1230
- * Since: LynxSDK 2.3
1231
- *
1232
- * @defaultValue true
1233
- * @deprecated 3.5
1234
- */
1235
- enableOverlapForAccessibilityElement?: boolean
1236
-
1237
- /**
1238
- * Supported platform: Android, HarmonyOS, iOS
1239
- *
1240
- * Since: LynxSDK 3.1
1241
- *
1242
- * @defaultValue true
1243
- * @deprecated 3.5
1244
- */
1245
- fixCSSImportRuleOrder?: boolean
1246
-
1247
- /**
1248
- * Supported platform: Android, iOS, HarmonyOS
1249
- *
1250
- * @defaultValue true
1251
- * @deprecated 3.5
1252
- */
1253
- forceCalcNewStyle?: boolean
1254
-
1255
- /**
1256
- * Supported platform: Android, HarmonyOS, iOS
1257
- *
1258
- * Since: LynxSDK 2.1
1259
- *
1260
- * @defaultValue ""
1261
- * @deprecated 3.5
1262
- */
1263
- reactVersion?: string
1264
-
1265
- /**
1266
- * Supported platform: Android, iOS, HarmonyOS
1267
- *
1268
- * @defaultValue undefined
1269
- * @deprecated 3.5
1270
- */
1271
- redBoxImageSizeWarningThreshold?: number
1272
-
1273
- /**
1274
- * deprecated
1275
- *
1276
- * Supported platform: Android, HarmonyOS, iOS
1277
- *
1278
- * Since: LynxSDK 1.6
1279
- *
1280
- * @defaultValue false
1281
- * @deprecated 3.5
1282
- */
1283
- removeComponentElement?: boolean
1284
-
1285
- /**
1286
- * 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.
1287
- *
1288
- * Supported platform: Android
1289
- *
1290
- * Since: LynxSDK 2.6
1291
- *
1292
- * @defaultValue true
1293
- * @deprecated 3.5
1294
- */
1295
- syncImageAttach?: boolean
1296
-
1297
- /**
1298
- * Supported platform: Android, iOS
1299
- *
1300
- * @defaultValue undefined
1301
- * @deprecated 3.5
1302
- */
1303
- useNewImage?: boolean
1304
-
1305
- /**
1306
- * Supported platform: Android, HarmonyOS, iOS
1307
- *
1308
- * @defaultValue ""
1309
- * @deprecated 3.5
1310
- */
1311
- version?: string
1312
-
318
+ unifyVWVHBehavior?: boolean;
1313
319
  }