nexheal-lib 0.0.56 → 0.0.57

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/index.d.ts CHANGED
@@ -80,6 +80,10 @@ interface CalendarCell {
80
80
  selected: boolean;
81
81
  today: boolean;
82
82
  }
83
+ interface DateRange {
84
+ start: Date;
85
+ end: Date;
86
+ }
83
87
  declare class CalendarControl implements ControlValueAccessor, OnInit, OnDestroy {
84
88
  datePipe: DatePipe;
85
89
  title: string;
@@ -111,6 +115,8 @@ declare class CalendarControl implements ControlValueAccessor, OnInit, OnDestroy
111
115
  start: Date;
112
116
  end: Date;
113
117
  } | null>;
118
+ /** Emitted in `selectionMode="range"` with the selected start/end (or null when cleared). */
119
+ rangeSelected: EventEmitter<DateRange | null>;
114
120
  private _defaultDate?;
115
121
  get defaultDate(): string | undefined;
116
122
  set defaultDate(value: string | undefined);
@@ -137,6 +143,11 @@ declare class CalendarControl implements ControlValueAccessor, OnInit, OnDestroy
137
143
  selectedWeekEnd: Date | null;
138
144
  private hoverWeekStart;
139
145
  private hoverWeekEnd;
146
+ rangeStart: Date | null;
147
+ rangeEnd: Date | null;
148
+ private hoverDate;
149
+ private committedRangeStart;
150
+ private committedRangeEnd;
140
151
  today: Date;
141
152
  todayYear: number;
142
153
  todayMonth: number;
@@ -176,6 +187,25 @@ declare class CalendarControl implements ControlValueAccessor, OnInit, OnDestroy
176
187
  onDayLeave(): void;
177
188
  /** Stable identity for day cells so they aren't re-created every change-detection. */
178
189
  trackByDate: (_: number, cell: CalendarCell) => number;
190
+ private isCellSelected;
191
+ isRangeStart(date: Date): boolean;
192
+ isRangeEnd(date: Date): boolean;
193
+ isInSelectedRange(date: Date): boolean;
194
+ isInHoverRange(date: Date): boolean;
195
+ private selectRangeDay;
196
+ private onRangeBlur;
197
+ private applyDateRange;
198
+ private formatInProgressRange;
199
+ private formatCommittedRangeInput;
200
+ private parseIncomingRange;
201
+ private orderDateRange;
202
+ private startOfDay;
203
+ private toDayKey;
204
+ private isSameDay;
205
+ private isWithinDayRange;
206
+ private rangeCoversMonth;
207
+ private rangeCoversYear;
208
+ private restoreIncompleteRange;
179
209
  goToMonthView(): void;
180
210
  months: string[];
181
211
  selectMonth(index: number): void;
@@ -213,7 +243,7 @@ declare class CalendarControl implements ControlValueAccessor, OnInit, OnDestroy
213
243
  closeCalendar(): void;
214
244
  clearDate(event: Event): void;
215
245
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarControl, never>;
216
- static ɵcmp: i0.ɵɵComponentDeclaration<CalendarControl, "calendar-control", never, { "title": { "alias": "title"; "required": false; }; "required": { "alias": "required"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "clearVal": { "alias": "clearVal"; "required": false; }; "deFocus": { "alias": "deFocus"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "hourFormat": { "alias": "hourFormat"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "timeOnly": { "alias": "timeOnly"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "inputLoader": { "alias": "inputLoader"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "submitted": { "alias": "submitted"; "required": false; }; "closeVal": { "alias": "close-val"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "defaultDate": { "alias": "defaultDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "selectionCleared": "selectionCleared"; "blurEvent": "blurEvent"; "dateSelected": "dateSelected"; "weekSelected": "weekSelected"; }, never, never, true, never>;
246
+ static ɵcmp: i0.ɵɵComponentDeclaration<CalendarControl, "calendar-control", never, { "title": { "alias": "title"; "required": false; }; "required": { "alias": "required"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "clearVal": { "alias": "clearVal"; "required": false; }; "deFocus": { "alias": "deFocus"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "hourFormat": { "alias": "hourFormat"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "timeOnly": { "alias": "timeOnly"; "required": false; }; "dateFormat": { "alias": "dateFormat"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "viewMode": { "alias": "viewMode"; "required": false; }; "inputLoader": { "alias": "inputLoader"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "submitted": { "alias": "submitted"; "required": false; }; "closeVal": { "alias": "close-val"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "defaultDate": { "alias": "defaultDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; }, { "selectionCleared": "selectionCleared"; "blurEvent": "blurEvent"; "dateSelected": "dateSelected"; "weekSelected": "weekSelected"; "rangeSelected": "rangeSelected"; }, never, never, true, never>;
217
247
  }
218
248
 
219
249
  declare class CheckboxControl implements ControlValueAccessor {
@@ -850,4 +880,4 @@ declare class TextareaControl {
850
880
  }
851
881
 
852
882
  export { AutocompleteControl, CalendarControl, CheckboxControl, ColorPicker, InputControl, MultiselectControl, PaginatedAutocompleteControl, RICH_TEXT_EDITOR_DEFAULT_FEATURES, RadioControl, RichTextEditor, SelectControl, SwitchControl, TextareaControl };
853
- export type { PageChangeEvent, RichTextEditorFeature, RichTextEditorFeatures };
883
+ export type { DateRange, PageChangeEvent, RichTextEditorFeature, RichTextEditorFeatures };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexheal-lib",
3
- "version": "0.0.56",
3
+ "version": "0.0.57",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.1.0",
6
6
  "@angular/core": "^20.1.0"