@wernfried/daterangepicker 5.1.4 → 5.1.6

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
@@ -552,7 +552,7 @@ Emitted when the date changed. Does not trigger when time is changed, use ["time
552
552
  | --- | --- | --- |
553
553
  | event | [<code>DateRangePickerEvent</code>](#DateRangePickerEvent) | The Event object |
554
554
  | event.picker | [<code>DateRangePicker</code>](#DateRangePicker) | The daterangepicker object |
555
- | side | <code>string</code> | Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker |
555
+ | event.side | <code>string</code> | Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker |
556
556
 
557
557
  <a name="event_timeChange"></a>
558
558
 
@@ -566,7 +566,7 @@ Emitted when the time changed. Does not trigger when date is changed
566
566
  | --- | --- | --- |
567
567
  | event | [<code>DateRangePickerEvent</code>](#DateRangePickerEvent) | The Event object |
568
568
  | event.picker | [<code>DateRangePicker</code>](#DateRangePicker) | The daterangepicker object |
569
- | side | <code>string</code> | Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker |
569
+ | event.side | <code>string</code> | Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker |
570
570
 
571
571
  <a name="event_apply"></a>
572
572
 
@@ -619,8 +619,8 @@ Emitted after month view changed, for example by click on 'prev' or 'next'
619
619
  | --- | --- | --- |
620
620
  | event | [<code>DateRangePickerEvent</code>](#DateRangePickerEvent) | The Event object |
621
621
  | event.picker | [<code>DateRangePicker</code>](#DateRangePicker) | The daterangepicker object |
622
- | left | [<code>DateTime</code>](https://moment.github.io/luxon/api-docs/index.html#datetime) | The first day of month in left-hand calendar |
623
- | right | [<code>DateTime</code>](https://moment.github.io/luxon/api-docs/index.html#datetime) | The first day of month in left-hand calendar or `null` for singleDatePicker |
622
+ | event.left | [<code>DateTime</code>](https://moment.github.io/luxon/api-docs/index.html#datetime) | The first day of month in left-hand calendar |
623
+ | event.right | [<code>DateTime</code>](https://moment.github.io/luxon/api-docs/index.html#datetime) | The first day of month in left-hand calendar or `null` for singleDatePicker |
624
624
 
625
625
  <a name="event_beforeRenderTimePicker"></a>
626
626
 
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.4/dist/global/daterangepicker.min.js"></script>
23
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.4/css/daterangepicker.min.css" rel="stylesheet" />
22
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/dist/global/daterangepicker.min.js"></script>
23
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/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.4/+esm"
43
+ "daterangepicker": "https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/+esm"
44
44
  }
45
45
  }
46
46
  </script>
47
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.4/css/daterangepicker.min.css" rel="stylesheet" />
47
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/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.4/dist/global/daterangepicker.min.js"></script>
66
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/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.4/css/daterangepicker.bulma.min.css" rel="stylesheet" />
68
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/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.4/dist/global/daterangepicker.min.js"></script>
125
- <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.4/css/daterangepicker.min.css" rel="stylesheet" />
124
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/dist/global/daterangepicker.min.js"></script>
125
+ <link type="text/css" href="https://cdn.jsdelivr.net/npm/@wernfried/daterangepicker@5.1.6/css/daterangepicker.min.css" rel="stylesheet" />
126
126
 
127
127
  <input type="text" id="picker" />
128
128
 
@@ -188,7 +188,7 @@ input.addEventListener('beforeHide', (ev) => {
188
188
  ### Option `ranges`
189
189
  <a name="options-ranges"></a>
190
190
  ```js
191
- range: {
191
+ ranges: {
192
192
  'Today': [DateTime.now().startOf('day'), DateTime.now().endOf('day')],
193
193
  'Yesterday': [DateTime.now().startOf('day').minus({day: 1}), DateTime.now().endOf('day').minus({day: 1})],
194
194
  'Last 7 Days': ['2025-03-01', '2025-03-07'],
@@ -670,7 +670,7 @@ class DateRangePicker {
670
670
  * @name "dateChange"
671
671
  * @property {DateRangePickerEvent} event - The Event object
672
672
  * @property {DateRangePicker} event.picker - The daterangepicker object
673
- * @property {string} side - Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker
673
+ * @property {string} event.side - Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker
674
674
  */
675
675
  onDateChange: { type: "dateChange", param: (side) => {
676
676
  return side;
@@ -681,7 +681,7 @@ class DateRangePicker {
681
681
  * @name "timeChange"
682
682
  * @property {DateRangePickerEvent} event - The Event object
683
683
  * @property {DateRangePicker} event.picker - The daterangepicker object
684
- * @property {string} side - Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker
684
+ * @property {string} event.side - Either `'start'` or `'end'` indicating whether `startDate` or `endDate` was changed. `null` for singleDatePicker
685
685
  */
686
686
  onTimeChange: { type: "timeChange", param: (side) => {
687
687
  return side;
@@ -716,8 +716,8 @@ class DateRangePicker {
716
716
  * @name "monthViewChange"
717
717
  * @property {DateRangePickerEvent} event - The Event object
718
718
  * @property {DateRangePicker} event.picker - The daterangepicker object
719
- * @property {external:DateTime} left - The first day of month in left-hand calendar
720
- * @property {external:DateTime} right - The first day of month in left-hand calendar or `null` for singleDatePicker
719
+ * @property {external:DateTime} event.left - The first day of month in left-hand calendar
720
+ * @property {external:DateTime} event.right - The first day of month in left-hand calendar or `null` for singleDatePicker
721
721
  */
722
722
  onMonthViewChange: {
723
723
  type: "monthViewChange",
@@ -1953,31 +1953,29 @@ class DateRangePicker {
1953
1953
  calculateChosenLabel() {
1954
1954
  if (Object.keys(this.ranges).length === 0)
1955
1955
  return;
1956
- var customRange = true;
1957
- var i = 0;
1958
- for (var range in this.ranges) {
1959
- var unit = this.timePicker ? "hour" : "day";
1960
- if (this.timePicker) {
1961
- if (this.timePickerOpts.showMinutes) {
1962
- unit = "minute";
1963
- } else if (this.timePickerOpts.showSeconds) {
1964
- unit = "second";
1965
- }
1956
+ let customRange = true;
1957
+ let unit = this.timePicker ? "hour" : "day";
1958
+ if (this.timePicker) {
1959
+ if (this.timePickerOpts.showMinutes) {
1960
+ unit = "minute";
1961
+ } else if (this.timePickerOpts.showSeconds) {
1962
+ unit = "second";
1966
1963
  }
1967
- if (this.#startDate.startOf(unit).equals(this.ranges[range][0].startOf(unit)) && this.#endDate.startOf(unit).equals(this.ranges[range][1].startOf(unit))) {
1964
+ }
1965
+ for (const [key2, [start, end]] of Object.entries(this.ranges)) {
1966
+ if (this.#startDate.startOf(unit).equals(start.startOf(unit)) && this.#endDate.startOf(unit).equals(end.startOf(unit))) {
1968
1967
  customRange = false;
1969
- const range2 = this.container.querySelector(`.ranges li:eq(${i})`);
1970
- this.chosenLabel = range2.dataset.rangeKey;
1971
- range2.classList.add("active");
1968
+ const range = this.container.querySelector(`.ranges li[data-range-key="${key2}"]`);
1969
+ this.chosenLabel = key2;
1970
+ range.classList.add("active");
1972
1971
  break;
1973
1972
  }
1974
- i++;
1975
1973
  }
1976
1974
  if (customRange) {
1977
1975
  if (this.showCustomRangeLabel) {
1978
- const range2 = this.container.querySelector(".ranges li:last-child");
1979
- this.chosenLabel = range2.dataset.rangeKey;
1980
- range2.classList.add("active");
1976
+ const range = this.container.querySelector(".ranges li:last-child");
1977
+ this.chosenLabel = range.dataset.rangeKey;
1978
+ range.classList.add("active");
1981
1979
  } else {
1982
1980
  this.chosenLabel = null;
1983
1981
  }