@solcre-org/core-ui 2.16.4 → 2.17.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.
@@ -766,8 +766,8 @@ class DatetimeFieldComponent {
766
766
  ModalMode = ModalMode;
767
767
  TimeInterval = TimeInterval;
768
768
  selectedDate = signal(null);
769
- selectedHour = signal(0);
770
- selectedMinute = signal(0);
769
+ selectedHour = signal(null);
770
+ selectedMinute = signal(null);
771
771
  hasHourValue = signal(false);
772
772
  hasMinuteValue = signal(false);
773
773
  hours = Array.from({ length: 24 }, (_, i) => i);
@@ -922,24 +922,33 @@ class DatetimeFieldComponent {
922
922
  this.selectedMinute.set(roundedMinute);
923
923
  }
924
924
  else {
925
- const today = new Date();
926
- today.setHours(0, 0, 0, 0);
927
- this.selectedDate.set(today);
928
- this.selectedHour.set(0);
929
- this.selectedMinute.set(0);
925
+ this.selectedDate.set(null);
926
+ this.selectedHour.set(null);
927
+ this.selectedMinute.set(null);
930
928
  }
931
929
  }
932
930
  onDateChange(event) {
933
931
  const input = event.target;
934
932
  const newDate = input.value ? new Date(input.value + 'T00:00:00') : null;
935
933
  if (newDate && !isNaN(newDate.getTime())) {
936
- newDate.setHours(this.selectedHour());
937
- newDate.setMinutes(this.selectedMinute());
934
+ // If hour/minute not set, default to 0
935
+ const currentHour = this.selectedHour() ?? 0;
936
+ const currentMinute = this.selectedMinute() ?? 0;
937
+ this.selectedHour.set(currentHour);
938
+ this.selectedMinute.set(currentMinute);
939
+ newDate.setHours(currentHour);
940
+ newDate.setMinutes(currentMinute);
938
941
  newDate.setSeconds(0);
939
942
  newDate.setMilliseconds(0);
940
943
  this.selectedDate.set(newDate);
941
944
  this.emitValue();
942
945
  }
946
+ else {
947
+ //If date is cleared, clear everything? Or just date?
948
+ //Usually if date input is cleared, value is null.
949
+ this.selectedDate.set(null);
950
+ this.emitValue();
951
+ }
943
952
  }
944
953
  onHourChange(value) {
945
954
  this.selectedHour.set(value);
@@ -951,13 +960,15 @@ class DatetimeFieldComponent {
951
960
  }
952
961
  emitValue() {
953
962
  const date = this.selectedDate();
963
+ // If no date selected, value is null regardless of time
954
964
  if (!date || isNaN(date.getTime())) {
955
965
  this.valueChange.emit(null);
956
966
  return;
957
967
  }
958
968
  const newDate = new Date(date.getTime());
959
- newDate.setHours(this.selectedHour());
960
- newDate.setMinutes(this.selectedMinute());
969
+ // Use 0 if time not selected yet but date is present
970
+ newDate.setHours(this.selectedHour() ?? 0);
971
+ newDate.setMinutes(this.selectedMinute() ?? 0);
961
972
  newDate.setSeconds(0);
962
973
  newDate.setMilliseconds(0);
963
974
  this.valueChange.emit(newDate);
@@ -16545,12 +16556,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
16545
16556
  // Este archivo es generado automáticamente por scripts/update-version.js
16546
16557
  // No edites manualmente este archivo
16547
16558
  const VERSION = {
16548
- full: '2.16.4',
16559
+ full: '2.17.0',
16549
16560
  major: 2,
16550
- minor: 16,
16551
- patch: 4,
16552
- timestamp: '2025-12-10T15:53:05.110Z',
16553
- buildDate: '10/12/2025'
16561
+ minor: 17,
16562
+ patch: 0,
16563
+ timestamp: '2025-12-11T18:35:18.659Z',
16564
+ buildDate: '11/12/2025'
16554
16565
  };
16555
16566
 
16556
16567
  class MainNavComponent {