@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.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 };