@praxisui/page-builder 10.0.0-rc.6 → 10.0.0-rc.7

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-10-12T00:39:17.912Z",
3
+ "generatedAt": "2026-10-12T01:05:29.617Z",
4
4
  "packageName": "@praxisui/page-builder",
5
- "packageVersion": "10.0.0-rc.6",
5
+ "packageVersion": "10.0.0-rc.7",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 1,
@@ -31405,27 +31405,27 @@ class PraxisDashboardPage {
31405
31405
  asyncConfigStorage = inject(ASYNC_CONFIG_STORAGE, { optional: true });
31406
31406
  cdr = inject(ChangeDetectorRef);
31407
31407
  /** Chave identificadora do dashboard para fins de persistência (ex: 'hq-dashboard') */
31408
- pageKey;
31408
+ pageKey = input(undefined, ...(ngDevMode ? [{ debugName: "pageKey" }] : /* istanbul ignore next */ []));
31409
31409
  /** Definição de layout padrão governada de fábrica */
31410
- defaultDefinition;
31410
+ defaultDefinition = input(undefined, ...(ngDevMode ? [{ debugName: "defaultDefinition" }] : /* istanbul ignore next */ []));
31411
31411
  /** Contexto dinâmico de dados / expressões injetado nos widgets */
31412
- context;
31412
+ context = input(undefined, ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
31413
31413
  /** Título principal exibido na toolbar de governança */
31414
- title;
31414
+ title = input(undefined, ...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
31415
31415
  /** Subtítulo descritivo */
31416
- subtitle;
31416
+ subtitle = input(undefined, ...(ngDevMode ? [{ debugName: "subtitle" }] : /* istanbul ignore next */ []));
31417
31417
  /** Texto da badge de governança */
31418
- badge;
31418
+ badge = input(undefined, ...(ngDevMode ? [{ debugName: "badge" }] : /* istanbul ignore next */ []));
31419
31419
  /** Habilitar/desabilitar exibição da toolbar superior de governança */
31420
- showHeader = true;
31420
+ showHeader = input(true, ...(ngDevMode ? [{ debugName: "showHeader" }] : /* istanbul ignore next */ []));
31421
31421
  /** Permitir que o usuário acione o modo de customização */
31422
- enableCustomization;
31422
+ enableCustomization = input(undefined, ...(ngDevMode ? [{ debugName: "enableCustomization" }] : /* istanbul ignore next */ []));
31423
31423
  /** Exibir o botão de engrenagem / configurações de widget quando em edição */
31424
- showSettingsButton;
31424
+ showSettingsButton = input(undefined, ...(ngDevMode ? [{ debugName: "showSettingsButton" }] : /* istanbul ignore next */ []));
31425
31425
  /** Escopar o layout salvo por persona / usuário logado */
31426
- personaScoped;
31426
+ personaScoped = input(undefined, ...(ngDevMode ? [{ debugName: "personaScoped" }] : /* istanbul ignore next */ []));
31427
31427
  /** Sobrescrita explícita da chave de armazenamento */
31428
- storageKey;
31428
+ storageKey = input(undefined, ...(ngDevMode ? [{ debugName: "storageKey" }] : /* istanbul ignore next */ []));
31429
31429
  /** Notificação de alteração no layout da página */
31430
31430
  pageChange = new EventEmitter();
31431
31431
  /** Eventos emitidos por ações interativas de widgets */
@@ -31441,55 +31441,70 @@ class PraxisDashboardPage {
31441
31441
  effectivePageDefinition = signal({ widgets: [] }, ...(ngDevMode ? [{ debugName: "effectivePageDefinition" }] : /* istanbul ignore next */ []));
31442
31442
  // Resolução computada de inputs com fallback para rota Angular
31443
31443
  effectivePageKey = computed(() => {
31444
- return this.pageKey || this.route?.snapshot?.data?.['pageKey'] || 'default-dashboard';
31444
+ return this.pageKey() || this.route?.snapshot?.data?.['pageKey'] || 'default-dashboard';
31445
31445
  }, ...(ngDevMode ? [{ debugName: "effectivePageKey" }] : /* istanbul ignore next */ []));
31446
31446
  effectiveDefaultDefinition = computed(() => {
31447
- if (this.defaultDefinition)
31448
- return this.defaultDefinition;
31447
+ const def = this.defaultDefinition();
31448
+ if (def)
31449
+ return def;
31449
31450
  const fromRoute = this.route?.snapshot?.data?.['defaultDefinition'];
31450
31451
  if (fromRoute)
31451
31452
  return fromRoute;
31452
31453
  return { widgets: [] };
31453
31454
  }, ...(ngDevMode ? [{ debugName: "effectiveDefaultDefinition" }] : /* istanbul ignore next */ []));
31454
31455
  effectiveContext = computed(() => {
31455
- if (this.context !== undefined)
31456
- return this.context;
31456
+ const ctx = this.context();
31457
+ if (ctx !== undefined)
31458
+ return ctx;
31457
31459
  return this.route?.snapshot?.data?.['context'] || null;
31458
31460
  }, ...(ngDevMode ? [{ debugName: "effectiveContext" }] : /* istanbul ignore next */ []));
31459
31461
  effectiveTitle = computed(() => {
31460
- return this.title || this.route?.snapshot?.data?.['title'] || 'HQ TACTICAL OPERATIONAL MATRIX';
31462
+ return this.title() || this.route?.snapshot?.data?.['title'] || 'HQ TACTICAL OPERATIONAL MATRIX';
31461
31463
  }, ...(ngDevMode ? [{ debugName: "effectiveTitle" }] : /* istanbul ignore next */ []));
31462
31464
  effectiveBadge = computed(() => {
31463
- if (this.badge !== undefined)
31464
- return this.badge;
31465
+ const b = this.badge();
31466
+ if (b !== undefined)
31467
+ return b;
31465
31468
  return this.route?.snapshot?.data?.['badge'] ?? 'Praxis Page Builder 10.0 · Canvas Governed';
31466
31469
  }, ...(ngDevMode ? [{ debugName: "effectiveBadge" }] : /* istanbul ignore next */ []));
31467
31470
  effectiveEnableCustomization = computed(() => {
31468
- if (this.enableCustomization !== undefined)
31469
- return this.enableCustomization;
31471
+ const ec = this.enableCustomization();
31472
+ if (ec !== undefined)
31473
+ return ec;
31470
31474
  const fromRoute = this.route?.snapshot?.data?.['enableCustomization'];
31471
31475
  return fromRoute !== undefined ? fromRoute : true;
31472
31476
  }, ...(ngDevMode ? [{ debugName: "effectiveEnableCustomization" }] : /* istanbul ignore next */ []));
31473
31477
  effectiveShowSettingsButton = computed(() => {
31474
- if (this.showSettingsButton !== undefined)
31475
- return this.showSettingsButton;
31478
+ const sb = this.showSettingsButton();
31479
+ if (sb !== undefined)
31480
+ return sb;
31476
31481
  const fromRoute = this.route?.snapshot?.data?.['showSettingsButton'];
31477
31482
  return fromRoute !== undefined ? fromRoute : true;
31478
31483
  }, ...(ngDevMode ? [{ debugName: "effectiveShowSettingsButton" }] : /* istanbul ignore next */ []));
31479
31484
  effectivePersonaScoped = computed(() => {
31480
- if (this.personaScoped !== undefined)
31481
- return this.personaScoped;
31485
+ const ps = this.personaScoped();
31486
+ if (ps !== undefined)
31487
+ return ps;
31482
31488
  const fromRoute = this.route?.snapshot?.data?.['personaScoped'];
31483
31489
  return fromRoute !== undefined ? fromRoute : true;
31484
31490
  }, ...(ngDevMode ? [{ debugName: "effectivePersonaScoped" }] : /* istanbul ignore next */ []));
31485
31491
  effectiveStorageKey = computed(() => {
31486
- if (this.storageKey)
31487
- return this.storageKey;
31492
+ const sk = this.storageKey();
31493
+ if (sk)
31494
+ return sk;
31488
31495
  const fromRoute = this.route?.snapshot?.data?.['storageKey'];
31489
31496
  if (fromRoute)
31490
31497
  return fromRoute;
31491
31498
  return `dynamic-page:${this.effectivePageKey()}`;
31492
31499
  }, ...(ngDevMode ? [{ debugName: "effectiveStorageKey" }] : /* istanbul ignore next */ []));
31500
+ constructor() {
31501
+ effect(() => {
31502
+ const def = this.effectiveDefaultDefinition();
31503
+ if (!this.isLayoutCustomized()) {
31504
+ this.effectivePageDefinition.set(def);
31505
+ }
31506
+ });
31507
+ }
31493
31508
  ngOnInit() {
31494
31509
  this.effectivePageDefinition.set(this.effectiveDefaultDefinition());
31495
31510
  this.loadEffectiveLayout();
@@ -31689,10 +31704,10 @@ class PraxisDashboardPage {
31689
31704
  };
31690
31705
  }
31691
31706
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisDashboardPage, deps: [], target: i0.ɵɵFactoryTarget.Component });
31692
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisDashboardPage, isStandalone: true, selector: "praxis-dashboard-page", inputs: { pageKey: "pageKey", defaultDefinition: "defaultDefinition", context: "context", title: "title", subtitle: "subtitle", badge: "badge", showHeader: "showHeader", enableCustomization: "enableCustomization", showSettingsButton: "showSettingsButton", personaScoped: "personaScoped", storageKey: "storageKey" }, outputs: { pageChange: "pageChange", widgetEvent: "widgetEvent", customizingChange: "customizingChange", layoutReset: "layoutReset" }, ngImport: i0, template: `
31707
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.14", type: PraxisDashboardPage, isStandalone: true, selector: "praxis-dashboard-page", inputs: { pageKey: { classPropertyName: "pageKey", publicName: "pageKey", isSignal: true, isRequired: false, transformFunction: null }, defaultDefinition: { classPropertyName: "defaultDefinition", publicName: "defaultDefinition", isSignal: true, isRequired: false, transformFunction: null }, context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, showHeader: { classPropertyName: "showHeader", publicName: "showHeader", isSignal: true, isRequired: false, transformFunction: null }, enableCustomization: { classPropertyName: "enableCustomization", publicName: "enableCustomization", isSignal: true, isRequired: false, transformFunction: null }, showSettingsButton: { classPropertyName: "showSettingsButton", publicName: "showSettingsButton", isSignal: true, isRequired: false, transformFunction: null }, personaScoped: { classPropertyName: "personaScoped", publicName: "personaScoped", isSignal: true, isRequired: false, transformFunction: null }, storageKey: { classPropertyName: "storageKey", publicName: "storageKey", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pageChange: "pageChange", widgetEvent: "widgetEvent", customizingChange: "customizingChange", layoutReset: "layoutReset" }, ngImport: i0, template: `
31693
31708
  <div class="praxis-dashboard-page dashboard-page-wrapper">
31694
31709
  <!-- Toolbar de Governança do Dashboard -->
31695
- @if (showHeader) {
31710
+ @if (showHeader()) {
31696
31711
  <header class="dashboard-toolbar" data-testid="dashboard-governance-toolbar">
31697
31712
  <div class="toolbar-brand">
31698
31713
  <div class="status-indicator">
@@ -31786,7 +31801,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
31786
31801
  args: [{ selector: 'praxis-dashboard-page', standalone: true, imports: [CommonModule, DynamicPageBuilderComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
31787
31802
  <div class="praxis-dashboard-page dashboard-page-wrapper">
31788
31803
  <!-- Toolbar de Governança do Dashboard -->
31789
- @if (showHeader) {
31804
+ @if (showHeader()) {
31790
31805
  <header class="dashboard-toolbar" data-testid="dashboard-governance-toolbar">
31791
31806
  <div class="toolbar-brand">
31792
31807
  <div class="status-indicator">
@@ -31874,29 +31889,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
31874
31889
  </main>
31875
31890
  </div>
31876
31891
  `, styles: [":host{display:block;width:100%}.praxis-dashboard-page{display:flex;flex-direction:column;gap:16px;max-width:1540px;margin:0 auto;width:100%}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;border-radius:14px;background:color-mix(in oklab,var(--card, #161b22) 60%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border, rgba(255, 255, 255, .1));gap:16px;flex-wrap:wrap}.toolbar-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-indicator{display:inline-flex;align-items:center;gap:8px;padding:3px 10px;border-radius:9999px;background:color-mix(in oklab,var(--ready, #238636) 12%,transparent);border:1px solid color-mix(in oklab,var(--ready, #238636) 28%,transparent);color:var(--ready, #3fb950);font-size:.68rem;font-weight:700;letter-spacing:.08em}.dot-pulse{width:6px;height:6px;border-radius:50%;background-color:var(--ready, #3fb950);box-shadow:0 0 8px var(--ready, #3fb950);animation:praxis-pulse-glow 2s infinite ease-in-out}@keyframes praxis-pulse-glow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.governance-badge{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--muted-foreground, #8b949e);font-weight:600}.governance-badge span{font-size:15px;color:var(--cobalt, #58a6ff)}.layout-persistence-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:9999px;font-size:.7rem;font-weight:600;letter-spacing:.04em}.layout-persistence-badge.customized{background:color-mix(in oklab,var(--warning, #d29922) 15%,transparent);border:1px solid color-mix(in oklab,var(--warning, #d29922) 35%,transparent);color:var(--warning, #e3b341)}.layout-persistence-badge.governed{background:color-mix(in oklab,var(--cobalt, #58a6ff) 12%,transparent);border:1px solid color-mix(in oklab,var(--cobalt, #58a6ff) 30%,transparent);color:var(--cobalt, #58a6ff)}.layout-persistence-badge .saved-time{font-size:.65rem;opacity:.8}.pulse-indicator-amber{width:6px;height:6px;border-radius:50%;background-color:var(--warning, #d29922);box-shadow:0 0 6px var(--warning, #d29922)}.pulse-indicator-cyan{width:6px;height:6px;border-radius:50%;background-color:var(--cobalt, #58a6ff);box-shadow:0 0 6px var(--cobalt, #58a6ff)}.toolbar-actions{display:flex;align-items:center;gap:10px}.reset-layout-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;border:1px solid color-mix(in oklab,var(--destructive, #f85149) 35%,transparent);background:color-mix(in oklab,var(--destructive, #f85149) 10%,transparent);color:var(--destructive, #f85149);transition:all .2s cubic-bezier(.16,1,.3,1)}.reset-layout-btn:hover{background:var(--destructive, #f85149);color:#fff;border-color:var(--destructive, #f85149);transform:translateY(-1px)}.reset-layout-btn span{font-size:16px}.customize-toggle-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;border-radius:10px;font-size:.8rem;font-weight:600;cursor:pointer;border:1px solid var(--border, rgba(255, 255, 255, .15));background:color-mix(in oklab,var(--card, #161b22) 80%,transparent);color:var(--foreground, #c9d1d9);transition:all .2s cubic-bezier(.16,1,.3,1)}.customize-toggle-btn:hover{border-color:var(--primary, #58a6ff);color:var(--primary, #58a6ff);transform:translateY(-1px)}.customize-toggle-btn.active{background:var(--primary, #1f6feb);color:var(--primary-foreground, #fff);border-color:var(--primary, #1f6feb);box-shadow:0 0 16px color-mix(in oklab,var(--primary, #1f6feb) 40%,transparent)}.customize-toggle-btn span{font-size:18px}.dashboard-canvas-container{width:100%}\n"] }]
31877
- }], propDecorators: { pageKey: [{
31878
- type: Input
31879
- }], defaultDefinition: [{
31880
- type: Input
31881
- }], context: [{
31882
- type: Input
31883
- }], title: [{
31884
- type: Input
31885
- }], subtitle: [{
31886
- type: Input
31887
- }], badge: [{
31888
- type: Input
31889
- }], showHeader: [{
31890
- type: Input
31891
- }], enableCustomization: [{
31892
- type: Input
31893
- }], showSettingsButton: [{
31894
- type: Input
31895
- }], personaScoped: [{
31896
- type: Input
31897
- }], storageKey: [{
31898
- type: Input
31899
- }], pageChange: [{
31892
+ }], ctorParameters: () => [], propDecorators: { pageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageKey", required: false }] }], defaultDefinition: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultDefinition", required: false }] }], context: [{ type: i0.Input, args: [{ isSignal: true, alias: "context", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], showHeader: [{ type: i0.Input, args: [{ isSignal: true, alias: "showHeader", required: false }] }], enableCustomization: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableCustomization", required: false }] }], showSettingsButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSettingsButton", required: false }] }], personaScoped: [{ type: i0.Input, args: [{ isSignal: true, alias: "personaScoped", required: false }] }], storageKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "storageKey", required: false }] }], pageChange: [{
31900
31893
  type: Output
31901
31894
  }], widgetEvent: [{
31902
31895
  type: Output
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/page-builder",
3
- "version": "10.0.0-rc.6",
3
+ "version": "10.0.0-rc.7",
4
4
  "description": "Page and widget builder utilities for Praxis UI (grid, dynamic widgets, editors).",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
@@ -8,9 +8,9 @@
8
8
  "@angular/forms": "^21.0.0",
9
9
  "@angular/cdk": "^21.0.0",
10
10
  "@angular/material": "^21.0.0",
11
- "@praxisui/ai": "^10.0.0-rc.6",
12
- "@praxisui/core": "^10.0.0-rc.6",
13
- "@praxisui/settings-panel": "^10.0.0-rc.6",
11
+ "@praxisui/ai": "^10.0.0-rc.7",
12
+ "@praxisui/core": "^10.0.0-rc.7",
13
+ "@praxisui/settings-panel": "^10.0.0-rc.7",
14
14
  "rxjs": "~7.8.0"
15
15
  },
16
16
  "dependencies": {
@@ -2776,27 +2776,27 @@ declare class PraxisDashboardPage implements OnInit, OnDestroy {
2776
2776
  private readonly asyncConfigStorage;
2777
2777
  private readonly cdr;
2778
2778
  /** Chave identificadora do dashboard para fins de persistência (ex: 'hq-dashboard') */
2779
- pageKey?: string;
2779
+ readonly pageKey: _angular_core.InputSignal<string | undefined>;
2780
2780
  /** Definição de layout padrão governada de fábrica */
2781
- defaultDefinition?: WidgetPageDefinition;
2781
+ readonly defaultDefinition: _angular_core.InputSignal<WidgetPageDefinition | undefined>;
2782
2782
  /** Contexto dinâmico de dados / expressões injetado nos widgets */
2783
- context?: Record<string, unknown> | null;
2783
+ readonly context: _angular_core.InputSignal<Record<string, unknown> | null | undefined>;
2784
2784
  /** Título principal exibido na toolbar de governança */
2785
- title?: string;
2785
+ readonly title: _angular_core.InputSignal<string | undefined>;
2786
2786
  /** Subtítulo descritivo */
2787
- subtitle?: string;
2787
+ readonly subtitle: _angular_core.InputSignal<string | undefined>;
2788
2788
  /** Texto da badge de governança */
2789
- badge?: string;
2789
+ readonly badge: _angular_core.InputSignal<string | undefined>;
2790
2790
  /** Habilitar/desabilitar exibição da toolbar superior de governança */
2791
- showHeader: boolean;
2791
+ readonly showHeader: _angular_core.InputSignal<boolean>;
2792
2792
  /** Permitir que o usuário acione o modo de customização */
2793
- enableCustomization?: boolean;
2793
+ readonly enableCustomization: _angular_core.InputSignal<boolean | undefined>;
2794
2794
  /** Exibir o botão de engrenagem / configurações de widget quando em edição */
2795
- showSettingsButton?: boolean;
2795
+ readonly showSettingsButton: _angular_core.InputSignal<boolean | undefined>;
2796
2796
  /** Escopar o layout salvo por persona / usuário logado */
2797
- personaScoped?: boolean;
2797
+ readonly personaScoped: _angular_core.InputSignal<boolean | undefined>;
2798
2798
  /** Sobrescrita explícita da chave de armazenamento */
2799
- storageKey?: string;
2799
+ readonly storageKey: _angular_core.InputSignal<string | undefined>;
2800
2800
  /** Notificação de alteração no layout da página */
2801
2801
  readonly pageChange: EventEmitter<WidgetPageDefinition>;
2802
2802
  /** Eventos emitidos por ações interativas de widgets */
@@ -2818,6 +2818,7 @@ declare class PraxisDashboardPage implements OnInit, OnDestroy {
2818
2818
  readonly effectiveShowSettingsButton: _angular_core.Signal<boolean>;
2819
2819
  readonly effectivePersonaScoped: _angular_core.Signal<boolean>;
2820
2820
  readonly effectiveStorageKey: _angular_core.Signal<string>;
2821
+ constructor();
2821
2822
  ngOnInit(): void;
2822
2823
  ngOnDestroy(): void;
2823
2824
  toggleCustomization(): void;
@@ -2829,7 +2830,7 @@ declare class PraxisDashboardPage implements OnInit, OnDestroy {
2829
2830
  private loadEffectiveLayout;
2830
2831
  private mergeWithFactoryDefaults;
2831
2832
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisDashboardPage, never>;
2832
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisDashboardPage, "praxis-dashboard-page", never, { "pageKey": { "alias": "pageKey"; "required": false; }; "defaultDefinition": { "alias": "defaultDefinition"; "required": false; }; "context": { "alias": "context"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "badge": { "alias": "badge"; "required": false; }; "showHeader": { "alias": "showHeader"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "showSettingsButton": { "alias": "showSettingsButton"; "required": false; }; "personaScoped": { "alias": "personaScoped"; "required": false; }; "storageKey": { "alias": "storageKey"; "required": false; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "customizingChange": "customizingChange"; "layoutReset": "layoutReset"; }, never, ["[dashboard-toolbar-actions]"], true, never>;
2833
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisDashboardPage, "praxis-dashboard-page", never, { "pageKey": { "alias": "pageKey"; "required": false; "isSignal": true; }; "defaultDefinition": { "alias": "defaultDefinition"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "showHeader": { "alias": "showHeader"; "required": false; "isSignal": true; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; "isSignal": true; }; "showSettingsButton": { "alias": "showSettingsButton"; "required": false; "isSignal": true; }; "personaScoped": { "alias": "personaScoped"; "required": false; "isSignal": true; }; "storageKey": { "alias": "storageKey"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "widgetEvent": "widgetEvent"; "customizingChange": "customizingChange"; "layoutReset": "layoutReset"; }, never, ["[dashboard-toolbar-actions]"], true, never>;
2833
2834
  }
2834
2835
 
2835
2836
  export { ComponentPaletteDialogComponent, ConfirmDialogComponent, ConnectionEditorComponent, DynamicPageBuilderComponent, DynamicPageConfigEditorComponent, FloatingToolbarComponent, PAGE_BUILDER_AGENTIC_AUTHORING_OPTIONS, PAGE_BUILDER_AI_CAPABILITIES, PAGE_BUILDER_COMPONENT_CONTEXT_PACK, PAGE_BUILDER_WIDGET_AI_CATALOGS, PLACEHOLDER, PRAXIS_PAGE_BUILDER_AUTHORING_MANIFEST, PRAXIS_PAGE_BUILDER_COMPONENT_METADATA, PageBuilderAgenticAuthoringService, PageConfigEditorComponent, PraxisDashboardPage, TileToolbarComponent, UiCompositionResourcePreflightService, WidgetShellEditorComponent, clearWidgetAiCatalogs, compileUiCompositionPlan, getPageAiCatalog, getWidgetAiCapabilities, isComponentDocMeta, preflightUiCompositionPlan, preflightUiCompositionPlanResources, providePageBuilderWidgetAiCatalogs, providePraxisPageBuilderMetadata, providePraxisPageBuilderWidgets, registerWidgetAiCatalog, registerWidgetAiCatalogs, resolveUiCompositionPlanTemplate, validateUiCompositionPlan, verifyUiCompositionAuthoringSource };