@madj2k/fe-frontend-kit 2.0.27 → 2.0.28

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.27",
3
+ "version": "2.0.28",
4
4
  "description": "Shared frontend utilities, menus and mixins for projects",
5
5
  "main": "index.js",
6
6
  "style": "index.scss",
package/readme.md CHANGED
@@ -402,11 +402,13 @@ A lightweight fade slider using opacity and z-index.
402
402
  Init with available options:
403
403
  ```
404
404
  import { Madj2kSimpleFadeSlider } from '@madj2k/fe-frontend-kit/tools/simple-fade-slider';
405
- const fadeSlider = new Madj2kSimpleFadeSlider('.js-fade-slider', {
406
- duration: 8,
407
- classSlide: 'fade-slider-item',
408
- classVisible: 'is-visible',
409
- debug: true
405
+ document.querySelectorAll('.js-fade-slider').forEach((el) => {
406
+ new Madj2kSimpleFadeSlider(el, {
407
+ duration: 8,
408
+ classSlide: 'fade-slider-item',
409
+ classVisible: 'is-visible',
410
+ debug: true
411
+ });
410
412
  });
411
413
  ```
412
414
 
@@ -10,17 +10,19 @@
10
10
  *
11
11
  * @author Steffen Kroggel <developer@steffenkroggel.de>
12
12
  * @copyright 2025 Steffen Kroggel
13
- * @version 1.0.0
13
+ * @version 1.1.0
14
14
  * @license GNU General Public License v3.0
15
15
  * @see https://www.gnu.org/licenses/gpl-3.0.en.html
16
16
  *
17
17
  * @example
18
- * // Initialize with defaults
19
- * const slider = new Madj2kSimpleFadeSlider('.js-fade-slider');
18
+ * // Initialize with a single DOM element
19
+ * const el = document.querySelector('.js-fade-slider');
20
+ * const slider = new Madj2kSimpleFadeSlider(el);
20
21
  *
21
22
  * @example
22
23
  * // Initialize with custom config
23
- * const slider = new Madj2kSimpleFadeSlider('.js-fade-slider', {
24
+ * const el = document.querySelector('.js-fade-slider');
25
+ * const slider = new Madj2kSimpleFadeSlider(el, {
24
26
  * duration: 8,
25
27
  * classSlide: 'fade-slider-item',
26
28
  * classVisible: 'is-visible',
@@ -28,6 +30,12 @@
28
30
  * });
29
31
  *
30
32
  * @example
33
+ * // Initialize multiple sliders with forEach
34
+ * document.querySelectorAll('.js-fade-slider').forEach((el) => {
35
+ * new Madj2kSimpleFadeSlider(el, { duration: 6 });
36
+ * });
37
+ *
38
+ * @example
31
39
  * // Example HTML
32
40
  * <section class="fade-slider js-fade-slider" aria-label="Image gallery">
33
41
  * <div class="fade-slider-item"><img src="img1.jpg" alt="Description 1"></div>
@@ -66,16 +74,20 @@ class Madj2kSimpleFadeSlider {
66
74
  };
67
75
 
68
76
  /**
69
- * @param {string} selector - CSS selector for the slider container
77
+ * @param {HTMLElement} container - DOM element for the slider container
70
78
  * @param {Object} config - configuration options
71
79
  * @param {number} [config.duration=12] - time in seconds between slide changes
72
- * @param {string} [config.classSlide='fade-slide'] - class for each slide
80
+ * @param {string} [config.classSlide='fade-slider-item'] - class for each slide
73
81
  * @param {string} [config.classVisible='is-visible'] - class for visible slide
74
82
  * @param {boolean} [config.debug=false] - enable debug logging
75
83
  */
76
- constructor(selector, config = {}) {
77
- this.container = document.querySelector(selector);
78
- if (!this.container) return;
84
+ constructor(container, config = {}) {
85
+ if (!(container instanceof HTMLElement)) {
86
+ console.warn('[Madj2kSimpleFadeSlider] No valid container element provided.');
87
+ return;
88
+ }
89
+
90
+ this.container = container;
79
91
 
80
92
  this.config = {
81
93
  ...this.config,