@wernfried/daterangepicker 5.1.9 → 5.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/API_Doc.md CHANGED
@@ -536,10 +536,11 @@ Emitted when user clicks outside the picker. Use option `onOutsideClick` to defi
536
536
  **Kind**: event emitted
537
537
  **Properties**
538
538
 
539
- | Name | Type | Description |
540
- | --- | --- | --- |
541
- | event | [<code>DateRangePickerEvent</code>](#DateRangePickerEvent) | The Event object |
542
- | event.picker | [<code>DateRangePicker</code>](#DateRangePicker) | The daterangepicker object |
539
+ | Name | Type | Default | Description |
540
+ | --- | --- | --- | --- |
541
+ | event | [<code>DateRangePickerEvent</code>](#DateRangePickerEvent) | | The Event object |
542
+ | event.picker | [<code>DateRangePicker</code>](#DateRangePicker) | | The daterangepicker object |
543
+ | event.cancelable | <code>boolean</code> | <code>true</code> | Call `event.preventDefault()` to prevent default behaviour.<br> Useful to define custome areas where click shall not hide the picker |
543
544
 
544
545
  <a name="event_dateChange"></a>
545
546
 
package/README.md CHANGED
@@ -19,8 +19,8 @@ Above samples are based on the [original repository](https://github.com/dangross
19
19
  #### Global import with `<script>` tags
20
20
  ```html
21
21
  <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/luxon@3.5.0/build/global/luxon.min.js"></script>
22
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/dist/global/daterangepicker.min.js"></script>
23
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/css/daterangepicker.min.css" rel="stylesheet" />
22
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/dist/global/daterangepicker.min.js"></script>
23
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/css/daterangepicker.min.css" rel="stylesheet" />
24
24
 
25
25
  <input type="text" id="picker" />
26
26
 
@@ -40,11 +40,11 @@ Above samples are based on the [original repository](https://github.com/dangross
40
40
  {
41
41
  "imports": {
42
42
  "luxon": "https://cdn.jsdelivr.net/npm/luxon@3.7.2/+esm",
43
- "daterangepicker": "https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/+esm"
43
+ "daterangepicker": "https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/+esm"
44
44
  }
45
45
  }
46
46
  </script>
47
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/css/daterangepicker.min.css" rel="stylesheet" />
47
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/css/daterangepicker.min.css" rel="stylesheet" />
48
48
 
49
49
  <input type="text" id="picker" />
50
50
 
@@ -63,9 +63,9 @@ Above samples are based on the [original repository](https://github.com/dangross
63
63
  #### Style with Bulma
64
64
  ```html
65
65
  <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/luxon@3.5.0/build/global/luxon.min.js"></script>
66
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/dist/global/daterangepicker.min.js"></script>
66
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/dist/global/daterangepicker.min.js"></script>
67
67
  <link type="text/css" href="https://cdn.jsdelivr.net/npm/bulma@1.0.4/css/bulma.min.css" rel="stylesheet" />
68
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/css/daterangepicker.bulma.min.css" rel="stylesheet" />
68
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/css/daterangepicker.bulma.min.css" rel="stylesheet" />
69
69
 
70
70
  <input type="text" id="picker" />
71
71
 
@@ -121,8 +121,8 @@ Initialisation with jQuery is supported in version 5.x
121
121
  ```html
122
122
  <script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
123
123
  <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/luxon@3.5.0/build/global/luxon.min.js"></script>
124
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/dist/global/daterangepicker.min.js"></script>
125
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.9/css/daterangepicker.min.css" rel="stylesheet" />
124
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/dist/global/daterangepicker.min.js"></script>
125
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.2.0/css/daterangepicker.min.css" rel="stylesheet" />
126
126
 
127
127
  <input type="text" id="picker" />
128
128
 
@@ -664,8 +664,10 @@ class DateRangePicker {
664
664
  * @name "outsideClick"
665
665
  * @property {DateRangePickerEvent} event - The Event object
666
666
  * @property {DateRangePicker} event.picker - The daterangepicker object
667
+ * @property {boolean} event.cancelable=true - Call `event.preventDefault()` to prevent default behaviour.<br>
668
+ * Useful to define custome areas where click shall not hide the picker
667
669
  */
668
- onOutsideClick: { type: "outsideClick" },
670
+ onOutsideClick: { type: "outsideClick", param: { cancelable: true } },
669
671
  /**
670
672
  * Emitted when the date changed. Does not trigger when time is changed, use {@link #event_timeChange|"timeChange"} to handle it
671
673
  * @event
@@ -1718,12 +1720,14 @@ class DateRangePicker {
1718
1720
  // ie modal dialog fix
1719
1721
  e.type === "focusin" || closest2(target, this.element) || closest2(target, this.container) || target.closest(".calendar-table")
1720
1722
  ) return;
1723
+ const event = this.triggerEvent(this.#events.onOutsideClick);
1724
+ if (event.defaultPrevented)
1725
+ return;
1721
1726
  if (this.onOutsideClick === "cancel") {
1722
1727
  this.#startDate = this.oldStartDate;
1723
1728
  this.#endDate = this.oldEndDate;
1724
1729
  }
1725
1730
  this.hide();
1726
- this.triggerEvent(this.#events.onOutsideClick);
1727
1731
  }
1728
1732
  /**
1729
1733
  * Move calendar to previous month