@openmfp/ngx 0.18.13 → 0.20.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.
package/package.json CHANGED
@@ -1,24 +1,25 @@
1
1
  {
2
2
  "name": "@openmfp/ngx",
3
- "version": "0.18.13",
3
+ "version": "0.20.0",
4
+ "license": "Apache-2.0",
4
5
  "repository": {
5
6
  "type": "git",
6
7
  "url": "git+https://github.com/openmfp/webcomponents.git"
7
8
  },
8
9
  "dependencies": {
9
- "gridstack": "^13.0.2",
10
+ "gridstack": "^13.2.0",
10
11
  "tslib": "2.8.1"
11
12
  },
12
13
  "peerDependencies": {
13
- "@angular/animations": "^21.2.1",
14
- "@angular/common": "^21.2.1",
15
- "@angular/compiler": "^21.2.1",
16
- "@angular/core": "^21.2.1",
17
- "@angular/elements": "^21.2.1",
18
- "@angular/forms": "^21.2.1",
19
- "@angular/platform-browser": "^21.2.1",
20
- "@fundamental-ngx/ui5-webcomponents": "^0.59.1",
21
- "@fundamental-ngx/ui5-webcomponents-fiori": "^0.59.1",
14
+ "@angular/animations": "^21.2.1 || ^22.0.0",
15
+ "@angular/common": "^21.2.1 || ^22.0.0",
16
+ "@angular/compiler": "^21.2.1 || ^22.0.0",
17
+ "@angular/core": "^21.2.1 || ^22.0.0",
18
+ "@angular/elements": "^21.2.1 || ^22.0.0",
19
+ "@angular/forms": "^21.2.1 || ^22.0.0",
20
+ "@angular/platform-browser": "^21.2.1 || ^22.0.0",
21
+ "@fundamental-ngx/ui5-webcomponents": "^0.59.1 || ^0.64.0",
22
+ "@fundamental-ngx/ui5-webcomponents-fiori": "^0.59.1 || ^0.64.0",
22
23
  "jsonpath-plus": "^10.4.0",
23
24
  "rxjs": "^7.8.2"
24
25
  },
@@ -141,11 +141,13 @@ interface FieldDefinition {
141
141
  requirePermission?: string;
142
142
  }
143
143
 
144
- type DashboardLanguage = 'en' | 'de';
145
144
  declare const DASHBOARD_I18N_KEYS: {
145
+ readonly TITLE: "title";
146
+ readonly DESCRIPTION: "description";
147
+ readonly EDIT_HOME_BUTTON: "editHomeButton";
148
+ readonly EDIT_CARDS_BUTTON: "editCardsButton";
146
149
  readonly UNSAVED_CHANGES: "unsavedChanges";
147
150
  readonly EDIT_CARDS: "editCards";
148
- readonly EDIT_VIEW: "editView";
149
151
  readonly ACTIONS: "actions";
150
152
  readonly SAVE: "save";
151
153
  readonly CANCEL: "cancel";
@@ -154,22 +156,42 @@ declare const DASHBOARD_I18N_KEYS: {
154
156
  readonly DISCARD_CONFIRM_BODY: "discardConfirmBody";
155
157
  readonly UNSAVED_NAV_BODY: "unsavedNavBody";
156
158
  readonly NO_CARDS_AVAILABLE: "noCardsAvailable";
159
+ readonly EMPTY_STATE_TITLE: "emptyStateTitle";
160
+ readonly EMPTY_STATE_DESCRIPTION: "emptyStateDescription";
161
+ readonly EMPTY_STATE_ILLUSTRATION: "emptyStateIllustration";
157
162
  readonly REMOVE_SECTION: "removeSection";
158
163
  readonly REMOVE_CARD: "removeCard";
159
164
  readonly RESIZABLE: "resizable";
160
165
  };
161
166
  type DashboardI18nKey = (typeof DASHBOARD_I18N_KEYS)[keyof typeof DASHBOARD_I18N_KEYS];
167
+ /**
168
+ * The full set of dashboard chrome strings (toolbar buttons, dialogs, a11y
169
+ * labels). Client applications provide translated values through
170
+ * `DashboardConfig.i18n`; any key they omit falls back to `EN_DEFAULTS`.
171
+ */
172
+ type DashboardTranslations = Record<DashboardI18nKey, string>;
173
+ /**
174
+ * Built-in English strings. This is the only translation the library ships and
175
+ * the fallback used whenever a key is not supplied by the client through
176
+ * `DashboardConfig.i18n`.
177
+ */
178
+ declare const EN_DEFAULTS: DashboardTranslations;
162
179
 
163
180
  /**
164
- * Holds the dashboard's current language and resolves translation keys for
165
- * the dashboard chrome (toolbar buttons, dialogs, a11y labels). Provided at
166
- * the `Dashboard` component level so every nested dashboard component shares
167
- * the same language signal child components inject the same instance and
168
- * react to language changes automatically because `getTranslation` reads the
169
- * signal on every call.
181
+ * Resolves translation keys for the dashboard chrome (toolbar buttons,
182
+ * dialogs, a11y labels). Provided at the `Dashboard` component level so every
183
+ * nested dashboard component shares the same instance child components
184
+ * inject it and react to translation changes automatically because
185
+ * `getTranslation` reads the `overrides` signal on every call.
186
+ *
187
+ * The library ships English only (`EN_DEFAULTS`). Client applications supply
188
+ * translated strings through `DashboardConfig.i18n`, which the `Dashboard`
189
+ * component pushes into `overrides`; switching language is just the client
190
+ * swapping that object. Any key not present in the overrides falls back to the
191
+ * English default, and finally to the key itself.
170
192
  */
171
193
  declare class DashboardI18nService {
172
- readonly language: _angular_core.WritableSignal<DashboardLanguage>;
194
+ readonly overrides: _angular_core.WritableSignal<Partial<DashboardTranslations>>;
173
195
  getTranslation(key: DashboardI18nKey): string;
174
196
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DashboardI18nService, never>;
175
197
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<DashboardI18nService>;
@@ -241,16 +263,14 @@ interface DashboardButtonsSettings {
241
263
  }
242
264
  /** Top-level configuration for the `<mfp-dashboard>` component. */
243
265
  interface DashboardConfig {
244
- /** Dashboard title rendered in the toolbar. */
245
- title: string;
246
- /** Optional subtitle shown below the title. */
266
+ /** Dashboard title. Optional; overridden by `i18n.title` when that is not provided. */
267
+ title?: string;
268
+ /** Dashboard description. Optional; overridden by `i18n.description` when that is not provided. */
247
269
  description?: string;
248
270
  /** URL of the background image applied to the dashboard host element. */
249
271
  backgroundImageUrl?: string;
250
272
  /** Overrides for the built-in Edit View and Edit Cards toolbar buttons. */
251
273
  buttonsSettings?: DashboardButtonsSettings;
252
- /** Extra action buttons rendered in the toolbar alongside the built-in ones. */
253
- customActions?: ButtonSettings[];
254
274
  /** When `true`, shows the Edit View button in the toolbar, allowing the user to enter edit mode. */
255
275
  editable?: boolean;
256
276
  /** When `true`, the Edit View button is rendered before the custom actions instead of after. Defaults to `false`. */
@@ -291,12 +311,15 @@ declare class Dashboard implements OnInit, OnDestroy {
291
311
  private readonly hostEl;
292
312
  private readonly injector;
293
313
  private readonly sanitizer;
294
- protected readonly i18n: DashboardI18nService;
314
+ protected readonly i18nService: DashboardI18nService;
295
315
  config: _angular_core.InputSignal<DashboardConfig>;
296
316
  sections: _angular_core.ModelSignal<SectionConfig[]>;
297
317
  cards: _angular_core.ModelSignal<CardConfig[]>;
298
318
  availableCards: _angular_core.InputSignal<CardConfig[]>;
299
- language: _angular_core.InputSignal<DashboardLanguage>;
319
+ customActions: _angular_core.InputSignal<ButtonSettings[]>;
320
+ i18n: _angular_core.InputSignal<DashboardTranslations | null | undefined>;
321
+ loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
322
+ loadingDelay: _angular_core.InputSignalWithTransform<number, unknown>;
300
323
  readonly saved: _angular_core.OutputEmitterRef<{
301
324
  sections: SectionConfig[];
302
325
  cards: CardConfig[];
@@ -307,9 +330,12 @@ declare class Dashboard implements OnInit, OnDestroy {
307
330
  }>;
308
331
  readonly unsavedChangesChange: _angular_core.OutputEmitterRef<boolean>;
309
332
  protected readonly i18nKeys: {
333
+ readonly TITLE: "title";
334
+ readonly DESCRIPTION: "description";
335
+ readonly EDIT_HOME_BUTTON: "editHomeButton";
336
+ readonly EDIT_CARDS_BUTTON: "editCardsButton";
310
337
  readonly UNSAVED_CHANGES: "unsavedChanges";
311
338
  readonly EDIT_CARDS: "editCards";
312
- readonly EDIT_VIEW: "editView";
313
339
  readonly ACTIONS: "actions";
314
340
  readonly SAVE: "save";
315
341
  readonly CANCEL: "cancel";
@@ -318,6 +344,9 @@ declare class Dashboard implements OnInit, OnDestroy {
318
344
  readonly DISCARD_CONFIRM_BODY: "discardConfirmBody";
319
345
  readonly UNSAVED_NAV_BODY: "unsavedNavBody";
320
346
  readonly NO_CARDS_AVAILABLE: "noCardsAvailable";
347
+ readonly EMPTY_STATE_TITLE: "emptyStateTitle";
348
+ readonly EMPTY_STATE_DESCRIPTION: "emptyStateDescription";
349
+ readonly EMPTY_STATE_ILLUSTRATION: "emptyStateIllustration";
321
350
  readonly REMOVE_SECTION: "removeSection";
322
351
  readonly REMOVE_CARD: "removeCard";
323
352
  readonly RESIZABLE: "resizable";
@@ -338,10 +367,15 @@ declare class Dashboard implements OnInit, OnDestroy {
338
367
  width: string;
339
368
  height: string;
340
369
  } | null>;
370
+ dragOriginVisible: _angular_core.WritableSignal<boolean>;
371
+ protected readonly busyVisible: _angular_core.WritableSignal<boolean>;
341
372
  protected hasUnsavedChanges: _angular_core.Signal<boolean>;
342
373
  protected safeTitle: _angular_core.Signal<SafeHtml>;
343
374
  protected safeDescription: _angular_core.Signal<SafeHtml | null>;
344
375
  protected engineProfile: _angular_core.Signal<EngineProfile>;
376
+ protected keyboardNavigationActive: _angular_core.Signal<boolean>;
377
+ protected readonly cardAriaKeyshortcuts: "Shift+ArrowRight Shift+ArrowLeft Control+ArrowLeft Control+ArrowRight Control+ArrowUp Control+ArrowDown Control+Home Control+End Meta+ArrowLeft Meta+ArrowRight";
378
+ protected hasToolbarMenuContent: _angular_core.Signal<boolean>;
345
379
  protected gridStackEngine: _angular_core.Signal<typeof gridstack.GridStackEngine | undefined>;
346
380
  protected gridBreakpoints: _angular_core.Signal<Readonly<Required<Pick<gridstack.Breakpoint, "w" | "c">> & {
347
381
  layout: "compact" | "list" | "none";
@@ -352,7 +386,6 @@ declare class Dashboard implements OnInit, OnDestroy {
352
386
  '--dashboard-cols-lg': number;
353
387
  '--dashboard-cols-xl': number;
354
388
  }>;
355
- protected customActions: _angular_core.Signal<ButtonSettings[]>;
356
389
  protected addedCardsIds: _angular_core.Signal<Set<string>>;
357
390
  protected editViewButton: _angular_core.Signal<{
358
391
  text: string;
@@ -374,6 +407,8 @@ declare class Dashboard implements OnInit, OnDestroy {
374
407
  }>;
375
408
  protected sectionCards: _angular_core.Signal<(sectionId: string) => CardConfig[]>;
376
409
  protected looseCards: _angular_core.WritableSignal<CardConfig[]>;
410
+ protected isEmpty: _angular_core.Signal<boolean>;
411
+ protected isDashboardEditable: _angular_core.Signal<boolean | undefined>;
377
412
  protected gridOptions: _angular_core.Signal<GridStackOptions>;
378
413
  /** JSON snapshots of sections/cards taken on entering edit mode, used to detect changes. */
379
414
  private sectionsSnapshotJson;
@@ -381,6 +416,7 @@ declare class Dashboard implements OnInit, OnDestroy {
381
416
  private sectionsSnapshot;
382
417
  private cardsSnapshot;
383
418
  private gridStack;
419
+ private dragOriginPlaceholder;
384
420
  private addCardBtn;
385
421
  private resizeObserver?;
386
422
  private cardsPosition;
@@ -393,6 +429,12 @@ declare class Dashboard implements OnInit, OnDestroy {
393
429
  ngOnDestroy(): void;
394
430
  onMenuItemClick(actionId: string, event: Event): void;
395
431
  enterEditMode(): void;
432
+ /**
433
+ * Empty-state call to action: switch to edit mode and immediately surface the
434
+ * Edit Cards dialog, so a user starting from an empty home lands directly on
435
+ * the card picker instead of an empty grid.
436
+ */
437
+ enterEditModeAndEditCards(): void;
396
438
  saveEdit(): void;
397
439
  cancelEdit(): void;
398
440
  confirmDiscard(): void;
@@ -429,6 +471,10 @@ declare class Dashboard implements OnInit, OnDestroy {
429
471
  onUnsavedNavCancel(): void;
430
472
  private runPendingNavigation;
431
473
  private discardEdit;
474
+ private restoreGridLayoutFromCards;
475
+ private createGridLayoutFromCards;
476
+ onCardKeydown(event: KeyboardEvent, cardId: string): void;
477
+ private restoreCardFocus;
432
478
  removeSection(id: string): void;
433
479
  removeCard(id: string): void;
434
480
  openCardPanel(): void;
@@ -440,15 +486,18 @@ declare class Dashboard implements OnInit, OnDestroy {
440
486
  onDragStart(event: {
441
487
  el: Element;
442
488
  }): void;
489
+ onDrag(): void;
443
490
  onDragStop(): void;
444
491
  onGridChange(): void;
445
492
  private saveCardsPosition;
446
493
  private updateCardsPositions;
447
494
  private getZFlowEngine;
495
+ private createDragOriginClone;
496
+ private renderDragOriginPlaceholder;
448
497
  private updateCardsForBreakpoint;
449
498
  private changeCardSettingsForXlPage;
450
499
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<Dashboard, never>;
451
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<Dashboard, "mfp-dashboard", never, { "config": { "alias": "config"; "required": true; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "availableCards": { "alias": "availableCards"; "required": false; "isSignal": true; }; "language": { "alias": "language"; "required": false; "isSignal": true; }; }, { "sections": "sectionsChange"; "cards": "cardsChange"; "saved": "saved"; "actionButtonClick": "actionButtonClick"; "unsavedChangesChange": "unsavedChangesChange"; }, never, ["[slot=dashboard-subheader]"], true, never>;
500
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<Dashboard, "mfp-dashboard", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "sections": { "alias": "sections"; "required": false; "isSignal": true; }; "cards": { "alias": "cards"; "required": false; "isSignal": true; }; "availableCards": { "alias": "availableCards"; "required": false; "isSignal": true; }; "customActions": { "alias": "customActions"; "required": false; "isSignal": true; }; "i18n": { "alias": "i18n"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingDelay": { "alias": "loadingDelay"; "required": false; "isSignal": true; }; }, { "sections": "sectionsChange"; "cards": "cardsChange"; "saved": "saved"; "actionButtonClick": "actionButtonClick"; "unsavedChangesChange": "unsavedChangesChange"; }, never, ["[slot=dashboard-subheader]"], true, never>;
452
501
  }
453
502
 
454
503
  /**
@@ -528,7 +577,7 @@ declare class DeclarativeForm<T extends GenericResource> {
528
577
  private buildOutputValue;
529
578
  private buildEntryGroup;
530
579
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeclarativeForm<any>, never>;
531
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeclarativeForm<any>, "mfp-declarative-form", never, { "fields": { "alias": "fields"; "required": true; "isSignal": true; }; "initialValues": { "alias": "initialValues"; "required": false; "isSignal": true; }; "fieldErrors": { "alias": "fieldErrors"; "required": false; "isSignal": true; }; }, { "fieldChange": "fieldChange"; "formSubmit": "formSubmit"; "formValueChange": "formValueChange"; }, never, never, true, never>;
580
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeclarativeForm<any>, "mfp-declarative-form", never, { "fields": { "alias": "fields"; "required": false; "isSignal": true; }; "initialValues": { "alias": "initialValues"; "required": false; "isSignal": true; }; "fieldErrors": { "alias": "fieldErrors"; "required": false; "isSignal": true; }; }, { "fieldChange": "fieldChange"; "formSubmit": "formSubmit"; "formValueChange": "formValueChange"; }, never, never, true, never>;
532
581
  }
533
582
 
534
583
  /** Table column definition — extends `FieldDefinition` with optional column grouping. */
@@ -559,6 +608,9 @@ declare class DeclarativeTable<T extends GenericResource> {
559
608
  resources: _angular_core.InputSignal<T[]>;
560
609
  trackByPath: _angular_core.InputSignal<string>;
561
610
  permissions: _angular_core.InputSignal<Record<string, string[]> | undefined>;
611
+ loading: _angular_core.InputSignal<boolean>;
612
+ loadingDelay: _angular_core.InputSignal<number>;
613
+ error: _angular_core.InputSignal<boolean>;
562
614
  totalItemsCount: _angular_core.InputSignal<number | undefined>;
563
615
  paginationLimit: _angular_core.InputSignal<number>;
564
616
  hasMore: _angular_core.InputSignal<boolean>;
@@ -571,6 +623,7 @@ declare class DeclarativeTable<T extends GenericResource> {
571
623
  readonly loadMoreResources: _angular_core.OutputEmitterRef<void>;
572
624
  readonly paginationLimitChanged: _angular_core.OutputEmitterRef<number>;
573
625
  readonly pageChange: _angular_core.OutputEmitterRef<number>;
626
+ readonly retry: _angular_core.OutputEmitterRef<void>;
574
627
  columnTrackBy: (column: TableFieldDefinition, index: number) => string | number | string[];
575
628
  rowTrackBy: (_index: number, item: T) => unknown;
576
629
  viewColumns: _angular_core.Signal<ProcessedTableFieldDefinition[]>;
@@ -587,7 +640,7 @@ declare class DeclarativeTable<T extends GenericResource> {
587
640
  nextPage: () => void;
588
641
  lastPage: () => void;
589
642
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeclarativeTable<any>, never>;
590
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeclarativeTable<any>, "mfp-declarative-table", never, { "columns": { "alias": "columns"; "required": true; "isSignal": true; }; "resources": { "alias": "resources"; "required": true; "isSignal": true; }; "trackByPath": { "alias": "trackByPath"; "required": false; "isSignal": true; }; "permissions": { "alias": "permissions"; "required": false; "isSignal": true; }; "totalItemsCount": { "alias": "totalItemsCount"; "required": false; "isSignal": true; }; "paginationLimit": { "alias": "paginationLimit"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "loadMode": { "alias": "loadMode"; "required": false; "isSignal": true; }; "loadMoreButtonText": { "alias": "loadMoreButtonText"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "buttonClick": "buttonClick"; "tableRowClicked": "tableRowClicked"; "loadMoreResources": "loadMoreResources"; "paginationLimitChanged": "paginationLimitChanged"; "pageChange": "pageChange"; }, never, never, true, never>;
643
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeclarativeTable<any>, "mfp-declarative-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "trackByPath": { "alias": "trackByPath"; "required": false; "isSignal": true; }; "permissions": { "alias": "permissions"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingDelay": { "alias": "loadingDelay"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "totalItemsCount": { "alias": "totalItemsCount"; "required": false; "isSignal": true; }; "paginationLimit": { "alias": "paginationLimit"; "required": false; "isSignal": true; }; "hasMore": { "alias": "hasMore"; "required": false; "isSignal": true; }; "loadMode": { "alias": "loadMode"; "required": false; "isSignal": true; }; "loadMoreButtonText": { "alias": "loadMoreButtonText"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "currentPage": { "alias": "currentPage"; "required": false; "isSignal": true; }; }, { "buttonClick": "buttonClick"; "tableRowClicked": "tableRowClicked"; "loadMoreResources": "loadMoreResources"; "paginationLimitChanged": "paginationLimitChanged"; "pageChange": "pageChange"; "retry": "retry"; }, never, never, true, never>;
591
644
  }
592
645
 
593
646
  /** Configuration for the create/edit resource form rendered inside the table card dialogs. */
@@ -764,7 +817,10 @@ declare class DeleteConfirmationDialog {
764
817
  declare class DeclarativeTableCard<R extends GenericResource> {
765
818
  resources: _angular_core.InputSignal<R[]>;
766
819
  permissions: _angular_core.InputSignal<Record<string, string[]> | undefined>;
767
- config: _angular_core.InputSignal<TableCardConfig<R>>;
820
+ loading: _angular_core.InputSignal<boolean>;
821
+ loadingDelay: _angular_core.InputSignal<number>;
822
+ error: _angular_core.InputSignal<boolean>;
823
+ config: _angular_core.InputSignal<TableCardConfig<R> | undefined>;
768
824
  createFormState: _angular_core.InputSignal<TableCardFormState>;
769
825
  editFormState: _angular_core.InputSignal<TableCardFormState>;
770
826
  readonly actionButtonClick: _angular_core.OutputEmitterRef<ResourceFieldButtonClickEvent<R>>;
@@ -772,6 +828,7 @@ declare class DeclarativeTableCard<R extends GenericResource> {
772
828
  readonly loadMoreResources: _angular_core.OutputEmitterRef<void>;
773
829
  readonly paginationLimitChanged: _angular_core.OutputEmitterRef<number>;
774
830
  readonly pageChange: _angular_core.OutputEmitterRef<number>;
831
+ readonly retry: _angular_core.OutputEmitterRef<void>;
775
832
  readonly searchChanged: _angular_core.OutputEmitterRef<string>;
776
833
  readonly createFieldChange: _angular_core.OutputEmitterRef<FormFieldChangeEvent>;
777
834
  readonly editFieldChange: _angular_core.OutputEmitterRef<{
@@ -792,7 +849,7 @@ declare class DeclarativeTableCard<R extends GenericResource> {
792
849
  protected pendingResource: _angular_core.WritableSignal<R | null>;
793
850
  protected resolvedCreateFields: _angular_core.WritableSignal<FormFieldDefinition[]>;
794
851
  protected resolvedEditFields: _angular_core.WritableSignal<FormFieldDefinition[]>;
795
- protected tableConfig: _angular_core.Signal<_openmfp_ngx.TableConfig>;
852
+ protected tableConfig: _angular_core.Signal<_openmfp_ngx.TableConfig | undefined>;
796
853
  protected header: _angular_core.Signal<string | undefined>;
797
854
  protected headerTooltip: _angular_core.Signal<string | undefined>;
798
855
  protected createFormConfig: _angular_core.Signal<_openmfp_ngx.ResourceFormConfig | undefined>;
@@ -824,7 +881,7 @@ declare class DeclarativeTableCard<R extends GenericResource> {
824
881
  onDeleteSubmit(): void;
825
882
  private buildInitialValues;
826
883
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DeclarativeTableCard<any>, never>;
827
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeclarativeTableCard<any>, "mfp-declarative-table-card", never, { "resources": { "alias": "resources"; "required": true; "isSignal": true; }; "permissions": { "alias": "permissions"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": true; "isSignal": true; }; "createFormState": { "alias": "createFormState"; "required": false; "isSignal": true; }; "editFormState": { "alias": "editFormState"; "required": false; "isSignal": true; }; }, { "actionButtonClick": "actionButtonClick"; "tableRowClicked": "tableRowClicked"; "loadMoreResources": "loadMoreResources"; "paginationLimitChanged": "paginationLimitChanged"; "pageChange": "pageChange"; "searchChanged": "searchChanged"; "createFieldChange": "createFieldChange"; "editFieldChange": "editFieldChange"; "createSubmit": "createSubmit"; "editSubmit": "editSubmit"; "deleteSubmit": "deleteSubmit"; "filterTabChanged": "filterTabChanged"; }, never, never, true, never>;
884
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DeclarativeTableCard<any>, "mfp-declarative-table-card", never, { "resources": { "alias": "resources"; "required": false; "isSignal": true; }; "permissions": { "alias": "permissions"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingDelay": { "alias": "loadingDelay"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "createFormState": { "alias": "createFormState"; "required": false; "isSignal": true; }; "editFormState": { "alias": "editFormState"; "required": false; "isSignal": true; }; }, { "actionButtonClick": "actionButtonClick"; "tableRowClicked": "tableRowClicked"; "loadMoreResources": "loadMoreResources"; "paginationLimitChanged": "paginationLimitChanged"; "pageChange": "pageChange"; "retry": "retry"; "searchChanged": "searchChanged"; "createFieldChange": "createFieldChange"; "editFieldChange": "editFieldChange"; "createSubmit": "createSubmit"; "editSubmit": "editSubmit"; "deleteSubmit": "deleteSubmit"; "filterTabChanged": "filterTabChanged"; }, never, never, true, never>;
828
885
  }
829
886
 
830
887
  declare class ResourceFormDialog {
@@ -866,12 +923,15 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
866
923
  cssRules: _angular_core.Signal<Partial<CSSStyleDeclaration>>;
867
924
  cssStyles: _angular_core.Signal<{
868
925
  [x: number]: string | undefined;
926
+ [Symbol.iterator]?: (() => ArrayIterator<string>) | undefined;
869
927
  accentColor?: string | undefined;
870
928
  alignContent?: string | undefined;
871
929
  alignItems?: string | undefined;
872
930
  alignSelf?: string | undefined;
873
931
  alignmentBaseline?: string | undefined;
874
932
  all?: string | undefined;
933
+ anchorName?: string | undefined;
934
+ anchorScope?: string | undefined;
875
935
  animation?: string | undefined;
876
936
  animationComposition?: string | undefined;
877
937
  animationDelay?: string | undefined;
@@ -881,6 +941,10 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
881
941
  animationIterationCount?: string | undefined;
882
942
  animationName?: string | undefined;
883
943
  animationPlayState?: string | undefined;
944
+ animationRange?: string | undefined;
945
+ animationRangeEnd?: string | undefined;
946
+ animationRangeStart?: string | undefined;
947
+ animationTimeline?: string | undefined;
884
948
  animationTimingFunction?: string | undefined;
885
949
  appearance?: string | undefined;
886
950
  aspectRatio?: string | undefined;
@@ -1004,7 +1068,6 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1004
1068
  counterReset?: string | undefined;
1005
1069
  counterSet?: string | undefined;
1006
1070
  cssFloat?: string | undefined;
1007
- cssText?: string | undefined;
1008
1071
  cursor?: string | undefined;
1009
1072
  cx?: string | undefined;
1010
1073
  cy?: string | undefined;
@@ -1012,7 +1075,9 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1012
1075
  direction?: string | undefined;
1013
1076
  display?: string | undefined;
1014
1077
  dominantBaseline?: string | undefined;
1078
+ dynamicRangeLimit?: string | undefined;
1015
1079
  emptyCells?: string | undefined;
1080
+ fieldSizing?: string | undefined;
1016
1081
  fill?: string | undefined;
1017
1082
  fillOpacity?: string | undefined;
1018
1083
  fillRule?: string | undefined;
@@ -1031,6 +1096,7 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1031
1096
  fontFamily?: string | undefined;
1032
1097
  fontFeatureSettings?: string | undefined;
1033
1098
  fontKerning?: string | undefined;
1099
+ fontLanguageOverride?: string | undefined;
1034
1100
  fontOpticalSizing?: string | undefined;
1035
1101
  fontPalette?: string | undefined;
1036
1102
  fontSize?: string | undefined;
@@ -1045,6 +1111,7 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1045
1111
  fontVariantAlternates?: string | undefined;
1046
1112
  fontVariantCaps?: string | undefined;
1047
1113
  fontVariantEastAsian?: string | undefined;
1114
+ fontVariantEmoji?: string | undefined;
1048
1115
  fontVariantLigatures?: string | undefined;
1049
1116
  fontVariantNumeric?: string | undefined;
1050
1117
  fontVariantPosition?: string | undefined;
@@ -1089,7 +1156,6 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1089
1156
  justifyItems?: string | undefined;
1090
1157
  justifySelf?: string | undefined;
1091
1158
  left?: string | undefined;
1092
- length?: number | undefined;
1093
1159
  letterSpacing?: string | undefined;
1094
1160
  lightingColor?: string | undefined;
1095
1161
  lineBreak?: string | undefined;
@@ -1124,6 +1190,7 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1124
1190
  maskSize?: string | undefined;
1125
1191
  maskType?: string | undefined;
1126
1192
  mathDepth?: string | undefined;
1193
+ mathShift?: string | undefined;
1127
1194
  mathStyle?: string | undefined;
1128
1195
  maxBlockSize?: string | undefined;
1129
1196
  maxHeight?: string | undefined;
@@ -1179,7 +1246,6 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1179
1246
  pageBreakBefore?: string | undefined;
1180
1247
  pageBreakInside?: string | undefined;
1181
1248
  paintOrder?: string | undefined;
1182
- parentRule?: CSSRule | null | undefined;
1183
1249
  perspective?: string | undefined;
1184
1250
  perspectiveOrigin?: string | undefined;
1185
1251
  placeContent?: string | undefined;
@@ -1187,6 +1253,12 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1187
1253
  placeSelf?: string | undefined;
1188
1254
  pointerEvents?: string | undefined;
1189
1255
  position?: string | undefined;
1256
+ positionAnchor?: string | undefined;
1257
+ positionArea?: string | undefined;
1258
+ positionTry?: string | undefined;
1259
+ positionTryFallbacks?: string | undefined;
1260
+ positionTryOrder?: string | undefined;
1261
+ positionVisibility?: string | undefined;
1190
1262
  printColorAdjust?: string | undefined;
1191
1263
  quotes?: string | undefined;
1192
1264
  r?: string | undefined;
@@ -1225,6 +1297,9 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1225
1297
  scrollSnapAlign?: string | undefined;
1226
1298
  scrollSnapStop?: string | undefined;
1227
1299
  scrollSnapType?: string | undefined;
1300
+ scrollTimeline?: string | undefined;
1301
+ scrollTimelineAxis?: string | undefined;
1302
+ scrollTimelineName?: string | undefined;
1228
1303
  scrollbarColor?: string | undefined;
1229
1304
  scrollbarGutter?: string | undefined;
1230
1305
  scrollbarWidth?: string | undefined;
@@ -1247,6 +1322,7 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1247
1322
  textAlign?: string | undefined;
1248
1323
  textAlignLast?: string | undefined;
1249
1324
  textAnchor?: string | undefined;
1325
+ textAutospace?: string | undefined;
1250
1326
  textBox?: string | undefined;
1251
1327
  textBoxEdge?: string | undefined;
1252
1328
  textBoxTrim?: string | undefined;
@@ -1262,6 +1338,7 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1262
1338
  textEmphasisPosition?: string | undefined;
1263
1339
  textEmphasisStyle?: string | undefined;
1264
1340
  textIndent?: string | undefined;
1341
+ textJustify?: string | undefined;
1265
1342
  textOrientation?: string | undefined;
1266
1343
  textOverflow?: string | undefined;
1267
1344
  textRendering?: string | undefined;
@@ -1272,6 +1349,7 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1272
1349
  textWrap?: string | undefined;
1273
1350
  textWrapMode?: string | undefined;
1274
1351
  textWrapStyle?: string | undefined;
1352
+ timelineScope?: string | undefined;
1275
1353
  top?: string | undefined;
1276
1354
  touchAction?: string | undefined;
1277
1355
  transform?: string | undefined;
@@ -1289,6 +1367,10 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1289
1367
  userSelect?: string | undefined;
1290
1368
  vectorEffect?: string | undefined;
1291
1369
  verticalAlign?: string | undefined;
1370
+ viewTimeline?: string | undefined;
1371
+ viewTimelineAxis?: string | undefined;
1372
+ viewTimelineInset?: string | undefined;
1373
+ viewTimelineName?: string | undefined;
1292
1374
  viewTransitionClass?: string | undefined;
1293
1375
  viewTransitionName?: string | undefined;
1294
1376
  visibility?: string | undefined;
@@ -1375,12 +1457,14 @@ declare class ResourceField<T extends GenericResource, F extends FieldDefinition
1375
1457
  y?: string | undefined;
1376
1458
  zIndex?: string | undefined;
1377
1459
  zoom?: string | undefined;
1460
+ cssText?: string | undefined;
1461
+ length?: number | undefined;
1462
+ parentRule?: CSSRule | null | undefined;
1378
1463
  getPropertyPriority?: ((property: string) => string) | undefined;
1379
1464
  getPropertyValue?: ((property: string) => string) | undefined;
1380
1465
  item?: ((index: number) => string) | undefined;
1381
1466
  removeProperty?: ((property: string) => string) | undefined;
1382
1467
  setProperty?: ((property: string, value: string | null, priority?: string) => void) | undefined;
1383
- [Symbol.iterator]?: (() => ArrayIterator<string>) | undefined;
1384
1468
  }>;
1385
1469
  displayValue: _angular_core.Signal<string>;
1386
1470
  isBoolLike: _angular_core.Signal<boolean>;
@@ -1503,5 +1587,5 @@ declare class MockCard {
1503
1587
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MockCard, "mfp-mock-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1504
1588
  }
1505
1589
 
1506
- export { BooleanValue, CARD_TYPES, Dashboard, DeclarativeForm, DeclarativeTable, DeclarativeTableCard, DeleteConfirmationDialog, Favorites, LinkValue, MockCard, ResourceField, ResourceFormDialog, SanitizeHtmlPipe, SecretValue, ServiceStatusCard, TagListValue, VisitedServiceCard, WhatsNew, defineDashboardElementMethods };
1507
- export type { ButtonSettings, CardConfig, CardsType, CssRule, DashboardButtonsSettings, DashboardConfig, DeleteResourceConfirmationConfig, FieldDefinition, FieldFilterDefinition, FormFieldChangeEvent, FormFieldDefinition, FormFieldErrors, GenericResource, IconDesignType, ModalSettings, MountCfg, PropertyField, ResourceFieldButtonClickEvent, ResourceFormConfig, RuleCondition, SectionConfig, ServiceStatusItem, ServiceStatusValue, TableCardButtonSettings, TableCardConfig, TableCardFormState, TableCardSearchConfig, TableConfig, TableFieldDefinition, TagSettings, TransformType, UiSettings, ValueRule };
1590
+ export { BooleanValue, CARD_TYPES, DASHBOARD_I18N_KEYS, Dashboard, DashboardI18nService, DeclarativeForm, DeclarativeTable, DeclarativeTableCard, DeleteConfirmationDialog, EN_DEFAULTS, Favorites, LinkValue, MockCard, ResourceField, ResourceFormDialog, SanitizeHtmlPipe, SecretValue, ServiceStatusCard, TagListValue, VisitedServiceCard, WhatsNew, defineDashboardElementMethods };
1591
+ export type { ButtonSettings, CardConfig, CardsType, CssRule, DashboardButtonsSettings, DashboardConfig, DashboardI18nKey, DashboardTranslations, DeleteResourceConfirmationConfig, FieldDefinition, FieldFilterDefinition, FormFieldChangeEvent, FormFieldDefinition, FormFieldErrors, GenericResource, IconDesignType, ModalSettings, MountCfg, PropertyField, ResourceFieldButtonClickEvent, ResourceFormConfig, RuleCondition, SectionConfig, ServiceStatusItem, ServiceStatusValue, TableCardButtonSettings, TableCardConfig, TableCardFormState, TableCardSearchConfig, TableConfig, TableFieldDefinition, TagSettings, TransformType, UiSettings, ValueRule };