@entur/datepicker 4.0.0-beta.1 → 4.0.0-beta.2

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/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [4.0.0-beta.2](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.1...@entur/datepicker@4.0.0-beta.2) (2022-10-31)
7
+
8
+ ### Features
9
+
10
+ - **datepicker utils:** update utils to work with CalendarDate values ([d5993f2](https://bitbucket.org/enturas/design-system/commits/d5993f22c2abcc53e932cc58e960accb979182c3))
11
+
6
12
  # [4.0.0-beta.1](https://bitbucket.org/enturas/design-system/compare/@entur/datepicker@4.0.0-beta.0...@entur/datepicker@4.0.0-beta.1) (2022-10-28)
7
13
 
8
14
  ### Bug Fixes
@@ -524,19 +524,24 @@ var FieldSegment = function FieldSegment(_ref) {
524
524
  };
525
525
 
526
526
  /**
527
- * Tar inn et JS Date-objekt og returnerer et av TimeValue-objektene fra @internationalized/date-pakken
528
- * @param {Date} date JS Date-objekt som ønskes konvertert til et TimeValue-objekt
527
+ * Tar inn et JS Date-objekt og returnerer et av Date- eller TimeValue-objektene fra @internationalized/date-pakken
528
+ * @param {Date} date JS Date-objekt som ønskes konvertert til et Date- eller TimeValue-objekt
529
529
  * @param {boolean} noDateOnlyTime Hvis datoen er irrelevant kan denne settes til true, da får man et Time-objekt uten dato tilbake
530
+ * @param {boolean} noTimeOnlyDate Hvis tidspunktet er irrelevant kan denne settes til true, da får man et CalendarDate-objekt uten tidspunkt tilbake
530
531
  * @param {string} timeZone Tidssonen på IANA-formatet som tidpunktet skal konverteres til. Utelates denne får man et tidspunkt uten tidssone. Kan brukes med og uten en UTC-offset Vær obs på annen oppførsel med offset, les mer på beskrivelsen av offset
531
532
  * @param {number} offset UTC-offset i millisekunder, må brukes med en tidssone. Ved å legge på en offset lager du en variant av en tidssone. Det betyr at tidspunktet ikke endres (time, minutt, sekund uendret), men tidssonen, med tilhørende offset, tidspunktet er i endres.
532
- * @returns {Time | CalendarDateTime | ZonedDateTime} et av TimeValue-objektene med verdier fra date
533
+ * @returns {Time | CalendarDateTime | ZonedDateTime | CalendarDate} et av TimeValue-objektene med verdier fra date
533
534
  */
534
535
 
535
- var nativeDateToTimeValue = function nativeDateToTimeValue(date$1, noDateOnlyTime, timeZone, offset) {
536
+ var nativeDateToTimeOrDateValue = function nativeDateToTimeOrDateValue(date$1, noDateOnlyTime, noTimeOnlyDate, timeZone, offset) {
536
537
  if (noDateOnlyTime === void 0) {
537
538
  noDateOnlyTime = false;
538
539
  }
539
540
 
541
+ if (noTimeOnlyDate === void 0) {
542
+ noTimeOnlyDate = false;
543
+ }
544
+
540
545
  if (timeZone) {
541
546
  if (offset) {
542
547
  return new date.ZonedDateTime(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate(), timeZone, offset, date$1.getHours(), date$1.getMinutes(), date$1.getSeconds());
@@ -546,40 +551,54 @@ var nativeDateToTimeValue = function nativeDateToTimeValue(date$1, noDateOnlyTim
546
551
  }
547
552
 
548
553
  if (noDateOnlyTime) return new date.Time(date$1.getHours(), date$1.getMinutes(), date$1.getSeconds(), 0);
554
+ if (noTimeOnlyDate) return new date.CalendarDate(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate());
549
555
  return new date.CalendarDateTime(date$1.getFullYear(), date$1.getMonth() + 1, date$1.getDate(), date$1.getHours(), date$1.getMinutes(), date$1.getSeconds());
550
556
  };
551
557
  /**
552
- * Tar inn et av TimeValue-objektene fra @internationalized/date-pakken og returnerer et JS Date-objekt
553
- * @param {TimeValue} time Et tidspunkt på TimeValue-formatet som ønsket konvertert til et JS Date-objekt
554
- * @param {string} timeZoneForCalendarDateTime Tidssonen time er i. Fungerer kun med typen er CalendarDateTime
558
+ * Tar inn et av Date- eller TimeValue-objektene fra @internationalized/date-pakken og returnerer et JS Date-objekt
559
+ * @param {DateValue | TimeValue} value En dato eller et tidspunkt på Date- eller TimeValue-formatet som ønskes konvertert til et JS Date-objekt
560
+ * @param {string} timeZoneForCalendarDateTime Tidssonen value er i. Fungerer kun med typen er CalendarDateTime
555
561
  * @returns {Date} et Date-objekt med verdier fra time
556
562
  */
557
563
  // This function uses a lot of @ts-expect-error to make it work with all TimeValue types. Sorry ...
558
564
 
559
- var timeValueToNativeDate = function timeValueToNativeDate(time, timeZoneForCalendarDateTime) {
565
+ var timeOrDateValueToNativeDate = function timeOrDateValueToNativeDate(value, timeZoneForCalendarDateTime) {
560
566
  // @ts-expect-error .day does not exist on Time-object
561
- if (!time.day) {
567
+ if (!value.day) {
562
568
  // type is Time
563
- var date = new Date();
564
- date.setHours(time.hour);
565
- date.setMinutes(time.minute);
566
- date.setSeconds(time.second);
567
- return date;
569
+ var date$1 = new Date(); // @ts-expect-error hour does not exist on CalendarDate
570
+
571
+ date$1.setHours(value.hour); // @ts-expect-error minute does not exist on CalendarDate
572
+
573
+ date$1.setMinutes(value.minute); // @ts-expect-error second does not exist on CalendarDate
574
+
575
+ date$1.setSeconds(value.second);
576
+ return date$1;
577
+ } // @ts-expect-error .day does not exist on Time-object
578
+
579
+
580
+ if (!value.hour) {
581
+ // type is CalendarDate
582
+ // @ts-expect-error .toDate(timeZone) does not exist in type Time
583
+ return value.toDate(timeZoneForCalendarDateTime != null ? timeZoneForCalendarDateTime : date.getLocalTimeZone());
568
584
  } // @ts-expect-error .timeZone does not exist in type Time and CalendarDateTime
569
585
 
570
586
 
571
- if (!time.timeZone) {
587
+ if (!value.timeZone) {
572
588
  // type is CalendarDateTime
573
589
  if (timeZoneForCalendarDateTime) // @ts-expect-error .toDate(timeZone) does not exist in type Time
574
- return time.toDate(timeZoneForCalendarDateTime);
590
+ return value.toDate(timeZoneForCalendarDateTime);
575
591
  return new Date( // @ts-expect-error not in type Time
576
- time.year, // @ts-expect-error not in type Time
577
- time.month - 1, // @ts-expect-error not in type Time
578
- time.day, time.hour, time.minute, time.second);
592
+ value.year, // @ts-expect-error not in type Time
593
+ value.month - 1, // @ts-expect-error not in type Time
594
+ value.day, // @ts-expect-error not in type CalendarDate
595
+ value.hour, // @ts-expect-error not in type CalendarDate
596
+ value.minute, // @ts-expect-error not in type CalendarDate
597
+ value.second);
579
598
  } // @ts-expect-error .toDate() does not exist in type Time or CalendarDateTime
580
599
 
581
600
 
582
- return time.toDate();
601
+ return value.toDate();
583
602
  };
584
603
  var createCalendar = function createCalendar(identifier) {
585
604
  if (identifier === void 0) {
@@ -1301,6 +1320,6 @@ exports.NativeTimePicker = NativeTimePicker;
1301
1320
  exports.TimePicker = TimePicker;
1302
1321
  exports.ariaLabelIfNorwegian = ariaLabelIfNorwegian;
1303
1322
  exports.createCalendar = createCalendar;
1304
- exports.nativeDateToTimeValue = nativeDateToTimeValue;
1305
- exports.timeValueToNativeDate = timeValueToNativeDate;
1323
+ exports.nativeDateToTimeOrDateValue = nativeDateToTimeOrDateValue;
1324
+ exports.timeOrDateValueToNativeDate = timeOrDateValueToNativeDate;
1306
1325
  //# sourceMappingURL=datepicker.cjs.development.js.map