@rethink-js/rt-smooth-scroll 1.1.0 → 1.2.0
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/README.md +94 -48
- package/dist/index.js +191 -51
- package/dist/index.js.map +2 -2
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +3 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
- **Zero-config defaults** (Lenis defaults, unless you override via attributes)
|
|
14
14
|
- Support for **multiple smooth scroll instances**
|
|
15
15
|
- A clean global API under `window.rtSmoothScroll`
|
|
16
|
-
-
|
|
16
|
+
- **Smart Scroll-To actions** with indexed selectors and dynamic offsets
|
|
17
|
+
- **Automatic Anchor Link Conversion** (hijack native links for smooth scrolling)
|
|
17
18
|
- Per-instance configuration via HTML attributes
|
|
18
19
|
- Console logs showing each instance’s final resolved config
|
|
19
20
|
|
|
@@ -29,11 +30,13 @@
|
|
|
29
30
|
- [2. Quick Start](#2-quick-start)
|
|
30
31
|
- [3. Activation Rules](#3-activation-rules)
|
|
31
32
|
- [4. Configuration (HTML Attributes)](#4-configuration-html-attributes)
|
|
32
|
-
- [5.
|
|
33
|
-
- [6.
|
|
34
|
-
- [7.
|
|
35
|
-
- [8.
|
|
36
|
-
- [9.
|
|
33
|
+
- [5. Scroll-To Actions](#5-scroll-to-actions)
|
|
34
|
+
- [6. Anchor Link Conversion](#6-anchor-link-conversion)
|
|
35
|
+
- [7. Multiple Instances](#7-multiple-instances)
|
|
36
|
+
- [8. Global API](#8-global-api)
|
|
37
|
+
- [9. Console Logging](#9-console-logging)
|
|
38
|
+
- [10. Troubleshooting](#10-troubleshooting)
|
|
39
|
+
- [11. License](#11-license)
|
|
37
40
|
|
|
38
41
|
---
|
|
39
42
|
|
|
@@ -42,7 +45,7 @@
|
|
|
42
45
|
### 1.1 CDN (jsDelivr)
|
|
43
46
|
|
|
44
47
|
```html
|
|
45
|
-
<script src="https://cdn.jsdelivr.net/npm/@rethink-js/rt-smooth-scroll@latest/dist/index.min.js"></script>
|
|
48
|
+
<script src="[https://cdn.jsdelivr.net/npm/@rethink-js/rt-smooth-scroll@latest/dist/index.min.js](https://cdn.jsdelivr.net/npm/@rethink-js/rt-smooth-scroll@latest/dist/index.min.js)"></script>
|
|
46
49
|
```
|
|
47
50
|
|
|
48
51
|
### 1.2 npm
|
|
@@ -67,7 +70,7 @@ Add the script to your page. With no configuration provided, `rt-smooth-scroll`
|
|
|
67
70
|
Example:
|
|
68
71
|
|
|
69
72
|
```html
|
|
70
|
-
<script src="https://cdn.jsdelivr.net/npm/@rethink-js/rt-smooth-scroll@latest/dist/index.min.js"></script>
|
|
73
|
+
<script src="[https://cdn.jsdelivr.net/npm/@rethink-js/rt-smooth-scroll@latest/dist/index.min.js](https://cdn.jsdelivr.net/npm/@rethink-js/rt-smooth-scroll@latest/dist/index.min.js)"></script>
|
|
71
74
|
```
|
|
72
75
|
|
|
73
76
|
> Note: If you do not set any `rt-smooth-scroll-*` config attributes, the root instance uses **Lenis defaults**.
|
|
@@ -161,35 +164,86 @@ Add attributes to any scroll container:
|
|
|
161
164
|
| `rt-smooth-scroll-id` | Optional instance identifier |
|
|
162
165
|
| `rt-smooth-scroll-content` | Selector inside container (defaults to first child if omitted) |
|
|
163
166
|
|
|
164
|
-
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 5. Scroll-To Actions
|
|
170
|
+
|
|
171
|
+
You can trigger a smooth scroll to any element, position, or specific instance using the `rt-smooth-scroll-to` attribute on any clickable element.
|
|
165
172
|
|
|
166
|
-
|
|
173
|
+
### Basic Usage
|
|
167
174
|
|
|
168
175
|
```html
|
|
169
|
-
<
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
176
|
+
<button rt-smooth-scroll-to="#footer">Go to Footer</button>
|
|
177
|
+
|
|
178
|
+
<button rt-smooth-scroll-to="top">Back to Top</button>
|
|
179
|
+
|
|
180
|
+
<button rt-smooth-scroll-to="500">Go to 500px</button>
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Indexed Selectors
|
|
184
|
+
|
|
185
|
+
You can target elements by class order (1-based index) using `.class(N)` syntax.
|
|
186
|
+
|
|
187
|
+
```html
|
|
188
|
+
<button rt-smooth-scroll-to=".section(2)">Go to Section 2</button>
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Customization Attributes
|
|
192
|
+
|
|
193
|
+
You can customize the scroll behavior for specific triggers.
|
|
194
|
+
|
|
195
|
+
| Attribute | Description |
|
|
196
|
+
| ---------------------------- | ------------------------------------------------------------------ |
|
|
197
|
+
| `rt-smooth-scroll-offset` | Offset in pixels. **Supports selectors!** (See below) |
|
|
198
|
+
| `rt-smooth-scroll-duration` | Override scroll duration for this action |
|
|
199
|
+
| `rt-smooth-scroll-immediate` | Jump instantly (true/false) |
|
|
200
|
+
| `rt-smooth-scroll-lock` | Lock scroll during animation |
|
|
201
|
+
| `rt-smooth-scroll-force` | Force scroll even if stopped |
|
|
202
|
+
| `rt-smooth-scroll-target-id` | **Explicitly** target a specific scroll instance ID (e.g. "panel") |
|
|
203
|
+
|
|
204
|
+
### Dynamic Element Offsets
|
|
205
|
+
|
|
206
|
+
Instead of hardcoding pixels, you can pass a selector to `rt-smooth-scroll-offset`. The library will calculate that element's `offsetHeight` and apply it as a **negative offset** (perfect for sticky headers).
|
|
207
|
+
|
|
208
|
+
```html
|
|
209
|
+
<button rt-smooth-scroll-to="#about" rt-smooth-scroll-offset="#nav">
|
|
210
|
+
About
|
|
211
|
+
</button>
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## 6. Anchor Link Conversion
|
|
217
|
+
|
|
218
|
+
You can automatically convert standard `<a>` tags (e.g., `<a href="#contact">`) into smooth scroll triggers without manually adding attributes to every link.
|
|
219
|
+
|
|
220
|
+
### Enable Conversion
|
|
221
|
+
|
|
222
|
+
Add this attribute to your `<body>` or `<html>` tag:
|
|
223
|
+
|
|
224
|
+
```html
|
|
225
|
+
<body rt-smooth-scroll rt-smooth-scroll-anchor-links="true"></body>
|
|
173
226
|
```
|
|
174
227
|
|
|
175
|
-
###
|
|
228
|
+
### How it works
|
|
176
229
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
| `rt-smooth-scroll-observe-mutations` | Enable `MutationObserver` for wrapper instances (default: `true` if supported) |
|
|
182
|
-
| `rt-smooth-scroll-resize-debounce-ms` | Debounce resize calls (default: `0`) |
|
|
230
|
+
1. **Auto-Detection:** Finds all links pointing to a hash on the current page.
|
|
231
|
+
2. **Hijacking:** Converts them to use the `rt-smooth-scroll-to` logic.
|
|
232
|
+
3. **Clean URLs:** Removes the `href` attribute so the browser URL bar does **not** update (no `#hash` in URL), keeping your history clean.
|
|
233
|
+
4. **Accessibility:** Automatically restores `tabindex="0"`, `role="button"`, `cursor: pointer`, and keyboard `Enter` key support.
|
|
183
234
|
|
|
184
235
|
---
|
|
185
236
|
|
|
186
|
-
##
|
|
237
|
+
## 7. Multiple Instances
|
|
187
238
|
|
|
188
239
|
`rt-smooth-scroll` supports any number of independent Lenis instances on a page. Each instance has its own wrapper + content and can be controlled individually via API.
|
|
189
240
|
|
|
241
|
+
**Context Awareness:**
|
|
242
|
+
If a `rt-smooth-scroll-to` button is placed **inside** a nested scroll instance, it will automatically control that parent instance, not the root window, unless you explicitly override it with `rt-smooth-scroll-target-id`.
|
|
243
|
+
|
|
190
244
|
---
|
|
191
245
|
|
|
192
|
-
##
|
|
246
|
+
## 8. Global API
|
|
193
247
|
|
|
194
248
|
After initialization, access:
|
|
195
249
|
|
|
@@ -199,15 +253,16 @@ window.rtSmoothScroll;
|
|
|
199
253
|
|
|
200
254
|
### Common methods:
|
|
201
255
|
|
|
202
|
-
| Method
|
|
203
|
-
|
|
|
204
|
-
| `ids()`
|
|
205
|
-
| `get(id)`
|
|
206
|
-
| `start(id?)`
|
|
207
|
-
| `stop(id?)`
|
|
208
|
-
| `toggle(id?)`
|
|
209
|
-
| `resize(id?)`
|
|
210
|
-
| `
|
|
256
|
+
| Method | Description |
|
|
257
|
+
| ------------------ | ------------------------------------------------------------------- |
|
|
258
|
+
| `ids()` | Array of registered instance ids |
|
|
259
|
+
| `get(id)` | Returns Lenis instance |
|
|
260
|
+
| `start(id?)` | Start scroll |
|
|
261
|
+
| `stop(id?)` | Stop scroll |
|
|
262
|
+
| `toggle(id?)` | Toggle scroll |
|
|
263
|
+
| `resize(id?)` | Trigger Lenis resize |
|
|
264
|
+
| `refreshAnchors()` | Manually re-run anchor link conversion (useful for dynamic content) |
|
|
265
|
+
| `destroy(id?)` | Remove instance |
|
|
211
266
|
|
|
212
267
|
**Default root Lenis instance** is also exposed as:
|
|
213
268
|
|
|
@@ -217,7 +272,7 @@ window.lenis;
|
|
|
217
272
|
|
|
218
273
|
---
|
|
219
274
|
|
|
220
|
-
##
|
|
275
|
+
## 9. Console Logging
|
|
221
276
|
|
|
222
277
|
On startup, each instance logs:
|
|
223
278
|
|
|
@@ -230,7 +285,7 @@ This helps you confirm exactly what configuration is applied in the browser.
|
|
|
230
285
|
|
|
231
286
|
---
|
|
232
287
|
|
|
233
|
-
##
|
|
288
|
+
## 10. Troubleshooting
|
|
234
289
|
|
|
235
290
|
### Scroll feels laggy / too delayed
|
|
236
291
|
|
|
@@ -242,27 +297,18 @@ This helps you confirm exactly what configuration is applied in the browser.
|
|
|
242
297
|
|
|
243
298
|
Lenis treats `duration` and `easing` as **useless if `lerp` is defined**. If you want time-based behavior, ensure you’re not effectively running in lerp-mode.
|
|
244
299
|
|
|
245
|
-
### Instance not initialized
|
|
246
|
-
|
|
247
|
-
Ensure you’ve enabled either:
|
|
248
|
-
|
|
249
|
-
- the root attribute (`rt-smooth-scroll`), or
|
|
250
|
-
- one or more instance elements.
|
|
251
|
-
|
|
252
|
-
### Lenis fails to load
|
|
253
|
-
|
|
254
|
-
If using a custom `rt-smooth-scroll-lenis-src`, confirm the URL points to a valid Lenis build.
|
|
255
|
-
|
|
256
300
|
---
|
|
257
301
|
|
|
258
|
-
##
|
|
302
|
+
## 11. License
|
|
259
303
|
|
|
260
304
|
MIT License
|
|
261
305
|
|
|
262
|
-
Package: `@rethink-js/rt-smooth-scroll`
|
|
306
|
+
Package: `@rethink-js/rt-smooth-scroll`
|
|
307
|
+
<br>
|
|
263
308
|
GitHub: [https://github.com/Rethink-JS/rt-smooth-scroll](https://github.com/Rethink-JS/rt-smooth-scroll)
|
|
264
309
|
|
|
265
310
|
---
|
|
266
311
|
|
|
267
|
-
by **Rethink JS**
|
|
312
|
+
by **Rethink JS**
|
|
313
|
+
<br>
|
|
268
314
|
[https://github.com/Rethink-JS](https://github.com/Rethink-JS)
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @rethink-js/rt-smooth-scroll v1.
|
|
1
|
+
/*! @rethink-js/rt-smooth-scroll v1.2.0 | MIT */
|
|
2
2
|
(() => {
|
|
3
3
|
// src/index.js
|
|
4
4
|
(function() {
|
|
@@ -52,6 +52,29 @@
|
|
|
52
52
|
if (t > 1) return 1;
|
|
53
53
|
return t;
|
|
54
54
|
}
|
|
55
|
+
function resolveTargetFromStr(selectorStr) {
|
|
56
|
+
if (!selectorStr) return null;
|
|
57
|
+
var s = String(selectorStr).trim();
|
|
58
|
+
if (!s) return null;
|
|
59
|
+
if (s === "window") return window;
|
|
60
|
+
var match = s.match(/^(.*)\(\s*(\d+)\s*\)$/);
|
|
61
|
+
if (match) {
|
|
62
|
+
var baseSelector = match[1].trim();
|
|
63
|
+
var index = parseInt(match[2], 10);
|
|
64
|
+
if (!baseSelector || isNaN(index) || index < 1) return null;
|
|
65
|
+
try {
|
|
66
|
+
var all = document.querySelectorAll(baseSelector);
|
|
67
|
+
return all[index - 1] || null;
|
|
68
|
+
} catch (e) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
return document.querySelector(s);
|
|
74
|
+
} catch (e) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
55
78
|
function easingByName(name) {
|
|
56
79
|
var n = String(name || "").trim();
|
|
57
80
|
if (!n) return null;
|
|
@@ -133,57 +156,40 @@
|
|
|
133
156
|
if (hasDuration && duration !== void 0) opts.duration = duration;
|
|
134
157
|
if (hasEasing && easingFn) opts.easing = easingFn;
|
|
135
158
|
}
|
|
136
|
-
if (hasRaw("orientation"))
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (hasRaw("gesture-orientation")) {
|
|
141
|
-
var gestureOrientation = parseStr(getRaw("gesture-orientation"), "");
|
|
142
|
-
if (gestureOrientation) opts.gestureOrientation = gestureOrientation;
|
|
143
|
-
}
|
|
159
|
+
if (hasRaw("orientation"))
|
|
160
|
+
opts.orientation = parseStr(getRaw("orientation"), "");
|
|
161
|
+
if (hasRaw("gesture-orientation"))
|
|
162
|
+
opts.gestureOrientation = parseStr(getRaw("gesture-orientation"), "");
|
|
144
163
|
var smoothWheelRaw = getRaw("smooth-wheel");
|
|
145
164
|
var normalizeWheelRaw = getRaw("normalize-wheel");
|
|
146
|
-
if (isAttrPresent(smoothWheelRaw))
|
|
165
|
+
if (isAttrPresent(smoothWheelRaw))
|
|
147
166
|
opts.smoothWheel = parseBool(smoothWheelRaw, true);
|
|
148
|
-
|
|
167
|
+
else if (isAttrPresent(normalizeWheelRaw))
|
|
149
168
|
opts.smoothWheel = parseBool(normalizeWheelRaw, true);
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (hasRaw("touch-multiplier")) {
|
|
156
|
-
var touchMultiplier = parseNum(getRaw("touch-multiplier"), void 0);
|
|
157
|
-
if (touchMultiplier !== void 0) opts.touchMultiplier = touchMultiplier;
|
|
158
|
-
}
|
|
159
|
-
if (hasRaw("sync-touch")) {
|
|
169
|
+
if (hasRaw("wheel-multiplier"))
|
|
170
|
+
opts.wheelMultiplier = parseNum(getRaw("wheel-multiplier"), void 0);
|
|
171
|
+
if (hasRaw("touch-multiplier"))
|
|
172
|
+
opts.touchMultiplier = parseNum(getRaw("touch-multiplier"), void 0);
|
|
173
|
+
if (hasRaw("sync-touch"))
|
|
160
174
|
opts.syncTouch = parseBool(getRaw("sync-touch"), false);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
if (hasRaw("infinite")) {
|
|
175
|
+
if (hasRaw("sync-touch-lerp"))
|
|
176
|
+
opts.syncTouchLerp = parseNum(getRaw("sync-touch-lerp"), void 0);
|
|
177
|
+
if (hasRaw("touch-inertia-exponent"))
|
|
178
|
+
opts.touchInertiaExponent = parseNum(
|
|
179
|
+
getRaw("touch-inertia-exponent"),
|
|
180
|
+
void 0
|
|
181
|
+
);
|
|
182
|
+
if (hasRaw("infinite"))
|
|
171
183
|
opts.infinite = parseBool(getRaw("infinite"), false);
|
|
172
|
-
|
|
173
|
-
if (hasRaw("auto-resize")) {
|
|
184
|
+
if (hasRaw("auto-resize"))
|
|
174
185
|
opts.autoResize = parseBool(getRaw("auto-resize"), true);
|
|
175
|
-
|
|
176
|
-
if (hasRaw("overscroll")) {
|
|
186
|
+
if (hasRaw("overscroll"))
|
|
177
187
|
opts.overscroll = parseBool(getRaw("overscroll"), true);
|
|
178
|
-
}
|
|
179
188
|
if (hasRaw("anchors")) {
|
|
180
|
-
var
|
|
181
|
-
|
|
182
|
-
if (s
|
|
183
|
-
|
|
184
|
-
} else if (s.toLowerCase() === "false") {
|
|
185
|
-
opts.anchors = false;
|
|
186
|
-
} else {
|
|
189
|
+
var s = String(getRaw("anchors") || "").trim();
|
|
190
|
+
if (s === "" || s.toLowerCase() === "true") opts.anchors = true;
|
|
191
|
+
else if (s.toLowerCase() === "false") opts.anchors = false;
|
|
192
|
+
else {
|
|
187
193
|
try {
|
|
188
194
|
opts.anchors = JSON.parse(s);
|
|
189
195
|
} catch (e) {
|
|
@@ -191,12 +197,10 @@
|
|
|
191
197
|
}
|
|
192
198
|
}
|
|
193
199
|
}
|
|
194
|
-
if (hasRaw("auto-toggle"))
|
|
200
|
+
if (hasRaw("auto-toggle"))
|
|
195
201
|
opts.autoToggle = parseBool(getRaw("auto-toggle"), false);
|
|
196
|
-
|
|
197
|
-
if (hasRaw("allow-nested-scroll")) {
|
|
202
|
+
if (hasRaw("allow-nested-scroll"))
|
|
198
203
|
opts.allowNestedScroll = parseBool(getRaw("allow-nested-scroll"), false);
|
|
199
|
-
}
|
|
200
204
|
var extra = localOrGlobal(prefix + "options-json");
|
|
201
205
|
if (extra) {
|
|
202
206
|
try {
|
|
@@ -235,8 +239,51 @@
|
|
|
235
239
|
document.head.appendChild(s);
|
|
236
240
|
});
|
|
237
241
|
}
|
|
242
|
+
function convertAnchorLinks() {
|
|
243
|
+
var raw = getAttr("rt-smooth-scroll-anchor-links");
|
|
244
|
+
if (!parseBool(raw, false)) return;
|
|
245
|
+
var links = document.querySelectorAll('a[href*="#"]');
|
|
246
|
+
var currentPath = window.location.pathname.replace(/\/+$/, "").toLowerCase();
|
|
247
|
+
var origin = window.location.origin;
|
|
248
|
+
for (var i = 0; i < links.length; i++) {
|
|
249
|
+
var link = links[i];
|
|
250
|
+
if (link.hasAttribute("rt-smooth-scroll-to")) continue;
|
|
251
|
+
var href = link.getAttribute("href");
|
|
252
|
+
if (!href) continue;
|
|
253
|
+
var hashIndex = href.indexOf("#");
|
|
254
|
+
if (hashIndex === -1) continue;
|
|
255
|
+
var pathPart = href.substring(0, hashIndex);
|
|
256
|
+
var hashPart = href.substring(hashIndex);
|
|
257
|
+
if (hashPart.length <= 1) continue;
|
|
258
|
+
var isLocal = false;
|
|
259
|
+
if (pathPart === "" || pathPart === "./") {
|
|
260
|
+
isLocal = true;
|
|
261
|
+
} else {
|
|
262
|
+
var normPath = pathPart.replace(/\/+$/, "").toLowerCase();
|
|
263
|
+
if (pathPart.indexOf("http") === 0) {
|
|
264
|
+
try {
|
|
265
|
+
var u = new URL(href, origin);
|
|
266
|
+
if (u.origin === origin && u.pathname.replace(/\/+$/, "").toLowerCase() === currentPath) {
|
|
267
|
+
isLocal = true;
|
|
268
|
+
}
|
|
269
|
+
} catch (e) {
|
|
270
|
+
}
|
|
271
|
+
} else if (normPath === currentPath) {
|
|
272
|
+
isLocal = true;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (isLocal) {
|
|
276
|
+
link.setAttribute("rt-smooth-scroll-to", hashPart);
|
|
277
|
+
link.removeAttribute("href");
|
|
278
|
+
link.style.cursor = "pointer";
|
|
279
|
+
link.setAttribute("tabindex", "0");
|
|
280
|
+
link.setAttribute("role", "button");
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
238
284
|
function init() {
|
|
239
285
|
ensureAutoEnableIfNeeded();
|
|
286
|
+
convertAnchorLinks();
|
|
240
287
|
var enabledRoot = hasAttrAnywhere("rt-smooth-scroll");
|
|
241
288
|
var instanceEls = document.querySelectorAll("[rt-smooth-scroll-instance]");
|
|
242
289
|
var hasInstances = instanceEls && instanceEls.length > 0;
|
|
@@ -256,7 +303,9 @@
|
|
|
256
303
|
rafId: 0,
|
|
257
304
|
instances: {},
|
|
258
305
|
order: [],
|
|
259
|
-
resizeTimers: {}
|
|
306
|
+
resizeTimers: {},
|
|
307
|
+
clickListener: null,
|
|
308
|
+
keyListener: null
|
|
260
309
|
};
|
|
261
310
|
function scheduleResize(id) {
|
|
262
311
|
var inst = state.instances[id];
|
|
@@ -359,6 +408,86 @@
|
|
|
359
408
|
}
|
|
360
409
|
return inst;
|
|
361
410
|
}
|
|
411
|
+
function setupScrollToListeners() {
|
|
412
|
+
if (state.clickListener) return;
|
|
413
|
+
var handleScrollAction = function(targetEl, e) {
|
|
414
|
+
var targetVal = targetEl.getAttribute("rt-smooth-scroll-to");
|
|
415
|
+
if (!targetVal) return;
|
|
416
|
+
if (e) e.preventDefault();
|
|
417
|
+
var target = null;
|
|
418
|
+
var numeric = parseFloat(targetVal);
|
|
419
|
+
if (targetVal === "top") {
|
|
420
|
+
target = 0;
|
|
421
|
+
} else if (!isNaN(numeric) && isFinite(numeric)) {
|
|
422
|
+
target = numeric;
|
|
423
|
+
} else {
|
|
424
|
+
target = resolveTargetFromStr(targetVal);
|
|
425
|
+
}
|
|
426
|
+
if (target === null && targetVal !== "top" && isNaN(numeric)) return;
|
|
427
|
+
var instance = null;
|
|
428
|
+
var explicitId = targetEl.getAttribute("rt-smooth-scroll-target-id");
|
|
429
|
+
if (explicitId && state.instances[explicitId]) {
|
|
430
|
+
instance = state.instances[explicitId];
|
|
431
|
+
} else {
|
|
432
|
+
var parentWrapper = targetEl.closest("[rt-smooth-scroll-instance]");
|
|
433
|
+
if (parentWrapper) {
|
|
434
|
+
var parentId = parentWrapper.getAttribute("rt-smooth-scroll-id");
|
|
435
|
+
if (parentId && state.instances[parentId]) {
|
|
436
|
+
instance = state.instances[parentId];
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
if (!instance && state.instances["root"]) {
|
|
441
|
+
instance = state.instances["root"];
|
|
442
|
+
}
|
|
443
|
+
if (!instance) return;
|
|
444
|
+
var opts = {};
|
|
445
|
+
var offsetRaw = targetEl.getAttribute("rt-smooth-scroll-offset");
|
|
446
|
+
if (offsetRaw) {
|
|
447
|
+
var offsetNum = parseFloat(offsetRaw);
|
|
448
|
+
if (!isNaN(offsetNum) && isFinite(offsetNum)) {
|
|
449
|
+
opts.offset = offsetNum;
|
|
450
|
+
} else {
|
|
451
|
+
var offsetEl = resolveTargetFromStr(offsetRaw);
|
|
452
|
+
if (offsetEl) opts.offset = -1 * offsetEl.offsetHeight;
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
var dur = parseNum(
|
|
456
|
+
targetEl.getAttribute("rt-smooth-scroll-duration"),
|
|
457
|
+
void 0
|
|
458
|
+
);
|
|
459
|
+
if (dur !== void 0) opts.duration = dur;
|
|
460
|
+
var immediate = parseBool(
|
|
461
|
+
targetEl.getAttribute("rt-smooth-scroll-immediate"),
|
|
462
|
+
null
|
|
463
|
+
);
|
|
464
|
+
if (immediate !== null) opts.immediate = immediate;
|
|
465
|
+
var lock = parseBool(
|
|
466
|
+
targetEl.getAttribute("rt-smooth-scroll-lock"),
|
|
467
|
+
null
|
|
468
|
+
);
|
|
469
|
+
if (lock !== null) opts.lock = lock;
|
|
470
|
+
var force = parseBool(
|
|
471
|
+
targetEl.getAttribute("rt-smooth-scroll-force"),
|
|
472
|
+
null
|
|
473
|
+
);
|
|
474
|
+
if (force !== null) opts.force = force;
|
|
475
|
+
instance.scrollTo(target, opts);
|
|
476
|
+
};
|
|
477
|
+
state.clickListener = function(e) {
|
|
478
|
+
var trigger = e.target.closest("[rt-smooth-scroll-to]");
|
|
479
|
+
if (trigger) handleScrollAction(trigger, e);
|
|
480
|
+
};
|
|
481
|
+
state.keyListener = function(e) {
|
|
482
|
+
if (e.key !== "Enter" && e.key !== " ") return;
|
|
483
|
+
var trigger = e.target.closest("[rt-smooth-scroll-to]");
|
|
484
|
+
if (trigger && !trigger.hasAttribute("href")) {
|
|
485
|
+
handleScrollAction(trigger, e);
|
|
486
|
+
}
|
|
487
|
+
};
|
|
488
|
+
document.addEventListener("click", state.clickListener);
|
|
489
|
+
document.addEventListener("keydown", state.keyListener);
|
|
490
|
+
}
|
|
362
491
|
function makeApi() {
|
|
363
492
|
function forEachTarget(id, fn) {
|
|
364
493
|
if (typeof id === "string" && id.length) {
|
|
@@ -406,6 +535,9 @@
|
|
|
406
535
|
scheduleResize(k);
|
|
407
536
|
});
|
|
408
537
|
},
|
|
538
|
+
refreshAnchors: function() {
|
|
539
|
+
convertAnchorLinks();
|
|
540
|
+
},
|
|
409
541
|
destroy: function(id) {
|
|
410
542
|
if (state.destroyed) return;
|
|
411
543
|
function destroyOne(k) {
|
|
@@ -432,6 +564,14 @@
|
|
|
432
564
|
destroyOne(id);
|
|
433
565
|
return;
|
|
434
566
|
}
|
|
567
|
+
if (state.clickListener) {
|
|
568
|
+
document.removeEventListener("click", state.clickListener);
|
|
569
|
+
state.clickListener = null;
|
|
570
|
+
}
|
|
571
|
+
if (state.keyListener) {
|
|
572
|
+
document.removeEventListener("keydown", state.keyListener);
|
|
573
|
+
state.keyListener = null;
|
|
574
|
+
}
|
|
435
575
|
while (state.order.length) destroyOne(state.order[0]);
|
|
436
576
|
state.destroyed = true;
|
|
437
577
|
if (state.rafId) cancelAnimationFrame(state.rafId);
|
|
@@ -477,6 +617,7 @@
|
|
|
477
617
|
if (!id) {
|
|
478
618
|
autoCount++;
|
|
479
619
|
id = "instance-" + autoCount;
|
|
620
|
+
el.setAttribute("rt-smooth-scroll-id", id);
|
|
480
621
|
}
|
|
481
622
|
if (state.instances[id]) continue;
|
|
482
623
|
var content = getContentForWrapper(el);
|
|
@@ -487,12 +628,11 @@
|
|
|
487
628
|
opts.autoRaf = false;
|
|
488
629
|
createInstance(id, el, content, opts, false);
|
|
489
630
|
}
|
|
490
|
-
if (!allowAutoRaf)
|
|
491
|
-
startRaf();
|
|
492
|
-
}
|
|
631
|
+
if (!allowAutoRaf) startRaf();
|
|
493
632
|
var api = makeApi();
|
|
494
633
|
window[RT_NS] = api;
|
|
495
634
|
installLegacyAliases(api);
|
|
635
|
+
setupScrollToListeners();
|
|
496
636
|
window.addEventListener("resize", function() {
|
|
497
637
|
api.resize();
|
|
498
638
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.js"],
|
|
4
|
-
"sourcesContent": ["(function () {\n var RT_NS = \"rtSmoothScroll\";\n if (window[RT_NS] && window[RT_NS].__initialized) return;\n\n function getAttrFrom(el, name) {\n if (!el) return null;\n if (!el.hasAttribute(name)) return null;\n return el.getAttribute(name);\n }\n\n function getAttr(name) {\n var html = document.documentElement;\n var body = document.body;\n var v = getAttrFrom(html, name);\n if (v !== null) return v;\n v = getAttrFrom(body, name);\n if (v !== null) return v;\n return null;\n }\n\n function hasAttrAnywhere(name) {\n var html = document.documentElement;\n var body = document.body;\n if (html && html.hasAttribute(name)) return true;\n if (body && body.hasAttribute(name)) return true;\n return false;\n }\n\n function parseBool(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim().toLowerCase();\n if (s === \"\") return true;\n if (s === \"true\" || s === \"1\" || s === \"yes\" || s === \"y\" || s === \"on\")\n return true;\n if (s === \"false\" || s === \"0\" || s === \"no\" || s === \"n\" || s === \"off\")\n return false;\n return def;\n }\n\n function parseNum(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim();\n if (!s.length) return def;\n var n = Number(s);\n return Number.isFinite(n) ? n : def;\n }\n\n function parseStr(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v);\n return s.length ? s : def;\n }\n\n function clamp01(t) {\n if (t < 0) return 0;\n if (t > 1) return 1;\n return t;\n }\n\n function easingByName(name) {\n var n = String(name || \"\").trim();\n if (!n) return null;\n\n var easings = {\n linear: function (t) {\n return clamp01(t);\n },\n easeInQuad: function (t) {\n t = clamp01(t);\n return t * t;\n },\n easeOutQuad: function (t) {\n t = clamp01(t);\n return t * (2 - t);\n },\n easeInOutQuad: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n },\n easeInCubic: function (t) {\n t = clamp01(t);\n return t * t * t;\n },\n easeOutCubic: function (t) {\n t = clamp01(t);\n return 1 - Math.pow(1 - t, 3);\n },\n easeInOutCubic: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n easeInOutSine: function (t) {\n t = clamp01(t);\n return -(Math.cos(Math.PI * t) - 1) / 2;\n },\n easeOutExpo: function (t) {\n t = clamp01(t);\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n },\n };\n\n return easings[n] || null;\n }\n\n function ensureAutoEnableIfNeeded() {\n var body = document.body;\n if (!body) return;\n\n var instances = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instances && instances.length > 0;\n\n if (!hasAttrAnywhere(\"rt-smooth-scroll\") && !hasInstances) {\n body.setAttribute(\"rt-smooth-scroll\", \"\");\n }\n }\n\n function isAttrPresent(v) {\n return v !== null && v !== undefined;\n }\n\n function readOptions(getLocal) {\n var prefix = \"rt-smooth-scroll-\";\n\n function localOrGlobal(name) {\n var v = getLocal(name);\n if (isAttrPresent(v)) return v;\n return getAttr(name);\n }\n\n function getRaw(name) {\n return localOrGlobal(prefix + name);\n }\n\n function hasRaw(name) {\n return isAttrPresent(getRaw(name));\n }\n\n var opts = {};\n\n var hasLerp = hasRaw(\"lerp\");\n var lerp = parseNum(getRaw(\"lerp\"), undefined);\n\n var hasDuration = hasRaw(\"duration\");\n var duration = parseNum(getRaw(\"duration\"), undefined);\n\n var hasEasing = hasRaw(\"easing\");\n var easingName = parseStr(getRaw(\"easing\"), \"\");\n var easingFn = easingByName(easingName);\n\n if (hasLerp && lerp !== undefined) {\n opts.lerp = lerp;\n } else {\n if (hasDuration && duration !== undefined) opts.duration = duration;\n if (hasEasing && easingFn) opts.easing = easingFn;\n }\n\n if (hasRaw(\"orientation\")) {\n var orientation = parseStr(getRaw(\"orientation\"), \"\");\n if (orientation) opts.orientation = orientation;\n }\n\n if (hasRaw(\"gesture-orientation\")) {\n var gestureOrientation = parseStr(getRaw(\"gesture-orientation\"), \"\");\n if (gestureOrientation) opts.gestureOrientation = gestureOrientation;\n }\n\n var smoothWheelRaw = getRaw(\"smooth-wheel\");\n var normalizeWheelRaw = getRaw(\"normalize-wheel\");\n if (isAttrPresent(smoothWheelRaw)) {\n opts.smoothWheel = parseBool(smoothWheelRaw, true);\n } else if (isAttrPresent(normalizeWheelRaw)) {\n opts.smoothWheel = parseBool(normalizeWheelRaw, true);\n }\n\n if (hasRaw(\"wheel-multiplier\")) {\n var wheelMultiplier = parseNum(getRaw(\"wheel-multiplier\"), undefined);\n if (wheelMultiplier !== undefined) opts.wheelMultiplier = wheelMultiplier;\n }\n\n if (hasRaw(\"touch-multiplier\")) {\n var touchMultiplier = parseNum(getRaw(\"touch-multiplier\"), undefined);\n if (touchMultiplier !== undefined) opts.touchMultiplier = touchMultiplier;\n }\n\n if (hasRaw(\"sync-touch\")) {\n opts.syncTouch = parseBool(getRaw(\"sync-touch\"), false);\n }\n\n if (hasRaw(\"sync-touch-lerp\")) {\n var syncTouchLerp = parseNum(getRaw(\"sync-touch-lerp\"), undefined);\n if (syncTouchLerp !== undefined) opts.syncTouchLerp = syncTouchLerp;\n }\n\n if (hasRaw(\"touch-inertia-exponent\")) {\n var tie = parseNum(getRaw(\"touch-inertia-exponent\"), undefined);\n if (tie !== undefined) opts.touchInertiaExponent = tie;\n }\n\n if (hasRaw(\"infinite\")) {\n opts.infinite = parseBool(getRaw(\"infinite\"), false);\n }\n\n if (hasRaw(\"auto-resize\")) {\n opts.autoResize = parseBool(getRaw(\"auto-resize\"), true);\n }\n\n if (hasRaw(\"overscroll\")) {\n opts.overscroll = parseBool(getRaw(\"overscroll\"), true);\n }\n\n if (hasRaw(\"anchors\")) {\n var anchorsRaw = getRaw(\"anchors\");\n var s = String(anchorsRaw || \"\").trim();\n if (s === \"\" || s.toLowerCase() === \"true\") {\n opts.anchors = true;\n } else if (s.toLowerCase() === \"false\") {\n opts.anchors = false;\n } else {\n try {\n opts.anchors = JSON.parse(s);\n } catch (e) {\n opts.anchors = true;\n }\n }\n }\n\n if (hasRaw(\"auto-toggle\")) {\n opts.autoToggle = parseBool(getRaw(\"auto-toggle\"), false);\n }\n\n if (hasRaw(\"allow-nested-scroll\")) {\n opts.allowNestedScroll = parseBool(getRaw(\"allow-nested-scroll\"), false);\n }\n\n var extra = localOrGlobal(prefix + \"options-json\");\n if (extra) {\n try {\n var parsed = JSON.parse(extra);\n if (parsed && typeof parsed === \"object\") {\n for (var k in parsed) opts[k] = parsed[k];\n }\n } catch (e) {}\n }\n\n return opts;\n }\n\n function loadScriptOnce(src) {\n return new Promise(function (resolve, reject) {\n if (typeof window.Lenis !== \"undefined\") return resolve();\n var existing = document.querySelector('script[data-rt-lenis=\"true\"]');\n if (existing) {\n existing.addEventListener(\"load\", function () {\n resolve();\n });\n existing.addEventListener(\"error\", function (e) {\n reject(e);\n });\n return;\n }\n var s = document.createElement(\"script\");\n s.src = src;\n s.async = true;\n s.dataset.rtLenis = \"true\";\n s.onload = function () {\n resolve();\n };\n s.onerror = function (e) {\n reject(e);\n };\n document.head.appendChild(s);\n });\n }\n\n function init() {\n ensureAutoEnableIfNeeded();\n\n var enabledRoot = hasAttrAnywhere(\"rt-smooth-scroll\");\n var instanceEls = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instanceEls && instanceEls.length > 0;\n var shouldRun = enabledRoot || hasInstances;\n if (!shouldRun) return;\n\n var lenisSrc = parseStr(\n getAttr(\"rt-smooth-scroll-lenis-src\"),\n \"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js\"\n );\n\n var resizeDebounceMs = parseNum(\n getAttr(\"rt-smooth-scroll-resize-debounce-ms\"),\n 0\n );\n\n var debug = parseBool(getAttr(\"rt-smooth-scroll-debug\"), true);\n\n var state = {\n destroyed: false,\n rafId: 0,\n instances: {},\n order: [],\n resizeTimers: {},\n };\n\n function scheduleResize(id) {\n var inst = state.instances[id];\n if (!inst || state.destroyed) return;\n if (resizeDebounceMs > 0) {\n clearTimeout(state.resizeTimers[id]);\n state.resizeTimers[id] = setTimeout(function () {\n var i2 = state.instances[id];\n if (!i2 || state.destroyed) return;\n i2.resize();\n }, resizeDebounceMs);\n return;\n }\n inst.resize();\n }\n\n function startRaf() {\n function raf(time) {\n if (state.destroyed) return;\n for (var i = 0; i < state.order.length; i++) {\n var id = state.order[i];\n var inst = state.instances[id];\n if (inst) inst.raf(time);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n\n function sanitizeOptionsForLog(opts) {\n var out = {};\n for (var k in opts) {\n if (!Object.prototype.hasOwnProperty.call(opts, k)) continue;\n var v = opts[k];\n if (typeof v === \"function\") out[k] = \"[Function]\";\n else out[k] = v;\n }\n return out;\n }\n\n function resolveElementFromSelector(base, selector) {\n if (!selector) return null;\n var s = String(selector).trim();\n if (!s.length) return null;\n if (s === \"window\") return window;\n try {\n return (base || document).querySelector(s);\n } catch (e) {\n return null;\n }\n }\n\n function applySelectorsToOptions(el, opts) {\n var prefix = \"rt-smooth-scroll-\";\n\n var wrapperSel = getAttrFrom(el, prefix + \"wrapper\");\n var contentSel = getAttrFrom(el, prefix + \"content\");\n var eventsSel = getAttrFrom(el, prefix + \"events-target\");\n\n if (wrapperSel) {\n var w = resolveElementFromSelector(document, wrapperSel);\n if (w) opts.wrapper = w;\n }\n if (contentSel) {\n var c = resolveElementFromSelector(document, contentSel);\n if (c) opts.content = c;\n }\n if (eventsSel) {\n var et = resolveElementFromSelector(document, eventsSel);\n if (et) opts.eventsTarget = et;\n }\n\n return opts;\n }\n\n function getContentForWrapper(wrapperEl) {\n var selector = getAttrFrom(wrapperEl, \"rt-smooth-scroll-content\");\n if (selector) {\n var found = null;\n try {\n found = wrapperEl.querySelector(selector);\n } catch (e) {\n found = null;\n }\n if (found) return found;\n }\n return wrapperEl.firstElementChild || wrapperEl;\n }\n\n function createInstance(id, wrapper, content, options, isRoot) {\n var opts = options || {};\n\n if (!isRoot) {\n if (wrapper) opts.wrapper = wrapper;\n if (content) opts.content = content;\n }\n\n var inst = new window.Lenis(opts);\n state.instances[id] = inst;\n state.order.push(id);\n\n if (id === \"root\") window.lenis = inst;\n\n if (debug) {\n try {\n console.log(\"[rt-smooth-scroll] instance:\", id, {\n wrapper: isRoot ? opts.wrapper || \"default\" : wrapper,\n content: isRoot ? opts.content || \"default\" : content,\n options: sanitizeOptionsForLog(opts),\n });\n } catch (e) {}\n }\n\n return inst;\n }\n\n function makeApi() {\n function forEachTarget(id, fn) {\n if (typeof id === \"string\" && id.length) {\n var one = state.instances[id];\n if (one) fn(id, one);\n return;\n }\n for (var i = 0; i < state.order.length; i++) {\n var k = state.order[i];\n var inst = state.instances[k];\n if (inst) fn(k, inst);\n }\n }\n\n return {\n __initialized: true,\n ids: function () {\n return state.order.slice();\n },\n get: function (id) {\n return state.instances[id] || null;\n },\n start: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.start();\n });\n },\n stop: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.stop();\n });\n },\n toggle: function (id, force) {\n forEachTarget(id, function (_, inst) {\n if (typeof force === \"boolean\") {\n if (force) inst.stop();\n else inst.start();\n return;\n }\n if (inst.isStopped) inst.start();\n else inst.stop();\n });\n },\n resize: function (id) {\n forEachTarget(id, function (k) {\n scheduleResize(k);\n });\n },\n destroy: function (id) {\n if (state.destroyed) return;\n\n function destroyOne(k) {\n clearTimeout(state.resizeTimers[k]);\n var inst = state.instances[k];\n if (inst) {\n try {\n inst.destroy();\n } catch (e) {}\n delete state.instances[k];\n }\n var idx = state.order.indexOf(k);\n if (idx >= 0) state.order.splice(idx, 1);\n if (k === \"root\") {\n try {\n delete window.lenis;\n } catch (e) {\n window.lenis = undefined;\n }\n }\n }\n\n if (typeof id === \"string\" && id.length) {\n destroyOne(id);\n return;\n }\n\n while (state.order.length) destroyOne(state.order[0]);\n state.destroyed = true;\n if (state.rafId) cancelAnimationFrame(state.rafId);\n },\n };\n }\n\n function installLegacyAliases(api) {\n window.disableScroll = function () {\n api.stop();\n if (document.body) document.body.classList.add(\"no-scroll\");\n };\n window.enableScroll = function () {\n api.start();\n if (document.body) document.body.classList.remove(\"no-scroll\");\n };\n }\n\n loadScriptOnce(lenisSrc)\n .then(function () {\n if (state.destroyed) return;\n\n var els = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var totalCount = (enabledRoot ? 1 : 0) + (els ? els.length : 0);\n var allowAutoRaf =\n totalCount === 1 && enabledRoot && (!els || els.length === 0);\n\n if (enabledRoot && !state.instances.root) {\n var optsRoot = readOptions(function () {\n return null;\n });\n\n optsRoot = applySelectorsToOptions(\n document.body || document.documentElement,\n optsRoot\n );\n\n if (allowAutoRaf) {\n var rawAutoRaf = getAttr(\"rt-smooth-scroll-auto-raf\");\n var autoRaf = isAttrPresent(rawAutoRaf)\n ? parseBool(rawAutoRaf, true)\n : true;\n optsRoot.autoRaf = autoRaf;\n } else {\n optsRoot.autoRaf = false;\n }\n\n createInstance(\"root\", null, null, optsRoot, true);\n }\n\n var autoCount = 0;\n\n for (var i = 0; i < els.length; i++) {\n var el = els[i];\n var id = getAttrFrom(el, \"rt-smooth-scroll-id\");\n if (!id) {\n autoCount++;\n id = \"instance-\" + autoCount;\n }\n if (state.instances[id]) continue;\n\n var content = getContentForWrapper(el);\n\n var opts = readOptions(function (name) {\n return getAttrFrom(el, name);\n });\n\n opts = applySelectorsToOptions(el, opts);\n opts.autoRaf = false;\n\n createInstance(id, el, content, opts, false);\n }\n\n if (!allowAutoRaf) {\n startRaf();\n }\n\n var api = makeApi();\n window[RT_NS] = api;\n installLegacyAliases(api);\n\n window.addEventListener(\"resize\", function () {\n api.resize();\n });\n })\n .catch(function () {});\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", init);\n } else {\n init();\n }\n\n window[RT_NS] = window[RT_NS] || {\n __initialized: true,\n ids: function () {\n return [];\n },\n get: function () {\n return null;\n },\n };\n})();\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["(function () {\n var RT_NS = \"rtSmoothScroll\";\n if (window[RT_NS] && window[RT_NS].__initialized) return;\n\n function getAttrFrom(el, name) {\n if (!el) return null;\n if (!el.hasAttribute(name)) return null;\n return el.getAttribute(name);\n }\n\n function getAttr(name) {\n var html = document.documentElement;\n var body = document.body;\n var v = getAttrFrom(html, name);\n if (v !== null) return v;\n v = getAttrFrom(body, name);\n if (v !== null) return v;\n return null;\n }\n\n function hasAttrAnywhere(name) {\n var html = document.documentElement;\n var body = document.body;\n if (html && html.hasAttribute(name)) return true;\n if (body && body.hasAttribute(name)) return true;\n return false;\n }\n\n function parseBool(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim().toLowerCase();\n if (s === \"\") return true;\n if (s === \"true\" || s === \"1\" || s === \"yes\" || s === \"y\" || s === \"on\")\n return true;\n if (s === \"false\" || s === \"0\" || s === \"no\" || s === \"n\" || s === \"off\")\n return false;\n return def;\n }\n\n function parseNum(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim();\n if (!s.length) return def;\n var n = Number(s);\n return Number.isFinite(n) ? n : def;\n }\n\n function parseStr(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v);\n return s.length ? s : def;\n }\n\n function clamp01(t) {\n if (t < 0) return 0;\n if (t > 1) return 1;\n return t;\n }\n\n function resolveTargetFromStr(selectorStr) {\n if (!selectorStr) return null;\n var s = String(selectorStr).trim();\n if (!s) return null;\n if (s === \"window\") return window;\n\n var match = s.match(/^(.*)\\(\\s*(\\d+)\\s*\\)$/);\n if (match) {\n var baseSelector = match[1].trim();\n var index = parseInt(match[2], 10);\n if (!baseSelector || isNaN(index) || index < 1) return null;\n try {\n var all = document.querySelectorAll(baseSelector);\n return all[index - 1] || null;\n } catch (e) {\n return null;\n }\n }\n\n try {\n return document.querySelector(s);\n } catch (e) {\n return null;\n }\n }\n\n function easingByName(name) {\n var n = String(name || \"\").trim();\n if (!n) return null;\n var easings = {\n linear: function (t) {\n return clamp01(t);\n },\n easeInQuad: function (t) {\n t = clamp01(t);\n return t * t;\n },\n easeOutQuad: function (t) {\n t = clamp01(t);\n return t * (2 - t);\n },\n easeInOutQuad: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n },\n easeInCubic: function (t) {\n t = clamp01(t);\n return t * t * t;\n },\n easeOutCubic: function (t) {\n t = clamp01(t);\n return 1 - Math.pow(1 - t, 3);\n },\n easeInOutCubic: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n easeInOutSine: function (t) {\n t = clamp01(t);\n return -(Math.cos(Math.PI * t) - 1) / 2;\n },\n easeOutExpo: function (t) {\n t = clamp01(t);\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n },\n };\n return easings[n] || null;\n }\n\n function ensureAutoEnableIfNeeded() {\n var body = document.body;\n if (!body) return;\n var instances = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instances && instances.length > 0;\n if (!hasAttrAnywhere(\"rt-smooth-scroll\") && !hasInstances) {\n body.setAttribute(\"rt-smooth-scroll\", \"\");\n }\n }\n\n function isAttrPresent(v) {\n return v !== null && v !== undefined;\n }\n\n function readOptions(getLocal) {\n var prefix = \"rt-smooth-scroll-\";\n function localOrGlobal(name) {\n var v = getLocal(name);\n if (isAttrPresent(v)) return v;\n return getAttr(name);\n }\n function getRaw(name) {\n return localOrGlobal(prefix + name);\n }\n function hasRaw(name) {\n return isAttrPresent(getRaw(name));\n }\n\n var opts = {};\n var hasLerp = hasRaw(\"lerp\");\n var lerp = parseNum(getRaw(\"lerp\"), undefined);\n var hasDuration = hasRaw(\"duration\");\n var duration = parseNum(getRaw(\"duration\"), undefined);\n var hasEasing = hasRaw(\"easing\");\n var easingName = parseStr(getRaw(\"easing\"), \"\");\n var easingFn = easingByName(easingName);\n\n if (hasLerp && lerp !== undefined) {\n opts.lerp = lerp;\n } else {\n if (hasDuration && duration !== undefined) opts.duration = duration;\n if (hasEasing && easingFn) opts.easing = easingFn;\n }\n\n if (hasRaw(\"orientation\"))\n opts.orientation = parseStr(getRaw(\"orientation\"), \"\");\n if (hasRaw(\"gesture-orientation\"))\n opts.gestureOrientation = parseStr(getRaw(\"gesture-orientation\"), \"\");\n\n var smoothWheelRaw = getRaw(\"smooth-wheel\");\n var normalizeWheelRaw = getRaw(\"normalize-wheel\");\n if (isAttrPresent(smoothWheelRaw))\n opts.smoothWheel = parseBool(smoothWheelRaw, true);\n else if (isAttrPresent(normalizeWheelRaw))\n opts.smoothWheel = parseBool(normalizeWheelRaw, true);\n\n if (hasRaw(\"wheel-multiplier\"))\n opts.wheelMultiplier = parseNum(getRaw(\"wheel-multiplier\"), undefined);\n if (hasRaw(\"touch-multiplier\"))\n opts.touchMultiplier = parseNum(getRaw(\"touch-multiplier\"), undefined);\n if (hasRaw(\"sync-touch\"))\n opts.syncTouch = parseBool(getRaw(\"sync-touch\"), false);\n if (hasRaw(\"sync-touch-lerp\"))\n opts.syncTouchLerp = parseNum(getRaw(\"sync-touch-lerp\"), undefined);\n if (hasRaw(\"touch-inertia-exponent\"))\n opts.touchInertiaExponent = parseNum(\n getRaw(\"touch-inertia-exponent\"),\n undefined,\n );\n if (hasRaw(\"infinite\"))\n opts.infinite = parseBool(getRaw(\"infinite\"), false);\n if (hasRaw(\"auto-resize\"))\n opts.autoResize = parseBool(getRaw(\"auto-resize\"), true);\n if (hasRaw(\"overscroll\"))\n opts.overscroll = parseBool(getRaw(\"overscroll\"), true);\n\n if (hasRaw(\"anchors\")) {\n var s = String(getRaw(\"anchors\") || \"\").trim();\n if (s === \"\" || s.toLowerCase() === \"true\") opts.anchors = true;\n else if (s.toLowerCase() === \"false\") opts.anchors = false;\n else {\n try {\n opts.anchors = JSON.parse(s);\n } catch (e) {\n opts.anchors = true;\n }\n }\n }\n\n if (hasRaw(\"auto-toggle\"))\n opts.autoToggle = parseBool(getRaw(\"auto-toggle\"), false);\n if (hasRaw(\"allow-nested-scroll\"))\n opts.allowNestedScroll = parseBool(getRaw(\"allow-nested-scroll\"), false);\n\n var extra = localOrGlobal(prefix + \"options-json\");\n if (extra) {\n try {\n var parsed = JSON.parse(extra);\n if (parsed && typeof parsed === \"object\") {\n for (var k in parsed) opts[k] = parsed[k];\n }\n } catch (e) {}\n }\n return opts;\n }\n\n function loadScriptOnce(src) {\n return new Promise(function (resolve, reject) {\n if (typeof window.Lenis !== \"undefined\") return resolve();\n var existing = document.querySelector('script[data-rt-lenis=\"true\"]');\n if (existing) {\n existing.addEventListener(\"load\", function () {\n resolve();\n });\n existing.addEventListener(\"error\", function (e) {\n reject(e);\n });\n return;\n }\n var s = document.createElement(\"script\");\n s.src = src;\n s.async = true;\n s.dataset.rtLenis = \"true\";\n s.onload = function () {\n resolve();\n };\n s.onerror = function (e) {\n reject(e);\n };\n document.head.appendChild(s);\n });\n }\n\n function convertAnchorLinks() {\n var raw = getAttr(\"rt-smooth-scroll-anchor-links\");\n if (!parseBool(raw, false)) return;\n\n var links = document.querySelectorAll('a[href*=\"#\"]');\n var currentPath = window.location.pathname\n .replace(/\\/+$/, \"\")\n .toLowerCase();\n var origin = window.location.origin;\n\n for (var i = 0; i < links.length; i++) {\n var link = links[i];\n if (link.hasAttribute(\"rt-smooth-scroll-to\")) continue;\n\n var href = link.getAttribute(\"href\");\n if (!href) continue;\n\n var hashIndex = href.indexOf(\"#\");\n if (hashIndex === -1) continue;\n\n var pathPart = href.substring(0, hashIndex);\n var hashPart = href.substring(hashIndex);\n\n if (hashPart.length <= 1) continue;\n\n var isLocal = false;\n if (pathPart === \"\" || pathPart === \"./\") {\n isLocal = true;\n } else {\n var normPath = pathPart.replace(/\\/+$/, \"\").toLowerCase();\n if (pathPart.indexOf(\"http\") === 0) {\n try {\n var u = new URL(href, origin);\n if (\n u.origin === origin &&\n u.pathname.replace(/\\/+$/, \"\").toLowerCase() === currentPath\n ) {\n isLocal = true;\n }\n } catch (e) {}\n } else if (normPath === currentPath) {\n isLocal = true;\n }\n }\n\n if (isLocal) {\n link.setAttribute(\"rt-smooth-scroll-to\", hashPart);\n\n // Remove href completely to hide status bar text\n link.removeAttribute(\"href\");\n\n // Restore accessibility and cursor\n link.style.cursor = \"pointer\";\n link.setAttribute(\"tabindex\", \"0\");\n link.setAttribute(\"role\", \"button\");\n }\n }\n }\n\n function init() {\n ensureAutoEnableIfNeeded();\n convertAnchorLinks();\n\n var enabledRoot = hasAttrAnywhere(\"rt-smooth-scroll\");\n var instanceEls = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instanceEls && instanceEls.length > 0;\n var shouldRun = enabledRoot || hasInstances;\n if (!shouldRun) return;\n\n var lenisSrc = parseStr(\n getAttr(\"rt-smooth-scroll-lenis-src\"),\n \"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js\",\n );\n var resizeDebounceMs = parseNum(\n getAttr(\"rt-smooth-scroll-resize-debounce-ms\"),\n 0,\n );\n var debug = parseBool(getAttr(\"rt-smooth-scroll-debug\"), true);\n\n var state = {\n destroyed: false,\n rafId: 0,\n instances: {},\n order: [],\n resizeTimers: {},\n clickListener: null,\n keyListener: null,\n };\n\n function scheduleResize(id) {\n var inst = state.instances[id];\n if (!inst || state.destroyed) return;\n if (resizeDebounceMs > 0) {\n clearTimeout(state.resizeTimers[id]);\n state.resizeTimers[id] = setTimeout(function () {\n var i2 = state.instances[id];\n if (!i2 || state.destroyed) return;\n i2.resize();\n }, resizeDebounceMs);\n return;\n }\n inst.resize();\n }\n\n function startRaf() {\n function raf(time) {\n if (state.destroyed) return;\n for (var i = 0; i < state.order.length; i++) {\n var id = state.order[i];\n var inst = state.instances[id];\n if (inst) inst.raf(time);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n\n function sanitizeOptionsForLog(opts) {\n var out = {};\n for (var k in opts) {\n if (!Object.prototype.hasOwnProperty.call(opts, k)) continue;\n var v = opts[k];\n if (typeof v === \"function\") out[k] = \"[Function]\";\n else out[k] = v;\n }\n return out;\n }\n\n function resolveElementFromSelector(base, selector) {\n if (!selector) return null;\n var s = String(selector).trim();\n if (!s.length) return null;\n if (s === \"window\") return window;\n try {\n return (base || document).querySelector(s);\n } catch (e) {\n return null;\n }\n }\n\n function applySelectorsToOptions(el, opts) {\n var prefix = \"rt-smooth-scroll-\";\n var wrapperSel = getAttrFrom(el, prefix + \"wrapper\");\n var contentSel = getAttrFrom(el, prefix + \"content\");\n var eventsSel = getAttrFrom(el, prefix + \"events-target\");\n if (wrapperSel) {\n var w = resolveElementFromSelector(document, wrapperSel);\n if (w) opts.wrapper = w;\n }\n if (contentSel) {\n var c = resolveElementFromSelector(document, contentSel);\n if (c) opts.content = c;\n }\n if (eventsSel) {\n var et = resolveElementFromSelector(document, eventsSel);\n if (et) opts.eventsTarget = et;\n }\n return opts;\n }\n\n function getContentForWrapper(wrapperEl) {\n var selector = getAttrFrom(wrapperEl, \"rt-smooth-scroll-content\");\n if (selector) {\n var found = null;\n try {\n found = wrapperEl.querySelector(selector);\n } catch (e) {\n found = null;\n }\n if (found) return found;\n }\n return wrapperEl.firstElementChild || wrapperEl;\n }\n\n function createInstance(id, wrapper, content, options, isRoot) {\n var opts = options || {};\n if (!isRoot) {\n if (wrapper) opts.wrapper = wrapper;\n if (content) opts.content = content;\n }\n var inst = new window.Lenis(opts);\n state.instances[id] = inst;\n state.order.push(id);\n if (id === \"root\") window.lenis = inst;\n if (debug) {\n try {\n console.log(\"[rt-smooth-scroll] instance:\", id, {\n wrapper: isRoot ? opts.wrapper || \"default\" : wrapper,\n content: isRoot ? opts.content || \"default\" : content,\n options: sanitizeOptionsForLog(opts),\n });\n } catch (e) {}\n }\n return inst;\n }\n\n function setupScrollToListeners() {\n if (state.clickListener) return;\n\n var handleScrollAction = function (targetEl, e) {\n var targetVal = targetEl.getAttribute(\"rt-smooth-scroll-to\");\n if (!targetVal) return;\n\n if (e) e.preventDefault();\n\n var target = null;\n var numeric = parseFloat(targetVal);\n\n if (targetVal === \"top\") {\n target = 0;\n } else if (!isNaN(numeric) && isFinite(numeric)) {\n target = numeric;\n } else {\n target = resolveTargetFromStr(targetVal);\n }\n\n if (target === null && targetVal !== \"top\" && isNaN(numeric)) return;\n\n var instance = null;\n var explicitId = targetEl.getAttribute(\"rt-smooth-scroll-target-id\");\n if (explicitId && state.instances[explicitId]) {\n instance = state.instances[explicitId];\n } else {\n var parentWrapper = targetEl.closest(\"[rt-smooth-scroll-instance]\");\n if (parentWrapper) {\n var parentId = parentWrapper.getAttribute(\"rt-smooth-scroll-id\");\n if (parentId && state.instances[parentId]) {\n instance = state.instances[parentId];\n }\n }\n }\n if (!instance && state.instances[\"root\"]) {\n instance = state.instances[\"root\"];\n }\n\n if (!instance) return;\n\n var opts = {};\n var offsetRaw = targetEl.getAttribute(\"rt-smooth-scroll-offset\");\n if (offsetRaw) {\n var offsetNum = parseFloat(offsetRaw);\n if (!isNaN(offsetNum) && isFinite(offsetNum)) {\n opts.offset = offsetNum;\n } else {\n var offsetEl = resolveTargetFromStr(offsetRaw);\n if (offsetEl) opts.offset = -1 * offsetEl.offsetHeight;\n }\n }\n var dur = parseNum(\n targetEl.getAttribute(\"rt-smooth-scroll-duration\"),\n undefined,\n );\n if (dur !== undefined) opts.duration = dur;\n var immediate = parseBool(\n targetEl.getAttribute(\"rt-smooth-scroll-immediate\"),\n null,\n );\n if (immediate !== null) opts.immediate = immediate;\n var lock = parseBool(\n targetEl.getAttribute(\"rt-smooth-scroll-lock\"),\n null,\n );\n if (lock !== null) opts.lock = lock;\n var force = parseBool(\n targetEl.getAttribute(\"rt-smooth-scroll-force\"),\n null,\n );\n if (force !== null) opts.force = force;\n\n instance.scrollTo(target, opts);\n };\n\n state.clickListener = function (e) {\n var trigger = e.target.closest(\"[rt-smooth-scroll-to]\");\n if (trigger) handleScrollAction(trigger, e);\n };\n\n state.keyListener = function (e) {\n if (e.key !== \"Enter\" && e.key !== \" \") return;\n var trigger = e.target.closest(\"[rt-smooth-scroll-to]\");\n if (trigger && !trigger.hasAttribute(\"href\")) {\n handleScrollAction(trigger, e);\n }\n };\n\n document.addEventListener(\"click\", state.clickListener);\n document.addEventListener(\"keydown\", state.keyListener);\n }\n\n function makeApi() {\n function forEachTarget(id, fn) {\n if (typeof id === \"string\" && id.length) {\n var one = state.instances[id];\n if (one) fn(id, one);\n return;\n }\n for (var i = 0; i < state.order.length; i++) {\n var k = state.order[i];\n var inst = state.instances[k];\n if (inst) fn(k, inst);\n }\n }\n\n return {\n __initialized: true,\n ids: function () {\n return state.order.slice();\n },\n get: function (id) {\n return state.instances[id] || null;\n },\n start: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.start();\n });\n },\n stop: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.stop();\n });\n },\n toggle: function (id, force) {\n forEachTarget(id, function (_, inst) {\n if (typeof force === \"boolean\") {\n if (force) inst.stop();\n else inst.start();\n return;\n }\n if (inst.isStopped) inst.start();\n else inst.stop();\n });\n },\n resize: function (id) {\n forEachTarget(id, function (k) {\n scheduleResize(k);\n });\n },\n refreshAnchors: function () {\n convertAnchorLinks();\n },\n destroy: function (id) {\n if (state.destroyed) return;\n function destroyOne(k) {\n clearTimeout(state.resizeTimers[k]);\n var inst = state.instances[k];\n if (inst) {\n try {\n inst.destroy();\n } catch (e) {}\n delete state.instances[k];\n }\n var idx = state.order.indexOf(k);\n if (idx >= 0) state.order.splice(idx, 1);\n if (k === \"root\") {\n try {\n delete window.lenis;\n } catch (e) {\n window.lenis = undefined;\n }\n }\n }\n if (typeof id === \"string\" && id.length) {\n destroyOne(id);\n return;\n }\n if (state.clickListener) {\n document.removeEventListener(\"click\", state.clickListener);\n state.clickListener = null;\n }\n if (state.keyListener) {\n document.removeEventListener(\"keydown\", state.keyListener);\n state.keyListener = null;\n }\n while (state.order.length) destroyOne(state.order[0]);\n state.destroyed = true;\n if (state.rafId) cancelAnimationFrame(state.rafId);\n },\n };\n }\n\n function installLegacyAliases(api) {\n window.disableScroll = function () {\n api.stop();\n if (document.body) document.body.classList.add(\"no-scroll\");\n };\n window.enableScroll = function () {\n api.start();\n if (document.body) document.body.classList.remove(\"no-scroll\");\n };\n }\n\n loadScriptOnce(lenisSrc)\n .then(function () {\n if (state.destroyed) return;\n var els = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var totalCount = (enabledRoot ? 1 : 0) + (els ? els.length : 0);\n var allowAutoRaf =\n totalCount === 1 && enabledRoot && (!els || els.length === 0);\n\n if (enabledRoot && !state.instances.root) {\n var optsRoot = readOptions(function () {\n return null;\n });\n optsRoot = applySelectorsToOptions(\n document.body || document.documentElement,\n optsRoot,\n );\n if (allowAutoRaf) {\n var rawAutoRaf = getAttr(\"rt-smooth-scroll-auto-raf\");\n var autoRaf = isAttrPresent(rawAutoRaf)\n ? parseBool(rawAutoRaf, true)\n : true;\n optsRoot.autoRaf = autoRaf;\n } else {\n optsRoot.autoRaf = false;\n }\n createInstance(\"root\", null, null, optsRoot, true);\n }\n\n var autoCount = 0;\n for (var i = 0; i < els.length; i++) {\n var el = els[i];\n var id = getAttrFrom(el, \"rt-smooth-scroll-id\");\n if (!id) {\n autoCount++;\n id = \"instance-\" + autoCount;\n el.setAttribute(\"rt-smooth-scroll-id\", id);\n }\n if (state.instances[id]) continue;\n var content = getContentForWrapper(el);\n var opts = readOptions(function (name) {\n return getAttrFrom(el, name);\n });\n opts = applySelectorsToOptions(el, opts);\n opts.autoRaf = false;\n createInstance(id, el, content, opts, false);\n }\n\n if (!allowAutoRaf) startRaf();\n\n var api = makeApi();\n window[RT_NS] = api;\n installLegacyAliases(api);\n\n setupScrollToListeners();\n\n window.addEventListener(\"resize\", function () {\n api.resize();\n });\n })\n .catch(function () {});\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", init);\n } else {\n init();\n }\n\n window[RT_NS] = window[RT_NS] || {\n __initialized: true,\n ids: function () {\n return [];\n },\n get: function () {\n return null;\n },\n };\n})();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/index.min.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! @rethink-js/rt-smooth-scroll v1.
|
|
2
|
-
(()=>{(function(){var S="rtSmoothScroll";if(window[S]&&window[S].__initialized)return;function p(i,s){return!i||!i.hasAttribute(s)?null:i.getAttribute(s)}function z(i){var s=document.documentElement,u=document.body,e=p(s,i);return e!==null||(e=p(u,i),e!==null)?e:null}function j(i){var s=document.documentElement,u=document.body;return!!(s&&s.hasAttribute(i)||u&&u.hasAttribute(i))}function y(i,s){if(i==null)return s;var u=String(i).trim().toLowerCase();return u===""||u==="true"||u==="1"||u==="yes"||u==="y"||u==="on"?!0:u==="false"||u==="0"||u==="no"||u==="n"||u==="off"?!1:s}function b(i,s){if(i==null)return s;var u=String(i).trim();if(!u.length)return s;var e=Number(u);return Number.isFinite(e)?e:s}function E(i,s){if(i==null)return s;var u=String(i);return u.length?u:s}function w(i){return i<0?0:i>1?1:i}function Q(i){var s=String(i||"").trim();if(!s)return null;var u={linear:function(e){return w(e)},easeInQuad:function(e){return e=w(e),e*e},easeOutQuad:function(e){return e=w(e),e*(2-e)},easeInOutQuad:function(e){return e=w(e),e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2},easeInCubic:function(e){return e=w(e),e*e*e},easeOutCubic:function(e){return e=w(e),1-Math.pow(1-e,3)},easeInOutCubic:function(e){return e=w(e),e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2},easeInOutSine:function(e){return e=w(e),-(Math.cos(Math.PI*e)-1)/2},easeOutExpo:function(e){return e=w(e),e===1?1:1-Math.pow(2,-10*e)}};return u[s]||null}function B(){var i=document.body;if(i){var s=document.querySelectorAll("[rt-smooth-scroll-instance]"),u=s&&s.length>0;!j("rt-smooth-scroll")&&!u&&i.setAttribute("rt-smooth-scroll","")}}function A(i){return i!=null}function P(i){var s="rt-smooth-scroll-";function u(v){var N=i(v);return A(N)?N:z(v)}function e(v){return u(s+v)}function f(v){return A(e(v))}var l={},q=f("lerp"),o=b(e("lerp"),void 0),M=f("duration"),T=b(e("duration"),void 0),R=f("easing"),O=E(e("easing"),""),I=Q(O);if(q&&o!==void 0?l.lerp=o:(M&&T!==void 0&&(l.duration=T),R&&I&&(l.easing=I)),f("orientation")){var C=E(e("orientation"),"");C&&(l.orientation=C)}if(f("gesture-orientation")){var L=E(e("gesture-orientation"),"");L&&(l.gestureOrientation=L)}var x=e("smooth-wheel"),F=e("normalize-wheel");if(A(x)?l.smoothWheel=y(x,!0):A(F)&&(l.smoothWheel=y(F,!0)),f("wheel-multiplier")){var t=b(e("wheel-multiplier"),void 0);t!==void 0&&(l.wheelMultiplier=t)}if(f("touch-multiplier")){var n=b(e("touch-multiplier"),void 0);n!==void 0&&(l.touchMultiplier=n)}if(f("sync-touch")&&(l.syncTouch=y(e("sync-touch"),!1)),f("sync-touch-lerp")){var r=b(e("sync-touch-lerp"),void 0);r!==void 0&&(l.syncTouchLerp=r)}if(f("touch-inertia-exponent")){var a=b(e("touch-inertia-exponent"),void 0);a!==void 0&&(l.touchInertiaExponent=a)}if(f("infinite")&&(l.infinite=y(e("infinite"),!1)),f("auto-resize")&&(l.autoResize=y(e("auto-resize"),!0)),f("overscroll")&&(l.overscroll=y(e("overscroll"),!0)),f("anchors")){var c=e("anchors"),d=String(c||"").trim();if(d===""||d.toLowerCase()==="true")l.anchors=!0;else if(d.toLowerCase()==="false")l.anchors=!1;else try{l.anchors=JSON.parse(d)}catch(v){l.anchors=!0}}f("auto-toggle")&&(l.autoToggle=y(e("auto-toggle"),!1)),f("allow-nested-scroll")&&(l.allowNestedScroll=y(e("allow-nested-scroll"),!1));var h=u(s+"options-json");if(h)try{var m=JSON.parse(h);if(m&&typeof m=="object")for(var g in m)l[g]=m[g]}catch(v){}return l}function J(i){return new Promise(function(s,u){if(typeof window.Lenis!="undefined")return s();var e=document.querySelector('script[data-rt-lenis="true"]');if(e){e.addEventListener("load",function(){s()}),e.addEventListener("error",function(l){u(l)});return}var f=document.createElement("script");f.src=i,f.async=!0,f.dataset.rtLenis="true",f.onload=function(){s()},f.onerror=function(l){u(l)},document.head.appendChild(f)})}function D(){B();var i=j("rt-smooth-scroll"),s=document.querySelectorAll("[rt-smooth-scroll-instance]"),u=s&&s.length>0,e=i||u;if(!e)return;var f=E(z("rt-smooth-scroll-lenis-src"),"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js"),l=b(z("rt-smooth-scroll-resize-debounce-ms"),0),q=y(z("rt-smooth-scroll-debug"),!0),o={destroyed:!1,rafId:0,instances:{},order:[],resizeTimers:{}};function M(t){var n=o.instances[t];if(!(!n||o.destroyed)){if(l>0){clearTimeout(o.resizeTimers[t]),o.resizeTimers[t]=setTimeout(function(){var r=o.instances[t];!r||o.destroyed||r.resize()},l);return}n.resize()}}function T(){function t(n){if(!o.destroyed){for(var r=0;r<o.order.length;r++){var a=o.order[r],c=o.instances[a];c&&c.raf(n)}o.rafId=requestAnimationFrame(t)}}o.rafId=requestAnimationFrame(t)}function R(t){var n={};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var a=t[r];typeof a=="function"?n[r]="[Function]":n[r]=a}return n}function O(t,n){if(!n)return null;var r=String(n).trim();if(!r.length)return null;if(r==="window")return window;try{return(t||document).querySelector(r)}catch(a){return null}}function I(t,n){var r="rt-smooth-scroll-",a=p(t,r+"wrapper"),c=p(t,r+"content"),d=p(t,r+"events-target");if(a){var h=O(document,a);h&&(n.wrapper=h)}if(c){var m=O(document,c);m&&(n.content=m)}if(d){var g=O(document,d);g&&(n.eventsTarget=g)}return n}function C(t){var n=p(t,"rt-smooth-scroll-content");if(n){var r=null;try{r=t.querySelector(n)}catch(a){r=null}if(r)return r}return t.firstElementChild||t}function L(t,n,r,a,c){var d=a||{};c||(n&&(d.wrapper=n),r&&(d.content=r));var h=new window.Lenis(d);if(o.instances[t]=h,o.order.push(t),t==="root"&&(window.lenis=h),q)try{console.log("[rt-smooth-scroll] instance:",t,{wrapper:c?d.wrapper||"default":n,content:c?d.content||"default":r,options:R(d)})}catch(m){}return h}function x(){function t(n,r){if(typeof n=="string"&&n.length){var a=o.instances[n];a&&r(n,a);return}for(var c=0;c<o.order.length;c++){var d=o.order[c],h=o.instances[d];h&&r(d,h)}}return{__initialized:!0,ids:function(){return o.order.slice()},get:function(n){return o.instances[n]||null},start:function(n){t(n,function(r,a){a.start()})},stop:function(n){t(n,function(r,a){a.stop()})},toggle:function(n,r){t(n,function(a,c){if(typeof r=="boolean"){r?c.stop():c.start();return}c.isStopped?c.start():c.stop()})},resize:function(n){t(n,function(r){M(r)})},destroy:function(n){if(o.destroyed)return;function r(a){clearTimeout(o.resizeTimers[a]);var c=o.instances[a];if(c){try{c.destroy()}catch(h){}delete o.instances[a]}var d=o.order.indexOf(a);if(d>=0&&o.order.splice(d,1),a==="root")try{delete window.lenis}catch(h){window.lenis=void 0}}if(typeof n=="string"&&n.length){r(n);return}for(;o.order.length;)r(o.order[0]);o.destroyed=!0,o.rafId&&cancelAnimationFrame(o.rafId)}}}function F(t){window.disableScroll=function(){t.stop(),document.body&&document.body.classList.add("no-scroll")},window.enableScroll=function(){t.start(),document.body&&document.body.classList.remove("no-scroll")}}J(f).then(function(){if(!o.destroyed){var t=document.querySelectorAll("[rt-smooth-scroll-instance]"),n=(i?1:0)+(t?t.length:0),r=n===1&&i&&(!t||t.length===0);if(i&&!o.instances.root){var a=P(function(){return null});if(a=I(document.body||document.documentElement,a),r){var c=z("rt-smooth-scroll-auto-raf"),d=A(c)?y(c,!0):!0;a.autoRaf=d}else a.autoRaf=!1;L("root",null,null,a,!0)}for(var h=0,m=0;m<t.length;m++){var g=t[m],v=p(g,"rt-smooth-scroll-id");if(v||(h++,v="instance-"+h),!o.instances[v]){var N=C(g),_=P(function(G){return p(g,G)});_=I(g,_),_.autoRaf=!1,L(v,g,N,_,!1)}}r||T();var W=x();window[S]=W,F(W),window.addEventListener("resize",function(){W.resize()})}}).catch(function(){})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",D):D(),window[S]=window[S]||{__initialized:!0,ids:function(){return[]},get:function(){return null}}})();})();
|
|
1
|
+
/*! @rethink-js/rt-smooth-scroll v1.2.0 | MIT */
|
|
2
|
+
(()=>{(function(){var x="rtSmoothScroll";if(window[x]&&window[x].__initialized)return;function A(o,u){return!o||!o.hasAttribute(u)?null:o.getAttribute(u)}function I(o){var u=document.documentElement,s=document.body,e=A(u,o);return e!==null||(e=A(s,o),e!==null)?e:null}function W(o){var u=document.documentElement,s=document.body;return!!(u&&u.hasAttribute(o)||s&&s.hasAttribute(o))}function m(o,u){if(o==null)return u;var s=String(o).trim().toLowerCase();return s===""||s==="true"||s==="1"||s==="yes"||s==="y"||s==="on"?!0:s==="false"||s==="0"||s==="no"||s==="n"||s==="off"?!1:u}function L(o,u){if(o==null)return u;var s=String(o).trim();if(!s.length)return u;var e=Number(s);return Number.isFinite(e)?e:u}function R(o,u){if(o==null)return u;var s=String(o);return s.length?s:u}function w(o){return o<0?0:o>1?1:o}function $(o){if(!o)return null;var u=String(o).trim();if(!u)return null;if(u==="window")return window;var s=u.match(/^(.*)\(\s*(\d+)\s*\)$/);if(s){var e=s[1].trim(),c=parseInt(s[2],10);if(!e||isNaN(c)||c<1)return null;try{var a=document.querySelectorAll(e);return a[c-1]||null}catch(g){return null}}try{return document.querySelector(u)}catch(g){return null}}function V(o){var u=String(o||"").trim();if(!u)return null;var s={linear:function(e){return w(e)},easeInQuad:function(e){return e=w(e),e*e},easeOutQuad:function(e){return e=w(e),e*(2-e)},easeInOutQuad:function(e){return e=w(e),e<.5?2*e*e:1-Math.pow(-2*e+2,2)/2},easeInCubic:function(e){return e=w(e),e*e*e},easeOutCubic:function(e){return e=w(e),1-Math.pow(1-e,3)},easeInOutCubic:function(e){return e=w(e),e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2},easeInOutSine:function(e){return e=w(e),-(Math.cos(Math.PI*e)-1)/2},easeOutExpo:function(e){return e=w(e),e===1?1:1-Math.pow(2,-10*e)}};return s[u]||null}function K(){var o=document.body;if(o){var u=document.querySelectorAll("[rt-smooth-scroll-instance]"),s=u&&u.length>0;!W("rt-smooth-scroll")&&!s&&o.setAttribute("rt-smooth-scroll","")}}function E(o){return o!=null}function Q(o){var u="rt-smooth-scroll-";function s(t){var n=o(t);return E(n)?n:I(t)}function e(t){return s(u+t)}function c(t){return E(e(t))}var a={},g=c("lerp"),r=L(e("lerp"),void 0),S=c("duration"),N=L(e("duration"),void 0),z=c("easing"),C=R(e("easing"),""),O=V(C);g&&r!==void 0?a.lerp=r:(S&&N!==void 0&&(a.duration=N),z&&O&&(a.easing=O)),c("orientation")&&(a.orientation=R(e("orientation"),"")),c("gesture-orientation")&&(a.gestureOrientation=R(e("gesture-orientation"),""));var M=e("smooth-wheel"),_=e("normalize-wheel");if(E(M)?a.smoothWheel=m(M,!0):E(_)&&(a.smoothWheel=m(_,!0)),c("wheel-multiplier")&&(a.wheelMultiplier=L(e("wheel-multiplier"),void 0)),c("touch-multiplier")&&(a.touchMultiplier=L(e("touch-multiplier"),void 0)),c("sync-touch")&&(a.syncTouch=m(e("sync-touch"),!1)),c("sync-touch-lerp")&&(a.syncTouchLerp=L(e("sync-touch-lerp"),void 0)),c("touch-inertia-exponent")&&(a.touchInertiaExponent=L(e("touch-inertia-exponent"),void 0)),c("infinite")&&(a.infinite=m(e("infinite"),!1)),c("auto-resize")&&(a.autoResize=m(e("auto-resize"),!0)),c("overscroll")&&(a.overscroll=m(e("overscroll"),!0)),c("anchors")){var k=String(e("anchors")||"").trim();if(k===""||k.toLowerCase()==="true")a.anchors=!0;else if(k.toLowerCase()==="false")a.anchors=!1;else try{a.anchors=JSON.parse(k)}catch(t){a.anchors=!0}}c("auto-toggle")&&(a.autoToggle=m(e("auto-toggle"),!1)),c("allow-nested-scroll")&&(a.allowNestedScroll=m(e("allow-nested-scroll"),!1));var j=s(u+"options-json");if(j)try{var q=JSON.parse(j);if(q&&typeof q=="object")for(var i in q)a[i]=q[i]}catch(t){}return a}function X(o){return new Promise(function(u,s){if(typeof window.Lenis!="undefined")return u();var e=document.querySelector('script[data-rt-lenis="true"]');if(e){e.addEventListener("load",function(){u()}),e.addEventListener("error",function(a){s(a)});return}var c=document.createElement("script");c.src=o,c.async=!0,c.dataset.rtLenis="true",c.onload=function(){u()},c.onerror=function(a){s(a)},document.head.appendChild(c)})}function B(){var o=I("rt-smooth-scroll-anchor-links");if(m(o,!1))for(var u=document.querySelectorAll('a[href*="#"]'),s=window.location.pathname.replace(/\/+$/,"").toLowerCase(),e=window.location.origin,c=0;c<u.length;c++){var a=u[c];if(!a.hasAttribute("rt-smooth-scroll-to")){var g=a.getAttribute("href");if(g){var r=g.indexOf("#");if(r!==-1){var S=g.substring(0,r),N=g.substring(r);if(!(N.length<=1)){var z=!1;if(S===""||S==="./")z=!0;else{var C=S.replace(/\/+$/,"").toLowerCase();if(S.indexOf("http")===0)try{var O=new URL(g,e);O.origin===e&&O.pathname.replace(/\/+$/,"").toLowerCase()===s&&(z=!0)}catch(M){}else C===s&&(z=!0)}z&&(a.setAttribute("rt-smooth-scroll-to",N),a.removeAttribute("href"),a.style.cursor="pointer",a.setAttribute("tabindex","0"),a.setAttribute("role","button"))}}}}}}function J(){K(),B();var o=W("rt-smooth-scroll"),u=document.querySelectorAll("[rt-smooth-scroll-instance]"),s=u&&u.length>0,e=o||s;if(!e)return;var c=R(I("rt-smooth-scroll-lenis-src"),"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js"),a=L(I("rt-smooth-scroll-resize-debounce-ms"),0),g=m(I("rt-smooth-scroll-debug"),!0),r={destroyed:!1,rafId:0,instances:{},order:[],resizeTimers:{},clickListener:null,keyListener:null};function S(i){var t=r.instances[i];if(!(!t||r.destroyed)){if(a>0){clearTimeout(r.resizeTimers[i]),r.resizeTimers[i]=setTimeout(function(){var n=r.instances[i];!n||r.destroyed||n.resize()},a);return}t.resize()}}function N(){function i(t){if(!r.destroyed){for(var n=0;n<r.order.length;n++){var l=r.order[n],f=r.instances[l];f&&f.raf(t)}r.rafId=requestAnimationFrame(i)}}r.rafId=requestAnimationFrame(i)}function z(i){var t={};for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var l=i[n];typeof l=="function"?t[n]="[Function]":t[n]=l}return t}function C(i,t){if(!t)return null;var n=String(t).trim();if(!n.length)return null;if(n==="window")return window;try{return(i||document).querySelector(n)}catch(l){return null}}function O(i,t){var n="rt-smooth-scroll-",l=A(i,n+"wrapper"),f=A(i,n+"content"),d=A(i,n+"events-target");if(l){var v=C(document,l);v&&(t.wrapper=v)}if(f){var y=C(document,f);y&&(t.content=y)}if(d){var h=C(document,d);h&&(t.eventsTarget=h)}return t}function M(i){var t=A(i,"rt-smooth-scroll-content");if(t){var n=null;try{n=i.querySelector(t)}catch(l){n=null}if(n)return n}return i.firstElementChild||i}function _(i,t,n,l,f){var d=l||{};f||(t&&(d.wrapper=t),n&&(d.content=n));var v=new window.Lenis(d);if(r.instances[i]=v,r.order.push(i),i==="root"&&(window.lenis=v),g)try{console.log("[rt-smooth-scroll] instance:",i,{wrapper:f?d.wrapper||"default":t,content:f?d.content||"default":n,options:z(d)})}catch(y){}return v}function k(){if(!r.clickListener){var i=function(t,n){var l=t.getAttribute("rt-smooth-scroll-to");if(l){n&&n.preventDefault();var f=null,d=parseFloat(l);if(l==="top"?f=0:!isNaN(d)&&isFinite(d)?f=d:f=$(l),!(f===null&&l!=="top"&&isNaN(d))){var v=null,y=t.getAttribute("rt-smooth-scroll-target-id");if(y&&r.instances[y])v=r.instances[y];else{var h=t.closest("[rt-smooth-scroll-instance]");if(h){var p=h.getAttribute("rt-smooth-scroll-id");p&&r.instances[p]&&(v=r.instances[p])}}if(!v&&r.instances.root&&(v=r.instances.root),!!v){var b={},T=t.getAttribute("rt-smooth-scroll-offset");if(T){var F=parseFloat(T);if(!isNaN(F)&&isFinite(F))b.offset=F;else{var D=$(T);D&&(b.offset=-1*D.offsetHeight)}}var G=L(t.getAttribute("rt-smooth-scroll-duration"),void 0);G!==void 0&&(b.duration=G);var H=m(t.getAttribute("rt-smooth-scroll-immediate"),null);H!==null&&(b.immediate=H);var P=m(t.getAttribute("rt-smooth-scroll-lock"),null);P!==null&&(b.lock=P);var U=m(t.getAttribute("rt-smooth-scroll-force"),null);U!==null&&(b.force=U),v.scrollTo(f,b)}}}};r.clickListener=function(t){var n=t.target.closest("[rt-smooth-scroll-to]");n&&i(n,t)},r.keyListener=function(t){if(!(t.key!=="Enter"&&t.key!==" ")){var n=t.target.closest("[rt-smooth-scroll-to]");n&&!n.hasAttribute("href")&&i(n,t)}},document.addEventListener("click",r.clickListener),document.addEventListener("keydown",r.keyListener)}}function j(){function i(t,n){if(typeof t=="string"&&t.length){var l=r.instances[t];l&&n(t,l);return}for(var f=0;f<r.order.length;f++){var d=r.order[f],v=r.instances[d];v&&n(d,v)}}return{__initialized:!0,ids:function(){return r.order.slice()},get:function(t){return r.instances[t]||null},start:function(t){i(t,function(n,l){l.start()})},stop:function(t){i(t,function(n,l){l.stop()})},toggle:function(t,n){i(t,function(l,f){if(typeof n=="boolean"){n?f.stop():f.start();return}f.isStopped?f.start():f.stop()})},resize:function(t){i(t,function(n){S(n)})},refreshAnchors:function(){B()},destroy:function(t){if(r.destroyed)return;function n(l){clearTimeout(r.resizeTimers[l]);var f=r.instances[l];if(f){try{f.destroy()}catch(v){}delete r.instances[l]}var d=r.order.indexOf(l);if(d>=0&&r.order.splice(d,1),l==="root")try{delete window.lenis}catch(v){window.lenis=void 0}}if(typeof t=="string"&&t.length){n(t);return}for(r.clickListener&&(document.removeEventListener("click",r.clickListener),r.clickListener=null),r.keyListener&&(document.removeEventListener("keydown",r.keyListener),r.keyListener=null);r.order.length;)n(r.order[0]);r.destroyed=!0,r.rafId&&cancelAnimationFrame(r.rafId)}}}function q(i){window.disableScroll=function(){i.stop(),document.body&&document.body.classList.add("no-scroll")},window.enableScroll=function(){i.start(),document.body&&document.body.classList.remove("no-scroll")}}X(c).then(function(){if(!r.destroyed){var i=document.querySelectorAll("[rt-smooth-scroll-instance]"),t=(o?1:0)+(i?i.length:0),n=t===1&&o&&(!i||i.length===0);if(o&&!r.instances.root){var l=Q(function(){return null});if(l=O(document.body||document.documentElement,l),n){var f=I("rt-smooth-scroll-auto-raf"),d=E(f)?m(f,!0):!0;l.autoRaf=d}else l.autoRaf=!1;_("root",null,null,l,!0)}for(var v=0,y=0;y<i.length;y++){var h=i[y],p=A(h,"rt-smooth-scroll-id");if(p||(v++,p="instance-"+v,h.setAttribute("rt-smooth-scroll-id",p)),!r.instances[p]){var b=M(h),T=Q(function(D){return A(h,D)});T=O(h,T),T.autoRaf=!1,_(p,h,b,T,!1)}}n||N();var F=j();window[x]=F,q(F),k(),window.addEventListener("resize",function(){F.resize()})}}).catch(function(){})}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",J):J(),window[x]=window[x]||{__initialized:!0,ids:function(){return[]},get:function(){return null}}})();})();
|
|
3
3
|
//# sourceMappingURL=index.min.js.map
|
package/dist/index.min.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.js"],
|
|
4
|
-
"sourcesContent": ["(function () {\n var RT_NS = \"rtSmoothScroll\";\n if (window[RT_NS] && window[RT_NS].__initialized) return;\n\n function getAttrFrom(el, name) {\n if (!el) return null;\n if (!el.hasAttribute(name)) return null;\n return el.getAttribute(name);\n }\n\n function getAttr(name) {\n var html = document.documentElement;\n var body = document.body;\n var v = getAttrFrom(html, name);\n if (v !== null) return v;\n v = getAttrFrom(body, name);\n if (v !== null) return v;\n return null;\n }\n\n function hasAttrAnywhere(name) {\n var html = document.documentElement;\n var body = document.body;\n if (html && html.hasAttribute(name)) return true;\n if (body && body.hasAttribute(name)) return true;\n return false;\n }\n\n function parseBool(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim().toLowerCase();\n if (s === \"\") return true;\n if (s === \"true\" || s === \"1\" || s === \"yes\" || s === \"y\" || s === \"on\")\n return true;\n if (s === \"false\" || s === \"0\" || s === \"no\" || s === \"n\" || s === \"off\")\n return false;\n return def;\n }\n\n function parseNum(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim();\n if (!s.length) return def;\n var n = Number(s);\n return Number.isFinite(n) ? n : def;\n }\n\n function parseStr(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v);\n return s.length ? s : def;\n }\n\n function clamp01(t) {\n if (t < 0) return 0;\n if (t > 1) return 1;\n return t;\n }\n\n function easingByName(name) {\n var n = String(name || \"\").trim();\n if (!n) return null;\n\n var easings = {\n linear: function (t) {\n return clamp01(t);\n },\n easeInQuad: function (t) {\n t = clamp01(t);\n return t * t;\n },\n easeOutQuad: function (t) {\n t = clamp01(t);\n return t * (2 - t);\n },\n easeInOutQuad: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n },\n easeInCubic: function (t) {\n t = clamp01(t);\n return t * t * t;\n },\n easeOutCubic: function (t) {\n t = clamp01(t);\n return 1 - Math.pow(1 - t, 3);\n },\n easeInOutCubic: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n easeInOutSine: function (t) {\n t = clamp01(t);\n return -(Math.cos(Math.PI * t) - 1) / 2;\n },\n easeOutExpo: function (t) {\n t = clamp01(t);\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n },\n };\n\n return easings[n] || null;\n }\n\n function ensureAutoEnableIfNeeded() {\n var body = document.body;\n if (!body) return;\n\n var instances = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instances && instances.length > 0;\n\n if (!hasAttrAnywhere(\"rt-smooth-scroll\") && !hasInstances) {\n body.setAttribute(\"rt-smooth-scroll\", \"\");\n }\n }\n\n function isAttrPresent(v) {\n return v !== null && v !== undefined;\n }\n\n function readOptions(getLocal) {\n var prefix = \"rt-smooth-scroll-\";\n\n function localOrGlobal(name) {\n var v = getLocal(name);\n if (isAttrPresent(v)) return v;\n return getAttr(name);\n }\n\n function getRaw(name) {\n return localOrGlobal(prefix + name);\n }\n\n function hasRaw(name) {\n return isAttrPresent(getRaw(name));\n }\n\n var opts = {};\n\n var hasLerp = hasRaw(\"lerp\");\n var lerp = parseNum(getRaw(\"lerp\"), undefined);\n\n var hasDuration = hasRaw(\"duration\");\n var duration = parseNum(getRaw(\"duration\"), undefined);\n\n var hasEasing = hasRaw(\"easing\");\n var easingName = parseStr(getRaw(\"easing\"), \"\");\n var easingFn = easingByName(easingName);\n\n if (hasLerp && lerp !== undefined) {\n opts.lerp = lerp;\n } else {\n if (hasDuration && duration !== undefined) opts.duration = duration;\n if (hasEasing && easingFn) opts.easing = easingFn;\n }\n\n if (hasRaw(\"orientation\")) {\n var orientation = parseStr(getRaw(\"orientation\"), \"\");\n if (orientation) opts.orientation = orientation;\n }\n\n if (hasRaw(\"gesture-orientation\")) {\n var gestureOrientation = parseStr(getRaw(\"gesture-orientation\"), \"\");\n if (gestureOrientation) opts.gestureOrientation = gestureOrientation;\n }\n\n var smoothWheelRaw = getRaw(\"smooth-wheel\");\n var normalizeWheelRaw = getRaw(\"normalize-wheel\");\n if (isAttrPresent(smoothWheelRaw)) {\n opts.smoothWheel = parseBool(smoothWheelRaw, true);\n } else if (isAttrPresent(normalizeWheelRaw)) {\n opts.smoothWheel = parseBool(normalizeWheelRaw, true);\n }\n\n if (hasRaw(\"wheel-multiplier\")) {\n var wheelMultiplier = parseNum(getRaw(\"wheel-multiplier\"), undefined);\n if (wheelMultiplier !== undefined) opts.wheelMultiplier = wheelMultiplier;\n }\n\n if (hasRaw(\"touch-multiplier\")) {\n var touchMultiplier = parseNum(getRaw(\"touch-multiplier\"), undefined);\n if (touchMultiplier !== undefined) opts.touchMultiplier = touchMultiplier;\n }\n\n if (hasRaw(\"sync-touch\")) {\n opts.syncTouch = parseBool(getRaw(\"sync-touch\"), false);\n }\n\n if (hasRaw(\"sync-touch-lerp\")) {\n var syncTouchLerp = parseNum(getRaw(\"sync-touch-lerp\"), undefined);\n if (syncTouchLerp !== undefined) opts.syncTouchLerp = syncTouchLerp;\n }\n\n if (hasRaw(\"touch-inertia-exponent\")) {\n var tie = parseNum(getRaw(\"touch-inertia-exponent\"), undefined);\n if (tie !== undefined) opts.touchInertiaExponent = tie;\n }\n\n if (hasRaw(\"infinite\")) {\n opts.infinite = parseBool(getRaw(\"infinite\"), false);\n }\n\n if (hasRaw(\"auto-resize\")) {\n opts.autoResize = parseBool(getRaw(\"auto-resize\"), true);\n }\n\n if (hasRaw(\"overscroll\")) {\n opts.overscroll = parseBool(getRaw(\"overscroll\"), true);\n }\n\n if (hasRaw(\"anchors\")) {\n var anchorsRaw = getRaw(\"anchors\");\n var s = String(anchorsRaw || \"\").trim();\n if (s === \"\" || s.toLowerCase() === \"true\") {\n opts.anchors = true;\n } else if (s.toLowerCase() === \"false\") {\n opts.anchors = false;\n } else {\n try {\n opts.anchors = JSON.parse(s);\n } catch (e) {\n opts.anchors = true;\n }\n }\n }\n\n if (hasRaw(\"auto-toggle\")) {\n opts.autoToggle = parseBool(getRaw(\"auto-toggle\"), false);\n }\n\n if (hasRaw(\"allow-nested-scroll\")) {\n opts.allowNestedScroll = parseBool(getRaw(\"allow-nested-scroll\"), false);\n }\n\n var extra = localOrGlobal(prefix + \"options-json\");\n if (extra) {\n try {\n var parsed = JSON.parse(extra);\n if (parsed && typeof parsed === \"object\") {\n for (var k in parsed) opts[k] = parsed[k];\n }\n } catch (e) {}\n }\n\n return opts;\n }\n\n function loadScriptOnce(src) {\n return new Promise(function (resolve, reject) {\n if (typeof window.Lenis !== \"undefined\") return resolve();\n var existing = document.querySelector('script[data-rt-lenis=\"true\"]');\n if (existing) {\n existing.addEventListener(\"load\", function () {\n resolve();\n });\n existing.addEventListener(\"error\", function (e) {\n reject(e);\n });\n return;\n }\n var s = document.createElement(\"script\");\n s.src = src;\n s.async = true;\n s.dataset.rtLenis = \"true\";\n s.onload = function () {\n resolve();\n };\n s.onerror = function (e) {\n reject(e);\n };\n document.head.appendChild(s);\n });\n }\n\n function init() {\n ensureAutoEnableIfNeeded();\n\n var enabledRoot = hasAttrAnywhere(\"rt-smooth-scroll\");\n var instanceEls = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instanceEls && instanceEls.length > 0;\n var shouldRun = enabledRoot || hasInstances;\n if (!shouldRun) return;\n\n var lenisSrc = parseStr(\n getAttr(\"rt-smooth-scroll-lenis-src\"),\n \"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js\"\n );\n\n var resizeDebounceMs = parseNum(\n getAttr(\"rt-smooth-scroll-resize-debounce-ms\"),\n 0\n );\n\n var debug = parseBool(getAttr(\"rt-smooth-scroll-debug\"), true);\n\n var state = {\n destroyed: false,\n rafId: 0,\n instances: {},\n order: [],\n resizeTimers: {},\n };\n\n function scheduleResize(id) {\n var inst = state.instances[id];\n if (!inst || state.destroyed) return;\n if (resizeDebounceMs > 0) {\n clearTimeout(state.resizeTimers[id]);\n state.resizeTimers[id] = setTimeout(function () {\n var i2 = state.instances[id];\n if (!i2 || state.destroyed) return;\n i2.resize();\n }, resizeDebounceMs);\n return;\n }\n inst.resize();\n }\n\n function startRaf() {\n function raf(time) {\n if (state.destroyed) return;\n for (var i = 0; i < state.order.length; i++) {\n var id = state.order[i];\n var inst = state.instances[id];\n if (inst) inst.raf(time);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n\n function sanitizeOptionsForLog(opts) {\n var out = {};\n for (var k in opts) {\n if (!Object.prototype.hasOwnProperty.call(opts, k)) continue;\n var v = opts[k];\n if (typeof v === \"function\") out[k] = \"[Function]\";\n else out[k] = v;\n }\n return out;\n }\n\n function resolveElementFromSelector(base, selector) {\n if (!selector) return null;\n var s = String(selector).trim();\n if (!s.length) return null;\n if (s === \"window\") return window;\n try {\n return (base || document).querySelector(s);\n } catch (e) {\n return null;\n }\n }\n\n function applySelectorsToOptions(el, opts) {\n var prefix = \"rt-smooth-scroll-\";\n\n var wrapperSel = getAttrFrom(el, prefix + \"wrapper\");\n var contentSel = getAttrFrom(el, prefix + \"content\");\n var eventsSel = getAttrFrom(el, prefix + \"events-target\");\n\n if (wrapperSel) {\n var w = resolveElementFromSelector(document, wrapperSel);\n if (w) opts.wrapper = w;\n }\n if (contentSel) {\n var c = resolveElementFromSelector(document, contentSel);\n if (c) opts.content = c;\n }\n if (eventsSel) {\n var et = resolveElementFromSelector(document, eventsSel);\n if (et) opts.eventsTarget = et;\n }\n\n return opts;\n }\n\n function getContentForWrapper(wrapperEl) {\n var selector = getAttrFrom(wrapperEl, \"rt-smooth-scroll-content\");\n if (selector) {\n var found = null;\n try {\n found = wrapperEl.querySelector(selector);\n } catch (e) {\n found = null;\n }\n if (found) return found;\n }\n return wrapperEl.firstElementChild || wrapperEl;\n }\n\n function createInstance(id, wrapper, content, options, isRoot) {\n var opts = options || {};\n\n if (!isRoot) {\n if (wrapper) opts.wrapper = wrapper;\n if (content) opts.content = content;\n }\n\n var inst = new window.Lenis(opts);\n state.instances[id] = inst;\n state.order.push(id);\n\n if (id === \"root\") window.lenis = inst;\n\n if (debug) {\n try {\n console.log(\"[rt-smooth-scroll] instance:\", id, {\n wrapper: isRoot ? opts.wrapper || \"default\" : wrapper,\n content: isRoot ? opts.content || \"default\" : content,\n options: sanitizeOptionsForLog(opts),\n });\n } catch (e) {}\n }\n\n return inst;\n }\n\n function makeApi() {\n function forEachTarget(id, fn) {\n if (typeof id === \"string\" && id.length) {\n var one = state.instances[id];\n if (one) fn(id, one);\n return;\n }\n for (var i = 0; i < state.order.length; i++) {\n var k = state.order[i];\n var inst = state.instances[k];\n if (inst) fn(k, inst);\n }\n }\n\n return {\n __initialized: true,\n ids: function () {\n return state.order.slice();\n },\n get: function (id) {\n return state.instances[id] || null;\n },\n start: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.start();\n });\n },\n stop: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.stop();\n });\n },\n toggle: function (id, force) {\n forEachTarget(id, function (_, inst) {\n if (typeof force === \"boolean\") {\n if (force) inst.stop();\n else inst.start();\n return;\n }\n if (inst.isStopped) inst.start();\n else inst.stop();\n });\n },\n resize: function (id) {\n forEachTarget(id, function (k) {\n scheduleResize(k);\n });\n },\n destroy: function (id) {\n if (state.destroyed) return;\n\n function destroyOne(k) {\n clearTimeout(state.resizeTimers[k]);\n var inst = state.instances[k];\n if (inst) {\n try {\n inst.destroy();\n } catch (e) {}\n delete state.instances[k];\n }\n var idx = state.order.indexOf(k);\n if (idx >= 0) state.order.splice(idx, 1);\n if (k === \"root\") {\n try {\n delete window.lenis;\n } catch (e) {\n window.lenis = undefined;\n }\n }\n }\n\n if (typeof id === \"string\" && id.length) {\n destroyOne(id);\n return;\n }\n\n while (state.order.length) destroyOne(state.order[0]);\n state.destroyed = true;\n if (state.rafId) cancelAnimationFrame(state.rafId);\n },\n };\n }\n\n function installLegacyAliases(api) {\n window.disableScroll = function () {\n api.stop();\n if (document.body) document.body.classList.add(\"no-scroll\");\n };\n window.enableScroll = function () {\n api.start();\n if (document.body) document.body.classList.remove(\"no-scroll\");\n };\n }\n\n loadScriptOnce(lenisSrc)\n .then(function () {\n if (state.destroyed) return;\n\n var els = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var totalCount = (enabledRoot ? 1 : 0) + (els ? els.length : 0);\n var allowAutoRaf =\n totalCount === 1 && enabledRoot && (!els || els.length === 0);\n\n if (enabledRoot && !state.instances.root) {\n var optsRoot = readOptions(function () {\n return null;\n });\n\n optsRoot = applySelectorsToOptions(\n document.body || document.documentElement,\n optsRoot\n );\n\n if (allowAutoRaf) {\n var rawAutoRaf = getAttr(\"rt-smooth-scroll-auto-raf\");\n var autoRaf = isAttrPresent(rawAutoRaf)\n ? parseBool(rawAutoRaf, true)\n : true;\n optsRoot.autoRaf = autoRaf;\n } else {\n optsRoot.autoRaf = false;\n }\n\n createInstance(\"root\", null, null, optsRoot, true);\n }\n\n var autoCount = 0;\n\n for (var i = 0; i < els.length; i++) {\n var el = els[i];\n var id = getAttrFrom(el, \"rt-smooth-scroll-id\");\n if (!id) {\n autoCount++;\n id = \"instance-\" + autoCount;\n }\n if (state.instances[id]) continue;\n\n var content = getContentForWrapper(el);\n\n var opts = readOptions(function (name) {\n return getAttrFrom(el, name);\n });\n\n opts = applySelectorsToOptions(el, opts);\n opts.autoRaf = false;\n\n createInstance(id, el, content, opts, false);\n }\n\n if (!allowAutoRaf) {\n startRaf();\n }\n\n var api = makeApi();\n window[RT_NS] = api;\n installLegacyAliases(api);\n\n window.addEventListener(\"resize\", function () {\n api.resize();\n });\n })\n .catch(function () {});\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", init);\n } else {\n init();\n }\n\n window[RT_NS] = window[RT_NS] || {\n __initialized: true,\n ids: function () {\n return [];\n },\n get: function () {\n return null;\n },\n };\n})();\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["RT_NS", "getAttrFrom", "el", "name", "getAttr", "html", "body", "v", "hasAttrAnywhere", "parseBool", "def", "
|
|
4
|
+
"sourcesContent": ["(function () {\n var RT_NS = \"rtSmoothScroll\";\n if (window[RT_NS] && window[RT_NS].__initialized) return;\n\n function getAttrFrom(el, name) {\n if (!el) return null;\n if (!el.hasAttribute(name)) return null;\n return el.getAttribute(name);\n }\n\n function getAttr(name) {\n var html = document.documentElement;\n var body = document.body;\n var v = getAttrFrom(html, name);\n if (v !== null) return v;\n v = getAttrFrom(body, name);\n if (v !== null) return v;\n return null;\n }\n\n function hasAttrAnywhere(name) {\n var html = document.documentElement;\n var body = document.body;\n if (html && html.hasAttribute(name)) return true;\n if (body && body.hasAttribute(name)) return true;\n return false;\n }\n\n function parseBool(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim().toLowerCase();\n if (s === \"\") return true;\n if (s === \"true\" || s === \"1\" || s === \"yes\" || s === \"y\" || s === \"on\")\n return true;\n if (s === \"false\" || s === \"0\" || s === \"no\" || s === \"n\" || s === \"off\")\n return false;\n return def;\n }\n\n function parseNum(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v).trim();\n if (!s.length) return def;\n var n = Number(s);\n return Number.isFinite(n) ? n : def;\n }\n\n function parseStr(v, def) {\n if (v === null || v === undefined) return def;\n var s = String(v);\n return s.length ? s : def;\n }\n\n function clamp01(t) {\n if (t < 0) return 0;\n if (t > 1) return 1;\n return t;\n }\n\n function resolveTargetFromStr(selectorStr) {\n if (!selectorStr) return null;\n var s = String(selectorStr).trim();\n if (!s) return null;\n if (s === \"window\") return window;\n\n var match = s.match(/^(.*)\\(\\s*(\\d+)\\s*\\)$/);\n if (match) {\n var baseSelector = match[1].trim();\n var index = parseInt(match[2], 10);\n if (!baseSelector || isNaN(index) || index < 1) return null;\n try {\n var all = document.querySelectorAll(baseSelector);\n return all[index - 1] || null;\n } catch (e) {\n return null;\n }\n }\n\n try {\n return document.querySelector(s);\n } catch (e) {\n return null;\n }\n }\n\n function easingByName(name) {\n var n = String(name || \"\").trim();\n if (!n) return null;\n var easings = {\n linear: function (t) {\n return clamp01(t);\n },\n easeInQuad: function (t) {\n t = clamp01(t);\n return t * t;\n },\n easeOutQuad: function (t) {\n t = clamp01(t);\n return t * (2 - t);\n },\n easeInOutQuad: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;\n },\n easeInCubic: function (t) {\n t = clamp01(t);\n return t * t * t;\n },\n easeOutCubic: function (t) {\n t = clamp01(t);\n return 1 - Math.pow(1 - t, 3);\n },\n easeInOutCubic: function (t) {\n t = clamp01(t);\n return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\n },\n easeInOutSine: function (t) {\n t = clamp01(t);\n return -(Math.cos(Math.PI * t) - 1) / 2;\n },\n easeOutExpo: function (t) {\n t = clamp01(t);\n return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);\n },\n };\n return easings[n] || null;\n }\n\n function ensureAutoEnableIfNeeded() {\n var body = document.body;\n if (!body) return;\n var instances = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instances && instances.length > 0;\n if (!hasAttrAnywhere(\"rt-smooth-scroll\") && !hasInstances) {\n body.setAttribute(\"rt-smooth-scroll\", \"\");\n }\n }\n\n function isAttrPresent(v) {\n return v !== null && v !== undefined;\n }\n\n function readOptions(getLocal) {\n var prefix = \"rt-smooth-scroll-\";\n function localOrGlobal(name) {\n var v = getLocal(name);\n if (isAttrPresent(v)) return v;\n return getAttr(name);\n }\n function getRaw(name) {\n return localOrGlobal(prefix + name);\n }\n function hasRaw(name) {\n return isAttrPresent(getRaw(name));\n }\n\n var opts = {};\n var hasLerp = hasRaw(\"lerp\");\n var lerp = parseNum(getRaw(\"lerp\"), undefined);\n var hasDuration = hasRaw(\"duration\");\n var duration = parseNum(getRaw(\"duration\"), undefined);\n var hasEasing = hasRaw(\"easing\");\n var easingName = parseStr(getRaw(\"easing\"), \"\");\n var easingFn = easingByName(easingName);\n\n if (hasLerp && lerp !== undefined) {\n opts.lerp = lerp;\n } else {\n if (hasDuration && duration !== undefined) opts.duration = duration;\n if (hasEasing && easingFn) opts.easing = easingFn;\n }\n\n if (hasRaw(\"orientation\"))\n opts.orientation = parseStr(getRaw(\"orientation\"), \"\");\n if (hasRaw(\"gesture-orientation\"))\n opts.gestureOrientation = parseStr(getRaw(\"gesture-orientation\"), \"\");\n\n var smoothWheelRaw = getRaw(\"smooth-wheel\");\n var normalizeWheelRaw = getRaw(\"normalize-wheel\");\n if (isAttrPresent(smoothWheelRaw))\n opts.smoothWheel = parseBool(smoothWheelRaw, true);\n else if (isAttrPresent(normalizeWheelRaw))\n opts.smoothWheel = parseBool(normalizeWheelRaw, true);\n\n if (hasRaw(\"wheel-multiplier\"))\n opts.wheelMultiplier = parseNum(getRaw(\"wheel-multiplier\"), undefined);\n if (hasRaw(\"touch-multiplier\"))\n opts.touchMultiplier = parseNum(getRaw(\"touch-multiplier\"), undefined);\n if (hasRaw(\"sync-touch\"))\n opts.syncTouch = parseBool(getRaw(\"sync-touch\"), false);\n if (hasRaw(\"sync-touch-lerp\"))\n opts.syncTouchLerp = parseNum(getRaw(\"sync-touch-lerp\"), undefined);\n if (hasRaw(\"touch-inertia-exponent\"))\n opts.touchInertiaExponent = parseNum(\n getRaw(\"touch-inertia-exponent\"),\n undefined,\n );\n if (hasRaw(\"infinite\"))\n opts.infinite = parseBool(getRaw(\"infinite\"), false);\n if (hasRaw(\"auto-resize\"))\n opts.autoResize = parseBool(getRaw(\"auto-resize\"), true);\n if (hasRaw(\"overscroll\"))\n opts.overscroll = parseBool(getRaw(\"overscroll\"), true);\n\n if (hasRaw(\"anchors\")) {\n var s = String(getRaw(\"anchors\") || \"\").trim();\n if (s === \"\" || s.toLowerCase() === \"true\") opts.anchors = true;\n else if (s.toLowerCase() === \"false\") opts.anchors = false;\n else {\n try {\n opts.anchors = JSON.parse(s);\n } catch (e) {\n opts.anchors = true;\n }\n }\n }\n\n if (hasRaw(\"auto-toggle\"))\n opts.autoToggle = parseBool(getRaw(\"auto-toggle\"), false);\n if (hasRaw(\"allow-nested-scroll\"))\n opts.allowNestedScroll = parseBool(getRaw(\"allow-nested-scroll\"), false);\n\n var extra = localOrGlobal(prefix + \"options-json\");\n if (extra) {\n try {\n var parsed = JSON.parse(extra);\n if (parsed && typeof parsed === \"object\") {\n for (var k in parsed) opts[k] = parsed[k];\n }\n } catch (e) {}\n }\n return opts;\n }\n\n function loadScriptOnce(src) {\n return new Promise(function (resolve, reject) {\n if (typeof window.Lenis !== \"undefined\") return resolve();\n var existing = document.querySelector('script[data-rt-lenis=\"true\"]');\n if (existing) {\n existing.addEventListener(\"load\", function () {\n resolve();\n });\n existing.addEventListener(\"error\", function (e) {\n reject(e);\n });\n return;\n }\n var s = document.createElement(\"script\");\n s.src = src;\n s.async = true;\n s.dataset.rtLenis = \"true\";\n s.onload = function () {\n resolve();\n };\n s.onerror = function (e) {\n reject(e);\n };\n document.head.appendChild(s);\n });\n }\n\n function convertAnchorLinks() {\n var raw = getAttr(\"rt-smooth-scroll-anchor-links\");\n if (!parseBool(raw, false)) return;\n\n var links = document.querySelectorAll('a[href*=\"#\"]');\n var currentPath = window.location.pathname\n .replace(/\\/+$/, \"\")\n .toLowerCase();\n var origin = window.location.origin;\n\n for (var i = 0; i < links.length; i++) {\n var link = links[i];\n if (link.hasAttribute(\"rt-smooth-scroll-to\")) continue;\n\n var href = link.getAttribute(\"href\");\n if (!href) continue;\n\n var hashIndex = href.indexOf(\"#\");\n if (hashIndex === -1) continue;\n\n var pathPart = href.substring(0, hashIndex);\n var hashPart = href.substring(hashIndex);\n\n if (hashPart.length <= 1) continue;\n\n var isLocal = false;\n if (pathPart === \"\" || pathPart === \"./\") {\n isLocal = true;\n } else {\n var normPath = pathPart.replace(/\\/+$/, \"\").toLowerCase();\n if (pathPart.indexOf(\"http\") === 0) {\n try {\n var u = new URL(href, origin);\n if (\n u.origin === origin &&\n u.pathname.replace(/\\/+$/, \"\").toLowerCase() === currentPath\n ) {\n isLocal = true;\n }\n } catch (e) {}\n } else if (normPath === currentPath) {\n isLocal = true;\n }\n }\n\n if (isLocal) {\n link.setAttribute(\"rt-smooth-scroll-to\", hashPart);\n\n // Remove href completely to hide status bar text\n link.removeAttribute(\"href\");\n\n // Restore accessibility and cursor\n link.style.cursor = \"pointer\";\n link.setAttribute(\"tabindex\", \"0\");\n link.setAttribute(\"role\", \"button\");\n }\n }\n }\n\n function init() {\n ensureAutoEnableIfNeeded();\n convertAnchorLinks();\n\n var enabledRoot = hasAttrAnywhere(\"rt-smooth-scroll\");\n var instanceEls = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var hasInstances = instanceEls && instanceEls.length > 0;\n var shouldRun = enabledRoot || hasInstances;\n if (!shouldRun) return;\n\n var lenisSrc = parseStr(\n getAttr(\"rt-smooth-scroll-lenis-src\"),\n \"https://cdn.jsdelivr.net/npm/lenis@1.3.16/dist/lenis.min.js\",\n );\n var resizeDebounceMs = parseNum(\n getAttr(\"rt-smooth-scroll-resize-debounce-ms\"),\n 0,\n );\n var debug = parseBool(getAttr(\"rt-smooth-scroll-debug\"), true);\n\n var state = {\n destroyed: false,\n rafId: 0,\n instances: {},\n order: [],\n resizeTimers: {},\n clickListener: null,\n keyListener: null,\n };\n\n function scheduleResize(id) {\n var inst = state.instances[id];\n if (!inst || state.destroyed) return;\n if (resizeDebounceMs > 0) {\n clearTimeout(state.resizeTimers[id]);\n state.resizeTimers[id] = setTimeout(function () {\n var i2 = state.instances[id];\n if (!i2 || state.destroyed) return;\n i2.resize();\n }, resizeDebounceMs);\n return;\n }\n inst.resize();\n }\n\n function startRaf() {\n function raf(time) {\n if (state.destroyed) return;\n for (var i = 0; i < state.order.length; i++) {\n var id = state.order[i];\n var inst = state.instances[id];\n if (inst) inst.raf(time);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n state.rafId = requestAnimationFrame(raf);\n }\n\n function sanitizeOptionsForLog(opts) {\n var out = {};\n for (var k in opts) {\n if (!Object.prototype.hasOwnProperty.call(opts, k)) continue;\n var v = opts[k];\n if (typeof v === \"function\") out[k] = \"[Function]\";\n else out[k] = v;\n }\n return out;\n }\n\n function resolveElementFromSelector(base, selector) {\n if (!selector) return null;\n var s = String(selector).trim();\n if (!s.length) return null;\n if (s === \"window\") return window;\n try {\n return (base || document).querySelector(s);\n } catch (e) {\n return null;\n }\n }\n\n function applySelectorsToOptions(el, opts) {\n var prefix = \"rt-smooth-scroll-\";\n var wrapperSel = getAttrFrom(el, prefix + \"wrapper\");\n var contentSel = getAttrFrom(el, prefix + \"content\");\n var eventsSel = getAttrFrom(el, prefix + \"events-target\");\n if (wrapperSel) {\n var w = resolveElementFromSelector(document, wrapperSel);\n if (w) opts.wrapper = w;\n }\n if (contentSel) {\n var c = resolveElementFromSelector(document, contentSel);\n if (c) opts.content = c;\n }\n if (eventsSel) {\n var et = resolveElementFromSelector(document, eventsSel);\n if (et) opts.eventsTarget = et;\n }\n return opts;\n }\n\n function getContentForWrapper(wrapperEl) {\n var selector = getAttrFrom(wrapperEl, \"rt-smooth-scroll-content\");\n if (selector) {\n var found = null;\n try {\n found = wrapperEl.querySelector(selector);\n } catch (e) {\n found = null;\n }\n if (found) return found;\n }\n return wrapperEl.firstElementChild || wrapperEl;\n }\n\n function createInstance(id, wrapper, content, options, isRoot) {\n var opts = options || {};\n if (!isRoot) {\n if (wrapper) opts.wrapper = wrapper;\n if (content) opts.content = content;\n }\n var inst = new window.Lenis(opts);\n state.instances[id] = inst;\n state.order.push(id);\n if (id === \"root\") window.lenis = inst;\n if (debug) {\n try {\n console.log(\"[rt-smooth-scroll] instance:\", id, {\n wrapper: isRoot ? opts.wrapper || \"default\" : wrapper,\n content: isRoot ? opts.content || \"default\" : content,\n options: sanitizeOptionsForLog(opts),\n });\n } catch (e) {}\n }\n return inst;\n }\n\n function setupScrollToListeners() {\n if (state.clickListener) return;\n\n var handleScrollAction = function (targetEl, e) {\n var targetVal = targetEl.getAttribute(\"rt-smooth-scroll-to\");\n if (!targetVal) return;\n\n if (e) e.preventDefault();\n\n var target = null;\n var numeric = parseFloat(targetVal);\n\n if (targetVal === \"top\") {\n target = 0;\n } else if (!isNaN(numeric) && isFinite(numeric)) {\n target = numeric;\n } else {\n target = resolveTargetFromStr(targetVal);\n }\n\n if (target === null && targetVal !== \"top\" && isNaN(numeric)) return;\n\n var instance = null;\n var explicitId = targetEl.getAttribute(\"rt-smooth-scroll-target-id\");\n if (explicitId && state.instances[explicitId]) {\n instance = state.instances[explicitId];\n } else {\n var parentWrapper = targetEl.closest(\"[rt-smooth-scroll-instance]\");\n if (parentWrapper) {\n var parentId = parentWrapper.getAttribute(\"rt-smooth-scroll-id\");\n if (parentId && state.instances[parentId]) {\n instance = state.instances[parentId];\n }\n }\n }\n if (!instance && state.instances[\"root\"]) {\n instance = state.instances[\"root\"];\n }\n\n if (!instance) return;\n\n var opts = {};\n var offsetRaw = targetEl.getAttribute(\"rt-smooth-scroll-offset\");\n if (offsetRaw) {\n var offsetNum = parseFloat(offsetRaw);\n if (!isNaN(offsetNum) && isFinite(offsetNum)) {\n opts.offset = offsetNum;\n } else {\n var offsetEl = resolveTargetFromStr(offsetRaw);\n if (offsetEl) opts.offset = -1 * offsetEl.offsetHeight;\n }\n }\n var dur = parseNum(\n targetEl.getAttribute(\"rt-smooth-scroll-duration\"),\n undefined,\n );\n if (dur !== undefined) opts.duration = dur;\n var immediate = parseBool(\n targetEl.getAttribute(\"rt-smooth-scroll-immediate\"),\n null,\n );\n if (immediate !== null) opts.immediate = immediate;\n var lock = parseBool(\n targetEl.getAttribute(\"rt-smooth-scroll-lock\"),\n null,\n );\n if (lock !== null) opts.lock = lock;\n var force = parseBool(\n targetEl.getAttribute(\"rt-smooth-scroll-force\"),\n null,\n );\n if (force !== null) opts.force = force;\n\n instance.scrollTo(target, opts);\n };\n\n state.clickListener = function (e) {\n var trigger = e.target.closest(\"[rt-smooth-scroll-to]\");\n if (trigger) handleScrollAction(trigger, e);\n };\n\n state.keyListener = function (e) {\n if (e.key !== \"Enter\" && e.key !== \" \") return;\n var trigger = e.target.closest(\"[rt-smooth-scroll-to]\");\n if (trigger && !trigger.hasAttribute(\"href\")) {\n handleScrollAction(trigger, e);\n }\n };\n\n document.addEventListener(\"click\", state.clickListener);\n document.addEventListener(\"keydown\", state.keyListener);\n }\n\n function makeApi() {\n function forEachTarget(id, fn) {\n if (typeof id === \"string\" && id.length) {\n var one = state.instances[id];\n if (one) fn(id, one);\n return;\n }\n for (var i = 0; i < state.order.length; i++) {\n var k = state.order[i];\n var inst = state.instances[k];\n if (inst) fn(k, inst);\n }\n }\n\n return {\n __initialized: true,\n ids: function () {\n return state.order.slice();\n },\n get: function (id) {\n return state.instances[id] || null;\n },\n start: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.start();\n });\n },\n stop: function (id) {\n forEachTarget(id, function (_, inst) {\n inst.stop();\n });\n },\n toggle: function (id, force) {\n forEachTarget(id, function (_, inst) {\n if (typeof force === \"boolean\") {\n if (force) inst.stop();\n else inst.start();\n return;\n }\n if (inst.isStopped) inst.start();\n else inst.stop();\n });\n },\n resize: function (id) {\n forEachTarget(id, function (k) {\n scheduleResize(k);\n });\n },\n refreshAnchors: function () {\n convertAnchorLinks();\n },\n destroy: function (id) {\n if (state.destroyed) return;\n function destroyOne(k) {\n clearTimeout(state.resizeTimers[k]);\n var inst = state.instances[k];\n if (inst) {\n try {\n inst.destroy();\n } catch (e) {}\n delete state.instances[k];\n }\n var idx = state.order.indexOf(k);\n if (idx >= 0) state.order.splice(idx, 1);\n if (k === \"root\") {\n try {\n delete window.lenis;\n } catch (e) {\n window.lenis = undefined;\n }\n }\n }\n if (typeof id === \"string\" && id.length) {\n destroyOne(id);\n return;\n }\n if (state.clickListener) {\n document.removeEventListener(\"click\", state.clickListener);\n state.clickListener = null;\n }\n if (state.keyListener) {\n document.removeEventListener(\"keydown\", state.keyListener);\n state.keyListener = null;\n }\n while (state.order.length) destroyOne(state.order[0]);\n state.destroyed = true;\n if (state.rafId) cancelAnimationFrame(state.rafId);\n },\n };\n }\n\n function installLegacyAliases(api) {\n window.disableScroll = function () {\n api.stop();\n if (document.body) document.body.classList.add(\"no-scroll\");\n };\n window.enableScroll = function () {\n api.start();\n if (document.body) document.body.classList.remove(\"no-scroll\");\n };\n }\n\n loadScriptOnce(lenisSrc)\n .then(function () {\n if (state.destroyed) return;\n var els = document.querySelectorAll(\"[rt-smooth-scroll-instance]\");\n var totalCount = (enabledRoot ? 1 : 0) + (els ? els.length : 0);\n var allowAutoRaf =\n totalCount === 1 && enabledRoot && (!els || els.length === 0);\n\n if (enabledRoot && !state.instances.root) {\n var optsRoot = readOptions(function () {\n return null;\n });\n optsRoot = applySelectorsToOptions(\n document.body || document.documentElement,\n optsRoot,\n );\n if (allowAutoRaf) {\n var rawAutoRaf = getAttr(\"rt-smooth-scroll-auto-raf\");\n var autoRaf = isAttrPresent(rawAutoRaf)\n ? parseBool(rawAutoRaf, true)\n : true;\n optsRoot.autoRaf = autoRaf;\n } else {\n optsRoot.autoRaf = false;\n }\n createInstance(\"root\", null, null, optsRoot, true);\n }\n\n var autoCount = 0;\n for (var i = 0; i < els.length; i++) {\n var el = els[i];\n var id = getAttrFrom(el, \"rt-smooth-scroll-id\");\n if (!id) {\n autoCount++;\n id = \"instance-\" + autoCount;\n el.setAttribute(\"rt-smooth-scroll-id\", id);\n }\n if (state.instances[id]) continue;\n var content = getContentForWrapper(el);\n var opts = readOptions(function (name) {\n return getAttrFrom(el, name);\n });\n opts = applySelectorsToOptions(el, opts);\n opts.autoRaf = false;\n createInstance(id, el, content, opts, false);\n }\n\n if (!allowAutoRaf) startRaf();\n\n var api = makeApi();\n window[RT_NS] = api;\n installLegacyAliases(api);\n\n setupScrollToListeners();\n\n window.addEventListener(\"resize\", function () {\n api.resize();\n });\n })\n .catch(function () {});\n }\n\n if (document.readyState === \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", init);\n } else {\n init();\n }\n\n window[RT_NS] = window[RT_NS] || {\n __initialized: true,\n ids: function () {\n return [];\n },\n get: function () {\n return null;\n },\n };\n})();\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["RT_NS", "getAttrFrom", "el", "name", "getAttr", "html", "body", "v", "hasAttrAnywhere", "parseBool", "def", "parseNum", "n", "parseStr", "clamp01", "t", "resolveTargetFromStr", "selectorStr", "s", "match", "baseSelector", "index", "all", "e", "easingByName", "easings", "ensureAutoEnableIfNeeded", "instances", "hasInstances", "isAttrPresent", "readOptions", "getLocal", "prefix", "localOrGlobal", "getRaw", "hasRaw", "opts", "hasLerp", "lerp", "hasDuration", "duration", "hasEasing", "easingName", "easingFn", "smoothWheelRaw", "normalizeWheelRaw", "extra", "parsed", "k", "loadScriptOnce", "src", "resolve", "reject", "existing", "convertAnchorLinks", "raw", "links", "currentPath", "origin", "i", "link", "href", "hashIndex", "pathPart", "hashPart", "isLocal", "normPath", "u", "init", "enabledRoot", "instanceEls", "shouldRun", "lenisSrc", "resizeDebounceMs", "debug", "state", "scheduleResize", "id", "inst", "i2", "startRaf", "raf", "time", "sanitizeOptionsForLog", "out", "resolveElementFromSelector", "base", "selector", "applySelectorsToOptions", "wrapperSel", "contentSel", "eventsSel", "w", "c", "et", "getContentForWrapper", "wrapperEl", "found", "createInstance", "wrapper", "content", "options", "isRoot", "setupScrollToListeners", "handleScrollAction", "targetEl", "targetVal", "target", "numeric", "instance", "explicitId", "parentWrapper", "parentId", "offsetRaw", "offsetNum", "offsetEl", "dur", "immediate", "lock", "force", "trigger", "makeApi", "forEachTarget", "fn", "one", "_", "destroyOne", "idx", "installLegacyAliases", "api", "els", "totalCount", "allowAutoRaf", "optsRoot", "rawAutoRaf", "autoRaf", "autoCount"]
|
|
7
7
|
}
|
package/package.json
CHANGED