@praxisui/expansion 8.0.0-beta.2 → 8.0.0-beta.21

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,19 +1,24 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnChanges, OnInit, EventEmitter, QueryList, SimpleChanges, Provider } from '@angular/core';
2
+ import { OnChanges, OnDestroy, OnInit, EventEmitter, QueryList, SimpleChanges, AfterViewInit, Provider } from '@angular/core';
3
3
  import { FormGroup } from '@angular/forms';
4
4
  import { MatAccordionDisplayMode, MatAccordionTogglePosition, MatExpansionPanelDefaultOptions, MatAccordion, MatExpansionPanel } from '@angular/material/expansion';
5
- import { AiCapability, FieldMetadata, WidgetDefinition, WidgetEventEnvelope, ComponentDocMeta, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
5
+ import { AiCapability, FieldMetadata, WidgetDefinition, WidgetEventEnvelope, SettingsValueProvider as SettingsValueProvider$1, ComponentDocMeta, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, ComponentAuthoringManifest } from '@praxisui/core';
6
6
  import { BehaviorSubject } from 'rxjs';
7
- import { BaseAiAdapter, PatchResult } from '@praxisui/ai';
7
+ import { BaseAiAdapter, PatchResult, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage, PraxisAssistantShellContextItem } from '@praxisui/ai';
8
8
  import { SettingsValueProvider } from '@praxisui/settings-panel';
9
9
 
10
10
  declare class ExpansionAiAdapter extends BaseAiAdapter<ExpansionMetadata> {
11
11
  private expansion;
12
+ componentId: string;
13
+ componentType: string;
12
14
  componentName: string;
13
15
  constructor(expansion: PraxisExpansion);
14
16
  getCurrentConfig(): ExpansionMetadata;
15
17
  getCapabilities(): AiCapability[];
16
18
  getRuntimeState(): Record<string, any>;
19
+ getDataProfile(): Record<string, any>;
20
+ getSchemaFields(): Array<Record<string, any>>;
21
+ getAuthoringContext(): Record<string, any>;
17
22
  createSnapshot(): ExpansionMetadata;
18
23
  restoreSnapshot(snapshot: ExpansionMetadata): Promise<void>;
19
24
  applyPatch(patch: Partial<ExpansionMetadata>): Promise<PatchResult>;
@@ -89,6 +94,7 @@ interface PanelMetadata {
89
94
  id?: string;
90
95
  title: string;
91
96
  description?: string;
97
+ icon?: string;
92
98
  disabled?: boolean;
93
99
  expanded?: boolean;
94
100
  hideToggle?: boolean;
@@ -102,7 +108,7 @@ interface PanelMetadata {
102
108
  action?: string;
103
109
  }>;
104
110
  }
105
- declare class PraxisExpansion implements OnChanges, OnInit {
111
+ declare class PraxisExpansion implements OnChanges, OnDestroy, OnInit {
106
112
  config?: ExpansionMetadata | null;
107
113
  expansionId: string;
108
114
  componentInstanceId?: string;
@@ -143,9 +149,20 @@ declare class PraxisExpansion implements OnChanges, OnInit {
143
149
  private readonly dynamicForm;
144
150
  private readonly componentKeys;
145
151
  private readonly route;
152
+ private readonly aiApi;
153
+ private readonly assistantSessions;
154
+ private readonly aiTurnOrchestrator;
155
+ private readonly aiAssistantSessionEffect;
146
156
  private warnedMissingId;
147
157
  private readonly panelForms;
148
158
  aiAdapter: ExpansionAiAdapter;
159
+ aiAssistantOpen: boolean;
160
+ aiAssistantPrompt: string;
161
+ aiAssistantViewState: PraxisAssistantTurnViewState | null;
162
+ aiAssistantLayout: PraxisAssistantShellLayout;
163
+ readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
164
+ private aiAssistantController;
165
+ private aiAssistantStateSubscription;
149
166
  accordionRef?: MatAccordion;
150
167
  panels?: QueryList<MatExpansionPanel>;
151
168
  injectedDefaults: MatExpansionPanelDefaultOptions | null;
@@ -153,6 +170,7 @@ declare class PraxisExpansion implements OnChanges, OnInit {
153
170
  single: () => PanelMetadata | null;
154
171
  ngOnInit(): void;
155
172
  ngOnChanges(changes: SimpleChanges): void;
173
+ ngOnDestroy(): void;
156
174
  styleCss(): string | null;
157
175
  emitOpened(p: PanelMetadata, index: number): void;
158
176
  emitClosed(p: PanelMetadata, index: number): void;
@@ -173,6 +191,32 @@ declare class PraxisExpansion implements OnChanges, OnInit {
173
191
  panelDomId(p: PanelMetadata | null, index: number): string;
174
192
  panelFormFor(panel: PanelMetadata, index: number): FormGroup<Record<string, any>>;
175
193
  applyConfigFromAdapter(next: ExpansionMetadata): void;
194
+ openAiAssistant(): void;
195
+ openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
196
+ closeAiAssistant(): void;
197
+ onAiAssistantPromptChange(prompt: string): void;
198
+ onAiAssistantSubmit(prompt: string): void;
199
+ onAiAssistantApply(): void;
200
+ onAiAssistantRetry(): void;
201
+ onAiAssistantCancel(): void;
202
+ onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
203
+ onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
204
+ onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
205
+ onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
206
+ buildAiAssistantContextItems(): PraxisAssistantShellContextItem[];
207
+ private initializeAiAssistantController;
208
+ private buildAiAssistantContextSnapshot;
209
+ private syncAiAssistantSession;
210
+ private hasAiAssistantSessionState;
211
+ private resolveAiAssistantSessionId;
212
+ private resolveAiAssistantOwnerId;
213
+ private safeAiAssistantExpansionId;
214
+ private resolveAiAssistantRouteKey;
215
+ private resolveAiAssistantSummary;
216
+ private resolveAiAssistantBadge;
217
+ private resolveAiAssistantIcon;
218
+ private collectAiAssistantPanelNames;
219
+ private collectAiAssistantCounts;
176
220
  openEditor(): void;
177
221
  private storageKey;
178
222
  private persistConfig;
@@ -215,6 +259,35 @@ declare class PraxisExpansionConfigEditor implements SettingsValueProvider, OnCh
215
259
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisExpansionConfigEditor, "praxis-expansion-config-editor", never, { "config": { "alias": "config"; "required": false; }; "expansionId": { "alias": "expansionId"; "required": false; }; }, {}, never, never, true, never>;
216
260
  }
217
261
 
262
+ interface PraxisExpansionWidgetEditorInputs {
263
+ config?: ExpansionMetadata | null;
264
+ expansionId?: string;
265
+ [key: string]: unknown;
266
+ }
267
+ interface PraxisExpansionWidgetEditorValue {
268
+ inputs: PraxisExpansionWidgetEditorInputs;
269
+ }
270
+ declare class PraxisExpansionWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
271
+ inputs: PraxisExpansionWidgetEditorInputs | null;
272
+ widgetKey?: string;
273
+ expansionEditor?: PraxisExpansionConfigEditor;
274
+ readonly isDirty$: BehaviorSubject<boolean>;
275
+ readonly isValid$: BehaviorSubject<boolean>;
276
+ readonly isBusy$: BehaviorSubject<boolean>;
277
+ private readonly subscription;
278
+ private readonly emptyConfig;
279
+ get config(): ExpansionMetadata;
280
+ get expansionId(): string | undefined;
281
+ ngAfterViewInit(): void;
282
+ ngOnDestroy(): void;
283
+ getSettingsValue(): PraxisExpansionWidgetEditorValue;
284
+ onSave(): PraxisExpansionWidgetEditorValue;
285
+ reset(): void;
286
+ private buildValue;
287
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisExpansionWidgetConfigEditor, never>;
288
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisExpansionWidgetConfigEditor, "praxis-expansion-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; }, {}, never, never, true, never>;
289
+ }
290
+
218
291
  declare const PRAXIS_EXPANSION_COMPONENT_METADATA: ComponentDocMeta;
219
292
  declare function providePraxisExpansionMetadata(): Provider;
220
293
  declare function providePraxisExpansionDefaults(opts: MatExpansionPanelDefaultOptions): Provider;
@@ -242,5 +315,7 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
242
315
  }
243
316
  declare const EXPANSION_AI_CAPABILITIES: CapabilityCatalog;
244
317
 
245
- export { EXPANSION_AI_CAPABILITIES, PRAXIS_EXPANSION_COMPONENT_METADATA, PraxisExpansion, PraxisExpansionConfigEditor, providePraxisExpansionDefaults, providePraxisExpansionMetadata };
246
- export type { Capability, CapabilityCatalog, CapabilityCategory, ExpansionAppearanceContainer, ExpansionAppearanceHeader, ExpansionAppearanceStates, ExpansionMetadata, PanelMetadata, ValueKind };
318
+ declare const PRAXIS_EXPANSION_AUTHORING_MANIFEST: ComponentAuthoringManifest;
319
+
320
+ export { EXPANSION_AI_CAPABILITIES, PRAXIS_EXPANSION_AUTHORING_MANIFEST, PRAXIS_EXPANSION_COMPONENT_METADATA, PraxisExpansion, PraxisExpansionConfigEditor, PraxisExpansionWidgetConfigEditor, providePraxisExpansionDefaults, providePraxisExpansionMetadata };
321
+ export type { Capability, CapabilityCatalog, CapabilityCategory, ExpansionAppearanceContainer, ExpansionAppearanceHeader, ExpansionAppearanceStates, ExpansionMetadata, PanelMetadata, PraxisExpansionWidgetEditorInputs, PraxisExpansionWidgetEditorValue, ValueKind };
package/package.json CHANGED
@@ -1,15 +1,19 @@
1
1
  {
2
2
  "name": "@praxisui/expansion",
3
- "version": "8.0.0-beta.2",
3
+ "version": "8.0.0-beta.21",
4
4
  "description": "Expansion panel (accordion) components for Praxis UI with metadata configuration and editor integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",
7
7
  "@angular/core": "^20.0.0",
8
8
  "@angular/material": "^20.0.0",
9
9
  "@angular/cdk": "^20.0.0",
10
- "@praxisui/core": "^8.0.0-beta.2",
11
- "@praxisui/dynamic-fields": "^8.0.0-beta.2",
12
- "@praxisui/settings-panel": "^8.0.0-beta.2"
10
+ "@praxisui/core": "^8.0.0-beta.21",
11
+ "@praxisui/dynamic-fields": "^8.0.0-beta.21",
12
+ "@praxisui/settings-panel": "^8.0.0-beta.21",
13
+ "@angular/forms": "^20.0.0",
14
+ "@angular/router": "^20.0.0",
15
+ "@praxisui/ai": "^8.0.0-beta.21",
16
+ "rxjs": "~7.8.0"
13
17
  },
14
18
  "dependencies": {
15
19
  "tslib": "^2.3.0"