@qingwu-ui/scroll-fab 0.9.0-beta.1 → 0.9.0-beta.3

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.cts CHANGED
@@ -7,6 +7,46 @@ interface ScrollFabPosition {
7
7
  bottom?: number;
8
8
  left?: number;
9
9
  }
10
+ /** Lenis 实例的最小结构性类型(组件不硬依赖 lenis 包,按结构识别) */
11
+ interface LenisLike {
12
+ scrollTo: (target: number | string | HTMLElement, options?: Record<string, unknown>) => void;
13
+ raf?: (time: number) => void;
14
+ destroy?: () => void;
15
+ start?: () => void;
16
+ stop?: () => void;
17
+ on?: (event: string, callback: (...args: unknown[]) => void) => void;
18
+ off?: (event: string, callback: (...args: unknown[]) => void) => void;
19
+ isScrolling?: boolean;
20
+ }
21
+ /** 内部自建 Lenis 时的构造配置(lenis 官方选项子集,允许透传其他字段) */
22
+ interface ScrollFabLenisConfig {
23
+ wrapper?: HTMLElement | Window;
24
+ content?: HTMLElement;
25
+ duration?: number;
26
+ easing?: (t: number) => number;
27
+ /** 默认强制 false:自建实例不劫持用户滚轮,只驱动按钮触发的程序滚动;显式置 true 则接管全局 */
28
+ smoothWheel?: boolean;
29
+ smoothTouch?: boolean;
30
+ wheelMultiplier?: number;
31
+ touchMultiplier?: number;
32
+ [key: string]: unknown;
33
+ }
34
+ /**
35
+ * 异形按钮形状(如银杏叶)。
36
+ * 双 path 才能保证进度描边「完全包裹」:fill 是叶片实体,outline 是外扩一圈的闭合轮廓,
37
+ * SVG 描边居中于路径,单条 path 必有一半笔画压进形状内部。
38
+ * outline 的起点约定在 12 点钟方向(描边顺时针推进)。
39
+ */
40
+ interface ScrollFabShape {
41
+ /** SVG viewBox,默认 "0 0 48 48";自定义 path 建议按 48×48 绘制 */
42
+ viewBox?: string;
43
+ /** 形状实体 path d(被填充) */
44
+ fill: string;
45
+ /** 外扩进度轮廓 path d(track + 进度描边沿它走);可与 fill 同形再配 outlineTransform 外扩 */
46
+ outline: string;
47
+ /** 作用于 outline path 的 SVG transform,如 "translate(24 24) scale(1.1) translate(-24 -24)" */
48
+ outlineTransform?: string;
49
+ }
10
50
  interface ScrollFabOptions {
11
51
  /** 滚动容器,null(默认)为 window */
12
52
  target?: HTMLElement | null;
@@ -28,22 +68,48 @@ interface ScrollFabOptions {
28
68
  className?: string;
29
69
  /** 动画开关,关闭或 prefers-reduced-motion 时程序滚动瞬时到位,默认 true */
30
70
  animate?: boolean;
71
+ /**
72
+ * Lenis 平滑滚动(lenis 为 optional peerDependency,未安装静默回退内置 rAF):
73
+ * - 传 Lenis 实例:复用宿主实例,组件不负责销毁;
74
+ * - true:点击时动态 import lenis 并自建实例(仅驱动按钮程序滚动,不劫持滚轮);
75
+ * - 传配置对象:自建实例并透传配置(target 容器自动映射为 wrapper);
76
+ * - false / 缺省:内置 rAF 缓动。
77
+ */
78
+ lenis?: boolean | ScrollFabLenisConfig | LenisLike;
79
+ /** 异形形状(银杏叶等);传入后圆形外壳消失,进度沿外扩轮廓包裹 */
80
+ shape?: ScrollFabShape;
81
+ /** 自建 Lenis 实例就绪回调(外部实例注入时不触发),与 onEditorReady 模式对齐 */
82
+ onLenisReady?: (lenis: LenisLike) => void;
31
83
  /** 模式①(滚动到底部)无障碍标签 */
32
84
  ariaLabelToBottom?: string;
33
85
  /** 模式②(返回顶部)无障碍标签 */
34
86
  ariaLabelToTop?: string;
35
87
  /** 模式翻转回调 */
36
88
  onModeChange?: (mode: ScrollFabMode) => void;
89
+ /**
90
+ * 启用的模式集合(按数组顺序);缺省 ["to-bottom", "to-top"]。
91
+ * 初始模式取首项;只传一个即为单模式(无绕环翻转、无描边、静态 aria 文案);空数组/全非法抛 TypeError。
92
+ */
93
+ modes?: ScrollFabMode[];
94
+ /** 显示所需的最小已滚动距离 px:scrollPos < 该值时按钮隐藏(默认 0,行为不变);负数按 0 */
95
+ showThreshold?: number;
96
+ /**
97
+ * 滚动进度回调:0..1 小数(maxScroll 为 0 时吐 0),scroll/resize/程序滚动时 rAF 节流触发,
98
+ * 按钮隐藏期间照常吐,构造完成与 refresh() 后各补发一次。
99
+ */
100
+ onScroll?: (pct: number) => void;
37
101
  }
38
102
  //#endregion
39
103
  //#region src/scroll-fab.d.ts
40
104
  declare class ScrollFab {
41
105
  readonly el: HTMLButtonElement;
42
- private readonly ring;
43
- private readonly track;
106
+ private ring;
107
+ private track;
108
+ private fillPath;
44
109
  private readonly icon;
45
- private readonly len;
110
+ private len;
46
111
  private readonly targetEl;
112
+ private readonly shape;
47
113
  private readonly ringMs;
48
114
  private readonly decayMs;
49
115
  private readonly cancelPx;
@@ -51,6 +117,17 @@ declare class ScrollFab {
51
117
  private readonly labelBottom;
52
118
  private readonly labelTop;
53
119
  private readonly onModeChange?;
120
+ private readonly onLenisReady?;
121
+ private readonly onScroll?;
122
+ private readonly modes;
123
+ private readonly single;
124
+ private readonly threshold;
125
+ /** 外部注入:宿主实例,组件永不销毁 */
126
+ private externalLenis;
127
+ /** 自建配置:null = 不走 lenis;true 形态也归一成对象 */
128
+ private ownLenisConfig;
129
+ private ownLenis;
130
+ private ownLenisPromise;
54
131
  private mode;
55
132
  private progress;
56
133
  private hovering;
@@ -62,19 +139,29 @@ declare class ScrollFab {
62
139
  private ringRaf;
63
140
  private lastTs;
64
141
  private scrollRaf;
142
+ private lenisLoopRaf;
143
+ private lenisScrolling;
144
+ private lenisDest;
65
145
  private flashTimer;
66
146
  private tapResetTimer;
67
147
  private touchTap;
68
148
  private ro;
149
+ private actionSeq;
150
+ private destroyed;
151
+ private emitRaf;
152
+ private lastPct;
69
153
  constructor(options?: ScrollFabOptions);
70
154
  /** 当前模式 */
71
155
  get currentMode(): ScrollFabMode;
72
- /** 内容懒加载等外部高度变化后可显式触发重估(滚动/resize 时也会自动重估) */
156
+ /** 内容懒加载等外部高度变化后可显式触发重估(滚动/resize 时也会自动重估),并强制补发一次进度 */
73
157
  refresh(): void;
74
158
  scrollToBottom(): void;
75
159
  scrollToTop(): void;
76
160
  destroy(): void;
161
+ /** 规范化 modes:缺省双模式;去重、过滤非法值;结果为空直接抛错 */
162
+ private normalizeModes;
77
163
  private makeCircle;
164
+ private makePath;
78
165
  private onEnter;
79
166
  private onLeave;
80
167
  private onDown;
@@ -92,20 +179,41 @@ declare class ScrollFab {
92
179
  private setMode;
93
180
  private doAction;
94
181
  private animateScroll;
182
+ /** 首次点击时动态 import lenis 并自建实例;未安装(或加载失败)→ null 永久回退 rAF */
183
+ private resolveOwnLenis;
184
+ /**
185
+ * 用 Lenis 执行程序滚动。
186
+ * 自建实例(own):组件自跑 raf loop(Lenis 需外部驱动 raf),保留 wheel/touch/keydown 打断与到底追击;
187
+ * 外部实例:宿主自带 raf loop 与手势处理,组件只发 scrollTo,不追击不打断。
188
+ */
189
+ private scrollWithLenis;
190
+ /** 自建实例的 raf 驱动 + 懒加载到底追击(对齐内置 rAF 语义) */
191
+ private startLenisLoop;
192
+ private stopLenisLoop;
193
+ /** 打断自建 Lenis 程序滚动:stop 冻结动画(下次发起前 start 复位) */
194
+ private onLenisInterrupt;
195
+ private endLenisScroll;
196
+ private animateRaf;
95
197
  private reducedMotion;
96
198
  private onInterrupt;
97
199
  private interruptSource;
200
+ /** 自建 Lenis 路线的打断监听 */
98
201
  private attachInterrupt;
99
202
  private detachInterrupt;
203
+ /** 内置 rAF 路线的打断监听 */
204
+ private attachRafInterrupt;
205
+ private detachRafInterrupt;
100
206
  private cancelScroll;
101
207
  private maxScroll;
102
208
  private targetPos;
103
209
  private scrollPos;
104
210
  private setScrollPos;
105
- private scrollTo;
106
211
  private onRecheck;
107
212
  private syncVisible;
213
+ /** rAF 节流:一帧内多次重估只吐一次;按钮隐藏期间照常调度 */
214
+ private scheduleScroll;
215
+ private emitScroll;
108
216
  }
109
217
  //#endregion
110
- export { ScrollFab, type ScrollFabMode, type ScrollFabOptions, type ScrollFabPosition };
218
+ export { type LenisLike, ScrollFab, type ScrollFabLenisConfig, type ScrollFabMode, type ScrollFabOptions, type ScrollFabPosition, type ScrollFabShape };
111
219
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/scroll-fab.ts"],"mappings":";KAAY;;UAGK;EACf;EACA;EACA;EACA;;UAGe;;EAEf,SAAS;;EAET;;EAEA;;EAEA;;EAEA;;EAEA,mBAAmB;;EAEnB,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,gBAAgB,MAAM;;;;cCvBX;WACF,IAAI;mBAEI;mBACA;mBACA;mBACA;mBAEA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;UAET;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YAAY,UAAS;;MA4EjB,eAAe;;EAKnB;EAIA;EAIA;EAIA;UAoBQ;UAeA;UAMA;UAMA;UAeA;UAUA;UAeA;UAOA;UAUA;UAQA;UAIA;UAMA;;UAoBA;UAYA;UAOA;UAUA;UAIA;UAwCA;UAMA;UAIA;UAIA;UAMA;UAMA;UAUA;UAKA;UAIA;UAKA;UAKA;UAIA;UAIA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types.ts","../src/scroll-fab.ts"],"mappings":";KAAY;;UAGK;EACf;EACA;EACA;EACA;;;UAIe;EACf,WACE,0BAA0B,aAC1B,UAAU;EAEZ,OAAO;EACP;EACA;EACA;EACA,MAAM,eAAe,cAAc;EACnC,OAAO,eAAe,cAAc;EACpC;;;UAIe;EACf,UAAU,cAAc;EACxB,UAAU;EACV;EACA,UAAU;;EAEV;EACA;EACA;EACA;GACC;;;;;;;;UASc;;EAEf;;EAEA;;EAEA;;EAEA;;UAGe;;EAEf,SAAS;;EAET;;EAEA;;EAEA;;EAEA;;EAEA,mBAAmB;;EAEnB,WAAW;;EAEX;;EAEA;;EAEA;;;;;;;;EAQA,kBAAkB,uBAAuB;;EAEzC,QAAQ;;EAER,gBAAgB,OAAO;;EAEvB;;EAEA;;EAEA,gBAAgB,MAAM;;;;;EAKtB,QAAQ;;EAER;;;;;EAKA,YAAY;;;;cC3ED;WACF,IAAI;UAEL;UACA;UACA;mBACS;UACT;mBAES;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;UAGT;;UAEA;UACA;UACA;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YAAY,UAAS;;MA2HjB,eAAe;;EAKnB;EAMA;EAIA;EAIA;;UA8BQ;UAcA;UASA;UAcA;UAMA;UAMA;UAeA;UAUA;UAeA;UAOA;UAUA;UAYA;UAIA;UAMA;;UAoBA;UAYA;UAOA;UAUA;UAIA;;UAyBA;;;;;;UA6BA;;UA6BA;UAqBA;;UAQA;UAMA;UASA;UAmCA;UAMA;UAIA;;UAKA;UAMA;;UAOA;UAMA;UAMA;UAeA;UAKA;UAIA;UAKA;UAKA;UAKA;;UAKA;UAQA"}
package/dist/index.d.mts CHANGED
@@ -7,6 +7,46 @@ interface ScrollFabPosition {
7
7
  bottom?: number;
8
8
  left?: number;
9
9
  }
10
+ /** Lenis 实例的最小结构性类型(组件不硬依赖 lenis 包,按结构识别) */
11
+ interface LenisLike {
12
+ scrollTo: (target: number | string | HTMLElement, options?: Record<string, unknown>) => void;
13
+ raf?: (time: number) => void;
14
+ destroy?: () => void;
15
+ start?: () => void;
16
+ stop?: () => void;
17
+ on?: (event: string, callback: (...args: unknown[]) => void) => void;
18
+ off?: (event: string, callback: (...args: unknown[]) => void) => void;
19
+ isScrolling?: boolean;
20
+ }
21
+ /** 内部自建 Lenis 时的构造配置(lenis 官方选项子集,允许透传其他字段) */
22
+ interface ScrollFabLenisConfig {
23
+ wrapper?: HTMLElement | Window;
24
+ content?: HTMLElement;
25
+ duration?: number;
26
+ easing?: (t: number) => number;
27
+ /** 默认强制 false:自建实例不劫持用户滚轮,只驱动按钮触发的程序滚动;显式置 true 则接管全局 */
28
+ smoothWheel?: boolean;
29
+ smoothTouch?: boolean;
30
+ wheelMultiplier?: number;
31
+ touchMultiplier?: number;
32
+ [key: string]: unknown;
33
+ }
34
+ /**
35
+ * 异形按钮形状(如银杏叶)。
36
+ * 双 path 才能保证进度描边「完全包裹」:fill 是叶片实体,outline 是外扩一圈的闭合轮廓,
37
+ * SVG 描边居中于路径,单条 path 必有一半笔画压进形状内部。
38
+ * outline 的起点约定在 12 点钟方向(描边顺时针推进)。
39
+ */
40
+ interface ScrollFabShape {
41
+ /** SVG viewBox,默认 "0 0 48 48";自定义 path 建议按 48×48 绘制 */
42
+ viewBox?: string;
43
+ /** 形状实体 path d(被填充) */
44
+ fill: string;
45
+ /** 外扩进度轮廓 path d(track + 进度描边沿它走);可与 fill 同形再配 outlineTransform 外扩 */
46
+ outline: string;
47
+ /** 作用于 outline path 的 SVG transform,如 "translate(24 24) scale(1.1) translate(-24 -24)" */
48
+ outlineTransform?: string;
49
+ }
10
50
  interface ScrollFabOptions {
11
51
  /** 滚动容器,null(默认)为 window */
12
52
  target?: HTMLElement | null;
@@ -28,22 +68,48 @@ interface ScrollFabOptions {
28
68
  className?: string;
29
69
  /** 动画开关,关闭或 prefers-reduced-motion 时程序滚动瞬时到位,默认 true */
30
70
  animate?: boolean;
71
+ /**
72
+ * Lenis 平滑滚动(lenis 为 optional peerDependency,未安装静默回退内置 rAF):
73
+ * - 传 Lenis 实例:复用宿主实例,组件不负责销毁;
74
+ * - true:点击时动态 import lenis 并自建实例(仅驱动按钮程序滚动,不劫持滚轮);
75
+ * - 传配置对象:自建实例并透传配置(target 容器自动映射为 wrapper);
76
+ * - false / 缺省:内置 rAF 缓动。
77
+ */
78
+ lenis?: boolean | ScrollFabLenisConfig | LenisLike;
79
+ /** 异形形状(银杏叶等);传入后圆形外壳消失,进度沿外扩轮廓包裹 */
80
+ shape?: ScrollFabShape;
81
+ /** 自建 Lenis 实例就绪回调(外部实例注入时不触发),与 onEditorReady 模式对齐 */
82
+ onLenisReady?: (lenis: LenisLike) => void;
31
83
  /** 模式①(滚动到底部)无障碍标签 */
32
84
  ariaLabelToBottom?: string;
33
85
  /** 模式②(返回顶部)无障碍标签 */
34
86
  ariaLabelToTop?: string;
35
87
  /** 模式翻转回调 */
36
88
  onModeChange?: (mode: ScrollFabMode) => void;
89
+ /**
90
+ * 启用的模式集合(按数组顺序);缺省 ["to-bottom", "to-top"]。
91
+ * 初始模式取首项;只传一个即为单模式(无绕环翻转、无描边、静态 aria 文案);空数组/全非法抛 TypeError。
92
+ */
93
+ modes?: ScrollFabMode[];
94
+ /** 显示所需的最小已滚动距离 px:scrollPos < 该值时按钮隐藏(默认 0,行为不变);负数按 0 */
95
+ showThreshold?: number;
96
+ /**
97
+ * 滚动进度回调:0..1 小数(maxScroll 为 0 时吐 0),scroll/resize/程序滚动时 rAF 节流触发,
98
+ * 按钮隐藏期间照常吐,构造完成与 refresh() 后各补发一次。
99
+ */
100
+ onScroll?: (pct: number) => void;
37
101
  }
38
102
  //#endregion
39
103
  //#region src/scroll-fab.d.ts
40
104
  declare class ScrollFab {
41
105
  readonly el: HTMLButtonElement;
42
- private readonly ring;
43
- private readonly track;
106
+ private ring;
107
+ private track;
108
+ private fillPath;
44
109
  private readonly icon;
45
- private readonly len;
110
+ private len;
46
111
  private readonly targetEl;
112
+ private readonly shape;
47
113
  private readonly ringMs;
48
114
  private readonly decayMs;
49
115
  private readonly cancelPx;
@@ -51,6 +117,17 @@ declare class ScrollFab {
51
117
  private readonly labelBottom;
52
118
  private readonly labelTop;
53
119
  private readonly onModeChange?;
120
+ private readonly onLenisReady?;
121
+ private readonly onScroll?;
122
+ private readonly modes;
123
+ private readonly single;
124
+ private readonly threshold;
125
+ /** 外部注入:宿主实例,组件永不销毁 */
126
+ private externalLenis;
127
+ /** 自建配置:null = 不走 lenis;true 形态也归一成对象 */
128
+ private ownLenisConfig;
129
+ private ownLenis;
130
+ private ownLenisPromise;
54
131
  private mode;
55
132
  private progress;
56
133
  private hovering;
@@ -62,19 +139,29 @@ declare class ScrollFab {
62
139
  private ringRaf;
63
140
  private lastTs;
64
141
  private scrollRaf;
142
+ private lenisLoopRaf;
143
+ private lenisScrolling;
144
+ private lenisDest;
65
145
  private flashTimer;
66
146
  private tapResetTimer;
67
147
  private touchTap;
68
148
  private ro;
149
+ private actionSeq;
150
+ private destroyed;
151
+ private emitRaf;
152
+ private lastPct;
69
153
  constructor(options?: ScrollFabOptions);
70
154
  /** 当前模式 */
71
155
  get currentMode(): ScrollFabMode;
72
- /** 内容懒加载等外部高度变化后可显式触发重估(滚动/resize 时也会自动重估) */
156
+ /** 内容懒加载等外部高度变化后可显式触发重估(滚动/resize 时也会自动重估),并强制补发一次进度 */
73
157
  refresh(): void;
74
158
  scrollToBottom(): void;
75
159
  scrollToTop(): void;
76
160
  destroy(): void;
161
+ /** 规范化 modes:缺省双模式;去重、过滤非法值;结果为空直接抛错 */
162
+ private normalizeModes;
77
163
  private makeCircle;
164
+ private makePath;
78
165
  private onEnter;
79
166
  private onLeave;
80
167
  private onDown;
@@ -92,20 +179,41 @@ declare class ScrollFab {
92
179
  private setMode;
93
180
  private doAction;
94
181
  private animateScroll;
182
+ /** 首次点击时动态 import lenis 并自建实例;未安装(或加载失败)→ null 永久回退 rAF */
183
+ private resolveOwnLenis;
184
+ /**
185
+ * 用 Lenis 执行程序滚动。
186
+ * 自建实例(own):组件自跑 raf loop(Lenis 需外部驱动 raf),保留 wheel/touch/keydown 打断与到底追击;
187
+ * 外部实例:宿主自带 raf loop 与手势处理,组件只发 scrollTo,不追击不打断。
188
+ */
189
+ private scrollWithLenis;
190
+ /** 自建实例的 raf 驱动 + 懒加载到底追击(对齐内置 rAF 语义) */
191
+ private startLenisLoop;
192
+ private stopLenisLoop;
193
+ /** 打断自建 Lenis 程序滚动:stop 冻结动画(下次发起前 start 复位) */
194
+ private onLenisInterrupt;
195
+ private endLenisScroll;
196
+ private animateRaf;
95
197
  private reducedMotion;
96
198
  private onInterrupt;
97
199
  private interruptSource;
200
+ /** 自建 Lenis 路线的打断监听 */
98
201
  private attachInterrupt;
99
202
  private detachInterrupt;
203
+ /** 内置 rAF 路线的打断监听 */
204
+ private attachRafInterrupt;
205
+ private detachRafInterrupt;
100
206
  private cancelScroll;
101
207
  private maxScroll;
102
208
  private targetPos;
103
209
  private scrollPos;
104
210
  private setScrollPos;
105
- private scrollTo;
106
211
  private onRecheck;
107
212
  private syncVisible;
213
+ /** rAF 节流:一帧内多次重估只吐一次;按钮隐藏期间照常调度 */
214
+ private scheduleScroll;
215
+ private emitScroll;
108
216
  }
109
217
  //#endregion
110
- export { ScrollFab, type ScrollFabMode, type ScrollFabOptions, type ScrollFabPosition };
218
+ export { type LenisLike, ScrollFab, type ScrollFabLenisConfig, type ScrollFabMode, type ScrollFabOptions, type ScrollFabPosition, type ScrollFabShape };
111
219
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/scroll-fab.ts"],"mappings":";KAAY;;UAGK;EACf;EACA;EACA;EACA;;UAGe;;EAEf,SAAS;;EAET;;EAEA;;EAEA;;EAEA;;EAEA,mBAAmB;;EAEnB,WAAW;;EAEX;;EAEA;;EAEA;;EAEA;;EAEA;;EAEA,gBAAgB,MAAM;;;;cCvBX;WACF,IAAI;mBAEI;mBACA;mBACA;mBACA;mBAEA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;UAET;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YAAY,UAAS;;MA4EjB,eAAe;;EAKnB;EAIA;EAIA;EAIA;UAoBQ;UAeA;UAMA;UAMA;UAeA;UAUA;UAeA;UAOA;UAUA;UAQA;UAIA;UAMA;;UAoBA;UAYA;UAOA;UAUA;UAIA;UAwCA;UAMA;UAIA;UAIA;UAMA;UAMA;UAUA;UAKA;UAIA;UAKA;UAKA;UAIA;UAIA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types.ts","../src/scroll-fab.ts"],"mappings":";KAAY;;UAGK;EACf;EACA;EACA;EACA;;;UAIe;EACf,WACE,0BAA0B,aAC1B,UAAU;EAEZ,OAAO;EACP;EACA;EACA;EACA,MAAM,eAAe,cAAc;EACnC,OAAO,eAAe,cAAc;EACpC;;;UAIe;EACf,UAAU,cAAc;EACxB,UAAU;EACV;EACA,UAAU;;EAEV;EACA;EACA;EACA;GACC;;;;;;;;UASc;;EAEf;;EAEA;;EAEA;;EAEA;;UAGe;;EAEf,SAAS;;EAET;;EAEA;;EAEA;;EAEA;;EAEA,mBAAmB;;EAEnB,WAAW;;EAEX;;EAEA;;EAEA;;;;;;;;EAQA,kBAAkB,uBAAuB;;EAEzC,QAAQ;;EAER,gBAAgB,OAAO;;EAEvB;;EAEA;;EAEA,gBAAgB,MAAM;;;;;EAKtB,QAAQ;;EAER;;;;;EAKA,YAAY;;;;cC3ED;WACF,IAAI;UAEL;UACA;UACA;mBACS;UACT;mBAES;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;;UAGT;;UAEA;UACA;UACA;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YAAY,UAAS;;MA2HjB,eAAe;;EAKnB;EAMA;EAIA;EAIA;;UA8BQ;UAcA;UASA;UAcA;UAMA;UAMA;UAeA;UAUA;UAeA;UAOA;UAUA;UAYA;UAIA;UAMA;;UAoBA;UAYA;UAOA;UAUA;UAIA;;UAyBA;;;;;;UA6BA;;UA6BA;UAqBA;;UAQA;UAMA;UASA;UAmCA;UAMA;UAIA;;UAKA;UAMA;;UAOA;UAMA;UAMA;UAeA;UAKA;UAIA;UAKA;UAKA;UAKA;;UAKA;UAQA"}