@madj2k/fe-frontend-kit 2.0.17 → 2.0.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@madj2k/fe-frontend-kit",
3
- "version": "2.0.17",
3
+ "version": "2.0.19",
4
4
  "description": "Shared frontend utilities, menus and mixins for projects",
5
5
  "main": "index.js",
6
6
  "style": "index.scss",
@@ -12,7 +12,7 @@
12
12
  *
13
13
  * @author Steffen Kroggel <developer@steffenkroggel.de>
14
14
  * @copyright 2025 Steffen Kroggel
15
- * @version 2.0.1
15
+ * @version 2.0.3
16
16
  * @license GNU General Public License v3.0
17
17
  * @see https://www.gnu.org/licenses/gpl-3.0.en.html
18
18
  *
@@ -24,7 +24,7 @@
24
24
  * // Initialize with custom config
25
25
  * const scrolling = new Madj2kScrolling({
26
26
  * anchorScrolling: {
27
- * selector: ['a[href^="#"]'],
27
+ * selector: ['a[href*="#"]'],
28
28
  * offsetSelector: null,
29
29
  * disableSelector: '.js-no-scroll',
30
30
  * collapsibleSelector: ['.collapse'],
@@ -73,7 +73,7 @@
73
73
  class Madj2kScrolling {
74
74
  config = {
75
75
  anchorScrolling: {
76
- selector: ['a[href^="#"]'],
76
+ selector: ['a[href*="#"]'],
77
77
  offsetSelector: null,
78
78
  disableSelector: '.js-no-scroll',
79
79
  collapsibleSelector: ['.collapse'],
@@ -232,11 +232,15 @@ class Madj2kScrolling {
232
232
  };
233
233
 
234
234
  const jumpToAnchorByLink = (event) => {
235
- event.preventDefault();
235
+ const href = event.currentTarget.getAttribute('href');
236
+ if (!href) return;
236
237
 
237
- const anchorId = event.currentTarget.getAttribute('href');
238
- if (anchorId && anchorId.startsWith('#')) {
239
- const anchor = document.querySelector(anchorId);
238
+ const url = new URL(href, window.location.origin); // wandelt auch relative URLs korrekt um
239
+ const isSamePage = url.pathname === window.location.pathname;
240
+
241
+ if (isSamePage && url.hash) {
242
+ event.preventDefault();
243
+ const anchor = document.getElementById(url.hash.substring(1));
240
244
  if (anchor) scrollToElement(anchor);
241
245
  }
242
246
  };