@dragonworks/ngx-dashboard 20.1.2 → 20.1.4

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
@@ -1,7 +1,7 @@
1
1
  import * as _dragonworks_ngx_dashboard from '@dragonworks/ngx-dashboard';
2
- import * as _ngrx_signals from '@ngrx/signals';
3
2
  import * as _angular_core from '@angular/core';
4
- import { Type, ViewContainerRef, ComponentRef, OnChanges, SimpleChanges, ElementRef, InjectionToken } from '@angular/core';
3
+ import { Type, ViewContainerRef, ComponentRef, OnChanges, SimpleChanges, InjectionToken } from '@angular/core';
4
+ import * as _ngrx_signals from '@ngrx/signals';
5
5
  import { SafeHtml } from '@angular/platform-browser';
6
6
 
7
7
  /**
@@ -11,50 +11,6 @@ import { SafeHtml } from '@angular/platform-browser';
11
11
  type CellId = number & {
12
12
  __brand: 'CellId';
13
13
  };
14
- /**
15
- * Utility functions for working with CellId branded type.
16
- */
17
- declare const CellIdUtils: {
18
- /**
19
- * Creates a CellId from row and column coordinates.
20
- * @param row - The row number (1-based)
21
- * @param col - The column number (1-based)
22
- * @returns A branded CellId that encodes both coordinates
23
- * @throws Error if row or col is less than 1, or if col exceeds MAX_COLUMNS
24
- */
25
- create(row: number, col: number): CellId;
26
- /**
27
- * Decodes a CellId back into row and column coordinates.
28
- * @param cellId - The CellId to decode
29
- * @returns A tuple of [row, col] coordinates (1-based)
30
- */
31
- decode(cellId: CellId): [number, number];
32
- /**
33
- * Gets the row coordinate from a CellId.
34
- * @param cellId - The CellId to extract row from
35
- * @returns The row number (1-based)
36
- */
37
- getRow(cellId: CellId): number;
38
- /**
39
- * Gets the column coordinate from a CellId.
40
- * @param cellId - The CellId to extract column from
41
- * @returns The column number (1-based)
42
- */
43
- getCol(cellId: CellId): number;
44
- /**
45
- * Creates a string representation of a CellId for debugging/display purposes.
46
- * @param cellId - The CellId to convert to string
47
- * @returns A string in the format "row-col"
48
- */
49
- toString(cellId: CellId): string;
50
- /**
51
- * Checks if two CellIds are equal.
52
- * @param a - First CellId
53
- * @param b - Second CellId
54
- * @returns True if the CellIds represent the same cell
55
- */
56
- equals(a: CellId, b: CellId): boolean;
57
- };
58
14
 
59
15
  /**
60
16
  * Branded type for widget identifiers to ensure type safety when working with widget instances.
@@ -63,45 +19,6 @@ declare const CellIdUtils: {
63
19
  type WidgetId = string & {
64
20
  __brand: 'WidgetId';
65
21
  };
66
- /**
67
- * Utility functions for working with WidgetId branded type.
68
- * WidgetIds are UUIDs that uniquely identify widget instances throughout their lifecycle,
69
- * independent of their position on the dashboard grid.
70
- */
71
- declare const WidgetIdUtils: {
72
- /**
73
- * Generates a new unique WidgetId.
74
- * Uses crypto.randomUUID() when available, falls back to timestamp-based ID for older browsers.
75
- * @returns A new unique WidgetId
76
- */
77
- generate(): WidgetId;
78
- /**
79
- * Validates if a string is a valid WidgetId format.
80
- * @param id - The string to validate
81
- * @returns True if the string is a valid WidgetId format
82
- */
83
- validate(id: string): id is WidgetId;
84
- /**
85
- * Converts a WidgetId to a string for use as map keys or serialization.
86
- * @param id - The WidgetId to convert
87
- * @returns The string representation of the WidgetId
88
- */
89
- toString(id: WidgetId): string;
90
- /**
91
- * Creates a WidgetId from a string, validating the format.
92
- * @param str - The string to convert to WidgetId
93
- * @returns A WidgetId
94
- * @throws Error if the string is not a valid WidgetId format
95
- */
96
- fromString(str: string): WidgetId;
97
- /**
98
- * Checks if two WidgetIds are equal.
99
- * @param a - First WidgetId
100
- * @param b - Second WidgetId
101
- * @returns True if the WidgetIds are the same
102
- */
103
- equals(a: WidgetId, b: WidgetId): boolean;
104
- };
105
22
 
