@pixodesk/svg-animator-core 1.0.26 → 1.0.28
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/dist/index.cjs +589 -492
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +253 -1
- package/dist/index.d.ts +253 -1
- package/dist/index.js +580 -492
- package/dist/index.js.map +1 -1
- package/dist/index.min.cjs +1 -1
- package/dist/index.min.js +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1274,6 +1274,85 @@ declare const PxDefsSchema: PxSchema<{} & {
|
|
|
1274
1274
|
};
|
|
1275
1275
|
/** Reusable definitions library for easings, animations, and styles. */
|
|
1276
1276
|
type PxDefs = PxInfer<typeof PxDefsSchema>;
|
|
1277
|
+
/** The subject's journey phases across the scrollport (see scroll-timeline.design.md §4
|
|
1278
|
+
* for the exact `u`-space intervals each phase maps to). */
|
|
1279
|
+
type PxScrollPhase = 'cover' | 'contain' | 'entry' | 'exit' | 'entry-crossing' | 'exit-crossing';
|
|
1280
|
+
declare const PxScrollRangePointSchema: PxSchema<{} & {
|
|
1281
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1282
|
+
fraction?: number | undefined;
|
|
1283
|
+
}, false> & {
|
|
1284
|
+
readonly _shape: {
|
|
1285
|
+
phase: PxSchema<"cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined, true>;
|
|
1286
|
+
fraction: PxSchema<number | undefined, true>;
|
|
1287
|
+
};
|
|
1288
|
+
};
|
|
1289
|
+
type PxScrollRangePoint = PxInfer<typeof PxScrollRangePointSchema>;
|
|
1290
|
+
/** The `range` sub-object — named so consumers can derive its keys. */
|
|
1291
|
+
declare const PxScrollRangeSchema: PxSchema<{} & {
|
|
1292
|
+
start?: ({} & {
|
|
1293
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1294
|
+
fraction?: number | undefined;
|
|
1295
|
+
}) | undefined;
|
|
1296
|
+
end?: ({} & {
|
|
1297
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1298
|
+
fraction?: number | undefined;
|
|
1299
|
+
}) | undefined;
|
|
1300
|
+
}, false> & {
|
|
1301
|
+
readonly _shape: {
|
|
1302
|
+
start: PxSchema<({} & {
|
|
1303
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1304
|
+
fraction?: number | undefined;
|
|
1305
|
+
}) | undefined, true>;
|
|
1306
|
+
end: PxSchema<({} & {
|
|
1307
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1308
|
+
fraction?: number | undefined;
|
|
1309
|
+
}) | undefined, true>;
|
|
1310
|
+
};
|
|
1311
|
+
};
|
|
1312
|
+
declare const PxScrollSchema: PxSchema<{} & {
|
|
1313
|
+
driver?: "custom" | "native" | undefined;
|
|
1314
|
+
kind?: "view" | "scroll" | undefined;
|
|
1315
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
1316
|
+
source?: "nearest" | "root" | undefined;
|
|
1317
|
+
subject?: string | undefined;
|
|
1318
|
+
smoothing?: number | undefined;
|
|
1319
|
+
pin?: boolean | undefined;
|
|
1320
|
+
pinTop?: number | undefined;
|
|
1321
|
+
pinDistance?: number | undefined;
|
|
1322
|
+
range?: ({} & {
|
|
1323
|
+
start?: ({} & {
|
|
1324
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1325
|
+
fraction?: number | undefined;
|
|
1326
|
+
}) | undefined;
|
|
1327
|
+
end?: ({} & {
|
|
1328
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1329
|
+
fraction?: number | undefined;
|
|
1330
|
+
}) | undefined;
|
|
1331
|
+
}) | undefined;
|
|
1332
|
+
}, false> & {
|
|
1333
|
+
readonly _shape: {
|
|
1334
|
+
driver: PxSchema<"custom" | "native" | undefined, true>;
|
|
1335
|
+
kind: PxSchema<"view" | "scroll" | undefined, true>;
|
|
1336
|
+
axis: PxSchema<"x" | "y" | "block" | "inline" | undefined, true>;
|
|
1337
|
+
source: PxSchema<"nearest" | "root" | undefined, true>;
|
|
1338
|
+
subject: PxSchema<string | undefined, true>;
|
|
1339
|
+
smoothing: PxSchema<number | undefined, true>;
|
|
1340
|
+
pin: PxSchema<boolean | undefined, true>;
|
|
1341
|
+
pinTop: PxSchema<number | undefined, true>;
|
|
1342
|
+
pinDistance: PxSchema<number | undefined, true>;
|
|
1343
|
+
range: PxSchema<({} & {
|
|
1344
|
+
start?: ({} & {
|
|
1345
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1346
|
+
fraction?: number | undefined;
|
|
1347
|
+
}) | undefined;
|
|
1348
|
+
end?: ({} & {
|
|
1349
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1350
|
+
fraction?: number | undefined;
|
|
1351
|
+
}) | undefined;
|
|
1352
|
+
}) | undefined, true>;
|
|
1353
|
+
};
|
|
1354
|
+
};
|
|
1355
|
+
type PxScroll = PxInfer<typeof PxScrollSchema>;
|
|
1277
1356
|
declare const PxAnimatorConfigSchema: PxSchema<{} & {
|
|
1278
1357
|
mode?: "auto" | "waapi" | "frames" | undefined;
|
|
1279
1358
|
duration?: number | undefined;
|
|
@@ -1557,6 +1636,27 @@ declare const PxAnimatorConfigSchema: PxSchema<{} & {
|
|
|
1557
1636
|
autoOrient?: boolean | undefined;
|
|
1558
1637
|
}>)[]> | undefined;
|
|
1559
1638
|
timelineSource?: string | undefined;
|
|
1639
|
+
scroll?: ({} & {
|
|
1640
|
+
driver?: "custom" | "native" | undefined;
|
|
1641
|
+
kind?: "view" | "scroll" | undefined;
|
|
1642
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
1643
|
+
source?: "nearest" | "root" | undefined;
|
|
1644
|
+
subject?: string | undefined;
|
|
1645
|
+
smoothing?: number | undefined;
|
|
1646
|
+
pin?: boolean | undefined;
|
|
1647
|
+
pinTop?: number | undefined;
|
|
1648
|
+
pinDistance?: number | undefined;
|
|
1649
|
+
range?: ({} & {
|
|
1650
|
+
start?: ({} & {
|
|
1651
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1652
|
+
fraction?: number | undefined;
|
|
1653
|
+
}) | undefined;
|
|
1654
|
+
end?: ({} & {
|
|
1655
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1656
|
+
fraction?: number | undefined;
|
|
1657
|
+
}) | undefined;
|
|
1658
|
+
}) | undefined;
|
|
1659
|
+
}) | undefined;
|
|
1560
1660
|
debugInstName?: string | undefined;
|
|
1561
1661
|
}, false> & {
|
|
1562
1662
|
readonly _shape: {
|
|
@@ -1842,6 +1942,27 @@ declare const PxAnimatorConfigSchema: PxSchema<{} & {
|
|
|
1842
1942
|
autoOrient?: boolean | undefined;
|
|
1843
1943
|
}>)[]> | undefined, true>;
|
|
1844
1944
|
timelineSource: PxSchema<string | undefined, true>;
|
|
1945
|
+
scroll: PxSchema<({} & {
|
|
1946
|
+
driver?: "custom" | "native" | undefined;
|
|
1947
|
+
kind?: "view" | "scroll" | undefined;
|
|
1948
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
1949
|
+
source?: "nearest" | "root" | undefined;
|
|
1950
|
+
subject?: string | undefined;
|
|
1951
|
+
smoothing?: number | undefined;
|
|
1952
|
+
pin?: boolean | undefined;
|
|
1953
|
+
pinTop?: number | undefined;
|
|
1954
|
+
pinDistance?: number | undefined;
|
|
1955
|
+
range?: ({} & {
|
|
1956
|
+
start?: ({} & {
|
|
1957
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1958
|
+
fraction?: number | undefined;
|
|
1959
|
+
}) | undefined;
|
|
1960
|
+
end?: ({} & {
|
|
1961
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1962
|
+
fraction?: number | undefined;
|
|
1963
|
+
}) | undefined;
|
|
1964
|
+
}) | undefined;
|
|
1965
|
+
}) | undefined, true>;
|
|
1845
1966
|
debugInstName: PxSchema<string | undefined, true>;
|
|
1846
1967
|
};
|
|
1847
1968
|
};
|
|
@@ -17654,6 +17775,27 @@ declare const PxSvgNodeExtra: PxSchema<{} & {
|
|
|
17654
17775
|
autoOrient?: boolean | undefined;
|
|
17655
17776
|
}>)[]> | undefined;
|
|
17656
17777
|
timelineSource?: string | undefined;
|
|
17778
|
+
scroll?: ({} & {
|
|
17779
|
+
driver?: "custom" | "native" | undefined;
|
|
17780
|
+
kind?: "view" | "scroll" | undefined;
|
|
17781
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
17782
|
+
source?: "nearest" | "root" | undefined;
|
|
17783
|
+
subject?: string | undefined;
|
|
17784
|
+
smoothing?: number | undefined;
|
|
17785
|
+
pin?: boolean | undefined;
|
|
17786
|
+
pinTop?: number | undefined;
|
|
17787
|
+
pinDistance?: number | undefined;
|
|
17788
|
+
range?: ({} & {
|
|
17789
|
+
start?: ({} & {
|
|
17790
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
17791
|
+
fraction?: number | undefined;
|
|
17792
|
+
}) | undefined;
|
|
17793
|
+
end?: ({} & {
|
|
17794
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
17795
|
+
fraction?: number | undefined;
|
|
17796
|
+
}) | undefined;
|
|
17797
|
+
}) | undefined;
|
|
17798
|
+
}) | undefined;
|
|
17657
17799
|
debugInstName?: string | undefined;
|
|
17658
17800
|
}) | undefined;
|
|
17659
17801
|
}, false> & {
|
|
@@ -17944,6 +18086,27 @@ declare const PxSvgNodeExtra: PxSchema<{} & {
|
|
|
17944
18086
|
autoOrient?: boolean | undefined;
|
|
17945
18087
|
}>)[]> | undefined;
|
|
17946
18088
|
timelineSource?: string | undefined;
|
|
18089
|
+
scroll?: ({} & {
|
|
18090
|
+
driver?: "custom" | "native" | undefined;
|
|
18091
|
+
kind?: "view" | "scroll" | undefined;
|
|
18092
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
18093
|
+
source?: "nearest" | "root" | undefined;
|
|
18094
|
+
subject?: string | undefined;
|
|
18095
|
+
smoothing?: number | undefined;
|
|
18096
|
+
pin?: boolean | undefined;
|
|
18097
|
+
pinTop?: number | undefined;
|
|
18098
|
+
pinDistance?: number | undefined;
|
|
18099
|
+
range?: ({} & {
|
|
18100
|
+
start?: ({} & {
|
|
18101
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18102
|
+
fraction?: number | undefined;
|
|
18103
|
+
}) | undefined;
|
|
18104
|
+
end?: ({} & {
|
|
18105
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18106
|
+
fraction?: number | undefined;
|
|
18107
|
+
}) | undefined;
|
|
18108
|
+
}) | undefined;
|
|
18109
|
+
}) | undefined;
|
|
17947
18110
|
debugInstName?: string | undefined;
|
|
17948
18111
|
}) | undefined, true>;
|
|
17949
18112
|
};
|
|
@@ -18253,6 +18416,27 @@ declare const PxAnimatedSvgDocumentSchema: PxSchema<{
|
|
|
18253
18416
|
autoOrient?: boolean | undefined;
|
|
18254
18417
|
}>)[]> | undefined;
|
|
18255
18418
|
timelineSource?: string | undefined;
|
|
18419
|
+
scroll?: ({} & {
|
|
18420
|
+
driver?: "custom" | "native" | undefined;
|
|
18421
|
+
kind?: "view" | "scroll" | undefined;
|
|
18422
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
18423
|
+
source?: "nearest" | "root" | undefined;
|
|
18424
|
+
subject?: string | undefined;
|
|
18425
|
+
smoothing?: number | undefined;
|
|
18426
|
+
pin?: boolean | undefined;
|
|
18427
|
+
pinTop?: number | undefined;
|
|
18428
|
+
pinDistance?: number | undefined;
|
|
18429
|
+
range?: ({} & {
|
|
18430
|
+
start?: ({} & {
|
|
18431
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18432
|
+
fraction?: number | undefined;
|
|
18433
|
+
}) | undefined;
|
|
18434
|
+
end?: ({} & {
|
|
18435
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18436
|
+
fraction?: number | undefined;
|
|
18437
|
+
}) | undefined;
|
|
18438
|
+
}) | undefined;
|
|
18439
|
+
}) | undefined;
|
|
18256
18440
|
debugInstName?: string | undefined;
|
|
18257
18441
|
}) | undefined;
|
|
18258
18442
|
id?: string | undefined;
|
|
@@ -21222,6 +21406,27 @@ declare const PxAnimatedSvgDocumentSchema: PxSchema<{
|
|
|
21222
21406
|
autoOrient?: boolean | undefined;
|
|
21223
21407
|
}>)[]> | undefined;
|
|
21224
21408
|
timelineSource?: string | undefined;
|
|
21409
|
+
scroll?: ({} & {
|
|
21410
|
+
driver?: "custom" | "native" | undefined;
|
|
21411
|
+
kind?: "view" | "scroll" | undefined;
|
|
21412
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
21413
|
+
source?: "nearest" | "root" | undefined;
|
|
21414
|
+
subject?: string | undefined;
|
|
21415
|
+
smoothing?: number | undefined;
|
|
21416
|
+
pin?: boolean | undefined;
|
|
21417
|
+
pinTop?: number | undefined;
|
|
21418
|
+
pinDistance?: number | undefined;
|
|
21419
|
+
range?: ({} & {
|
|
21420
|
+
start?: ({} & {
|
|
21421
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
21422
|
+
fraction?: number | undefined;
|
|
21423
|
+
}) | undefined;
|
|
21424
|
+
end?: ({} & {
|
|
21425
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
21426
|
+
fraction?: number | undefined;
|
|
21427
|
+
}) | undefined;
|
|
21428
|
+
}) | undefined;
|
|
21429
|
+
}) | undefined;
|
|
21225
21430
|
debugInstName?: string | undefined;
|
|
21226
21431
|
}) | undefined, true>;
|
|
21227
21432
|
id: PxSchema<string | undefined, true>;
|
|
@@ -23979,6 +24184,53 @@ interface PxValidationResult {
|
|
|
23979
24184
|
*/
|
|
23980
24185
|
declare function isPxElementFileFormatDeep(fileJson: any): PxValidationResult;
|
|
23981
24186
|
|
|
24187
|
+
/** Is this document scroll-driven? (`animator.timelineSource === 'scroll'`) */
|
|
24188
|
+
declare function isScrollTimeline(config: PxAnimatorConfig | undefined): boolean;
|
|
24189
|
+
/**
|
|
24190
|
+
* The seek-space length (ms) a scroll progress of 1 maps to: duration × finite
|
|
24191
|
+
* iterations. `'infinite'` is meaningless on a finite progress timeline (see design doc
|
|
24192
|
+
* D4) — treated as 1 with the read-side warning left to the consumer.
|
|
24193
|
+
*/
|
|
24194
|
+
declare function scrollTotalDurationMs(config: PxAnimatorConfig | undefined): number;
|
|
24195
|
+
/**
|
|
24196
|
+
* A named phase's interval in `u`-space.
|
|
24197
|
+
*
|
|
24198
|
+
* `u` is the subject's "journey distance": with `sTop` = subject's leading edge in
|
|
24199
|
+
* scrollport coordinates, `u = vpSize − sTop` — 0 exactly when the subject is about to
|
|
24200
|
+
* enter (leading edge at the scrollport's trailing edge), growing as the user scrolls.
|
|
24201
|
+
* The `min`/`max` pairs make every formula valid BOTH for a subject smaller than the
|
|
24202
|
+
* scrollport and one larger than it (where "fully visible" flips to "covers the
|
|
24203
|
+
* scrollport") — the same case split CSS specifies for its named timeline ranges.
|
|
24204
|
+
*/
|
|
24205
|
+
declare function scrollPhaseInterval(phase: PxScrollPhase, subjectSize: number, scrollportSize: number): [number, number];
|
|
24206
|
+
/**
|
|
24207
|
+
* `kind: 'view'` progress ∈ [0, 1]: where the subject's journey sits within the
|
|
24208
|
+
* configured range.
|
|
24209
|
+
*
|
|
24210
|
+
* @param subjectStart subject's leading edge in scrollport coordinates
|
|
24211
|
+
* (`subjectRect.top − scrollportRect.top` on the resolved axis)
|
|
24212
|
+
* @param subjectSize subject size on the axis
|
|
24213
|
+
* @param scrollportSize scrollport size on the axis
|
|
24214
|
+
*
|
|
24215
|
+
* A degenerate/inverted range (uStart ≥ uEnd — e.g. zero-size subject with an `entry`
|
|
24216
|
+
* range) reports 1 once the point is passed, 0 before — never NaN.
|
|
24217
|
+
*/
|
|
24218
|
+
declare function scrollViewProgress(subjectStart: number, subjectSize: number, scrollportSize: number, range: PxScroll['range'] | undefined): number;
|
|
24219
|
+
/**
|
|
24220
|
+
* `kind: 'scroll'` progress ∈ [0, 1]: the scroller's offset ratio mapped through the
|
|
24221
|
+
* range (phases don't exist here — `fraction` is of the total scroll range).
|
|
24222
|
+
*
|
|
24223
|
+
* `maxOffset === 0` (nothing to scroll) reports 1, matching the CSS spec's rule that a
|
|
24224
|
+
* zero-length timeline is at 100%.
|
|
24225
|
+
*/
|
|
24226
|
+
declare function scrollOffsetProgress(offset: number, maxOffset: number, range: PxScroll['range'] | undefined): number;
|
|
24227
|
+
/**
|
|
24228
|
+
* Resolve a logical axis to a physical one. `block`/`inline` are writing-mode relative:
|
|
24229
|
+
* in horizontal writing (`horizontal-tb`, the default) block flows vertically; in
|
|
24230
|
+
* vertical writing modes it flows horizontally.
|
|
24231
|
+
*/
|
|
24232
|
+
declare function scrollResolveAxis(axis: PxScroll['axis'] | undefined, writingMode: string | undefined): 'x' | 'y';
|
|
24233
|
+
|
|
23982
24234
|
/**
|
|
23983
24235
|
* Converts a PxBezierPath to an SVG path string.
|
|
23984
24236
|
* Control points (i, o) are treated as ABSOLUTE coordinates.
|
|
@@ -24486,4 +24738,4 @@ interface EffectDiff {
|
|
|
24486
24738
|
*/
|
|
24487
24739
|
declare function diffInEffect(a: VmNode, b: VmNode): Array<EffectDiff>;
|
|
24488
24740
|
|
|
24489
|
-
export { type ApplyResult, COLOUR_ATTR_NAMES, CSS_ONLY_STYLE_PROPS, DEFAULT_DURATION_MS, DISALLOWED_SVG_TAGS_LOWER, type ExtendPathOpts, type ExtendedPath, type FillMode, type GlyphCharBox, type GlyphCharBoxAlongPath, type GlyphMaterialiseOpts, INTERNAL_ATTRS, type JsMode, type KeysMatch, LOOP_JUMP_SHIFT_MS, type MaterialiseAllOptions, type MotionPathMaterialisationOptions, type MotionPathSample, type OutAction, PCT_BASED_ATTR_NAMES, PX_ANIM_ATTR_NAME, PX_ANIM_SRC_ATTR_NAME, PX_TRANSFORM_PART_KEYS, type PathPoint, type PathSampler, type PlaybackDirection, type PxAnimatable, type PxAnimatedSvgDocument, PxAnimatedSvgDocumentSchema, type PxAnimationDefinition, PxAnimationDefinitionSchema, type PxAnimatorAPI, type PxAnimatorCallbacksConfig, type PxAnimatorConfig, PxAnimatorConfigSchema, PxAnimatorEngine, PxAnimatorMode, type PxAttrValue, PxAttrValueSchema, type PxBasicAnimatorAPI, type PxBezierPath, PxBezierPathSchema, type PxBinding, PxBindingSchema, type PxCloneEffect, PxCloneEffectSchema, type PxCreateElement, type PxDefs, PxDefsSchema, PxEasingOrRefSchema, type PxEffects, PxEffectsSchema, type PxElementAnimation, PxElementAnimationSchema, type PxFillGradientEffect, PxFillGradientEffectSchema, type PxGlyph, type PxGlyphFont, PxGradientSpreadMethod, type PxGradientStop, PxGradientStopSchema, PxGradientType, PxGradientUnits, type PxInfer, type PxKeyframe, PxKeyframeSchema, PxKeyframeValueSchema, type PxLoop, PxLoopExtend, PxLoopSchema, type PxMaskedByEffect, PxMaskedByEffectSchema, type PxNode, PxNodeBase, PxNodeSchema, type PxPlatformAdapter, type PxPropertyAnimation, PxPropertyAnimationSchema, type PxRepeaterEffect, PxRepeaterEffectSchema, type PxRetimeEffect, PxRetimeEffectSchema, type PxSchema, type PxSchemaDesc, type PxStrokeGradientEffect, PxStrokeGradientEffectSchema, type PxSvgNode, PxSvgNodeExtra, PxTextEffectSchema, type PxTextPathEffect, PxTextPathEffectSchema, type PxTransformByEffect, PxTransformByEffectSchema, type PxTransformPartKey, type PxTransformParts, PxTransformPartsSchema, type PxTransformValue, PxTransformValueSchema, type PxTrigger, PxTriggerSchema, type PxTrimPathEffect, PxTrimPathEffectSchema, PxTrimSubPaths, type PxValidationContext, type PxValidationResult, type RemoveIndex, STYLE_ATTR_NAMES, type StartOn, TEXT_ATTR, TEXT_CONTENT_ATTR, TRANSFORM_FN_NAMES, type Vec2, applyPlayerEffects, bezierToSvgPath, calcAnimationValues, camelCaseToKebabWordIfNeeded, clamp, collectSampleTimes, composeTransformParts, createBasicFrameLoopAnimator, createPathSampler, cubicBezier, deepClone, describeSchema, diffInEffect, evaluateMotionPathSegment, extendedPathForBrowser, generateNewIds, generateUniqueId, getAnimatorConfig, getBindings, getChildren, getDefs, getNormalisedBindings, getNormalizedProps, interpolateBeziers, interpolateValue, isPxElementFileFormat, isPxElementFileFormatDeep, jsonElementFactory, kebabToCamelCaseWord, layoutGlyphTextChars, materialiseAllInTree, materialiseAnimatedUseInstances, materialiseGlyphText, materialiseGlyphTextAlongPath, materialiseGlyphTextHorizontal, materialiseInternalLoopsInPropAnim, materialiseInternalLoopsInTree, materialiseMotionPathInPropAnim, materialiseMotionPathsInTree, propAnimIsMotionPath, px, resolveStyle, reverseEasing, sanitiseAttributeValue, schemaKeys, shiftAnimatable, splitEasing, subdivideCubicBezier, toRGBA, validateNodeEffects, visualModelAt };
|
|
24741
|
+
export { type ApplyResult, COLOUR_ATTR_NAMES, CSS_ONLY_STYLE_PROPS, DEFAULT_DURATION_MS, DISALLOWED_SVG_TAGS_LOWER, type ExtendPathOpts, type ExtendedPath, type FillMode, type GlyphCharBox, type GlyphCharBoxAlongPath, type GlyphMaterialiseOpts, INTERNAL_ATTRS, type JsMode, type KeysMatch, LOOP_JUMP_SHIFT_MS, type MaterialiseAllOptions, type MotionPathMaterialisationOptions, type MotionPathSample, type OutAction, PCT_BASED_ATTR_NAMES, PX_ANIM_ATTR_NAME, PX_ANIM_SRC_ATTR_NAME, PX_TRANSFORM_PART_KEYS, type PathPoint, type PathSampler, type PlaybackDirection, type PxAnimatable, type PxAnimatedSvgDocument, PxAnimatedSvgDocumentSchema, type PxAnimationDefinition, PxAnimationDefinitionSchema, type PxAnimatorAPI, type PxAnimatorCallbacksConfig, type PxAnimatorConfig, PxAnimatorConfigSchema, PxAnimatorEngine, PxAnimatorMode, type PxAttrValue, PxAttrValueSchema, type PxBasicAnimatorAPI, type PxBezierPath, PxBezierPathSchema, type PxBinding, PxBindingSchema, type PxCloneEffect, PxCloneEffectSchema, type PxCreateElement, type PxDefs, PxDefsSchema, PxEasingOrRefSchema, type PxEffects, PxEffectsSchema, type PxElementAnimation, PxElementAnimationSchema, type PxFillGradientEffect, PxFillGradientEffectSchema, type PxGlyph, type PxGlyphFont, PxGradientSpreadMethod, type PxGradientStop, PxGradientStopSchema, PxGradientType, PxGradientUnits, type PxInfer, type PxKeyframe, PxKeyframeSchema, PxKeyframeValueSchema, type PxLoop, PxLoopExtend, PxLoopSchema, type PxMaskedByEffect, PxMaskedByEffectSchema, type PxNode, PxNodeBase, PxNodeSchema, type PxPlatformAdapter, type PxPropertyAnimation, PxPropertyAnimationSchema, type PxRepeaterEffect, PxRepeaterEffectSchema, type PxRetimeEffect, PxRetimeEffectSchema, type PxSchema, type PxSchemaDesc, type PxScroll, type PxScrollPhase, type PxScrollRangePoint, PxScrollRangePointSchema, PxScrollRangeSchema, PxScrollSchema, type PxStrokeGradientEffect, PxStrokeGradientEffectSchema, type PxSvgNode, PxSvgNodeExtra, PxTextEffectSchema, type PxTextPathEffect, PxTextPathEffectSchema, type PxTransformByEffect, PxTransformByEffectSchema, type PxTransformPartKey, type PxTransformParts, PxTransformPartsSchema, type PxTransformValue, PxTransformValueSchema, type PxTrigger, PxTriggerSchema, type PxTrimPathEffect, PxTrimPathEffectSchema, PxTrimSubPaths, type PxValidationContext, type PxValidationResult, type RemoveIndex, STYLE_ATTR_NAMES, type StartOn, TEXT_ATTR, TEXT_CONTENT_ATTR, TRANSFORM_FN_NAMES, type Vec2, applyPlayerEffects, bezierToSvgPath, calcAnimationValues, camelCaseToKebabWordIfNeeded, clamp, collectSampleTimes, composeTransformParts, createBasicFrameLoopAnimator, createPathSampler, cubicBezier, deepClone, describeSchema, diffInEffect, evaluateMotionPathSegment, extendedPathForBrowser, generateNewIds, generateUniqueId, getAnimatorConfig, getBindings, getChildren, getDefs, getNormalisedBindings, getNormalizedProps, interpolateBeziers, interpolateValue, isPxElementFileFormat, isPxElementFileFormatDeep, isScrollTimeline, jsonElementFactory, kebabToCamelCaseWord, layoutGlyphTextChars, materialiseAllInTree, materialiseAnimatedUseInstances, materialiseGlyphText, materialiseGlyphTextAlongPath, materialiseGlyphTextHorizontal, materialiseInternalLoopsInPropAnim, materialiseInternalLoopsInTree, materialiseMotionPathInPropAnim, materialiseMotionPathsInTree, propAnimIsMotionPath, px, resolveStyle, reverseEasing, sanitiseAttributeValue, schemaKeys, scrollOffsetProgress, scrollPhaseInterval, scrollResolveAxis, scrollTotalDurationMs, scrollViewProgress, shiftAnimatable, splitEasing, subdivideCubicBezier, toRGBA, validateNodeEffects, visualModelAt };
|
package/dist/index.d.ts
CHANGED
|
@@ -1274,6 +1274,85 @@ declare const PxDefsSchema: PxSchema<{} & {
|
|
|
1274
1274
|
};
|
|
1275
1275
|
/** Reusable definitions library for easings, animations, and styles. */
|
|
1276
1276
|
type PxDefs = PxInfer<typeof PxDefsSchema>;
|
|
1277
|
+
/** The subject's journey phases across the scrollport (see scroll-timeline.design.md §4
|
|
1278
|
+
* for the exact `u`-space intervals each phase maps to). */
|
|
1279
|
+
type PxScrollPhase = 'cover' | 'contain' | 'entry' | 'exit' | 'entry-crossing' | 'exit-crossing';
|
|
1280
|
+
declare const PxScrollRangePointSchema: PxSchema<{} & {
|
|
1281
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1282
|
+
fraction?: number | undefined;
|
|
1283
|
+
}, false> & {
|
|
1284
|
+
readonly _shape: {
|
|
1285
|
+
phase: PxSchema<"cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined, true>;
|
|
1286
|
+
fraction: PxSchema<number | undefined, true>;
|
|
1287
|
+
};
|
|
1288
|
+
};
|
|
1289
|
+
type PxScrollRangePoint = PxInfer<typeof PxScrollRangePointSchema>;
|
|
1290
|
+
/** The `range` sub-object — named so consumers can derive its keys. */
|
|
1291
|
+
declare const PxScrollRangeSchema: PxSchema<{} & {
|
|
1292
|
+
start?: ({} & {
|
|
1293
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1294
|
+
fraction?: number | undefined;
|
|
1295
|
+
}) | undefined;
|
|
1296
|
+
end?: ({} & {
|
|
1297
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1298
|
+
fraction?: number | undefined;
|
|
1299
|
+
}) | undefined;
|
|
1300
|
+
}, false> & {
|
|
1301
|
+
readonly _shape: {
|
|
1302
|
+
start: PxSchema<({} & {
|
|
1303
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1304
|
+
fraction?: number | undefined;
|
|
1305
|
+
}) | undefined, true>;
|
|
1306
|
+
end: PxSchema<({} & {
|
|
1307
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1308
|
+
fraction?: number | undefined;
|
|
1309
|
+
}) | undefined, true>;
|
|
1310
|
+
};
|
|
1311
|
+
};
|
|
1312
|
+
declare const PxScrollSchema: PxSchema<{} & {
|
|
1313
|
+
driver?: "custom" | "native" | undefined;
|
|
1314
|
+
kind?: "view" | "scroll" | undefined;
|
|
1315
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
1316
|
+
source?: "nearest" | "root" | undefined;
|
|
1317
|
+
subject?: string | undefined;
|
|
1318
|
+
smoothing?: number | undefined;
|
|
1319
|
+
pin?: boolean | undefined;
|
|
1320
|
+
pinTop?: number | undefined;
|
|
1321
|
+
pinDistance?: number | undefined;
|
|
1322
|
+
range?: ({} & {
|
|
1323
|
+
start?: ({} & {
|
|
1324
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1325
|
+
fraction?: number | undefined;
|
|
1326
|
+
}) | undefined;
|
|
1327
|
+
end?: ({} & {
|
|
1328
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1329
|
+
fraction?: number | undefined;
|
|
1330
|
+
}) | undefined;
|
|
1331
|
+
}) | undefined;
|
|
1332
|
+
}, false> & {
|
|
1333
|
+
readonly _shape: {
|
|
1334
|
+
driver: PxSchema<"custom" | "native" | undefined, true>;
|
|
1335
|
+
kind: PxSchema<"view" | "scroll" | undefined, true>;
|
|
1336
|
+
axis: PxSchema<"x" | "y" | "block" | "inline" | undefined, true>;
|
|
1337
|
+
source: PxSchema<"nearest" | "root" | undefined, true>;
|
|
1338
|
+
subject: PxSchema<string | undefined, true>;
|
|
1339
|
+
smoothing: PxSchema<number | undefined, true>;
|
|
1340
|
+
pin: PxSchema<boolean | undefined, true>;
|
|
1341
|
+
pinTop: PxSchema<number | undefined, true>;
|
|
1342
|
+
pinDistance: PxSchema<number | undefined, true>;
|
|
1343
|
+
range: PxSchema<({} & {
|
|
1344
|
+
start?: ({} & {
|
|
1345
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1346
|
+
fraction?: number | undefined;
|
|
1347
|
+
}) | undefined;
|
|
1348
|
+
end?: ({} & {
|
|
1349
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1350
|
+
fraction?: number | undefined;
|
|
1351
|
+
}) | undefined;
|
|
1352
|
+
}) | undefined, true>;
|
|
1353
|
+
};
|
|
1354
|
+
};
|
|
1355
|
+
type PxScroll = PxInfer<typeof PxScrollSchema>;
|
|
1277
1356
|
declare const PxAnimatorConfigSchema: PxSchema<{} & {
|
|
1278
1357
|
mode?: "auto" | "waapi" | "frames" | undefined;
|
|
1279
1358
|
duration?: number | undefined;
|
|
@@ -1557,6 +1636,27 @@ declare const PxAnimatorConfigSchema: PxSchema<{} & {
|
|
|
1557
1636
|
autoOrient?: boolean | undefined;
|
|
1558
1637
|
}>)[]> | undefined;
|
|
1559
1638
|
timelineSource?: string | undefined;
|
|
1639
|
+
scroll?: ({} & {
|
|
1640
|
+
driver?: "custom" | "native" | undefined;
|
|
1641
|
+
kind?: "view" | "scroll" | undefined;
|
|
1642
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
1643
|
+
source?: "nearest" | "root" | undefined;
|
|
1644
|
+
subject?: string | undefined;
|
|
1645
|
+
smoothing?: number | undefined;
|
|
1646
|
+
pin?: boolean | undefined;
|
|
1647
|
+
pinTop?: number | undefined;
|
|
1648
|
+
pinDistance?: number | undefined;
|
|
1649
|
+
range?: ({} & {
|
|
1650
|
+
start?: ({} & {
|
|
1651
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1652
|
+
fraction?: number | undefined;
|
|
1653
|
+
}) | undefined;
|
|
1654
|
+
end?: ({} & {
|
|
1655
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1656
|
+
fraction?: number | undefined;
|
|
1657
|
+
}) | undefined;
|
|
1658
|
+
}) | undefined;
|
|
1659
|
+
}) | undefined;
|
|
1560
1660
|
debugInstName?: string | undefined;
|
|
1561
1661
|
}, false> & {
|
|
1562
1662
|
readonly _shape: {
|
|
@@ -1842,6 +1942,27 @@ declare const PxAnimatorConfigSchema: PxSchema<{} & {
|
|
|
1842
1942
|
autoOrient?: boolean | undefined;
|
|
1843
1943
|
}>)[]> | undefined, true>;
|
|
1844
1944
|
timelineSource: PxSchema<string | undefined, true>;
|
|
1945
|
+
scroll: PxSchema<({} & {
|
|
1946
|
+
driver?: "custom" | "native" | undefined;
|
|
1947
|
+
kind?: "view" | "scroll" | undefined;
|
|
1948
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
1949
|
+
source?: "nearest" | "root" | undefined;
|
|
1950
|
+
subject?: string | undefined;
|
|
1951
|
+
smoothing?: number | undefined;
|
|
1952
|
+
pin?: boolean | undefined;
|
|
1953
|
+
pinTop?: number | undefined;
|
|
1954
|
+
pinDistance?: number | undefined;
|
|
1955
|
+
range?: ({} & {
|
|
1956
|
+
start?: ({} & {
|
|
1957
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1958
|
+
fraction?: number | undefined;
|
|
1959
|
+
}) | undefined;
|
|
1960
|
+
end?: ({} & {
|
|
1961
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
1962
|
+
fraction?: number | undefined;
|
|
1963
|
+
}) | undefined;
|
|
1964
|
+
}) | undefined;
|
|
1965
|
+
}) | undefined, true>;
|
|
1845
1966
|
debugInstName: PxSchema<string | undefined, true>;
|
|
1846
1967
|
};
|
|
1847
1968
|
};
|
|
@@ -17654,6 +17775,27 @@ declare const PxSvgNodeExtra: PxSchema<{} & {
|
|
|
17654
17775
|
autoOrient?: boolean | undefined;
|
|
17655
17776
|
}>)[]> | undefined;
|
|
17656
17777
|
timelineSource?: string | undefined;
|
|
17778
|
+
scroll?: ({} & {
|
|
17779
|
+
driver?: "custom" | "native" | undefined;
|
|
17780
|
+
kind?: "view" | "scroll" | undefined;
|
|
17781
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
17782
|
+
source?: "nearest" | "root" | undefined;
|
|
17783
|
+
subject?: string | undefined;
|
|
17784
|
+
smoothing?: number | undefined;
|
|
17785
|
+
pin?: boolean | undefined;
|
|
17786
|
+
pinTop?: number | undefined;
|
|
17787
|
+
pinDistance?: number | undefined;
|
|
17788
|
+
range?: ({} & {
|
|
17789
|
+
start?: ({} & {
|
|
17790
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
17791
|
+
fraction?: number | undefined;
|
|
17792
|
+
}) | undefined;
|
|
17793
|
+
end?: ({} & {
|
|
17794
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
17795
|
+
fraction?: number | undefined;
|
|
17796
|
+
}) | undefined;
|
|
17797
|
+
}) | undefined;
|
|
17798
|
+
}) | undefined;
|
|
17657
17799
|
debugInstName?: string | undefined;
|
|
17658
17800
|
}) | undefined;
|
|
17659
17801
|
}, false> & {
|
|
@@ -17944,6 +18086,27 @@ declare const PxSvgNodeExtra: PxSchema<{} & {
|
|
|
17944
18086
|
autoOrient?: boolean | undefined;
|
|
17945
18087
|
}>)[]> | undefined;
|
|
17946
18088
|
timelineSource?: string | undefined;
|
|
18089
|
+
scroll?: ({} & {
|
|
18090
|
+
driver?: "custom" | "native" | undefined;
|
|
18091
|
+
kind?: "view" | "scroll" | undefined;
|
|
18092
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
18093
|
+
source?: "nearest" | "root" | undefined;
|
|
18094
|
+
subject?: string | undefined;
|
|
18095
|
+
smoothing?: number | undefined;
|
|
18096
|
+
pin?: boolean | undefined;
|
|
18097
|
+
pinTop?: number | undefined;
|
|
18098
|
+
pinDistance?: number | undefined;
|
|
18099
|
+
range?: ({} & {
|
|
18100
|
+
start?: ({} & {
|
|
18101
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18102
|
+
fraction?: number | undefined;
|
|
18103
|
+
}) | undefined;
|
|
18104
|
+
end?: ({} & {
|
|
18105
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18106
|
+
fraction?: number | undefined;
|
|
18107
|
+
}) | undefined;
|
|
18108
|
+
}) | undefined;
|
|
18109
|
+
}) | undefined;
|
|
17947
18110
|
debugInstName?: string | undefined;
|
|
17948
18111
|
}) | undefined, true>;
|
|
17949
18112
|
};
|
|
@@ -18253,6 +18416,27 @@ declare const PxAnimatedSvgDocumentSchema: PxSchema<{
|
|
|
18253
18416
|
autoOrient?: boolean | undefined;
|
|
18254
18417
|
}>)[]> | undefined;
|
|
18255
18418
|
timelineSource?: string | undefined;
|
|
18419
|
+
scroll?: ({} & {
|
|
18420
|
+
driver?: "custom" | "native" | undefined;
|
|
18421
|
+
kind?: "view" | "scroll" | undefined;
|
|
18422
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
18423
|
+
source?: "nearest" | "root" | undefined;
|
|
18424
|
+
subject?: string | undefined;
|
|
18425
|
+
smoothing?: number | undefined;
|
|
18426
|
+
pin?: boolean | undefined;
|
|
18427
|
+
pinTop?: number | undefined;
|
|
18428
|
+
pinDistance?: number | undefined;
|
|
18429
|
+
range?: ({} & {
|
|
18430
|
+
start?: ({} & {
|
|
18431
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18432
|
+
fraction?: number | undefined;
|
|
18433
|
+
}) | undefined;
|
|
18434
|
+
end?: ({} & {
|
|
18435
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
18436
|
+
fraction?: number | undefined;
|
|
18437
|
+
}) | undefined;
|
|
18438
|
+
}) | undefined;
|
|
18439
|
+
}) | undefined;
|
|
18256
18440
|
debugInstName?: string | undefined;
|
|
18257
18441
|
}) | undefined;
|
|
18258
18442
|
id?: string | undefined;
|
|
@@ -21222,6 +21406,27 @@ declare const PxAnimatedSvgDocumentSchema: PxSchema<{
|
|
|
21222
21406
|
autoOrient?: boolean | undefined;
|
|
21223
21407
|
}>)[]> | undefined;
|
|
21224
21408
|
timelineSource?: string | undefined;
|
|
21409
|
+
scroll?: ({} & {
|
|
21410
|
+
driver?: "custom" | "native" | undefined;
|
|
21411
|
+
kind?: "view" | "scroll" | undefined;
|
|
21412
|
+
axis?: "x" | "y" | "block" | "inline" | undefined;
|
|
21413
|
+
source?: "nearest" | "root" | undefined;
|
|
21414
|
+
subject?: string | undefined;
|
|
21415
|
+
smoothing?: number | undefined;
|
|
21416
|
+
pin?: boolean | undefined;
|
|
21417
|
+
pinTop?: number | undefined;
|
|
21418
|
+
pinDistance?: number | undefined;
|
|
21419
|
+
range?: ({} & {
|
|
21420
|
+
start?: ({} & {
|
|
21421
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
21422
|
+
fraction?: number | undefined;
|
|
21423
|
+
}) | undefined;
|
|
21424
|
+
end?: ({} & {
|
|
21425
|
+
phase?: "cover" | "contain" | "entry" | "exit" | "entry-crossing" | "exit-crossing" | undefined;
|
|
21426
|
+
fraction?: number | undefined;
|
|
21427
|
+
}) | undefined;
|
|
21428
|
+
}) | undefined;
|
|
21429
|
+
}) | undefined;
|
|
21225
21430
|
debugInstName?: string | undefined;
|
|
21226
21431
|
}) | undefined, true>;
|
|
21227
21432
|
id: PxSchema<string | undefined, true>;
|
|
@@ -23979,6 +24184,53 @@ interface PxValidationResult {
|
|
|
23979
24184
|
*/
|
|
23980
24185
|
declare function isPxElementFileFormatDeep(fileJson: any): PxValidationResult;
|
|
23981
24186
|
|
|
24187
|
+
/** Is this document scroll-driven? (`animator.timelineSource === 'scroll'`) */
|
|
24188
|
+
declare function isScrollTimeline(config: PxAnimatorConfig | undefined): boolean;
|
|
24189
|
+
/**
|
|
24190
|
+
* The seek-space length (ms) a scroll progress of 1 maps to: duration × finite
|
|
24191
|
+
* iterations. `'infinite'` is meaningless on a finite progress timeline (see design doc
|
|
24192
|
+
* D4) — treated as 1 with the read-side warning left to the consumer.
|
|
24193
|
+
*/
|
|
24194
|
+
declare function scrollTotalDurationMs(config: PxAnimatorConfig | undefined): number;
|
|
24195
|
+
/**
|
|
24196
|
+
* A named phase's interval in `u`-space.
|
|
24197
|
+
*
|
|
24198
|
+
* `u` is the subject's "journey distance": with `sTop` = subject's leading edge in
|
|
24199
|
+
* scrollport coordinates, `u = vpSize − sTop` — 0 exactly when the subject is about to
|
|
24200
|
+
* enter (leading edge at the scrollport's trailing edge), growing as the user scrolls.
|
|
24201
|
+
* The `min`/`max` pairs make every formula valid BOTH for a subject smaller than the
|
|
24202
|
+
* scrollport and one larger than it (where "fully visible" flips to "covers the
|
|
24203
|
+
* scrollport") — the same case split CSS specifies for its named timeline ranges.
|
|
24204
|
+
*/
|
|
24205
|
+
declare function scrollPhaseInterval(phase: PxScrollPhase, subjectSize: number, scrollportSize: number): [number, number];
|
|
24206
|
+
/**
|
|
24207
|
+
* `kind: 'view'` progress ∈ [0, 1]: where the subject's journey sits within the
|
|
24208
|
+
* configured range.
|
|
24209
|
+
*
|
|
24210
|
+
* @param subjectStart subject's leading edge in scrollport coordinates
|
|
24211
|
+
* (`subjectRect.top − scrollportRect.top` on the resolved axis)
|
|
24212
|
+
* @param subjectSize subject size on the axis
|
|
24213
|
+
* @param scrollportSize scrollport size on the axis
|
|
24214
|
+
*
|
|
24215
|
+
* A degenerate/inverted range (uStart ≥ uEnd — e.g. zero-size subject with an `entry`
|
|
24216
|
+
* range) reports 1 once the point is passed, 0 before — never NaN.
|
|
24217
|
+
*/
|
|
24218
|
+
declare function scrollViewProgress(subjectStart: number, subjectSize: number, scrollportSize: number, range: PxScroll['range'] | undefined): number;
|
|
24219
|
+
/**
|
|
24220
|
+
* `kind: 'scroll'` progress ∈ [0, 1]: the scroller's offset ratio mapped through the
|
|
24221
|
+
* range (phases don't exist here — `fraction` is of the total scroll range).
|
|
24222
|
+
*
|
|
24223
|
+
* `maxOffset === 0` (nothing to scroll) reports 1, matching the CSS spec's rule that a
|
|
24224
|
+
* zero-length timeline is at 100%.
|
|
24225
|
+
*/
|
|
24226
|
+
declare function scrollOffsetProgress(offset: number, maxOffset: number, range: PxScroll['range'] | undefined): number;
|
|
24227
|
+
/**
|
|
24228
|
+
* Resolve a logical axis to a physical one. `block`/`inline` are writing-mode relative:
|
|
24229
|
+
* in horizontal writing (`horizontal-tb`, the default) block flows vertically; in
|
|
24230
|
+
* vertical writing modes it flows horizontally.
|
|
24231
|
+
*/
|
|
24232
|
+
declare function scrollResolveAxis(axis: PxScroll['axis'] | undefined, writingMode: string | undefined): 'x' | 'y';
|
|
24233
|
+
|
|
23982
24234
|
/**
|
|
23983
24235
|
* Converts a PxBezierPath to an SVG path string.
|
|
23984
24236
|
* Control points (i, o) are treated as ABSOLUTE coordinates.
|
|
@@ -24486,4 +24738,4 @@ interface EffectDiff {
|
|
|
24486
24738
|
*/
|
|
24487
24739
|
declare function diffInEffect(a: VmNode, b: VmNode): Array<EffectDiff>;
|
|
24488
24740
|
|
|
24489
|
-
export { type ApplyResult, COLOUR_ATTR_NAMES, CSS_ONLY_STYLE_PROPS, DEFAULT_DURATION_MS, DISALLOWED_SVG_TAGS_LOWER, type ExtendPathOpts, type ExtendedPath, type FillMode, type GlyphCharBox, type GlyphCharBoxAlongPath, type GlyphMaterialiseOpts, INTERNAL_ATTRS, type JsMode, type KeysMatch, LOOP_JUMP_SHIFT_MS, type MaterialiseAllOptions, type MotionPathMaterialisationOptions, type MotionPathSample, type OutAction, PCT_BASED_ATTR_NAMES, PX_ANIM_ATTR_NAME, PX_ANIM_SRC_ATTR_NAME, PX_TRANSFORM_PART_KEYS, type PathPoint, type PathSampler, type PlaybackDirection, type PxAnimatable, type PxAnimatedSvgDocument, PxAnimatedSvgDocumentSchema, type PxAnimationDefinition, PxAnimationDefinitionSchema, type PxAnimatorAPI, type PxAnimatorCallbacksConfig, type PxAnimatorConfig, PxAnimatorConfigSchema, PxAnimatorEngine, PxAnimatorMode, type PxAttrValue, PxAttrValueSchema, type PxBasicAnimatorAPI, type PxBezierPath, PxBezierPathSchema, type PxBinding, PxBindingSchema, type PxCloneEffect, PxCloneEffectSchema, type PxCreateElement, type PxDefs, PxDefsSchema, PxEasingOrRefSchema, type PxEffects, PxEffectsSchema, type PxElementAnimation, PxElementAnimationSchema, type PxFillGradientEffect, PxFillGradientEffectSchema, type PxGlyph, type PxGlyphFont, PxGradientSpreadMethod, type PxGradientStop, PxGradientStopSchema, PxGradientType, PxGradientUnits, type PxInfer, type PxKeyframe, PxKeyframeSchema, PxKeyframeValueSchema, type PxLoop, PxLoopExtend, PxLoopSchema, type PxMaskedByEffect, PxMaskedByEffectSchema, type PxNode, PxNodeBase, PxNodeSchema, type PxPlatformAdapter, type PxPropertyAnimation, PxPropertyAnimationSchema, type PxRepeaterEffect, PxRepeaterEffectSchema, type PxRetimeEffect, PxRetimeEffectSchema, type PxSchema, type PxSchemaDesc, type PxStrokeGradientEffect, PxStrokeGradientEffectSchema, type PxSvgNode, PxSvgNodeExtra, PxTextEffectSchema, type PxTextPathEffect, PxTextPathEffectSchema, type PxTransformByEffect, PxTransformByEffectSchema, type PxTransformPartKey, type PxTransformParts, PxTransformPartsSchema, type PxTransformValue, PxTransformValueSchema, type PxTrigger, PxTriggerSchema, type PxTrimPathEffect, PxTrimPathEffectSchema, PxTrimSubPaths, type PxValidationContext, type PxValidationResult, type RemoveIndex, STYLE_ATTR_NAMES, type StartOn, TEXT_ATTR, TEXT_CONTENT_ATTR, TRANSFORM_FN_NAMES, type Vec2, applyPlayerEffects, bezierToSvgPath, calcAnimationValues, camelCaseToKebabWordIfNeeded, clamp, collectSampleTimes, composeTransformParts, createBasicFrameLoopAnimator, createPathSampler, cubicBezier, deepClone, describeSchema, diffInEffect, evaluateMotionPathSegment, extendedPathForBrowser, generateNewIds, generateUniqueId, getAnimatorConfig, getBindings, getChildren, getDefs, getNormalisedBindings, getNormalizedProps, interpolateBeziers, interpolateValue, isPxElementFileFormat, isPxElementFileFormatDeep, jsonElementFactory, kebabToCamelCaseWord, layoutGlyphTextChars, materialiseAllInTree, materialiseAnimatedUseInstances, materialiseGlyphText, materialiseGlyphTextAlongPath, materialiseGlyphTextHorizontal, materialiseInternalLoopsInPropAnim, materialiseInternalLoopsInTree, materialiseMotionPathInPropAnim, materialiseMotionPathsInTree, propAnimIsMotionPath, px, resolveStyle, reverseEasing, sanitiseAttributeValue, schemaKeys, shiftAnimatable, splitEasing, subdivideCubicBezier, toRGBA, validateNodeEffects, visualModelAt };
|
|
24741
|
+
export { type ApplyResult, COLOUR_ATTR_NAMES, CSS_ONLY_STYLE_PROPS, DEFAULT_DURATION_MS, DISALLOWED_SVG_TAGS_LOWER, type ExtendPathOpts, type ExtendedPath, type FillMode, type GlyphCharBox, type GlyphCharBoxAlongPath, type GlyphMaterialiseOpts, INTERNAL_ATTRS, type JsMode, type KeysMatch, LOOP_JUMP_SHIFT_MS, type MaterialiseAllOptions, type MotionPathMaterialisationOptions, type MotionPathSample, type OutAction, PCT_BASED_ATTR_NAMES, PX_ANIM_ATTR_NAME, PX_ANIM_SRC_ATTR_NAME, PX_TRANSFORM_PART_KEYS, type PathPoint, type PathSampler, type PlaybackDirection, type PxAnimatable, type PxAnimatedSvgDocument, PxAnimatedSvgDocumentSchema, type PxAnimationDefinition, PxAnimationDefinitionSchema, type PxAnimatorAPI, type PxAnimatorCallbacksConfig, type PxAnimatorConfig, PxAnimatorConfigSchema, PxAnimatorEngine, PxAnimatorMode, type PxAttrValue, PxAttrValueSchema, type PxBasicAnimatorAPI, type PxBezierPath, PxBezierPathSchema, type PxBinding, PxBindingSchema, type PxCloneEffect, PxCloneEffectSchema, type PxCreateElement, type PxDefs, PxDefsSchema, PxEasingOrRefSchema, type PxEffects, PxEffectsSchema, type PxElementAnimation, PxElementAnimationSchema, type PxFillGradientEffect, PxFillGradientEffectSchema, type PxGlyph, type PxGlyphFont, PxGradientSpreadMethod, type PxGradientStop, PxGradientStopSchema, PxGradientType, PxGradientUnits, type PxInfer, type PxKeyframe, PxKeyframeSchema, PxKeyframeValueSchema, type PxLoop, PxLoopExtend, PxLoopSchema, type PxMaskedByEffect, PxMaskedByEffectSchema, type PxNode, PxNodeBase, PxNodeSchema, type PxPlatformAdapter, type PxPropertyAnimation, PxPropertyAnimationSchema, type PxRepeaterEffect, PxRepeaterEffectSchema, type PxRetimeEffect, PxRetimeEffectSchema, type PxSchema, type PxSchemaDesc, type PxScroll, type PxScrollPhase, type PxScrollRangePoint, PxScrollRangePointSchema, PxScrollRangeSchema, PxScrollSchema, type PxStrokeGradientEffect, PxStrokeGradientEffectSchema, type PxSvgNode, PxSvgNodeExtra, PxTextEffectSchema, type PxTextPathEffect, PxTextPathEffectSchema, type PxTransformByEffect, PxTransformByEffectSchema, type PxTransformPartKey, type PxTransformParts, PxTransformPartsSchema, type PxTransformValue, PxTransformValueSchema, type PxTrigger, PxTriggerSchema, type PxTrimPathEffect, PxTrimPathEffectSchema, PxTrimSubPaths, type PxValidationContext, type PxValidationResult, type RemoveIndex, STYLE_ATTR_NAMES, type StartOn, TEXT_ATTR, TEXT_CONTENT_ATTR, TRANSFORM_FN_NAMES, type Vec2, applyPlayerEffects, bezierToSvgPath, calcAnimationValues, camelCaseToKebabWordIfNeeded, clamp, collectSampleTimes, composeTransformParts, createBasicFrameLoopAnimator, createPathSampler, cubicBezier, deepClone, describeSchema, diffInEffect, evaluateMotionPathSegment, extendedPathForBrowser, generateNewIds, generateUniqueId, getAnimatorConfig, getBindings, getChildren, getDefs, getNormalisedBindings, getNormalizedProps, interpolateBeziers, interpolateValue, isPxElementFileFormat, isPxElementFileFormatDeep, isScrollTimeline, jsonElementFactory, kebabToCamelCaseWord, layoutGlyphTextChars, materialiseAllInTree, materialiseAnimatedUseInstances, materialiseGlyphText, materialiseGlyphTextAlongPath, materialiseGlyphTextHorizontal, materialiseInternalLoopsInPropAnim, materialiseInternalLoopsInTree, materialiseMotionPathInPropAnim, materialiseMotionPathsInTree, propAnimIsMotionPath, px, resolveStyle, reverseEasing, sanitiseAttributeValue, schemaKeys, scrollOffsetProgress, scrollPhaseInterval, scrollResolveAxis, scrollTotalDurationMs, scrollViewProgress, shiftAnimatable, splitEasing, subdivideCubicBezier, toRGBA, validateNodeEffects, visualModelAt };
|