@meshmakers/shared-ui 3.3.550 → 3.3.570

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/shared-ui",
3
- "version": "3.3.550",
3
+ "version": "3.3.570",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.2.0",
6
6
  "@angular/core": "^21.2.0",
@@ -920,6 +920,7 @@ declare class MessageDetailsDialogComponent implements OnInit {
920
920
 
921
921
  declare class MessageDetailsDialogService {
922
922
  private readonly windowService;
923
+ private readonly windowStateService;
923
924
  /**
924
925
  * Opens a resizable window to show message details with copy-to-clipboard functionality
925
926
  */
@@ -1058,6 +1059,7 @@ declare class EntitySelectInputComponent implements OnInit, OnDestroy, ControlVa
1058
1059
  maxResults: number;
1059
1060
  debounceMs: number;
1060
1061
  prefix: string;
1062
+ set initialDisplayValue(value: string | undefined);
1061
1063
  dialogDataSource?: EntitySelectDialogDataSource<any>;
1062
1064
  dialogTitle: string;
1063
1065
  multiSelect: boolean;
@@ -1106,7 +1108,7 @@ declare class EntitySelectInputComponent implements OnInit, OnDestroy, ControlVa
1106
1108
  private selectEntity;
1107
1109
  openAdvancedSearch(event?: Event): Promise<void>;
1108
1110
  static ɵfac: i0.ɵɵFactoryDeclaration<EntitySelectInputComponent, never>;
1109
- static ɵcmp: i0.ɵɵComponentDeclaration<EntitySelectInputComponent, "mm-entity-select-input", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; }; "maxResults": { "alias": "maxResults"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "dialogDataSource": { "alias": "dialogDataSource"; "required": false; }; "dialogTitle": { "alias": "dialogTitle"; "required": false; }; "multiSelect": { "alias": "multiSelect"; "required": false; }; "advancedSearchLabel": { "alias": "advancedSearchLabel"; "required": false; }; "dialogMessages": { "alias": "dialogMessages"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "entitySelected": "entitySelected"; "entityCleared": "entityCleared"; "entitiesSelected": "entitiesSelected"; }, never, never, true, never>;
1111
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntitySelectInputComponent, "mm-entity-select-input", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; }; "maxResults": { "alias": "maxResults"; "required": false; }; "debounceMs": { "alias": "debounceMs"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "initialDisplayValue": { "alias": "initialDisplayValue"; "required": false; }; "dialogDataSource": { "alias": "dialogDataSource"; "required": false; }; "dialogTitle": { "alias": "dialogTitle"; "required": false; }; "multiSelect": { "alias": "multiSelect"; "required": false; }; "advancedSearchLabel": { "alias": "advancedSearchLabel"; "required": false; }; "dialogMessages": { "alias": "dialogMessages"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "entitySelected": "entitySelected"; "entityCleared": "entityCleared"; "entitiesSelected": "entitiesSelected"; }, never, never, true, never>;
1110
1112
  }
1111
1113
 
1112
1114
  declare class EntitySelectDialogComponent<T> implements OnInit, OnDestroy {
@@ -1148,6 +1150,7 @@ declare class EntitySelectDialogComponent<T> implements OnInit, OnDestroy {
1148
1150
 
1149
1151
  declare class EntitySelectDialogService {
1150
1152
  private readonly windowService;
1153
+ private readonly windowStateService;
1151
1154
  /**
1152
1155
  * Opens the entity select dialog
1153
1156
  * @param dataSource The data source providing grid data and column definitions
@@ -1297,7 +1300,7 @@ declare class SaveAsDialogService {
1297
1300
  /**
1298
1301
  * The type of time range selection
1299
1302
  */
1300
- type TimeRangeType = 'year' | 'quarter' | 'month' | 'relative' | 'custom';
1303
+ type TimeRangeType = 'year' | 'quarter' | 'month' | 'day' | 'relative' | 'custom';
1301
1304
  /**
1302
1305
  * The unit for relative time calculations
1303
1306
  */
@@ -1353,6 +1356,12 @@ interface TimeRangeSelection {
1353
1356
  year?: number;
1354
1357
  quarter?: Quarter;
1355
1358
  month?: number;
1359
+ /** Day of month (1-31), used with 'day' type */
1360
+ day?: number;
1361
+ /** Hour from (0-23), optional hour filter for 'day' type */
1362
+ hourFrom?: number;
1363
+ /** Hour to (1-24), optional hour filter for 'day' type. Exclusive upper bound. */
1364
+ hourTo?: number;
1356
1365
  relativeValue?: number;
1357
1366
  relativeUnit?: RelativeTimeUnit;
1358
1367
  customFrom?: Date;
@@ -1373,13 +1382,17 @@ interface TimeRangePickerLabels {
1373
1382
  year?: string;
1374
1383
  quarter?: string;
1375
1384
  month?: string;
1385
+ day?: string;
1376
1386
  relativeValue?: string;
1377
1387
  relativeUnit?: string;
1388
+ hourFrom?: string;
1389
+ hourTo?: string;
1378
1390
  customFrom?: string;
1379
1391
  customTo?: string;
1380
1392
  typeYear?: string;
1381
1393
  typeQuarter?: string;
1382
1394
  typeMonth?: string;
1395
+ typeDay?: string;
1383
1396
  typeRelative?: string;
1384
1397
  typeCustom?: string;
1385
1398
  unitHours?: string;
@@ -1414,14 +1427,25 @@ declare class TimeRangeUtils {
1414
1427
  * Uses exclusive end boundary (start of next month) for correct LESS_THAN filtering.
1415
1428
  */
1416
1429
  static getMonthRange(year: number, month: number): TimeRange;
1430
+ /**
1431
+ * Calculate time range for a specific day.
1432
+ * Uses exclusive end boundary (start of next day) for correct LESS_THAN filtering.
1433
+ * Optionally filters to a specific hour range within the day.
1434
+ * @param hourFrom Start hour (0-23), defaults to 0
1435
+ * @param hourTo End hour (1-24, exclusive), defaults to 24 (= next day 00:00)
1436
+ */
1437
+ static getDayRange(year: number, month: number, day: number, hourFrom?: number, hourTo?: number): TimeRange;
1417
1438
  /**
1418
1439
  * Calculate time range relative to now
1419
1440
  */
1420
1441
  static getRelativeRange(value: number, unit: RelativeTimeUnit): TimeRange;
1421
1442
  /**
1422
- * Calculate time range from selection
1443
+ * Calculate time range from selection.
1444
+ * @param selection The current selection state
1445
+ * @param showTime If false (default), custom date ranges are normalized to full-day boundaries
1446
+ * with exclusive end (from: 00:00:00 UTC, to: start of next day 00:00:00 UTC)
1423
1447
  */
1424
- static getTimeRangeFromSelection(selection: TimeRangeSelection): TimeRange | null;
1448
+ static getTimeRangeFromSelection(selection: TimeRangeSelection, showTime?: boolean): TimeRange | null;
1425
1449
  /**
1426
1450
  * Convert TimeRange to ISO 8601 format
1427
1451
  */
@@ -1489,8 +1513,11 @@ declare class TimeRangePickerComponent implements OnInit, OnChanges {
1489
1513
  protected selectedYear: i0.WritableSignal<number>;
1490
1514
  protected selectedQuarter: i0.WritableSignal<Quarter>;
1491
1515
  protected selectedMonth: i0.WritableSignal<number>;
1516
+ protected selectedDay: i0.WritableSignal<number>;
1492
1517
  protected relativeValue: i0.WritableSignal<number>;
1493
1518
  protected relativeUnit: i0.WritableSignal<RelativeTimeUnit>;
1519
+ protected hourFrom: i0.WritableSignal<number | null>;
1520
+ protected hourTo: i0.WritableSignal<number | null>;
1494
1521
  protected customFrom: i0.WritableSignal<Date>;
1495
1522
  protected customTo: i0.WritableSignal<Date>;
1496
1523
  protected mergedLabels: i0.Signal<{
@@ -1498,13 +1525,17 @@ declare class TimeRangePickerComponent implements OnInit, OnChanges {
1498
1525
  year?: string;
1499
1526
  quarter?: string;
1500
1527
  month?: string;
1528
+ day?: string;
1501
1529
  relativeValue?: string;
1502
1530
  relativeUnit?: string;
1531
+ hourFrom?: string;
1532
+ hourTo?: string;
1503
1533
  customFrom?: string;
1504
1534
  customTo?: string;
1505
1535
  typeYear?: string;
1506
1536
  typeQuarter?: string;
1507
1537
  typeMonth?: string;
1538
+ typeDay?: string;
1508
1539
  typeRelative?: string;
1509
1540
  typeCustom?: string;
1510
1541
  unitHours?: string;
@@ -1520,6 +1551,9 @@ declare class TimeRangePickerComponent implements OnInit, OnChanges {
1520
1551
  protected yearOptions: i0.Signal<TimeRangeOption<number>[]>;
1521
1552
  protected quarterOptions: i0.Signal<TimeRangeOption<Quarter>[]>;
1522
1553
  protected monthOptions: i0.Signal<TimeRangeOption<number>[]>;
1554
+ protected dayOptions: i0.Signal<TimeRangeOption<number>[]>;
1555
+ protected hourFromOptions: i0.Signal<TimeRangeOption<number>[]>;
1556
+ protected hourToOptions: i0.Signal<TimeRangeOption<number>[]>;
1523
1557
  protected relativeUnitOptions: i0.Signal<TimeRangeOption<RelativeTimeUnit>[]>;
1524
1558
  protected currentRange: i0.Signal<TimeRange | null>;
1525
1559
  protected minDate: i0.Signal<Date>;
@@ -1533,6 +1567,10 @@ declare class TimeRangePickerComponent implements OnInit, OnChanges {
1533
1567
  protected onYearChange(year: number): void;
1534
1568
  protected onQuarterChange(quarter: Quarter): void;
1535
1569
  protected onMonthChange(month: number): void;
1570
+ protected onDayChange(day: number): void;
1571
+ protected onHourFromChange(hour: number | null): void;
1572
+ protected onHourToChange(hour: number | null): void;
1573
+ protected clearHourFilter(): void;
1536
1574
  protected onRelativeValueChange(value: number): void;
1537
1575
  protected onRelativeUnitChange(unit: RelativeTimeUnit): void;
1538
1576
  protected onCustomFromChange(date: Date): void;
@@ -1866,7 +1904,34 @@ declare class ImportStrategyDialogService {
1866
1904
  static ɵprov: i0.ɵɵInjectableDeclaration<ImportStrategyDialogService>;
1867
1905
  }
1868
1906
 
1907
+ interface WindowDimensions {
1908
+ width: number;
1909
+ height: number;
1910
+ }
1911
+ declare class WindowStateService {
1912
+ private readonly storageKey;
1913
+ private activeBackdrops;
1914
+ getDimensions(dialogKey: string): WindowDimensions | null;
1915
+ saveDimensions(dialogKey: string, dimensions: WindowDimensions): void;
1916
+ clearDimensions(dialogKey: string): void;
1917
+ resolveWindowSize(dialogKey: string, defaults: WindowDimensions): WindowDimensions;
1918
+ captureAndSave(dialogKey: string, windowElement: HTMLElement): void;
1919
+ /**
1920
+ * Applies modal behavior to a Kendo WindowRef: shows a dark backdrop overlay
1921
+ * that blocks interaction with the background, and removes it when the window closes.
1922
+ * Also captures and saves window dimensions on close.
1923
+ */
1924
+ applyModalBehavior(dialogKey: string, windowRef: WindowRef): void;
1925
+ private showBackdrop;
1926
+ private hideBackdrop;
1927
+ private getOrCreateBackdropElement;
1928
+ private loadStates;
1929
+ private saveStates;
1930
+ static ɵfac: i0.ɵɵFactoryDeclaration<WindowStateService, never>;
1931
+ static ɵprov: i0.ɵɵInjectableDeclaration<WindowStateService>;
1932
+ }
1933
+
1869
1934
  declare function provideMmSharedUi(): EnvironmentProviders;
1870
1935
 
1871
- export { BaseFormComponent, BaseTreeDetailComponent, ButtonTypes, BytesToSizePipe, CRON_PRESETS, ConfirmationService, ConfirmationWindowResult, CopyableTextComponent, CronBuilderComponent, CronHumanizerService, CronParserService, DEFAULT_CRON_BUILDER_CONFIG, DEFAULT_ENTITY_SELECT_DIALOG_MESSAGES, DEFAULT_ENTITY_SELECT_INPUT_MESSAGES, DEFAULT_LIST_VIEW_MESSAGES, DEFAULT_RESPONSIVE_COLSPAN, DEFAULT_TIME_RANGE_LABELS, DataSourceBase, DataSourceTyped, DialogType, EntitySelectDialogComponent, EntitySelectDialogService, EntitySelectInputComponent, FetchResultBase, FetchResultTyped, FileUploadResult, FileUploadService, FormTitleExtraDirective, HAS_UNSAVED_CHANGES, HOUR_INTERVALS, HierarchyDataSource, HierarchyDataSourceBase, ImportStrategyDialogComponent, ImportStrategyDialogResult, ImportStrategyDialogService, ImportStrategyDto, InputDialogComponent, InputService, ListViewComponent, MINUTE_INTERVALS, MessageDetailsDialogComponent, MessageDetailsDialogService, MessageListenerService, MmListViewDataBindingDirective, NotificationDisplayService, PascalCasePipe, ProgressValue, ProgressWindowComponent, ProgressWindowService, RELATIVE_WEEKS, SECOND_INTERVALS, SaveAsDialogComponent, SaveAsDialogService, TimeRangePickerComponent, TimeRangeUtils, TreeComponent, UnsavedChangesDirective, UnsavedChangesGuard, UploadFileDialogComponent, WEEKDAYS, WEEKDAY_ABBREVIATIONS, generateDayOfMonthOptions, generateHourOptions, generateMinuteOptions, provideMmSharedUi };
1872
- export type { BaseFormConfig, BaseFormMessages, ColumnDefinition, ConfirmationButtonLabels, ConfirmationWindowData, ContextMenuType, CronBuilderConfig, CronFields, CronPreset, CronSchedule, CronValidationResult, DialogFetchOptions, DialogFetchResult, DropdownOption, EntitySelectDialogDataSource, EntitySelectDialogMessages, EntitySelectDialogOptions, EntitySelectDialogResult, EntitySelectInputMessages, FetchDataOptions, FetchResult, FileUploadData, HasUnsavedChanges, ListViewMessages, MessageDetailsDialogData, NameAvailabilityResult, NodeDroppedEvent, NodeInfo, ProgressWindowConfig, ProgressWindowData, ProgressWindowOptions, ProgressWindowResult, Quarter, RelativeTimeUnit, ResponsiveFormBreakPoint, SaveAsDialogDataSource, SaveAsDialogOptions, SaveAsDialogResult, ScheduleType, StatusFieldConfig, StatusIconMapping, StatusMapping, TableColumn, TimeRange, TimeRangeISO, TimeRangeOption, TimeRangePickerConfig, TimeRangePickerLabels, TimeRangeSelection, TimeRangeType, UnsavedChangesMessages, Weekday };
1936
+ export { BaseFormComponent, BaseTreeDetailComponent, ButtonTypes, BytesToSizePipe, CRON_PRESETS, ConfirmationService, ConfirmationWindowResult, CopyableTextComponent, CronBuilderComponent, CronHumanizerService, CronParserService, DEFAULT_CRON_BUILDER_CONFIG, DEFAULT_ENTITY_SELECT_DIALOG_MESSAGES, DEFAULT_ENTITY_SELECT_INPUT_MESSAGES, DEFAULT_LIST_VIEW_MESSAGES, DEFAULT_RESPONSIVE_COLSPAN, DEFAULT_TIME_RANGE_LABELS, DataSourceBase, DataSourceTyped, DialogType, EntitySelectDialogComponent, EntitySelectDialogService, EntitySelectInputComponent, FetchResultBase, FetchResultTyped, FileUploadResult, FileUploadService, FormTitleExtraDirective, HAS_UNSAVED_CHANGES, HOUR_INTERVALS, HierarchyDataSource, HierarchyDataSourceBase, ImportStrategyDialogComponent, ImportStrategyDialogResult, ImportStrategyDialogService, ImportStrategyDto, InputDialogComponent, InputService, ListViewComponent, MINUTE_INTERVALS, MessageDetailsDialogComponent, MessageDetailsDialogService, MessageListenerService, MmListViewDataBindingDirective, NotificationDisplayService, PascalCasePipe, ProgressValue, ProgressWindowComponent, ProgressWindowService, RELATIVE_WEEKS, SECOND_INTERVALS, SaveAsDialogComponent, SaveAsDialogService, TimeRangePickerComponent, TimeRangeUtils, TreeComponent, UnsavedChangesDirective, UnsavedChangesGuard, UploadFileDialogComponent, WEEKDAYS, WEEKDAY_ABBREVIATIONS, WindowStateService, generateDayOfMonthOptions, generateHourOptions, generateMinuteOptions, provideMmSharedUi };
1937
+ export type { BaseFormConfig, BaseFormMessages, ColumnDefinition, ConfirmationButtonLabels, ConfirmationWindowData, ContextMenuType, CronBuilderConfig, CronFields, CronPreset, CronSchedule, CronValidationResult, DialogFetchOptions, DialogFetchResult, DropdownOption, EntitySelectDialogDataSource, EntitySelectDialogMessages, EntitySelectDialogOptions, EntitySelectDialogResult, EntitySelectInputMessages, FetchDataOptions, FetchResult, FileUploadData, HasUnsavedChanges, ListViewMessages, MessageDetailsDialogData, NameAvailabilityResult, NodeDroppedEvent, NodeInfo, ProgressWindowConfig, ProgressWindowData, ProgressWindowOptions, ProgressWindowResult, Quarter, RelativeTimeUnit, ResponsiveFormBreakPoint, SaveAsDialogDataSource, SaveAsDialogOptions, SaveAsDialogResult, ScheduleType, StatusFieldConfig, StatusIconMapping, StatusMapping, TableColumn, TimeRange, TimeRangeISO, TimeRangeOption, TimeRangePickerConfig, TimeRangePickerLabels, TimeRangeSelection, TimeRangeType, UnsavedChangesMessages, Weekday, WindowDimensions };