diff --git a/api/@ohos.curves.d.ts b/api/@ohos.curves.d.ts
index 6e9f42033bd1b286e920b84aebe88c31541f769f..3c0b0007a82ea62ef7d470dd22b0135152518044 100644
--- a/api/@ohos.curves.d.ts
+++ b/api/@ohos.curves.d.ts
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2021-2025 Huawei Device Co., Ltd.
+ * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
@@ -42,17 +42,6 @@
* @atomicservice
* @since 11
*/
-/**
- * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves.
- *
- * @namespace curves
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
declare namespace curves {
/**
* enum Curve.
@@ -78,18 +67,7 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * enum Curve.
- *
- * @enum { number }
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
- export enum Curve {
+ enum Curve {
/**
* Linear. Indicates that the animation has the same velocity from start to finish.
*
@@ -111,16 +89,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Linear. Indicates that the animation has the same velocity from start to finish.
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
Linear,
/**
* Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end,
@@ -146,17 +114,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end,
- * CubicBezier(0.25, 0.1, 0.25, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
Ease,
/**
* EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0).
@@ -179,16 +136,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
EaseIn,
/**
* EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0).
@@ -211,16 +158,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
EaseOut,
/**
* EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0).
@@ -243,16 +180,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
EaseInOut,
/**
* FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0).
@@ -275,16 +202,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
FastOutSlowIn,
/**
* LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0).
@@ -307,16 +224,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
LinearOutSlowIn,
/**
* FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0).
@@ -339,16 +246,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
FastOutLinearIn,
/**
* ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0).
@@ -371,16 +268,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
ExtremeDeceleration,
/**
* Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0).
@@ -403,16 +290,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
Sharp,
/**
* Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0).
@@ -435,16 +312,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
Rhythm,
/**
* Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0).
@@ -467,16 +334,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
Smooth,
/**
* Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0).
@@ -499,16 +356,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0).
- *
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
Friction,
}
@@ -536,18 +383,7 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Interface for curve object.
- *
- * @interface ICurve
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
- export interface ICurve {
+ interface ICurve {
/**
* Get curve value by fraction.
*
@@ -580,19 +416,6 @@ declare namespace curves {
* @atomicservice
* @since 11
*/
- /**
- * Get curve value by fraction.
- *
- * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1].
- * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used.
- * @returns { number }
- * @syscap SystemCapability.ArkUI.ArkUI.Full
- * @crossplatform
- * @form
- * @atomicservice
- * @since 20
- * @arkts 1.1&1.2
- */
interpolate(fraction: number): number;
}
@@ -622,10 +445,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function initCurve(curve?: Curve): ICurve;
+ function initCurve(curve?: Curve): ICurve;
/**
* Initializes the interpolator curve when called.
@@ -672,10 +494,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function stepsCurve(count: number, end: boolean): ICurve;
+ function stepsCurve(count: number, end: boolean): ICurve;
/**
* Constructs a custom curve when called.
@@ -701,10 +522,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function customCurve(interpolate: (fraction: number) => number): ICurve;
+ function customCurve(interpolate: (fraction: number) => number): ICurve;
/**
* Constructs a step curve when called.
@@ -762,10 +582,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve;
+ function cubicBezierCurve(x1: number, y1: number, x2: number, y2: number): ICurve;
/**
* Creates a cubic Bezier curve. The curve value must range from 0 to 1. This API is deprecated since API version 9.
@@ -838,10 +657,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function springCurve(velocity: number, mass: number, stiffness: number, damping: number): ICurve;
+ function springCurve(velocity: number, mass: number, stiffness: number, damping: number): ICurve;
/**
* Constructs a spring curve when called.
@@ -920,10 +738,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function springMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve;
+ function springMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve;
/**
* Constructs a responsive spring motion when called.
@@ -980,10 +797,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve;
+ function responsiveSpringMotion(response?: number, dampingFraction?: number, overlapDuration?: number): ICurve;
/**
* Constructs an interpolating spring curve when called, the animation duration can not be specified manually,
@@ -1034,10 +850,9 @@ declare namespace curves {
* @syscap SystemCapability.ArkUI.ArkUI.Full
* @crossplatform
* @atomicservice
- * @since arkts {'1.1':'11','1.2':'20'}
- * @arkts 1.1&1.2
+ * @since 11
*/
- export function interpolatingSpring(velocity: number, mass: number, stiffness: number, damping: number): ICurve;
+ function interpolatingSpring(velocity: number, mass: number, stiffness: number, damping: number): ICurve;
}
export default curves;
diff --git a/api/@ohos.curves.static.d.ets b/api/@ohos.curves.static.d.ets
new file mode 100644
index 0000000000000000000000000000000000000000..7f4359f97e784d70f403c86c423168b711cc731b
--- /dev/null
+++ b/api/@ohos.curves.static.d.ets
@@ -0,0 +1,360 @@
+'use static'
+/*
+ * Copyright (c) 2025 Huawei Device Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License"),
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @file
+ * @kit ArkUI
+ * @arkts 1.2
+ */
+
+/**
+ * Contains interpolator functions such as initialization, third-order Bezier curves, and spring curves.
+ *
+ * @namespace curves
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+declare namespace curves {
+
+ /**
+ * enum Curve.
+ *
+ * @enum { number }
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ export enum Curve {
+
+ /**
+ * Linear. Indicates that the animation has the same velocity from start to finish.
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ Linear,
+
+ /**
+ * Ease. Indicates that the animation starts at a low speed, then speeds up, and slows down before the end,
+ * CubicBezier(0.25, 0.1, 0.25, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ Ease,
+
+ /**
+ * EaseIn. Indicates that the animation starts at a low speed, Cubic Bezier (0.42, 0.0, 1.0, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ EaseIn,
+
+ /**
+ * EaseOut. Indicates that the animation ends at low speed, CubicBezier (0.0, 0.0, 0.58, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ EaseOut,
+
+ /**
+ * EaseInOut. Indicates that the animation starts and ends at low speed, CubicBezier (0.42, 0.0, 0.58, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ EaseInOut,
+
+ /**
+ * FastOutSlowIn. Standard curve, cubic-bezier (0.4, 0.0, 0.2, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ FastOutSlowIn,
+
+ /**
+ * LinearOutSlowIn. Deceleration curve, cubic-bezier (0.0, 0.0, 0.2, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ LinearOutSlowIn,
+
+ /**
+ * FastOutLinearIn. Acceleration curve, cubic-bezier (0.4, 0.0, 1.0, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ FastOutLinearIn,
+
+ /**
+ * ExtremeDeceleration. Abrupt curve, cubic-bezier (0.0, 0.0, 0.0, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ ExtremeDeceleration,
+
+ /**
+ * Sharp. Sharp curves, cubic-bezier (0.33, 0.0, 0.67, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ Sharp,
+
+ /**
+ * Rhythm. Rhythmic curve, cubic-bezier (0.7, 0.0, 0.2, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ Rhythm,
+
+ /**
+ * Smooth. Smooth curves, cubic-bezier (0.4, 0.0, 0.4, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ Smooth,
+
+ /**
+ * Friction. Damping curves, CubicBezier (0.2, 0.0, 0.2, 1.0).
+ *
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ Friction
+ }
+
+ /**
+ * Interface for curve object.
+ *
+ * @interface ICurve
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ export interface ICurve {
+ /**
+ * Get curve value by fraction.
+ *
+ * @param { number } fraction -Indicates the current normalized time parameter. Value range: [0, 1].
+ * Note: If the value is less than 0, it will be processed as 0. If the value is greater than 1, 1 is used.
+ * @returns { number }
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ interpolate(fraction: number): number;
+ }
+
+ /**
+ * Implements initialization for the interpolation curve,
+ * which is used to create an interpolation curve based on the input parameter.
+ *
+ * @param { Curve } [curve] - Curve type.
Default value: **Curve.Linear**.
+ * @returns { ICurve }
+ * @syscap SystemCapability.ArkUI.ArkUI.Full
+ * @since 20
+ */
+ export function initCurve(curve?: Curve): ICurve;
+
+ /**
+ * Creates a step curve.
+ *
+ * @param { number } count - Number of steps. The value must be a positive integer.
Value range: [1, +∞).
+ *
**NOTE**:
+ *
A value less than 1 evaluates to the value **1**.
+ *
**NOTE**:
+ *
If fraction is 0, the return value 0 corresponds to the animation start point; any other return value means that
+ *
the animation jumps at the start point.If fraction is 1, the return value 1 corresponds to the animation
+ *
end point; any other return value means that the end value of the animation is not the value of the state
+ *
variable, which will result in an effect of transition from that end value to the value of the state variable.
+ *
**NOTE**:
+ *
A value less than 0 is handed as **0**. A value greater than 1 is handed as **1**.
+ *
**NOTE**:
+ *
A value less than 0 is handed as **0**. A value greater than 1 is handed as **1**.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the value 1 is used.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the value 1 is used.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the value 1 is used.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the default value **0.55** is used.
+ *
**NOTE**:
+ *
A value less than 0 evaluates to the default value **0.825**.
+ *
**NOTE**
+ *
A value less than 0 evaluates to the default value **0**.
+ *
The spring animation curve is physics-based. Its duration depends on the **springMotion** parameters and
+ * the previous velocity, rather than the **duration** parameter in animation, animateTo, or pageTransition.
+ * The time cannot be normalized. Therefore, the interpolation cannot be obtained using
+ * the **interpolate** function of the curve.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the default value **0.15** is used.
+ *
**NOTE**
+ *
A value less than 0 evaluates to the default value **0.86**.
+ *
**NOTE**:
+ *
A value less than 0 evaluates to the default value **0.25**.
+ *
To apply custom settings for a spring animation, you are advised to use **springMotion**.
+ *
When using **responsiveSpringMotion**, you are advised to retain the default settings.
+ *
The duration of the responsive spring animation depends on the **responsiveSpringMotion** parameters and the
+ * previous velocity, rather than the duration parameter in animation, animateTo, or pageTransition.
+ *
In addition, the interpolation cannot be obtained using the **interpolate** function of the curve.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the value **1** is used.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the value **1** is used.
+ *
**NOTE**:
+ *
If this parameter is set to a value less than or equal to 0, the value **1** is used.
+ *