106
23
  interface Widget {
107
24
  dashboardGetState?(): unknown;
@@ -125,7 +42,6 @@ interface WidgetFactory<T extends Widget = Widget> {
125
42
  svgIcon: string;
126
43
  createInstance(container: ViewContainerRef, state?: unknown): ComponentRef<T>;
127
44
  }
128
- declare function createFactoryFromComponent<T extends Widget>(component: WidgetComponentClass<T>): WidgetFactory;
129
45
 
130
46
  interface CellPosition {
131
47
  row: number;
@@ -163,7 +79,6 @@ interface DashboardDataDto {
163
79
  /** Version for future compatibility and migration support */
164
80
  version: string;
165
81
  /** Unique dashboard identifier managed by the client */
166
- dashboardId: string;
167
82
  /** Grid dimensions */
168
83
  rows: number;
169
84
  columns: number;
@@ -243,10 +158,6 @@ interface ReservedSpace {
243
158
  /** Space reserved on the left (e.g., padding) */
244
159
  left: number;
245
160
  }
246
- /**
247
- * Default reserved space when none is specified
248
- */
249
- declare const DEFAULT_RESERVED_SPACE: ReservedSpace;
250
161
 
251
162
  interface ResizeData {
252
163
  cellId: CellId;
@@ -320,27 +231,27 @@ declare class DashboardComponent implements OnChanges {
320
231
  width: number;
321
232
  height: number;
322
233
  }>;
323
- widgetsById: _angular_core.Signal<Record<string, _dragonworks_ngx_dashboard.CellData>>;
234
+ widgetsById: _angular_core.Signal<Record<string, CellData>>;
324
235
  resizeData: _angular_core.Signal<ResizeData | null>;
325
- dragData: _angular_core.Signal<_dragonworks_ngx_dashboard.DragData | null>;
236
+ dragData: _angular_core.Signal<DragData | null>;
326
237
  hoveredDropZone: _angular_core.Signal<{
327
238
  row: number;
328
239
  col: number;
329
240
  } | null>;
330
241
  dashboardService: _dragonworks_ngx_dashboard.DashboardService;
331
- cells: _angular_core.Signal<_dragonworks_ngx_dashboard.CellData[]>;
242
+ cells: _angular_core.Signal<CellData[]>;
332
243
  highlightedZones: _angular_core.Signal<{
333
244
  row: number;
334
245
  col: number;
335
246
  }[]>;
336
- highlightMap: _angular_core.Signal<Set<_dragonworks_ngx_dashboard.CellId>>;
337
- invalidHighlightMap: _angular_core.Signal<Set<_dragonworks_ngx_dashboard.CellId>>;
247
+ highlightMap: _angular_core.Signal<Set<CellId>>;
248
+ invalidHighlightMap: _angular_core.Signal<Set<CellId>>;
338
249
  isValidPlacement: _angular_core.Signal<boolean>;
339
250
  resizePreviewCells: _angular_core.Signal<{
340
251
  row: number;
341
252
  col: number;
342
253
  }[]>;
343
- resizePreviewMap: _angular_core.Signal<Set<_dragonworks_ngx_dashboard.CellId>>;
254
+ resizePreviewMap: _angular_core.Signal<Set<CellId>>;
344
255
  setGridConfig: (config: {
345
256
  rows?: number;
346
257
  columns?: number;
@@ -349,26 +260,26 @@ declare class DashboardComponent implements OnChanges {
349
260
  setGridCellDimensions: (width: number, height: number) => void;
350
261
  toggleEditMode: () => void;
351
262
  setEditMode: (isEditMode: boolean) => void;
352
- addWidget: (cell: _dragonworks_ngx_dashboard.CellData) => void;
353
- removeWidget: (widgetId: _dragonworks_ngx_dashboard.WidgetId) => void;
354
- updateWidgetPosition: (widgetId: _dragonworks_ngx_dashboard.WidgetId, row: number, col: number) => void;
355
- createWidget: (row: number, col: number, widgetFactory: _dragonworks_ngx_dashboard.WidgetFactory, widgetState?: string) => void;
356
- updateCellSettings: (widgetId: _dragonworks_ngx_dashboard.WidgetId, flat: boolean) => void;
357
- updateWidgetSpan: (widgetId: _dragonworks_ngx_dashboard.WidgetId, rowSpan: number, colSpan: number) => void;
358
- updateWidgetState: (widgetId: _dragonworks_ngx_dashboard.WidgetId, widgetState: unknown) => void;
263
+ addWidget: (cell: CellData) => void;
264
+ removeWidget: (widgetId: WidgetId) => void;
265
+ updateWidgetPosition: (widgetId: WidgetId, row: number, col: number) => void;
266
+ createWidget: (row: number, col: number, widgetFactory: WidgetFactory, widgetState?: string) => void;
267
+ updateCellSettings: (widgetId: WidgetId, flat: boolean) => void;
268
+ updateWidgetSpan: (widgetId: WidgetId, rowSpan: number, colSpan: number) => void;
269
+ updateWidgetState: (widgetId: WidgetId, widgetState: unknown) => void;
359
270
  updateAllWidgetStates: (cellStates: Map<string, unknown>) => void;
360
271
  clearDashboard: () => void;
361
- startDrag: (dragData: _dragonworks_ngx_dashboard.DragData) => void;
272
+ startDrag: (dragData: DragData) => void;
362
273
  endDrag: () => void;
363
274
  setHoveredDropZone: (zone: {
364
275
  row: number;
365
276
  col: number;
366
277
  } | null) => void;
367
- handleDrop: (dragData: _dragonworks_ngx_dashboard.DragData, targetPosition: {
278
+ handleDrop: (dragData: DragData, targetPosition: {
368
279
  row: number;
369
280
  col: number;
370
281
  }) => boolean;
371
- startResize: (cellId: _dragonworks_ngx_dashboard.CellId) => void;
282
+ startResize: (cellId: CellId) => void;
372
283
  updateResizePreview: (direction: "horizontal" | "vertical", delta: number) => void;
373
284
  endResize: (apply: boolean) => void;
374
285
  exportDashboard: (getCurrentWidgetStates?: () => Map<string, unknown>) => DashboardDataDto;
@@ -384,9 +295,9 @@ declare class DashboardComponent implements OnChanges {
384
295
  width: number;
385
296
  height: number;
386
297
  };
387
- widgetsById: Record<string, _dragonworks_ngx_dashboard.CellData>;
298
+ widgetsById: Record<string, CellData>;
388
299
  resizeData: ResizeData | null;
389
- dragData: _dragonworks_ngx_dashboard.DragData | null;
300
+ dragData: DragData | null;
390
301
  hoveredDropZone: {
391
302
  row: number;
392
303
  col: number;
@@ -396,7 +307,7 @@ declare class DashboardComponent implements OnChanges {
396
307
  dashboardData: _angular_core.InputSignal<DashboardDataDto>;
397
308
  editMode: _angular_core.InputSignal<boolean>;
398
309
  reservedSpace: _angular_core.InputSignal<ReservedSpace | undefined>;
399
- cells: _angular_core.Signal<_dragonworks_ngx_dashboard.CellData[]>;
310
+ cells: _angular_core.Signal<CellData[]>;
400
311
  private dashboardEditor;
401
312
  private dashboardViewer;
402
313
  constructor();
@@ -409,252 +320,6 @@ declare class DashboardComponent implements OnChanges {
409
320
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardComponent, "ngx-dashboard", never, { "dashboardData": { "alias": "dashboardData"; "required": true; "isSignal": true; }; "editMode": { "alias": "editMode"; "required": false; "isSignal": true; }; "reservedSpace": { "alias": "reservedSpace"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
410
321
  }
411
322
 
412
- declare class CellComponent {
413
- #private;
414
- widgetId: _angular_core.InputSignal<WidgetId>;
415
- cellId: _angular_core.InputSignal<CellId>;
416
- widgetFactory: _angular_core.InputSignal<WidgetFactory<Widget> | undefined>;
417
- widgetState: _angular_core.InputSignal<unknown>;
418
- isEditMode: _angular_core.InputSignal<boolean>;
419
- flat: _angular_core.InputSignal<boolean | undefined>;
420
- row: _angular_core.ModelSignal<number>;
421
- column: _angular_core.ModelSignal<number>;
422
- rowSpan: _angular_core.InputSignal<number>;
423
- colSpan: _angular_core.InputSignal<number>;
424
- draggable: _angular_core.InputSignal<boolean>;
425
- dragStart: _angular_core.OutputEmitterRef<DragData>;
426
- dragEnd: _angular_core.OutputEmitterRef<void>;
427
- edit: _angular_core.OutputEmitterRef<WidgetId>;
428
- delete: _angular_core.OutputEmitterRef<WidgetId>;
429
- settings: _angular_core.OutputEmitterRef<{
430
- id: WidgetId;
431
- flat: boolean;
432
- }>;
433
- resizeStart: _angular_core.OutputEmitterRef<{
434
- cellId: CellId;
435
- direction: "horizontal" | "vertical";
436
- }>;
437
- resizeMove: _angular_core.OutputEmitterRef<{
438
- cellId: CellId;
439
- direction: "horizontal" | "vertical";
440
- delta: number;
441
- }>;
442
- resizeEnd: _angular_core.OutputEmitterRef<{
443
- cellId: CellId;
444
- apply: boolean;
445
- }>;
446
- private container;
447
- isDragging: _angular_core.WritableSignal<boolean>;
448
- readonly gridRowStyle: _angular_core.Signal<string>;
449
- readonly gridColumnStyle: _angular_core.Signal<string>;
450
- isResizing: _angular_core.Signal<boolean>;
451
- isDragActive: _angular_core.Signal<boolean>;
452
- resizeData: _angular_core.Signal<ResizeData | null>;
453
- gridCellDimensions: _ngrx_signals.DeepSignal<{
454
- width: number;
455
- height: number;
456
- }>;
457
- private resizeDirection;
458
- private resizeStartPos;
459
- constructor();
460
- /**
461
- * Setup document-level event listeners for resize operations
462
- * Performance: Only creates listeners when actively resizing (not for every cell)
463
- * Angular-idiomatic: Uses Renderer2 for dynamic listener management
464
- */
465
- private setupDocumentListeners;
466
- setPosition(row: number, column: number): void;
467
- onDragStart(event: DragEvent): void;
468
- onDragEnd(): void;
469
- /**
470
- * Handle context menu events (called from template)
471
- * Performance: Element-specific event binding, not document-level
472
- * Angular-idiomatic: Template event binding instead of fromEvent
473
- */
474
- onContextMenu(event: MouseEvent): void;
475
- canEdit(): boolean;
476
- onEdit(): void;
477
- onDelete(): void;
478
- onSettings(): Promise<void>;
479
- /**
480
- * Start resize operation and setup document listeners
481
- * Performance: Only THIS cell creates document listeners when actively resizing
482
- * RxJS-free: Uses Renderer2 for dynamic listener management
483
- */
484
- onResizeStart(event: MouseEvent, direction: 'horizontal' | 'vertical'): void;
485
- /**
486
- * Handle resize move events (called from document listener)
487
- * Performance: Only called for the actively resizing cell
488
- * Bound method: Maintains component context without arrow functions
489
- */
490
- private handleResizeMove;
491
- /**
492
- * Handle resize end events (called from document listener)
493
- * Performance: Cleans up document listeners immediately after resize
494
- * State cleanup: Resets resize direction to stop further event processing
495
- */
496
- private handleResizeEnd;
497
- /**
498
- * Get the current widget state by calling dashboardGetState() on the widget instance.
499
- * Used during dashboard export to get live widget state instead of stale stored state.
500
- */
501
- getCurrentWidgetState(): unknown | undefined;
502
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CellComponent, never>;
503
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CellComponent, "lib-cell", never, { "widgetId": { "alias": "widgetId"; "required": true; "isSignal": true; }; "cellId": { "alias": "cellId"; "required": true; "isSignal": true; }; "widgetFactory": { "alias": "widgetFactory"; "required": false; "isSignal": true; }; "widgetState": { "alias": "widgetState"; "required": false; "isSignal": true; }; "isEditMode": { "alias": "isEditMode"; "required": false; "isSignal": true; }; "flat": { "alias": "flat"; "required": false; "isSignal": true; }; "row": { "alias": "row"; "required": true; "isSignal": true; }; "column": { "alias": "column"; "required": true; "isSignal": true; }; "rowSpan": { "alias": "rowSpan"; "required": false; "isSignal": true; }; "colSpan": { "alias": "colSpan"; "required": false; "isSignal": true; }; "draggable": { "alias": "draggable"; "required": false; "isSignal": true; }; }, { "row": "rowChange"; "column": "columnChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; "edit": "edit"; "delete": "delete"; "settings": "settings"; "resizeStart": "resizeStart"; "resizeMove": "resizeMove"; "resizeEnd": "resizeEnd"; }, never, never, true, never>;
504
- }
505
-
506
- declare class DropZoneComponent {
507
- #private;
508
- row: _angular_core.InputSignal<number>;
509
- col: _angular_core.InputSignal<number>;
510
- index: _angular_core.InputSignal<number>;
511
- highlight: _angular_core.InputSignal<boolean>;
512
- highlightInvalid: _angular_core.InputSignal<boolean>;
513
- highlightResize: _angular_core.InputSignal<boolean>;
514
- editMode: _angular_core.InputSignal<boolean>;
515
- dragEnter: _angular_core.OutputEmitterRef<{
516
- row: number;
517
- col: number;
518
- }>;
519
- dragExit: _angular_core.OutputEmitterRef<void>;
520
- dragOver: _angular_core.OutputEmitterRef<{
521
- row: number;
522
- col: number;
523
- }>;
524
- dragDrop: _angular_core.OutputEmitterRef<{
525
- data: DragData;
526
- target: {
527
- row: number;
528
- col: number;
529
- };
530
- }>;
531
- dropZoneId: _angular_core.Signal<string>;
532
- dropData: _angular_core.Signal<{
533
- row: number;
534
- col: number;
535
- }>;
536
- dragData: _angular_core.Signal<DragData | null>;
537
- dropEffect: _angular_core.Signal<"none" | "copy" | "move">;
538
- get nativeElement(): HTMLElement;
539
- onDragEnter(event: DragEvent): void;
540
- onDragOver(event: DragEvent): void;
541
- onDragLeave(event: DragEvent): void;
542
- onDrop(event: DragEvent): void;
543
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropZoneComponent, never>;
544
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropZoneComponent, "lib-drop-zone", never, { "row": { "alias": "row"; "required": true; "isSignal": true; }; "col": { "alias": "col"; "required": true; "isSignal": true; }; "index": { "alias": "index"; "required": true; "isSignal": true; }; "highlight": { "alias": "highlight"; "required": false; "isSignal": true; }; "highlightInvalid": { "alias": "highlightInvalid"; "required": false; "isSignal": true; }; "highlightResize": { "alias": "highlightResize"; "required": false; "isSignal": true; }; "editMode": { "alias": "editMode"; "required": false; "isSignal": true; }; }, { "dragEnter": "dragEnter"; "dragExit": "dragExit"; "dragOver": "dragOver"; "dragDrop": "dragDrop"; }, never, never, true, never>;
545
- }
546
-
547
- declare class DashboardEditorComponent {
548
- #private;
549
- bottomGridRef: _angular_core.Signal<ElementRef<HTMLDivElement>>;
550
- dropZones: _angular_core.Signal<readonly DropZoneComponent[]>;
551
- cellComponents: _angular_core.Signal<readonly CellComponent[]>;
552
- rows: _angular_core.InputSignal<number>;
553
- columns: _angular_core.InputSignal<number>;
554
- gutterSize: _angular_core.InputSignal<string>;
555
- gutters: _angular_core.Signal<number>;
556
- cells: _angular_core.Signal<CellData[]>;
557
- highlightedZones: _angular_core.Signal<{
558
- row: number;
559
- col: number;
560
- }[]>;
561
- highlightMap: _angular_core.Signal<Set<CellId>>;
562
- invalidHighlightMap: _angular_core.Signal<Set<CellId>>;
563
- hoveredDropZone: _angular_core.Signal<{
564
- row: number;
565
- col: number;
566
- } | null>;
567
- resizePreviewMap: _angular_core.Signal<Set<CellId>>;
568
- dropzonePositions: _angular_core.Signal<{
569
- row: number;
570
- col: number;
571
- id: string;
572
- index: number;
573
- }[]>;
574
- createCellId(row: number, col: number): CellId;
575
- constructor();
576
- addWidget: (cellData: CellData) => void;
577
- updateCellPosition: (id: WidgetId, row: number, column: number) => void;
578
- updateCellSpan: (id: WidgetId, colSpan: number, rowSpan: number) => void;
579
- updateCellSettings: (id: WidgetId, flat: boolean) => void;
580
- onDragOver: (event: {
581
- row: number;
582
- col: number;
583
- }) => void;
584
- onDragEnter: (event: {
585
- row: number;
586
- col: number;
587
- }) => void;
588
- onDragExit: () => void;
589
- dragEnd: () => void;
590
- onCellDelete: (id: WidgetId) => void;
591
- onCellSettings: (event: {
592
- id: WidgetId;
593
- flat: boolean;
594
- }) => void;
595
- onCellResize: (event: {
596
- id: WidgetId;
597
- rowSpan: number;
598
- colSpan: number;
599
- }) => void;
600
- onCellDragStart: (dragData: DragData) => void;
601
- onCellResizeStart: (event: {
602
- cellId: CellId;
603
- direction: "horizontal" | "vertical";
604
- }) => void;
605
- onCellResizeMove: (event: {
606
- cellId: CellId;
607
- direction: "horizontal" | "vertical";
608
- delta: number;
609
- }) => void;
610
- onCellResizeEnd: (event: {
611
- cellId: CellId;
612
- apply: boolean;
613
- }) => void;
614
- onDragDrop(event: {
615
- data: DragData;
616
- target: {
617
- row: number;
618
- col: number;
619
- };
620
- }): void;
621
- /**
622
- * Get current widget states from all cell components.
623
- * Used during dashboard export to get live widget states.
624
- */
625
- getCurrentWidgetStates(): Map<string, unknown>;
626
- /**
627
- * Export dashboard with live widget states from current component instances.
628
- * This ensures the most up-to-date widget states are captured.
629
- */
630
- exportDashboard(): _dragonworks_ngx_dashboard.DashboardDataDto;
631
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardEditorComponent, never>;
632
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardEditorComponent, "ngx-dashboard-editor", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
633
- }
634
-
635
- declare class DashboardViewerComponent {
636
- #private;
637
- cellComponents: _angular_core.Signal<readonly CellComponent[]>;
638
- rows: _angular_core.InputSignal<number>;
639
- columns: _angular_core.InputSignal<number>;
640
- gutterSize: _angular_core.InputSignal<string>;
641
- gutters: _angular_core.Signal<number>;
642
- cells: _angular_core.Signal<_dragonworks_ngx_dashboard.CellData[]>;
643
- constructor();
644
- /**
645
- * Get current widget states from all cell components.
646
- * Used during dashboard export to get live widget states.
647
- */
648
- getCurrentWidgetStates(): Map<string, unknown>;
649
- /**
650
- * Export dashboard with live widget states from current component instances.
651
- * This ensures the most up-to-date widget states are captured.
652
- */
653
- exportDashboard(): _dragonworks_ngx_dashboard.DashboardDataDto;
654
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardViewerComponent, never>;
655
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DashboardViewerComponent, "ngx-dashboard-viewer", never, { "rows": { "alias": "rows"; "required": true; "isSignal": true; }; "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
656
- }
657
-
658
323
  interface WidgetDisplayItem extends WidgetMetadata {
659
324
  safeSvgIcon?: SafeHtml;
660
325
  }
@@ -699,17 +364,6 @@ declare abstract class CellSettingsDialogProvider {
699
364
  abstract openCellSettings(data: CellDisplayData): Promise<CellDisplayData | undefined>;
700
365
  }
701
366
 
702
- /**
703
- * Default cell dialog provider that uses Material Design dialogs.
704
- * Provides a modern, accessible dialog experience for cell settings.
705
- */
706
- declare class DefaultCellSettingsDialogProvider extends CellSettingsDialogProvider {
707
- private dialog;
708
- openCellSettings(data: CellDisplayData): Promise<CellDisplayData | undefined>;
709
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DefaultCellSettingsDialogProvider, never>;
710
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<DefaultCellSettingsDialogProvider>;
711
- }
712
-
713
367
  /**
714
368
  * Injection token for the cell dialog provider.
715
369
  * Use this to provide your custom dialog implementation.
@@ -723,5 +377,16 @@ declare class DefaultCellSettingsDialogProvider extends CellSettingsDialogProvid
723
377
  */
724
378
  declare const CELL_SETTINGS_DIALOG_PROVIDER: InjectionToken<CellSettingsDialogProvider>;
725
379
 
726
- export { CELL_SETTINGS_DIALOG_PROVIDER, CellIdUtils, CellSettingsDialogProvider, DEFAULT_RESERVED_SPACE, DashboardComponent, DashboardEditorComponent, DashboardService, DashboardViewerComponent, DefaultCellSettingsDialogProvider, WidgetIdUtils, WidgetListComponent, createDefaultDashboard, createEmptyDashboard, createFactoryFromComponent };
727
- export type { CellComponentPosition, CellData, CellDataDto, CellDisplayData, CellId, CellPosition, DashboardDataDto, DragData, ReservedSpace, Widget, WidgetComponentClass, WidgetFactory, WidgetId, WidgetMetadata };
380
+ /**
381
+ * Default cell dialog provider that uses Material Design dialogs.
382
+ * Provides a modern, accessible dialog experience for cell settings.
383
+ */
384
+ declare class DefaultCellSettingsDialogProvider extends CellSettingsDialogProvider {
385
+ private dialog;
386
+ openCellSettings(data: CellDisplayData): Promise<CellDisplayData | undefined>;
387
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DefaultCellSettingsDialogProvider, never>;
388
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DefaultCellSettingsDialogProvider>;
389
+ }
390
+
391
+ export { CELL_SETTINGS_DIALOG_PROVIDER, CellSettingsDialogProvider, DashboardComponent, DashboardService, DefaultCellSettingsDialogProvider, WidgetListComponent, createDefaultDashboard, createEmptyDashboard };
392
+ export type { CellDataDto, DashboardDataDto, ReservedSpace, Widget, WidgetMetadata };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dragonworks/ngx-dashboard",
3
- "version": "20.1.2",
3
+ "version": "20.1.4",
4
4
  "description": "Angular library for building drag-and-drop grid dashboards with resizable cells and customizable widgets",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.2.0",