@fiddle-digital/string-tune 1.2.0 → 1.2.1-alpha.1
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 +21 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.mts +75 -4
- package/dist/index.d.ts +75 -4
- package/dist/index.js +21 -21
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +21 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -242,6 +242,8 @@ interface IStringModule {
|
|
|
242
242
|
onResize(): void;
|
|
243
243
|
/** Called when the layout is resize width. */
|
|
244
244
|
onResizeWidth(): void;
|
|
245
|
+
/** Called when DOM content changes (elements added/removed, images loaded) — no viewport remeasure. */
|
|
246
|
+
onRebuild(): void;
|
|
245
247
|
/** Called when the system rebuilds the DOM (e.g. after mutations). */
|
|
246
248
|
onDOMRebuild(): void;
|
|
247
249
|
/** Called when scroll position changes. */
|
|
@@ -763,7 +765,7 @@ declare class LerpTool implements IStringTool<LerpInput, number> {
|
|
|
763
765
|
*/
|
|
764
766
|
interface UnitParserInput {
|
|
765
767
|
/** Unit string, e.g. `"20px"`, `"50%"`, `"1.5rem"`, or `"selfHeight"` */
|
|
766
|
-
value: string;
|
|
768
|
+
value: string | number;
|
|
767
769
|
/** DOM element used for `"selfHeight"` calculation */
|
|
768
770
|
element: HTMLElement;
|
|
769
771
|
/** Viewport height in pixels (for percentage conversion) */
|
|
@@ -1066,6 +1068,7 @@ interface ISplitOptionItem {
|
|
|
1066
1068
|
* Holds arrays of option definitions for each split type.
|
|
1067
1069
|
*/
|
|
1068
1070
|
interface ISplitOptions {
|
|
1071
|
+
segment?: "legacy" | "visual";
|
|
1069
1072
|
fit?: boolean;
|
|
1070
1073
|
trimInlineGaps?: boolean;
|
|
1071
1074
|
line?: ISplitOptionItem[];
|
|
@@ -1091,6 +1094,7 @@ declare class SplitOptionsParserTool implements IStringTool<SplitOptionsParserIn
|
|
|
1091
1094
|
process({ attributeValue }: SplitOptionsParserInput): ISplitOptions;
|
|
1092
1095
|
private toCamelCase;
|
|
1093
1096
|
private parseParamsArray;
|
|
1097
|
+
private parseSegmentMode;
|
|
1094
1098
|
}
|
|
1095
1099
|
|
|
1096
1100
|
interface RuleParserInput {
|
|
@@ -1244,6 +1248,23 @@ type AttributeMapping = {
|
|
|
1244
1248
|
transform?: (value: any) => any;
|
|
1245
1249
|
};
|
|
1246
1250
|
|
|
1251
|
+
type StringSignalValue = number | boolean | string | null;
|
|
1252
|
+
declare class StringSignalHub {
|
|
1253
|
+
private readonly emit;
|
|
1254
|
+
private values;
|
|
1255
|
+
constructor(emit: (eventName: string, payload?: any) => void);
|
|
1256
|
+
publish(objectId: string, signal: string, value: StringSignalValue): void;
|
|
1257
|
+
subscribe(objectId: string, signal: string, events: {
|
|
1258
|
+
on<T = any>(eventName: string, callback: EventCallback<T>, id?: string | null): void;
|
|
1259
|
+
}, callback: EventCallback<StringSignalValue>): void;
|
|
1260
|
+
unsubscribe(objectId: string, signal: string, events: {
|
|
1261
|
+
off<T = any>(eventName: string, callback: EventCallback<T>, id?: string): void;
|
|
1262
|
+
}, callback: EventCallback<StringSignalValue>): void;
|
|
1263
|
+
get(objectId: string, signal: string): StringSignalValue | undefined;
|
|
1264
|
+
getEventName(objectId: string, signal: string): string;
|
|
1265
|
+
private getKey;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1247
1268
|
interface ParseContext {
|
|
1248
1269
|
element?: HTMLElement;
|
|
1249
1270
|
boundingRect?: DOMRect;
|
|
@@ -1341,6 +1362,7 @@ declare class StringModule implements IStringModule {
|
|
|
1341
1362
|
* Object manager for layout refreshes and in-view recalculation.
|
|
1342
1363
|
*/
|
|
1343
1364
|
protected objectManager: ObjectManager;
|
|
1365
|
+
protected signals: StringSignalHub;
|
|
1344
1366
|
permissions: ModuleLifecyclePermissions;
|
|
1345
1367
|
constructor(context: StringContext);
|
|
1346
1368
|
/**
|
|
@@ -1383,7 +1405,7 @@ declare class StringModule implements IStringModule {
|
|
|
1383
1405
|
* @param context Optional helper values like element or viewport size.
|
|
1384
1406
|
* @returns The parsed and transformed value.
|
|
1385
1407
|
*/
|
|
1386
|
-
protected parseAttribute(value: string | null, type: AttributeType, context?: ParseContext): any;
|
|
1408
|
+
protected parseAttribute(value: string | number | null, type: AttributeType, context?: ParseContext): any;
|
|
1387
1409
|
/**
|
|
1388
1410
|
* Determines whether the module should attach to a given object,
|
|
1389
1411
|
* based on the presence of the module's `htmlKey` in the object keys.
|
|
@@ -1474,6 +1496,8 @@ declare class StringModule implements IStringModule {
|
|
|
1474
1496
|
* Returns a cached per-object event name to avoid building strings in hot paths.
|
|
1475
1497
|
*/
|
|
1476
1498
|
protected getObjectEventName(object: StringObject, prefix: string, suffix?: string): string;
|
|
1499
|
+
protected emitSignal(object: StringObject, signal: string, value: StringSignalValue): void;
|
|
1500
|
+
protected getSignal(objectId: string, signal: string): StringSignalValue | undefined;
|
|
1477
1501
|
protected clearManagedStyles(object: StringObject): void;
|
|
1478
1502
|
protected onObjectModeActivated(object: StringObject): void;
|
|
1479
1503
|
protected onObjectModeDeactivated(object: StringObject): void;
|
|
@@ -1497,6 +1521,8 @@ declare class StringModule implements IStringModule {
|
|
|
1497
1521
|
onResize(): void;
|
|
1498
1522
|
/** Called when the layout is resized width. */
|
|
1499
1523
|
onResizeWidth(): void;
|
|
1524
|
+
/** Called when DOM content changes (elements added/removed, images loaded) — no viewport remeasure. */
|
|
1525
|
+
onRebuild(): void;
|
|
1500
1526
|
/** Called when scroll position changes. */
|
|
1501
1527
|
onScroll(data: StringData): void;
|
|
1502
1528
|
/** Called when user changed scroll direction. */
|
|
@@ -1543,6 +1569,7 @@ declare class ModuleManager {
|
|
|
1543
1569
|
onScroll(): void;
|
|
1544
1570
|
onResizeWidth(): void;
|
|
1545
1571
|
onResize(): void;
|
|
1572
|
+
onRebuild(): void;
|
|
1546
1573
|
onMouseMove(e: MouseEvent): void;
|
|
1547
1574
|
onWheel(e: WheelEvent): void;
|
|
1548
1575
|
onDirectionChange(): void;
|
|
@@ -1706,6 +1733,10 @@ interface StringContext {
|
|
|
1706
1733
|
* Manages all interactive objects (elements with `string-*` attributes).
|
|
1707
1734
|
*/
|
|
1708
1735
|
objectManager: ObjectManager;
|
|
1736
|
+
/**
|
|
1737
|
+
* Lightweight stateful signal transport for object-scoped values.
|
|
1738
|
+
*/
|
|
1739
|
+
signals: StringSignalHub;
|
|
1709
1740
|
}
|
|
1710
1741
|
|
|
1711
1742
|
/**
|
|
@@ -1799,6 +1830,27 @@ declare class StringImpulse extends StringModule {
|
|
|
1799
1830
|
onMutate(): void;
|
|
1800
1831
|
}
|
|
1801
1832
|
|
|
1833
|
+
declare class StringMarquee extends StringModule {
|
|
1834
|
+
private onFontsReadyBound;
|
|
1835
|
+
constructor(context: StringContext);
|
|
1836
|
+
onInit(): void;
|
|
1837
|
+
onUnsubscribe(): void;
|
|
1838
|
+
onObjectConnected(object: StringObject): void;
|
|
1839
|
+
onObjectDisconnected(object: StringObject): void;
|
|
1840
|
+
onResizeWidth(): void;
|
|
1841
|
+
onFrame(data: StringData): void;
|
|
1842
|
+
private createState;
|
|
1843
|
+
private mountStructure;
|
|
1844
|
+
private syncConfig;
|
|
1845
|
+
private refresh;
|
|
1846
|
+
private syncCopies;
|
|
1847
|
+
private syncPartClass;
|
|
1848
|
+
private updatePartProgress;
|
|
1849
|
+
private onFontsReady;
|
|
1850
|
+
private onMouseEnter;
|
|
1851
|
+
private onMouseLeave;
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1802
1854
|
declare class StringMasonry extends StringModule {
|
|
1803
1855
|
private states;
|
|
1804
1856
|
constructor(context: StringContext);
|
|
@@ -2049,6 +2101,7 @@ declare class StringScrollbar extends StringModule {
|
|
|
2049
2101
|
onInit(): void;
|
|
2050
2102
|
onScroll(data: StringData): void;
|
|
2051
2103
|
onResize(): void;
|
|
2104
|
+
onRebuild(): void;
|
|
2052
2105
|
private addCustomStyles;
|
|
2053
2106
|
private createScrollbar;
|
|
2054
2107
|
private updateThumb;
|
|
@@ -2605,6 +2658,16 @@ declare class StringProgressPart extends StringModule {
|
|
|
2605
2658
|
onObjectDisconnected(object: StringObject): void;
|
|
2606
2659
|
}
|
|
2607
2660
|
|
|
2661
|
+
declare class StringSignal extends StringModule {
|
|
2662
|
+
constructor(context: StringContext);
|
|
2663
|
+
onObjectConnected(object: StringObject): void;
|
|
2664
|
+
onObjectDisconnected(object: StringObject): void;
|
|
2665
|
+
private applyRuleState;
|
|
2666
|
+
private applyEffectState;
|
|
2667
|
+
private applyEffect;
|
|
2668
|
+
private resetEffect;
|
|
2669
|
+
}
|
|
2670
|
+
|
|
2608
2671
|
type Job = () => void;
|
|
2609
2672
|
declare class FrameDOM {
|
|
2610
2673
|
private measureQueue;
|
|
@@ -3699,6 +3762,8 @@ declare class StringTune {
|
|
|
3699
3762
|
private observerContainerMutation;
|
|
3700
3763
|
private pendingResizeRaf;
|
|
3701
3764
|
private pendingResizeForce;
|
|
3765
|
+
private pendingRebuildRaf;
|
|
3766
|
+
private activeScrollIntent;
|
|
3702
3767
|
/** Singleton instance of StringTune */
|
|
3703
3768
|
private static i;
|
|
3704
3769
|
/** Root scrollable element (typically <body>) */
|
|
@@ -3717,6 +3782,7 @@ declare class StringTune {
|
|
|
3717
3782
|
private objectManager;
|
|
3718
3783
|
/** Central event manager for internal pub-sub logic */
|
|
3719
3784
|
private eventManager;
|
|
3785
|
+
private signalHub;
|
|
3720
3786
|
/** Handles custom cursor logic (if enabled) */
|
|
3721
3787
|
private cursorController;
|
|
3722
3788
|
/** Provides default utility tools (parsers, interpolation, etc.) */
|
|
@@ -3795,6 +3861,7 @@ declare class StringTune {
|
|
|
3795
3861
|
set domBatcherEnabled(enabled: boolean);
|
|
3796
3862
|
set intersectionObserverEnabled(enabled: boolean);
|
|
3797
3863
|
private debouncedResize;
|
|
3864
|
+
private debouncedRebuild;
|
|
3798
3865
|
private constructor();
|
|
3799
3866
|
/**
|
|
3800
3867
|
* Returns the singleton instance of StringTune.
|
|
@@ -3902,6 +3969,8 @@ declare class StringTune {
|
|
|
3902
3969
|
private onDOMChanged;
|
|
3903
3970
|
private observeContainerMutations;
|
|
3904
3971
|
private queueResize;
|
|
3972
|
+
private queueRebuild;
|
|
3973
|
+
onRebuild(): void;
|
|
3905
3974
|
/**
|
|
3906
3975
|
* Handles mouse move event and dispatches it to cursor and modules.
|
|
3907
3976
|
* @param e Native mouse move event.
|
|
@@ -3952,7 +4021,7 @@ declare class StringTune {
|
|
|
3952
4021
|
* Ignores height-only changes on mobile to prevent layout jumps.
|
|
3953
4022
|
* Rebuilds layout and triggers module resize if size really changed.
|
|
3954
4023
|
*/
|
|
3955
|
-
onResize(force?: boolean): void;
|
|
4024
|
+
onResize(force?: boolean, source?: string): void;
|
|
3956
4025
|
invalidateCenter(id: string): void;
|
|
3957
4026
|
scrollTo(position: number): void;
|
|
3958
4027
|
scrollTo(selector: string): void;
|
|
@@ -3972,7 +4041,9 @@ declare class StringTune {
|
|
|
3972
4041
|
}): void;
|
|
3973
4042
|
private resolveScrollToValue;
|
|
3974
4043
|
private resolveElementScrollPosition;
|
|
4044
|
+
private resolveScrollIntentPosition;
|
|
4045
|
+
private clearActiveScrollIntent;
|
|
3975
4046
|
destroy(): void;
|
|
3976
4047
|
}
|
|
3977
4048
|
|
|
3978
|
-
export { CursorReactiveModule, DOMBatcher, GridAdapter, type RulersLayoutGrid, type RulersTriggerAction, ScrollController, type ScrollMarkRule as ScrollTriggerRule, StringAnchor, type StringContext, StringCursor, StringData, StringDelayLerpTracker, StringDevIconRegistry, StringDevInview, StringDevLayout, StringDevModule, StringDevOverlayRegistry, StringDevProgress, StringDevRulers, type StringDevStyleTokens, type StringDevtoolDefinition, type StringDevtoolProvider, type StringDevtoolState, StringFPSTracker, StringForm, StringGlide, StringImpulse, StringLazy, StringLerp, StringLerpTracker, StringLoading, StringMagnetic, StringMasonry, StringModule, StringObject, StringParallax, StringPositionTracker, StringProgress, StringProgressPart, StringRandom, StringResponsive, type StringRulersTrigger, StringScrollContainer, StringScrollbar, StringScroller, StringSequence, StringSplit, StringSpotlight, StringTune, StringVideoAutoplay, buildDevtoolsThemeBlock, StringTune as default, ensureStringDevtoolsSharedStyles, frameDOM, resolveDevtoolsIcon, styleTxn };
|
|
4049
|
+
export { CursorReactiveModule, DOMBatcher, GridAdapter, type RulersLayoutGrid, type RulersTriggerAction, ScrollController, type ScrollMarkRule as ScrollTriggerRule, StringAnchor, type StringContext, StringCursor, StringData, StringDelayLerpTracker, StringDevIconRegistry, StringDevInview, StringDevLayout, StringDevModule, StringDevOverlayRegistry, StringDevProgress, StringDevRulers, type StringDevStyleTokens, type StringDevtoolDefinition, type StringDevtoolProvider, type StringDevtoolState, StringFPSTracker, StringForm, StringGlide, StringImpulse, StringLazy, StringLerp, StringLerpTracker, StringLoading, StringMagnetic, StringMarquee, StringMasonry, StringModule, StringObject, StringParallax, StringPositionTracker, StringProgress, StringProgressPart, StringRandom, StringResponsive, type StringRulersTrigger, StringScrollContainer, StringScrollbar, StringScroller, StringSequence, StringSignal, StringSplit, StringSpotlight, StringTune, StringVideoAutoplay, buildDevtoolsThemeBlock, StringTune as default, ensureStringDevtoolsSharedStyles, frameDOM, resolveDevtoolsIcon, styleTxn };
|
package/dist/index.d.ts
CHANGED
|
@@ -242,6 +242,8 @@ interface IStringModule {
|
|
|
242
242
|
onResize(): void;
|
|
243
243
|
/** Called when the layout is resize width. */
|
|
244
244
|
onResizeWidth(): void;
|
|
245
|
+
/** Called when DOM content changes (elements added/removed, images loaded) — no viewport remeasure. */
|
|
246
|
+
onRebuild(): void;
|
|
245
247
|
/** Called when the system rebuilds the DOM (e.g. after mutations). */
|
|
246
248
|
onDOMRebuild(): void;
|
|
247
249
|
/** Called when scroll position changes. */
|
|
@@ -763,7 +765,7 @@ declare class LerpTool implements IStringTool<LerpInput, number> {
|
|
|
763
765
|
*/
|
|
764
766
|
interface UnitParserInput {
|
|
765
767
|
/** Unit string, e.g. `"20px"`, `"50%"`, `"1.5rem"`, or `"selfHeight"` */
|
|
766
|
-
value: string;
|
|
768
|
+
value: string | number;
|
|
767
769
|
/** DOM element used for `"selfHeight"` calculation */
|
|
768
770
|
element: HTMLElement;
|
|
769
771
|
/** Viewport height in pixels (for percentage conversion) */
|
|
@@ -1066,6 +1068,7 @@ interface ISplitOptionItem {
|
|
|
1066
1068
|
* Holds arrays of option definitions for each split type.
|
|
1067
1069
|
*/
|
|
1068
1070
|
interface ISplitOptions {
|
|
1071
|
+
segment?: "legacy" | "visual";
|
|
1069
1072
|
fit?: boolean;
|
|
1070
1073
|
trimInlineGaps?: boolean;
|
|
1071
1074
|
line?: ISplitOptionItem[];
|
|
@@ -1091,6 +1094,7 @@ declare class SplitOptionsParserTool implements IStringTool<SplitOptionsParserIn
|
|
|
1091
1094
|
process({ attributeValue }: SplitOptionsParserInput): ISplitOptions;
|
|
1092
1095
|
private toCamelCase;
|
|
1093
1096
|
private parseParamsArray;
|
|
1097
|
+
private parseSegmentMode;
|
|
1094
1098
|
}
|
|
1095
1099
|
|
|
1096
1100
|
interface RuleParserInput {
|
|
@@ -1244,6 +1248,23 @@ type AttributeMapping = {
|
|
|
1244
1248
|
transform?: (value: any) => any;
|
|
1245
1249
|
};
|
|
1246
1250
|
|
|
1251
|
+
type StringSignalValue = number | boolean | string | null;
|
|
1252
|
+
declare class StringSignalHub {
|
|
1253
|
+
private readonly emit;
|
|
1254
|
+
private values;
|
|
1255
|
+
constructor(emit: (eventName: string, payload?: any) => void);
|
|
1256
|
+
publish(objectId: string, signal: string, value: StringSignalValue): void;
|
|
1257
|
+
subscribe(objectId: string, signal: string, events: {
|
|
1258
|
+
on<T = any>(eventName: string, callback: EventCallback<T>, id?: string | null): void;
|
|
1259
|
+
}, callback: EventCallback<StringSignalValue>): void;
|
|
1260
|
+
unsubscribe(objectId: string, signal: string, events: {
|
|
1261
|
+
off<T = any>(eventName: string, callback: EventCallback<T>, id?: string): void;
|
|
1262
|
+
}, callback: EventCallback<StringSignalValue>): void;
|
|
1263
|
+
get(objectId: string, signal: string): StringSignalValue | undefined;
|
|
1264
|
+
getEventName(objectId: string, signal: string): string;
|
|
1265
|
+
private getKey;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1247
1268
|
interface ParseContext {
|
|
1248
1269
|
element?: HTMLElement;
|
|
1249
1270
|
boundingRect?: DOMRect;
|
|
@@ -1341,6 +1362,7 @@ declare class StringModule implements IStringModule {
|
|
|
1341
1362
|
* Object manager for layout refreshes and in-view recalculation.
|
|
1342
1363
|
*/
|
|
1343
1364
|
protected objectManager: ObjectManager;
|
|
1365
|
+
protected signals: StringSignalHub;
|
|
1344
1366
|
permissions: ModuleLifecyclePermissions;
|
|
1345
1367
|
constructor(context: StringContext);
|
|
1346
1368
|
/**
|
|
@@ -1383,7 +1405,7 @@ declare class StringModule implements IStringModule {
|
|
|
1383
1405
|
* @param context Optional helper values like element or viewport size.
|
|
1384
1406
|
* @returns The parsed and transformed value.
|
|
1385
1407
|
*/
|
|
1386
|
-
protected parseAttribute(value: string | null, type: AttributeType, context?: ParseContext): any;
|
|
1408
|
+
protected parseAttribute(value: string | number | null, type: AttributeType, context?: ParseContext): any;
|
|
1387
1409
|
/**
|
|
1388
1410
|
* Determines whether the module should attach to a given object,
|
|
1389
1411
|
* based on the presence of the module's `htmlKey` in the object keys.
|
|
@@ -1474,6 +1496,8 @@ declare class StringModule implements IStringModule {
|
|
|
1474
1496
|
* Returns a cached per-object event name to avoid building strings in hot paths.
|
|
1475
1497
|
*/
|
|
1476
1498
|
protected getObjectEventName(object: StringObject, prefix: string, suffix?: string): string;
|
|
1499
|
+
protected emitSignal(object: StringObject, signal: string, value: StringSignalValue): void;
|
|
1500
|
+
protected getSignal(objectId: string, signal: string): StringSignalValue | undefined;
|
|
1477
1501
|
protected clearManagedStyles(object: StringObject): void;
|
|
1478
1502
|
protected onObjectModeActivated(object: StringObject): void;
|
|
1479
1503
|
protected onObjectModeDeactivated(object: StringObject): void;
|
|
@@ -1497,6 +1521,8 @@ declare class StringModule implements IStringModule {
|
|
|
1497
1521
|
onResize(): void;
|
|
1498
1522
|
/** Called when the layout is resized width. */
|
|
1499
1523
|
onResizeWidth(): void;
|
|
1524
|
+
/** Called when DOM content changes (elements added/removed, images loaded) — no viewport remeasure. */
|
|
1525
|
+
onRebuild(): void;
|
|
1500
1526
|
/** Called when scroll position changes. */
|
|
1501
1527
|
onScroll(data: StringData): void;
|
|
1502
1528
|
/** Called when user changed scroll direction. */
|
|
@@ -1543,6 +1569,7 @@ declare class ModuleManager {
|
|
|
1543
1569
|
onScroll(): void;
|
|
1544
1570
|
onResizeWidth(): void;
|
|
1545
1571
|
onResize(): void;
|
|
1572
|
+
onRebuild(): void;
|
|
1546
1573
|
onMouseMove(e: MouseEvent): void;
|
|
1547
1574
|
onWheel(e: WheelEvent): void;
|
|
1548
1575
|
onDirectionChange(): void;
|
|
@@ -1706,6 +1733,10 @@ interface StringContext {
|
|
|
1706
1733
|
* Manages all interactive objects (elements with `string-*` attributes).
|
|
1707
1734
|
*/
|
|
1708
1735
|
objectManager: ObjectManager;
|
|
1736
|
+
/**
|
|
1737
|
+
* Lightweight stateful signal transport for object-scoped values.
|
|
1738
|
+
*/
|
|
1739
|
+
signals: StringSignalHub;
|
|
1709
1740
|
}
|
|
1710
1741
|
|
|
1711
1742
|
/**
|
|
@@ -1799,6 +1830,27 @@ declare class StringImpulse extends StringModule {
|
|
|
1799
1830
|
onMutate(): void;
|
|
1800
1831
|
}
|
|
1801
1832
|
|
|
1833
|
+
declare class StringMarquee extends StringModule {
|
|
1834
|
+
private onFontsReadyBound;
|
|
1835
|
+
constructor(context: StringContext);
|
|
1836
|
+
onInit(): void;
|
|
1837
|
+
onUnsubscribe(): void;
|
|
1838
|
+
onObjectConnected(object: StringObject): void;
|
|
1839
|
+
onObjectDisconnected(object: StringObject): void;
|
|
1840
|
+
onResizeWidth(): void;
|
|
1841
|
+
onFrame(data: StringData): void;
|
|
1842
|
+
private createState;
|
|
1843
|
+
private mountStructure;
|
|
1844
|
+
private syncConfig;
|
|
1845
|
+
private refresh;
|
|
1846
|
+
private syncCopies;
|
|
1847
|
+
private syncPartClass;
|
|
1848
|
+
private updatePartProgress;
|
|
1849
|
+
private onFontsReady;
|
|
1850
|
+
private onMouseEnter;
|
|
1851
|
+
private onMouseLeave;
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1802
1854
|
declare class StringMasonry extends StringModule {
|
|
1803
1855
|
private states;
|
|
1804
1856
|
constructor(context: StringContext);
|
|
@@ -2049,6 +2101,7 @@ declare class StringScrollbar extends StringModule {
|
|
|
2049
2101
|
onInit(): void;
|
|
2050
2102
|
onScroll(data: StringData): void;
|
|
2051
2103
|
onResize(): void;
|
|
2104
|
+
onRebuild(): void;
|
|
2052
2105
|
private addCustomStyles;
|
|
2053
2106
|
private createScrollbar;
|
|
2054
2107
|
private updateThumb;
|
|
@@ -2605,6 +2658,16 @@ declare class StringProgressPart extends StringModule {
|
|
|
2605
2658
|
onObjectDisconnected(object: StringObject): void;
|
|
2606
2659
|
}
|
|
2607
2660
|
|
|
2661
|
+
declare class StringSignal extends StringModule {
|
|
2662
|
+
constructor(context: StringContext);
|
|
2663
|
+
onObjectConnected(object: StringObject): void;
|
|
2664
|
+
onObjectDisconnected(object: StringObject): void;
|
|
2665
|
+
private applyRuleState;
|
|
2666
|
+
private applyEffectState;
|
|
2667
|
+
private applyEffect;
|
|
2668
|
+
private resetEffect;
|
|
2669
|
+
}
|
|
2670
|
+
|
|
2608
2671
|
type Job = () => void;
|
|
2609
2672
|
declare class FrameDOM {
|
|
2610
2673
|
private measureQueue;
|
|
@@ -3699,6 +3762,8 @@ declare class StringTune {
|
|
|
3699
3762
|
private observerContainerMutation;
|
|
3700
3763
|
private pendingResizeRaf;
|
|
3701
3764
|
private pendingResizeForce;
|
|
3765
|
+
private pendingRebuildRaf;
|
|
3766
|
+
private activeScrollIntent;
|
|
3702
3767
|
/** Singleton instance of StringTune */
|
|
3703
3768
|
private static i;
|
|
3704
3769
|
/** Root scrollable element (typically <body>) */
|
|
@@ -3717,6 +3782,7 @@ declare class StringTune {
|
|
|
3717
3782
|
private objectManager;
|
|
3718
3783
|
/** Central event manager for internal pub-sub logic */
|
|
3719
3784
|
private eventManager;
|
|
3785
|
+
private signalHub;
|
|
3720
3786
|
/** Handles custom cursor logic (if enabled) */
|
|
3721
3787
|
private cursorController;
|
|
3722
3788
|
/** Provides default utility tools (parsers, interpolation, etc.) */
|
|
@@ -3795,6 +3861,7 @@ declare class StringTune {
|
|
|
3795
3861
|
set domBatcherEnabled(enabled: boolean);
|
|
3796
3862
|
set intersectionObserverEnabled(enabled: boolean);
|
|
3797
3863
|
private debouncedResize;
|
|
3864
|
+
private debouncedRebuild;
|
|
3798
3865
|
private constructor();
|
|
3799
3866
|
/**
|
|
3800
3867
|
* Returns the singleton instance of StringTune.
|
|
@@ -3902,6 +3969,8 @@ declare class StringTune {
|
|
|
3902
3969
|
private onDOMChanged;
|
|
3903
3970
|
private observeContainerMutations;
|
|
3904
3971
|
private queueResize;
|
|
3972
|
+
private queueRebuild;
|
|
3973
|
+
onRebuild(): void;
|
|
3905
3974
|
/**
|
|
3906
3975
|
* Handles mouse move event and dispatches it to cursor and modules.
|
|
3907
3976
|
* @param e Native mouse move event.
|
|
@@ -3952,7 +4021,7 @@ declare class StringTune {
|
|
|
3952
4021
|
* Ignores height-only changes on mobile to prevent layout jumps.
|
|
3953
4022
|
* Rebuilds layout and triggers module resize if size really changed.
|
|
3954
4023
|
*/
|
|
3955
|
-
onResize(force?: boolean): void;
|
|
4024
|
+
onResize(force?: boolean, source?: string): void;
|
|
3956
4025
|
invalidateCenter(id: string): void;
|
|
3957
4026
|
scrollTo(position: number): void;
|
|
3958
4027
|
scrollTo(selector: string): void;
|
|
@@ -3972,7 +4041,9 @@ declare class StringTune {
|
|
|
3972
4041
|
}): void;
|
|
3973
4042
|
private resolveScrollToValue;
|
|
3974
4043
|
private resolveElementScrollPosition;
|
|
4044
|
+
private resolveScrollIntentPosition;
|
|
4045
|
+
private clearActiveScrollIntent;
|
|
3975
4046
|
destroy(): void;
|
|
3976
4047
|
}
|
|
3977
4048
|
|
|
3978
|
-
export { CursorReactiveModule, DOMBatcher, GridAdapter, type RulersLayoutGrid, type RulersTriggerAction, ScrollController, type ScrollMarkRule as ScrollTriggerRule, StringAnchor, type StringContext, StringCursor, StringData, StringDelayLerpTracker, StringDevIconRegistry, StringDevInview, StringDevLayout, StringDevModule, StringDevOverlayRegistry, StringDevProgress, StringDevRulers, type StringDevStyleTokens, type StringDevtoolDefinition, type StringDevtoolProvider, type StringDevtoolState, StringFPSTracker, StringForm, StringGlide, StringImpulse, StringLazy, StringLerp, StringLerpTracker, StringLoading, StringMagnetic, StringMasonry, StringModule, StringObject, StringParallax, StringPositionTracker, StringProgress, StringProgressPart, StringRandom, StringResponsive, type StringRulersTrigger, StringScrollContainer, StringScrollbar, StringScroller, StringSequence, StringSplit, StringSpotlight, StringTune, StringVideoAutoplay, buildDevtoolsThemeBlock, StringTune as default, ensureStringDevtoolsSharedStyles, frameDOM, resolveDevtoolsIcon, styleTxn };
|
|
4049
|
+
export { CursorReactiveModule, DOMBatcher, GridAdapter, type RulersLayoutGrid, type RulersTriggerAction, ScrollController, type ScrollMarkRule as ScrollTriggerRule, StringAnchor, type StringContext, StringCursor, StringData, StringDelayLerpTracker, StringDevIconRegistry, StringDevInview, StringDevLayout, StringDevModule, StringDevOverlayRegistry, StringDevProgress, StringDevRulers, type StringDevStyleTokens, type StringDevtoolDefinition, type StringDevtoolProvider, type StringDevtoolState, StringFPSTracker, StringForm, StringGlide, StringImpulse, StringLazy, StringLerp, StringLerpTracker, StringLoading, StringMagnetic, StringMarquee, StringMasonry, StringModule, StringObject, StringParallax, StringPositionTracker, StringProgress, StringProgressPart, StringRandom, StringResponsive, type StringRulersTrigger, StringScrollContainer, StringScrollbar, StringScroller, StringSequence, StringSignal, StringSplit, StringSpotlight, StringTune, StringVideoAutoplay, buildDevtoolsThemeBlock, StringTune as default, ensureStringDevtoolsSharedStyles, frameDOM, resolveDevtoolsIcon, styleTxn };
|