@wernfried/daterangepicker 5.4.6 → 5.4.10
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/API_Doc.md +25 -4
- package/README.md +9 -9
- package/dist/cjs/daterangepicker.cjs +44 -12
- package/dist/cjs/daterangepicker.cjs.map +1 -1
- package/dist/cjs/daterangepicker.min.cjs +1 -1
- package/dist/cjs/daterangepicker.min.cjs.map +1 -1
- package/dist/esm/daterangepicker.js +44 -12
- package/dist/esm/daterangepicker.js.map +1 -1
- package/dist/esm/daterangepicker.min.js +1 -1
- package/dist/esm/daterangepicker.min.js.map +1 -1
- package/dist/global/daterangepicker.js +44 -12
- package/dist/global/daterangepicker.js.map +1 -1
- package/dist/global/daterangepicker.min.js +1 -1
- package/dist/global/daterangepicker.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -166,6 +166,8 @@ var DateRangePicker = (function(exports, luxon2) {
|
|
|
166
166
|
} else if (typeof options.parentEl === "string") {
|
|
167
167
|
this.parentEl = document.querySelector(options.parentEl) ?? this.parentEl;
|
|
168
168
|
}
|
|
169
|
+
if (this.parentEl.matches("input"))
|
|
170
|
+
console.error('Parent element "parentEl" must not a self-closing "<input>"');
|
|
169
171
|
this.parentEl.appendChild(this.container);
|
|
170
172
|
if (typeof options.timePicker === "boolean")
|
|
171
173
|
this.timePicker = options.timePicker;
|
|
@@ -1605,7 +1607,7 @@ var DateRangePicker = (function(exports, luxon2) {
|
|
|
1605
1607
|
top: offset(this.parentEl).top - this.parentEl.scrollTop,
|
|
1606
1608
|
left: offset(this.parentEl).left - this.parentEl.scrollLeft
|
|
1607
1609
|
};
|
|
1608
|
-
parentRightEdge = this.parentEl.clientWidth +
|
|
1610
|
+
parentRightEdge = this.parentEl.clientWidth + parentOffset.left;
|
|
1609
1611
|
}
|
|
1610
1612
|
switch (this.drops) {
|
|
1611
1613
|
case "auto":
|
|
@@ -2326,6 +2328,25 @@ var DateRangePicker = (function(exports, luxon2) {
|
|
|
2326
2328
|
});
|
|
2327
2329
|
});
|
|
2328
2330
|
}
|
|
2331
|
+
/**
|
|
2332
|
+
* Adds an event listener to the anchor element (e.g., `<input>`) the DateRangePicker is attached to.
|
|
2333
|
+
* This allows external code to subscribe to native DOM events such as 'click', 'focus', 'keyup', etc.
|
|
2334
|
+
*
|
|
2335
|
+
* @param {string} type - The event name (e.g., 'click', 'focus', 'keyup')
|
|
2336
|
+
* @param {function} listener - The callback function invoked when the event fires
|
|
2337
|
+
* @param {boolean|object} [options] - Optional event options:
|
|
2338
|
+
* - `boolean capture`: Whether to listen in the capture phase (default: `false`)
|
|
2339
|
+
* - `object signal`: An `AbortSignal` for later removal of the listener (default: `undefined`)
|
|
2340
|
+
*
|
|
2341
|
+
* @example
|
|
2342
|
+
* daterangepicker.addEventListener('click', (e) => {
|
|
2343
|
+
* console.log('Picker element was clicked', e);
|
|
2344
|
+
* });
|
|
2345
|
+
*
|
|
2346
|
+
*/
|
|
2347
|
+
addEventListener(type, listener, options) {
|
|
2348
|
+
this.element.addEventListener(type, listener, options);
|
|
2349
|
+
}
|
|
2329
2350
|
}
|
|
2330
2351
|
function createElementFromHTML(html) {
|
|
2331
2352
|
const template = document.createElement("template");
|
|
@@ -2371,13 +2392,16 @@ var DateRangePicker = (function(exports, luxon2) {
|
|
|
2371
2392
|
}
|
|
2372
2393
|
function daterangepicker(element, options, callback) {
|
|
2373
2394
|
if (element instanceof HTMLElement) {
|
|
2374
|
-
|
|
2375
|
-
|
|
2395
|
+
element._daterangepicker = new DateRangePicker2(element, options || {}, callback);
|
|
2396
|
+
return element._daterangepicker;
|
|
2397
|
+
} else if (element instanceof NodeList || element instanceof HTMLCollection) {
|
|
2376
2398
|
const ret = [];
|
|
2377
2399
|
for (const el of Array.from(element)) {
|
|
2378
2400
|
if (el._daterangepicker && typeof el._daterangepicker.remove === "function")
|
|
2379
2401
|
el._daterangepicker.remove();
|
|
2380
|
-
|
|
2402
|
+
const picker = new DateRangePicker2(el, options || {}, callback);
|
|
2403
|
+
el._daterangepicker = picker;
|
|
2404
|
+
ret.push(picker);
|
|
2381
2405
|
}
|
|
2382
2406
|
return ret;
|
|
2383
2407
|
} else if (typeof element === "string") {
|
|
@@ -2386,22 +2410,30 @@ var DateRangePicker = (function(exports, luxon2) {
|
|
|
2386
2410
|
for (const el of Array.from(document.querySelectorAll(element))) {
|
|
2387
2411
|
if (el._daterangepicker && typeof el._daterangepicker.remove === "function")
|
|
2388
2412
|
el._daterangepicker.remove();
|
|
2389
|
-
|
|
2413
|
+
const picker = new DateRangePicker2(el, options || {}, callback);
|
|
2414
|
+
el._daterangepicker = picker;
|
|
2415
|
+
ret.push(picker);
|
|
2390
2416
|
}
|
|
2391
2417
|
return ret;
|
|
2392
2418
|
} else if (document.querySelectorAll(element).length === 1) {
|
|
2393
|
-
|
|
2419
|
+
const picker = new DateRangePicker2(element, options || {}, callback);
|
|
2420
|
+
document.querySelector(element)._daterangepicker = picker;
|
|
2421
|
+
return picker;
|
|
2394
2422
|
} else {
|
|
2395
|
-
return
|
|
2423
|
+
return void 0;
|
|
2396
2424
|
}
|
|
2425
|
+
} else if (element == null) {
|
|
2426
|
+
return new DateRangePicker2(element, options || {}, callback);
|
|
2397
2427
|
} else {
|
|
2398
|
-
return
|
|
2428
|
+
return void 0;
|
|
2399
2429
|
}
|
|
2400
2430
|
}
|
|
2401
|
-
function getDateRangePicker(
|
|
2402
|
-
if (typeof
|
|
2403
|
-
|
|
2404
|
-
|
|
2431
|
+
function getDateRangePicker(element) {
|
|
2432
|
+
if (typeof element === "string") {
|
|
2433
|
+
return document.querySelector(element)._daterangepicker;
|
|
2434
|
+
} else {
|
|
2435
|
+
return element instanceof HTMLElement ? element._daterangepicker : void 0;
|
|
2436
|
+
}
|
|
2405
2437
|
}
|
|
2406
2438
|
if (window.jQuery?.fn) {
|
|
2407
2439
|
jQuery.fn.daterangepicker = function(options, callback) {
|