eru-grid 0.0.26 → 0.0.27

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,9 +1,14 @@
1
1
  {
2
2
  "name": "eru-grid",
3
- "version": "0.0.26",
3
+ "version": "0.0.27",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.1.2",
6
- "@angular/core": "^21.1.2"
6
+ "@angular/core": "^21.1.2",
7
+ "@angular/cdk": "^21.1.2",
8
+ "@angular/material": "^21.1.2",
9
+ "@angular/forms": "^21.1.2",
10
+ "@angular/router": "^21.1.2",
11
+ "rxjs": "~7.8.0"
7
12
  },
8
13
  "dependencies": {
9
14
  "tslib": "^2.3.0"
@@ -1,6 +1,6 @@
1
1
  import * as eru_grid from 'eru-grid';
2
2
  import * as _angular_core from '@angular/core';
3
- import { OnInit, AfterViewInit, OnDestroy, QueryList, ElementRef, ChangeDetectorRef, Provider, EventEmitter, Signal } from '@angular/core';
3
+ import { OnInit, AfterViewInit, OnDestroy, QueryList, ElementRef, TemplateRef, ChangeDetectorRef, Provider, EventEmitter } from '@angular/core';
4
4
  import { FixedSizeVirtualScrollStrategy, CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
5
5
  import { MatDatepicker } from '@angular/material/datepicker';
6
6
 
@@ -60,12 +60,17 @@ interface GridFeatures {
60
60
  freezeField?: string;
61
61
  freezeHeader?: boolean;
62
62
  freezeGrandTotal?: boolean;
63
+ sortable?: boolean;
64
+ sortBar?: boolean;
63
65
  replaceZeroValue?: string;
64
66
  gridHeight?: number;
65
67
  allowSelection?: boolean;
66
68
  actionColumn?: boolean;
67
69
  actionColumnPosition?: 'before' | 'after';
68
70
  designMode?: boolean;
71
+ groupBar?: boolean;
72
+ headerRowHeight?: number;
73
+ dataRowHeight?: number;
69
74
  }
70
75
  interface GridStyles {
71
76
  subTotalStyle?: 'bold' | 'italic' | 'highlighted';
@@ -74,12 +79,16 @@ interface GridStyles {
74
79
  interface GridTokens {
75
80
  [key: string]: string;
76
81
  }
82
+ type GridPreset = 'default' | 'modern' | 'compact' | 'bold' | 'financial' | 'elevated' | 'custom';
83
+ declare const PRESET_MANAGED_FIELDS: (keyof GridFeatures)[];
84
+ declare const PRESET_CONFIG_DEFAULTS: Record<Exclude<GridPreset, 'custom'>, Partial<GridFeatures>>;
77
85
  interface GridConfiguration {
78
86
  mode: GridMode;
79
87
  config: GridFeatures;
80
88
  fields: Field[];
81
89
  styles?: GridStyles;
82
90
  tokens?: GridTokens;
91
+ preset?: GridPreset;
83
92
  pivot?: PivotConfiguration;
84
93
  data?: any[];
85
94
  columnConstraints?: {
@@ -119,6 +128,8 @@ interface Field {
119
128
  showSubtotals?: boolean;
120
129
  aggregationFunction?: AggregationFunction;
121
130
  enableDrilldown?: boolean;
131
+ open_status?: any[];
132
+ close_status?: any[];
122
133
  }
123
134
  type DataTypes = 'number' | 'textbox' | 'currency' | 'date' | 'datetime' | 'duration' | 'dropdown_single_select' | 'dropdown_multi_select' | 'location' | 'email' | 'people' | 'checkbox' | 'phone' | 'priority' | 'status' | 'progress' | 'attachment' | 'tag' | 'rating' | 'website';
124
135
  type AggregationFunction = 'sum' | 'count' | 'avg' | 'min' | 'max';
@@ -228,6 +239,23 @@ interface CellValueChange {
228
239
  rowId: string;
229
240
  row: any;
230
241
  }
242
+ /**
243
+ * Template context injected into a custom boardCardTemplate on EruGridComponent.
244
+ *
245
+ * Usage in a consumer app:
246
+ * <ng-template #myCard let-row let-columns="columns" let-group="group">
247
+ * <mat-card>{{ row?.entity_id }} — {{ group.title }}</mat-card>
248
+ * </ng-template>
249
+ * <eru-grid [boardCardTemplate]="myCard" [gridConfig]="cfg"></eru-grid>
250
+ */
251
+ interface BoardCardContext {
252
+ /** Row data for this card ($implicit — bind with let-row) */
253
+ $implicit: Row;
254
+ /** Visible columns configured for the board view */
255
+ columns: Field[];
256
+ /** The Kanban column (group) this card belongs to */
257
+ group: RowGroup;
258
+ }
231
259
 
232
260
  declare class PivotTransformService {
233
261
  private columnGroupState;
@@ -522,12 +550,18 @@ declare class EruGridStore {
522
550
  private readonly _columnResize;
523
551
  private readonly _columnReorder;
524
552
  private readonly _cellValueChange;
553
+ private readonly _sortColumns;
525
554
  private readonly _dataRequest;
526
555
  private readonly _requestQueue;
527
556
  readonly columns: _angular_core.Signal<Field[]>;
528
557
  readonly groups: _angular_core.Signal<RowGroup[]>;
529
558
  readonly rows: _angular_core.Signal<Row[]>;
530
559
  readonly groupRows: _angular_core.Signal<Map<string, Row[]>>;
560
+ /** Reactive summary: array of { groupId, count } for each group currently in the store. */
561
+ readonly groupRowsSummary: _angular_core.Signal<{
562
+ groupId: string;
563
+ count: number;
564
+ }[]>;
531
565
  readonly selectedRowIds: _angular_core.Signal<Set<string>>;
532
566
  readonly configuration: _angular_core.Signal<GridConfiguration>;
533
567
  readonly isLoading: _angular_core.Signal<boolean>;
@@ -542,6 +576,7 @@ declare class EruGridStore {
542
576
  readonly columnResize: _angular_core.Signal<ColumnResize | null>;
543
577
  readonly columnReorder: _angular_core.Signal<ColumnReorder | null>;
544
578
  readonly cellValueChange: _angular_core.Signal<CellValueChange | null>;
579
+ readonly sortColumns: _angular_core.Signal<string[]>;
545
580
  readonly dataRequest: _angular_core.Signal<RowDataRequest | null>;
546
581
  readonly dynamicDataRequest: _angular_core.Signal<string[] | null>;
547
582
  readonly dynamicData: _angular_core.Signal<Map<string, any> | null>;
@@ -611,7 +646,7 @@ declare class EruGridStore {
611
646
  setError(error: string | null): void;
612
647
  isRowSelected(rowId: string): boolean;
613
648
  isGroupSelected(groupId: string): boolean;
614
- getRowsForGroup(groupId: string): Row[];
649
+ getRowsForGroup(groupId: string | null | undefined): Row[];
615
650
  setGridMode(mode: GridMode): void;
616
651
  updateGridConfiguration(updates: Partial<GridConfiguration>): void;
617
652
  setPivotConfiguration(pivotConfig: PivotConfiguration): void;
@@ -706,6 +741,28 @@ declare class EruGridStore {
706
741
  * Get the row grand total for table mode
707
742
  */
708
743
  getRowGrandTotal(): RowGrandTotal | null;
744
+ /**
745
+ * Set sort direction for a column.
746
+ * If the column already has the requested direction, it is removed (toggle off).
747
+ * Otherwise, any existing sort on that column is replaced with the new direction.
748
+ */
749
+ setSortDirection(fieldName: string, direction: 'asc' | 'desc'): void;
750
+ /**
751
+ * Get the field name used for grouping, or null if no grouping
752
+ */
753
+ getGroupByField(): string | null;
754
+ /**
755
+ * Clear all sort columns
756
+ */
757
+ clearSort(): void;
758
+ /**
759
+ * Get the sort direction for a specific field: 'asc' | 'desc' | null
760
+ */
761
+ getSortDirection(fieldName: string): 'asc' | 'desc' | null;
762
+ /**
763
+ * Get the sort priority (1-based) for a field, or null if not sorted
764
+ */
765
+ getSortPriority(fieldName: string): number | null;
709
766
  /**
710
767
  * Set the dynamic data request
711
768
  */
@@ -779,6 +836,9 @@ declare class EruGridService {
779
836
  private eruGridStore;
780
837
  private themeService;
781
838
  private columnConstraintsService;
839
+ private _loadBoardFn;
840
+ /** Called once by EruGridComponent to register its loadBoardAll trigger. */
841
+ registerLoadBoard(fn: () => void): void;
782
842
  constructor(eruGridStore: EruGridStore, themeService: ThemeService, columnConstraintsService: ColumnConstraintsService);
783
843
  set_table_configuration(data: GridConfiguration): void;
784
844
  get columns(): _angular_core.Signal<Field[]>;
@@ -825,6 +885,7 @@ declare class EruGridService {
825
885
  get configuration(): _angular_core.Signal<GridConfiguration>;
826
886
  get isLoading(): _angular_core.Signal<boolean>;
827
887
  get error(): _angular_core.Signal<string | null>;
888
+ get sortColumns(): _angular_core.Signal<string[]>;
828
889
  /**
829
890
  * Check if a specific feature is enabled
830
891
  */
@@ -855,6 +916,8 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
855
916
  gridService: EruGridService;
856
917
  gridStore: EruGridStore;
857
918
  private elementRef;
919
+ private breakpointObserver;
920
+ readonly isSmViewport: _angular_core.WritableSignal<boolean>;
858
921
  private containerHeight;
859
922
  private resizeObserver;
860
923
  private groupIntersectionObserver;
@@ -866,6 +929,31 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
866
929
  headerScrollers?: QueryList<ElementRef<HTMLDivElement>>;
867
930
  gtScroller: ElementRef<HTMLDivElement>;
868
931
  gridConfig: GridConfiguration | undefined;
932
+ /**
933
+ * Optional custom template for board-mode cards.
934
+ * When provided, EruGridComponent renders this template for each card instead of the built-in card.
935
+ * The shared EruGridStore is used regardless — state (rows, groups, selection) is preserved
936
+ * across table / pivot / board mode switches.
937
+ *
938
+ * Template context: BoardCardContext
939
+ * - $implicit → Row (bind with let-row)
940
+ * - columns → Field[] (bind with let-columns="columns")
941
+ * - group → RowGroup (bind with let-group="group")
942
+ *
943
+ * Example:
944
+ * <ng-template #myCard let-row let-columns="columns" let-group="group">
945
+ * <mat-card>{{ row?.entity_id }} in {{ group.title }}</mat-card>
946
+ * </ng-template>
947
+ * <eru-grid [boardCardTemplate]="myCard" [gridConfig]="cfg"></eru-grid>
948
+ */
949
+ boardCardTemplate?: TemplateRef<BoardCardContext>;
950
+ /**
951
+ * Height in pixels of each board card slot.
952
+ * Must match the fixed height of the card rendered by boardCardTemplate (or the default card).
953
+ * CDK virtual scroll uses this to position items — mismatches cause overlap or gaps.
954
+ * Default: 208 (matches the built-in default card height).
955
+ */
956
+ boardCardHeight: number;
869
957
  initialMinHeight: number;
870
958
  initialTotalWidth: number;
871
959
  viewport: CdkVirtualScrollViewport;
@@ -882,6 +970,7 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
882
970
  currentPivotScrollIndex: _angular_core.WritableSignal<number>;
883
971
  firstDataRowIndex: _angular_core.WritableSignal<number>;
884
972
  private ngZone;
973
+ private rowSignalsCache;
885
974
  groupContentHeightsMap: _angular_core.Signal<Map<string, number>>;
886
975
  private _virtualRowspanCache;
887
976
  mode: _angular_core.Signal<eru_grid.GridMode>;
@@ -893,6 +982,11 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
893
982
  maxDepth: _angular_core.Signal<number>;
894
983
  subTotalStyle: _angular_core.Signal<"bold" | "italic" | "highlighted">;
895
984
  grandTotalStyle: _angular_core.Signal<"bold" | "italic" | "highlighted">;
985
+ isSortable: _angular_core.Signal<boolean>;
986
+ showSortBar: _angular_core.Signal<boolean>;
987
+ showGroupBar: _angular_core.Signal<boolean>;
988
+ headerRowHeight: _angular_core.Signal<number>;
989
+ dataRowHeight: _angular_core.Signal<number>;
896
990
  freezeHeader: _angular_core.Signal<boolean>;
897
991
  freezeGrandTotal: _angular_core.Signal<boolean>;
898
992
  grandTotalPosition: _angular_core.Signal<"before" | "after">;
@@ -1002,7 +1096,7 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
1002
1096
  trackByRowFn(index: number, row: any): string;
1003
1097
  trackByGroupFn(index: number, group: RowGroup): string;
1004
1098
  getRowsForGroup(groupId: string): Row[];
1005
- getRowsForGroupSignal(groupId: string): _angular_core.Signal<Row[]>;
1099
+ getRowsForGroupSignal(groupId: string | null | undefined): any;
1006
1100
  trackByHeaderFn(index: number, header: any): string;
1007
1101
  hasNestedHeaders(): boolean;
1008
1102
  getHeaderRows(): any[][];
@@ -1018,6 +1112,24 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
1018
1112
  toggleRowSelection(event: Event, row: any): void;
1019
1113
  toggleGroupSelection(event: Event, groupId: string): void;
1020
1114
  onActionClick(event: Event, row: any): void;
1115
+ onSortColumn(event: Event, column: Field, direction: 'asc' | 'desc'): void;
1116
+ getSortDirection(fieldName: string): 'asc' | 'desc' | null;
1117
+ getSortPriority(fieldName: string): number | null;
1118
+ /** Get column label from a sort entry (field name or -fieldName) */
1119
+ getColumnLabel(entry: string): string;
1120
+ /** Extract field name from sort entry */
1121
+ getFieldName(entry: string): string;
1122
+ /** Toggle direction of an existing sort chip (asc ↔ desc) */
1123
+ onBoardSortChipToggle(event: Event, entry: string): void;
1124
+ /** Remove a sort chip */
1125
+ onBoardSortChipRemove(event: Event, entry: string): void;
1126
+ /** Add a field from dropdown — defaults to asc */
1127
+ onBoardSortFieldSelect(column: Field): void;
1128
+ onBoardSortClear(): void;
1129
+ /** Get the field name used for grouping */
1130
+ groupByField: _angular_core.Signal<string | null>;
1131
+ /** Toggle sort direction on the group field (asc ↔ desc, never remove) */
1132
+ onGroupSortToggle(event: Event, direction: 'asc' | 'desc'): void;
1021
1133
  /**
1022
1134
  * Check if action column is enabled
1023
1135
  * @returns true if actionColumn is enabled, false otherwise (default: false)
@@ -1144,11 +1256,19 @@ declare class EruGridComponent implements OnInit, AfterViewInit, OnDestroy {
1144
1256
  readonly BOARD_CARD_ITEM_HEIGHT = 208;
1145
1257
  readonly isBoardMode: _angular_core.Signal<boolean>;
1146
1258
  readonly visibleBoardFields: _angular_core.Signal<Field[]>;
1259
+ readonly visibleColumns: _angular_core.Signal<Field[]>;
1260
+ readonly hiddenColumns: _angular_core.Signal<Field[]>;
1261
+ readonly hasHiddenColumns: _angular_core.Signal<boolean>;
1262
+ readonly expandedRows: _angular_core.WritableSignal<Set<string>>;
1263
+ rowExpandKey(row: any, index: number): string;
1264
+ isRowExpanded(row: any, index: number): boolean;
1265
+ toggleRowExpand(row: any, index: number, event?: Event): void;
1266
+ rowDetailColspan(): number;
1147
1267
  onBoardScrolledIndexChange(firstVisibleIndex: number, group: RowGroup): void;
1148
1268
  requestBoardRowsForGroup(group: RowGroup): void;
1149
1269
  loadBoardAll(): void;
1150
1270
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EruGridComponent, never>;
1151
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EruGridComponent, "eru-grid", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; }, {}, never, never, true, never>;
1271
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EruGridComponent, "eru-grid", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; "boardCardTemplate": { "alias": "boardCardTemplate"; "required": false; }; "boardCardHeight": { "alias": "boardCardHeight"; "required": false; }; }, {}, never, never, true, never>;
1152
1272
  }
1153
1273
  interface GroupItem {
1154
1274
  type: 'header' | 'row' | 'table-header' | 'row-place-holder' | 'ghost-loading';
@@ -1176,6 +1296,8 @@ declare class AttachmentComponent implements OnInit {
1176
1296
  isActive: _angular_core.InputSignal<boolean>;
1177
1297
  isDrillable: _angular_core.InputSignal<boolean>;
1178
1298
  columnWidth: _angular_core.InputSignal<number>;
1299
+ eruGridStore: _angular_core.InputSignal<EruGridStore | null>;
1300
+ private pendingViewRequests;
1179
1301
  valueChange: EventEmitter<string[] | null>;
1180
1302
  blur: EventEmitter<string[] | null>;
1181
1303
  focus: EventEmitter<void>;
@@ -1208,11 +1330,12 @@ declare class AttachmentComponent implements OnInit {
1208
1330
  processFile(file: File): void;
1209
1331
  uploadFile(base64String: string, fileName: string): void;
1210
1332
  viewFile(file: string, event?: Event): void;
1333
+ private openBase64InNewTab;
1211
1334
  deleteFile(file: string, event?: Event): void;
1212
1335
  trackByFile(index: number, file: string): string;
1213
1336
  getFileName(file: string): string;
1214
1337
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AttachmentComponent, never>;
1215
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AttachmentComponent, "eru-attachment", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "editModeChange": "editModeChange"; "fileAdded": "fileAdded"; "fileDeleted": "fileDeleted"; "fileViewed": "fileViewed"; }, never, never, true, never>;
1338
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AttachmentComponent, "eru-attachment", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; "eruGridStore": { "alias": "eruGridStore"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "editModeChange": "editModeChange"; "fileAdded": "fileAdded"; "fileDeleted": "fileDeleted"; "fileViewed": "fileViewed"; }, never, never, true, never>;
1216
1339
  }
1217
1340
 
1218
1341
  declare class CheckboxComponent {
@@ -1801,6 +1924,18 @@ declare class StatusComponent implements OnInit {
1801
1924
  editModeChange: EventEmitter<boolean>;
1802
1925
  currentValue: _angular_core.WritableSignal<string | null>;
1803
1926
  searchText: _angular_core.WritableSignal<string>;
1927
+ groupedOptions: _angular_core.Signal<{
1928
+ open: {
1929
+ value: any;
1930
+ label: any;
1931
+ color: any;
1932
+ }[];
1933
+ close: {
1934
+ value: any;
1935
+ label: any;
1936
+ color: any;
1937
+ }[];
1938
+ }>;
1804
1939
  filteredOptions: _angular_core.Signal<{
1805
1940
  value: any;
1806
1941
  label: any;
@@ -2037,39 +2172,6 @@ declare class WebsiteComponent implements OnInit {
2037
2172
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<WebsiteComponent, "eru-website", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "isActive": { "alias": "isActive"; "required": false; "isSignal": true; }; "isDrillable": { "alias": "isDrillable"; "required": false; "isSignal": true; }; "columnWidth": { "alias": "columnWidth"; "required": false; "isSignal": true; }; "fieldSize": { "alias": "fieldSize"; "required": false; "isSignal": true; }; "eruGridStore": { "alias": "eruGridStore"; "required": false; "isSignal": true; }; "externalError": { "alias": "externalError"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "blur": "blur"; "focus": "focus"; "drilldownClick": "drilldownClick"; "validationError": "validationError"; "editModeChange": "editModeChange"; }, never, never, true, never>;
2038
2173
  }
2039
2174
 
2040
- /** Height of each card item (card + bottom padding) — must match CSS .card-container height */
2041
- declare const BOARD_CARD_ITEM_HEIGHT = 208;
2042
- declare class BoardViewComponent implements OnInit, AfterViewInit {
2043
- gridStore: EruGridStore;
2044
- /** Pixel height of each card item, used by cdk-virtual-scroll-viewport [itemSize] */
2045
- readonly cardItemHeight = 208;
2046
- set gridConfig(config: any);
2047
- groups: Signal<RowGroup[]>;
2048
- columns: Signal<Field[]>;
2049
- visibleFields: Signal<Field[]>;
2050
- set_table_group(data: RowGroup[]): void;
2051
- setRowGrandTotal(grandTotal: any): void;
2052
- ngOnInit(): void;
2053
- ngAfterViewInit(): void;
2054
- private groupRowsSignals;
2055
- getRowsForGroupSignal(groupId: string): Signal<Row[]>;
2056
- trackByRowFn(index: number, row: Row): string;
2057
- /**
2058
- * CDK virtual scroll pagination trigger.
2059
- * Fired whenever the first visible item index changes.
2060
- * Loads the next page when the user scrolls within `threshold` items of the end.
2061
- */
2062
- onScrolledIndexChange(firstVisibleIndex: number, group: RowGroup): void;
2063
- onBoardScroll(_event: Event): void;
2064
- loadMoreAll(): void;
2065
- requestRowsForGroup(group: RowGroup): void;
2066
- addRowsForGroup(groupId: string, rows: Row[], hasMore: boolean): void;
2067
- onCardClick(_row: Row): void;
2068
- onActionClick(event: Event, row: Row): void;
2069
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BoardViewComponent, never>;
2070
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BoardViewComponent, "board-view", never, { "gridConfig": { "alias": "gridConfig"; "required": false; }; }, {}, never, never, true, never>;
2071
- }
2072
-
2073
2175
  declare class ThemeToggleComponent {
2074
2176
  private themeService;
2075
2177
  availableThemes: {
@@ -2085,5 +2187,5 @@ declare class ThemeToggleComponent {
2085
2187
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ThemeToggleComponent, "eru-theme-toggle", never, {}, {}, never, never, true, never>;
2086
2188
  }
2087
2189
 
2088
- export { AttachmentComponent, BOARD_CARD_ITEM_HEIGHT, BoardViewComponent, CheckboxComponent, ColumnConstraintsService, CurrencyComponent, CustomVirtualScrollStrategy, DateComponent, DatetimeComponent, DurationComponent, EmailComponent, EruGridComponent, EruGridService, EruGridStore, LocationComponent, MATERIAL_MODULES, MATERIAL_PROVIDERS, NumberComponent, PeopleComponent, PhoneComponent, PriorityComponent, ProgressComponent, RatingComponent, SelectComponent, StatusComponent, TagComponent, TextareaComponent, TextboxComponent, ThemeService, ThemeToggleComponent, WebsiteComponent };
2089
- export type { ActionClick, AggregationFunction, AttachmentConfig, CellValueChange, ColumnReorder, ColumnResize, ColumnWidthConstraints, CurrencyValidationResult, DataTypes, Drilldown, DurationValue, EmailValidationResult, Field, GridConfiguration, GridFeatures, GridMode, GridStyles, GridTokens, GroupItem$1 as GroupItem, LocationConfig, LocationValidationResult, NumberValidationResult, PeopleOption, PivotColumnGroupState, PivotColumnHeader, PivotConfiguration, PivotHeaderStructure, PivotMetadata, PivotResult, PivotRow, RatingConfig, Row, RowDataRequest, RowDataResponse, RowGrandTotal, RowGroup, TextareaValidationResult, TextboxValidationResult, Theme, WebsiteValidationResult };
2190
+ export { AttachmentComponent, CheckboxComponent, ColumnConstraintsService, CurrencyComponent, CustomVirtualScrollStrategy, DateComponent, DatetimeComponent, DurationComponent, EmailComponent, EruGridComponent, EruGridService, EruGridStore, LocationComponent, MATERIAL_MODULES, MATERIAL_PROVIDERS, NumberComponent, PRESET_CONFIG_DEFAULTS, PRESET_MANAGED_FIELDS, PeopleComponent, PhoneComponent, PriorityComponent, ProgressComponent, RatingComponent, SelectComponent, StatusComponent, TagComponent, TextareaComponent, TextboxComponent, ThemeService, ThemeToggleComponent, WebsiteComponent };
2191
+ export type { ActionClick, AggregationFunction, AttachmentConfig, BoardCardContext, CellValueChange, ColumnReorder, ColumnResize, ColumnWidthConstraints, CurrencyValidationResult, DataTypes, Drilldown, DurationValue, EmailValidationResult, Field, GridConfiguration, GridFeatures, GridMode, GridPreset, GridStyles, GridTokens, GroupItem$1 as GroupItem, LocationConfig, LocationValidationResult, NumberValidationResult, PeopleOption, PivotColumnGroupState, PivotColumnHeader, PivotConfiguration, PivotHeaderStructure, PivotMetadata, PivotResult, PivotRow, RatingConfig, Row, RowDataRequest, RowDataResponse, RowGrandTotal, RowGroup, TextareaValidationResult, TextboxValidationResult, Theme, WebsiteValidationResult };