@praxisui/dynamic-form 8.0.0-beta.11 → 8.0.0-beta.12
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/README.md +81 -12
- package/fesm2022/praxisui-dynamic-form.mjs +1289 -141
- package/index.d.ts +168 -6
- package/package.json +6 -6
package/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { MatDialog } from '@angular/material/dialog';
|
|
|
7
7
|
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
8
8
|
import { CdkDragStart, CdkDragMove, CdkDragEnd, CdkDragDrop } from '@angular/cdk/drag-drop';
|
|
9
9
|
import * as _praxisui_core from '@praxisui/core';
|
|
10
|
-
import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormActionButton, AiCapability, BackConfig, ApiEndpoint, ApiUrlEntry, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, RichContentDocument, JsonLogicRecord, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, ApiUrlConfig, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, GlobalActionCatalogEntry, FieldDefinition, ComponentDocMeta, Breakpoint, IconPickerService, GlobalActionRef, SurfaceOpenPayload, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, ComponentAuthoringManifest } from '@praxisui/core';
|
|
10
|
+
import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormLayoutItem, FormActionButton, AiCapability, BackConfig, ApiEndpoint, ApiUrlEntry, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, RichContentDocument, JsonLogicRecord, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, ApiUrlConfig, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, GlobalActionCatalogEntry, FieldDefinition, ComponentDocMeta, Breakpoint, IconPickerService, GlobalActionRef, SurfaceOpenPayload, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, ComponentAuthoringManifest } from '@praxisui/core';
|
|
11
11
|
import * as rxjs from 'rxjs';
|
|
12
12
|
import { Observable, BehaviorSubject } from 'rxjs';
|
|
13
13
|
import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
|
|
@@ -96,6 +96,7 @@ interface Operation {
|
|
|
96
96
|
sectionId?: string;
|
|
97
97
|
rowId?: string;
|
|
98
98
|
columnId?: string;
|
|
99
|
+
itemId?: string;
|
|
99
100
|
fieldName?: string;
|
|
100
101
|
sectionIndex?: number;
|
|
101
102
|
rowIndex?: number;
|
|
@@ -106,6 +107,7 @@ interface Operation {
|
|
|
106
107
|
sectionId?: string;
|
|
107
108
|
rowId?: string;
|
|
108
109
|
columnId?: string;
|
|
110
|
+
itemId?: string;
|
|
109
111
|
fieldName?: string;
|
|
110
112
|
sectionIndex?: number;
|
|
111
113
|
rowIndex?: number;
|
|
@@ -178,6 +180,14 @@ declare class DynamicFormLayoutService {
|
|
|
178
180
|
private capitalizeFirstLetter;
|
|
179
181
|
private assertIndex;
|
|
180
182
|
private mutate;
|
|
183
|
+
private getFieldName;
|
|
184
|
+
private findFieldLayoutItemIndex;
|
|
185
|
+
private getLayoutInsertIndexForFieldIndex;
|
|
186
|
+
private applyLayoutItemsToColumn;
|
|
187
|
+
private insertFieldLayoutItem;
|
|
188
|
+
private removeFieldLayoutItem;
|
|
189
|
+
private hasLayoutItems;
|
|
190
|
+
private moveFieldLayoutItem;
|
|
181
191
|
moveSection(config: FormConfig, fromIndex: number, toIndex: number): LayoutResult;
|
|
182
192
|
insertSection(config: FormConfig, section: any, atIndex?: number): LayoutResult;
|
|
183
193
|
removeSection(config: FormConfig, index: number, _policy?: RemovePolicy): LayoutResult;
|
|
@@ -235,6 +245,37 @@ declare class DynamicFormLayoutService {
|
|
|
235
245
|
rowId: string;
|
|
236
246
|
columnId: string;
|
|
237
247
|
}, field: any, atIndex?: number): LayoutResult;
|
|
248
|
+
insertLayoutItemById(config: FormConfig, target: {
|
|
249
|
+
sectionId: string;
|
|
250
|
+
rowId: string;
|
|
251
|
+
columnId: string;
|
|
252
|
+
}, item: FormLayoutItem, atIndex?: number): LayoutResult;
|
|
253
|
+
moveLayoutItemById(config: FormConfig, from: {
|
|
254
|
+
sectionId: string;
|
|
255
|
+
rowId: string;
|
|
256
|
+
columnId: string;
|
|
257
|
+
itemId: string;
|
|
258
|
+
}, to: {
|
|
259
|
+
sectionId: string;
|
|
260
|
+
rowId: string;
|
|
261
|
+
columnId: string;
|
|
262
|
+
toIndex: number;
|
|
263
|
+
}, options?: {
|
|
264
|
+
policy?: RemovePolicy;
|
|
265
|
+
correlationId?: string;
|
|
266
|
+
origin?: string;
|
|
267
|
+
}): LayoutResult;
|
|
268
|
+
updateLayoutItemById(config: FormConfig, target: {
|
|
269
|
+
sectionId: string;
|
|
270
|
+
rowId: string;
|
|
271
|
+
columnId: string;
|
|
272
|
+
itemId: string;
|
|
273
|
+
}, item: FormLayoutItem): LayoutResult;
|
|
274
|
+
removeLayoutItemById(config: FormConfig, sectionId: string, rowId: string, columnId: string, itemId: string, options?: {
|
|
275
|
+
policy?: RemovePolicy;
|
|
276
|
+
correlationId?: string;
|
|
277
|
+
origin?: string;
|
|
278
|
+
}): LayoutResult;
|
|
238
279
|
removeFieldById(config: FormConfig, sectionId: string, rowId: string, columnId: string, fieldName: string, options?: {
|
|
239
280
|
policy?: RemovePolicy;
|
|
240
281
|
correlationId?: string;
|
|
@@ -507,6 +548,19 @@ type ResolvedSectionHeaderVisual = {
|
|
|
507
548
|
text?: string;
|
|
508
549
|
ariaLabel: string;
|
|
509
550
|
};
|
|
551
|
+
interface FormColumnFieldsRenderItem {
|
|
552
|
+
kind: 'fields';
|
|
553
|
+
id: string;
|
|
554
|
+
fields: FieldMetadata[];
|
|
555
|
+
}
|
|
556
|
+
interface FormColumnRichContentRenderItem {
|
|
557
|
+
kind: 'richContent';
|
|
558
|
+
id: string;
|
|
559
|
+
document: RichContentDocument;
|
|
560
|
+
layout: 'block' | 'inline';
|
|
561
|
+
rootClassName?: string | null;
|
|
562
|
+
}
|
|
563
|
+
type FormColumnRenderItem = FormColumnFieldsRenderItem | FormColumnRichContentRenderItem;
|
|
510
564
|
declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
511
565
|
private crud;
|
|
512
566
|
private http;
|
|
@@ -890,11 +944,17 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
|
|
|
890
944
|
toggleSectionCollapse(event: Event, section: FormSection): void;
|
|
891
945
|
sectionPanelId(section: FormSection, index: number): string;
|
|
892
946
|
getSectionCollapsedSummary(section: FormSection): string;
|
|
947
|
+
getColumnItems(column: FormColumn): FormLayoutItem[];
|
|
948
|
+
getColumnRenderItems(column: FormColumn): FormColumnRenderItem[];
|
|
893
949
|
getColumnFields(column: {
|
|
894
|
-
fields
|
|
950
|
+
fields?: string[];
|
|
951
|
+
items?: FormLayoutItem[];
|
|
895
952
|
id?: string;
|
|
896
953
|
}): FieldMetadata[];
|
|
954
|
+
getRichContentLayoutItemDocument(item: FormLayoutItem): RichContentDocument | null;
|
|
955
|
+
getRichContentLayoutItemLayout(item: FormLayoutItem): 'block' | 'inline';
|
|
897
956
|
private getColumnFieldsSignature;
|
|
957
|
+
private getColumnItemsSignature;
|
|
898
958
|
private getColumnRuleProps;
|
|
899
959
|
private buildFieldRuleMetadataOverrides;
|
|
900
960
|
private normalizeRuleFieldOptions;
|
|
@@ -1335,11 +1395,42 @@ declare class LayoutPrefsService {
|
|
|
1335
1395
|
static ɵprov: i0.ɵɵInjectableDeclaration<LayoutPrefsService>;
|
|
1336
1396
|
}
|
|
1337
1397
|
|
|
1398
|
+
type VisualBlockPresetId = 'text' | 'notice' | 'divider' | 'infoCard';
|
|
1399
|
+
interface VisualBlockPreset {
|
|
1400
|
+
id: VisualBlockPresetId;
|
|
1401
|
+
labelKey: string;
|
|
1402
|
+
icon: string;
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1338
1405
|
interface FieldDropEvent {
|
|
1339
1406
|
event: CdkDragDrop<any>;
|
|
1340
1407
|
sectionIndex: number;
|
|
1341
1408
|
rowIndex: number;
|
|
1342
1409
|
}
|
|
1410
|
+
interface VisualBlockEvent {
|
|
1411
|
+
sectionIndex: number;
|
|
1412
|
+
rowIndex: number;
|
|
1413
|
+
columnIndex: number;
|
|
1414
|
+
itemId: string;
|
|
1415
|
+
}
|
|
1416
|
+
interface AddVisualBlockEvent {
|
|
1417
|
+
sectionIndex: number;
|
|
1418
|
+
rowIndex: number;
|
|
1419
|
+
columnIndex: number;
|
|
1420
|
+
presetId: VisualBlockPresetId;
|
|
1421
|
+
}
|
|
1422
|
+
interface AddApiFieldEvent {
|
|
1423
|
+
sectionIndex: number;
|
|
1424
|
+
rowIndex: number;
|
|
1425
|
+
columnIndex: number;
|
|
1426
|
+
fieldName: string;
|
|
1427
|
+
}
|
|
1428
|
+
interface MoveVisualBlockEvent extends VisualBlockEvent {
|
|
1429
|
+
direction: -1 | 1;
|
|
1430
|
+
}
|
|
1431
|
+
interface MoveVisualBlockToColumnEvent extends VisualBlockEvent {
|
|
1432
|
+
targetColumnIndex: number;
|
|
1433
|
+
}
|
|
1343
1434
|
/**
|
|
1344
1435
|
* Editor component for configuring sections, rows and fields of a dynamic form.
|
|
1345
1436
|
* Provides a collapsible palette of available fields.
|
|
@@ -1349,13 +1440,18 @@ declare class LayoutEditorComponent implements OnInit {
|
|
|
1349
1440
|
configChange: EventEmitter<FormConfig>;
|
|
1350
1441
|
paletteCollapsed: boolean;
|
|
1351
1442
|
protected readonly prefs: LayoutPrefsService;
|
|
1443
|
+
private readonly layoutService;
|
|
1444
|
+
private readonly settingsPanel;
|
|
1445
|
+
private readonly i18n;
|
|
1446
|
+
private visualBlockIdSequence;
|
|
1352
1447
|
protected readonly colorTokens: typeof LayoutColorToken;
|
|
1353
1448
|
selected: {
|
|
1354
|
-
type: 'section' | 'row' | 'column' | 'field';
|
|
1449
|
+
type: 'section' | 'row' | 'column' | 'field' | 'visualBlock';
|
|
1355
1450
|
sectionIndex?: number;
|
|
1356
1451
|
rowIndex?: number;
|
|
1357
1452
|
columnIndex?: number;
|
|
1358
1453
|
fieldName?: string;
|
|
1454
|
+
itemId?: string;
|
|
1359
1455
|
} | null;
|
|
1360
1456
|
gapGlobal: number;
|
|
1361
1457
|
setGapGlobal(val: number | string): void;
|
|
@@ -1380,6 +1476,7 @@ declare class LayoutEditorComponent implements OnInit {
|
|
|
1380
1476
|
* Fields that are not yet placed in any section/column of the layout.
|
|
1381
1477
|
*/
|
|
1382
1478
|
get availableFields(): FieldMetadata[];
|
|
1479
|
+
t(key: string, params?: Record<string, string | number | boolean | null | undefined>): string;
|
|
1383
1480
|
get columnDropListIds(): string[];
|
|
1384
1481
|
getColumnId(sectionIndex: number, rowIndex: number, columnIndex: number): string;
|
|
1385
1482
|
private parseColumnId;
|
|
@@ -1390,10 +1487,24 @@ declare class LayoutEditorComponent implements OnInit {
|
|
|
1390
1487
|
selectRow(sectionIndex: number, rowIndex: number): void;
|
|
1391
1488
|
selectColumn(sectionIndex: number, rowIndex: number, columnIndex: number): void;
|
|
1392
1489
|
dropField({ event }: FieldDropEvent): void;
|
|
1490
|
+
private getColumnTargetByIndex;
|
|
1491
|
+
private getLayoutItemTargetByIndex;
|
|
1393
1492
|
dropSection(event: CdkDragDrop<FormSection[]>): void;
|
|
1394
1493
|
addSection(): void;
|
|
1395
1494
|
removeSection(index: number): void;
|
|
1396
1495
|
onSectionUpdated(index: number, updatedSection: FormSection): void;
|
|
1496
|
+
addVisualBlockToColumn(event: AddVisualBlockEvent): void;
|
|
1497
|
+
private createVisualBlockItemId;
|
|
1498
|
+
addApiFieldToColumn(event: AddApiFieldEvent): void;
|
|
1499
|
+
openVisualBlockEditor(event: {
|
|
1500
|
+
sectionIndex: number;
|
|
1501
|
+
rowIndex: number;
|
|
1502
|
+
columnIndex: number;
|
|
1503
|
+
itemId: string;
|
|
1504
|
+
}): void;
|
|
1505
|
+
moveVisualBlock(event: MoveVisualBlockEvent): void;
|
|
1506
|
+
moveVisualBlockToColumn(event: MoveVisualBlockToColumnEvent): void;
|
|
1507
|
+
removeVisualBlock(event: VisualBlockEvent): void;
|
|
1397
1508
|
private emitNewConfig;
|
|
1398
1509
|
onApplyStyleToAll(patch: Partial<FormSection>): void;
|
|
1399
1510
|
trackBySection(index: number, s: FormSection & {
|
|
@@ -1406,15 +1517,17 @@ declare class LayoutEditorComponent implements OnInit {
|
|
|
1406
1517
|
declare class RowConfiguratorComponent implements OnChanges {
|
|
1407
1518
|
row: FormRow;
|
|
1408
1519
|
fieldMetadata: FieldMetadata[];
|
|
1520
|
+
availableFields: FieldMetadata[];
|
|
1409
1521
|
sectionIndex: number;
|
|
1410
1522
|
rowIndex: number;
|
|
1411
1523
|
isLastRow: boolean;
|
|
1412
1524
|
selected: {
|
|
1413
|
-
type: 'section' | 'row' | 'column' | 'field';
|
|
1525
|
+
type: 'section' | 'row' | 'column' | 'field' | 'visualBlock';
|
|
1414
1526
|
sectionIndex?: number;
|
|
1415
1527
|
rowIndex?: number;
|
|
1416
1528
|
columnIndex?: number;
|
|
1417
1529
|
fieldName?: string;
|
|
1530
|
+
itemId?: string;
|
|
1418
1531
|
} | null;
|
|
1419
1532
|
availableFieldsListId: string | null;
|
|
1420
1533
|
connectedDropListIds: string[];
|
|
@@ -1424,8 +1537,42 @@ declare class RowConfiguratorComponent implements OnChanges {
|
|
|
1424
1537
|
remove: EventEmitter<void>;
|
|
1425
1538
|
applyRowGapAll: EventEmitter<number>;
|
|
1426
1539
|
fieldDrop: EventEmitter<CdkDragDrop<any, any, any>>;
|
|
1540
|
+
addVisualBlock: EventEmitter<{
|
|
1541
|
+
rowIndex: number;
|
|
1542
|
+
columnIndex: number;
|
|
1543
|
+
presetId: VisualBlockPresetId;
|
|
1544
|
+
}>;
|
|
1545
|
+
addApiField: EventEmitter<{
|
|
1546
|
+
rowIndex: number;
|
|
1547
|
+
columnIndex: number;
|
|
1548
|
+
fieldName: string;
|
|
1549
|
+
}>;
|
|
1550
|
+
editVisualBlock: EventEmitter<{
|
|
1551
|
+
rowIndex: number;
|
|
1552
|
+
columnIndex: number;
|
|
1553
|
+
itemId: string;
|
|
1554
|
+
}>;
|
|
1555
|
+
moveVisualBlock: EventEmitter<{
|
|
1556
|
+
rowIndex: number;
|
|
1557
|
+
columnIndex: number;
|
|
1558
|
+
itemId: string;
|
|
1559
|
+
direction: -1 | 1;
|
|
1560
|
+
}>;
|
|
1561
|
+
moveVisualBlockToColumn: EventEmitter<{
|
|
1562
|
+
rowIndex: number;
|
|
1563
|
+
columnIndex: number;
|
|
1564
|
+
targetColumnIndex: number;
|
|
1565
|
+
itemId: string;
|
|
1566
|
+
}>;
|
|
1567
|
+
removeVisualBlock: EventEmitter<{
|
|
1568
|
+
rowIndex: number;
|
|
1569
|
+
columnIndex: number;
|
|
1570
|
+
itemId: string;
|
|
1571
|
+
}>;
|
|
1427
1572
|
select: EventEmitter<any>;
|
|
1428
1573
|
activeDropIndex: number | null;
|
|
1574
|
+
protected readonly visualBlockPresets: readonly VisualBlockPreset[];
|
|
1575
|
+
private readonly i18n;
|
|
1429
1576
|
private hoverTimer;
|
|
1430
1577
|
protected readonly breakpoints: Breakpoint[];
|
|
1431
1578
|
previewBreakpoint: Breakpoint;
|
|
@@ -1438,6 +1585,19 @@ declare class RowConfiguratorComponent implements OnChanges {
|
|
|
1438
1585
|
ngOnChanges(changes: SimpleChanges): void;
|
|
1439
1586
|
private rebuildConnectedColumnsCache;
|
|
1440
1587
|
getFieldByName(fieldName: string): FieldMetadata;
|
|
1588
|
+
getColumnLayoutItems(column: FormColumn): FormLayoutItem[];
|
|
1589
|
+
hasColumnContent(column: FormColumn): boolean;
|
|
1590
|
+
getVisualBlockLabel(item: FormLayoutItem): string;
|
|
1591
|
+
private findRichContentLabel;
|
|
1592
|
+
private findRichNodeLabel;
|
|
1593
|
+
t(key: string, params?: Record<string, string | number | boolean | null | undefined>): string;
|
|
1594
|
+
getFieldLabel(field: FieldMetadata): string;
|
|
1595
|
+
selectVisualBlock(columnIndex: number, item: FormLayoutItem, event: MouseEvent): void;
|
|
1596
|
+
openVisualBlockEditor(columnIndex: number, item: FormLayoutItem, event: MouseEvent): void;
|
|
1597
|
+
moveVisualBlockItem(columnIndex: number, item: FormLayoutItem, direction: -1 | 1, event: MouseEvent): void;
|
|
1598
|
+
canMoveVisualBlockToColumn(columnIndex: number, direction: -1 | 1): boolean;
|
|
1599
|
+
moveVisualBlockToAdjacentColumn(columnIndex: number, item: FormLayoutItem, direction: -1 | 1, event: MouseEvent): void;
|
|
1600
|
+
removeVisualBlockItem(columnIndex: number, item: FormLayoutItem, event: MouseEvent): void;
|
|
1441
1601
|
drop(event: CdkDragDrop<string[]>): void;
|
|
1442
1602
|
selectRow(): void;
|
|
1443
1603
|
openColumnConfig(index: number): void;
|
|
@@ -1456,6 +1616,8 @@ declare class RowConfiguratorComponent implements OnChanges {
|
|
|
1456
1616
|
removeRow(): void;
|
|
1457
1617
|
moveColumn(index: number, direction: number): void;
|
|
1458
1618
|
clearColumn(index: number): void;
|
|
1619
|
+
addVisualBlockToColumn(index: number, presetId: VisualBlockPresetId): void;
|
|
1620
|
+
addApiFieldToColumn(index: number, fieldName: string): void;
|
|
1459
1621
|
addFieldToColumn(index: number): void;
|
|
1460
1622
|
getColumnId(index: number): string;
|
|
1461
1623
|
private generateId;
|
|
@@ -1479,7 +1641,7 @@ declare class RowConfiguratorComponent implements OnChanges {
|
|
|
1479
1641
|
adjustOffset(columnIndex: number, delta: number): void;
|
|
1480
1642
|
getSuggestedSpan(columnIndex: number): number | null;
|
|
1481
1643
|
static ɵfac: i0.ɵɵFactoryDeclaration<RowConfiguratorComponent, never>;
|
|
1482
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RowConfiguratorComponent, "praxis-row-configurator", never, { "row": { "alias": "row"; "required": false; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; "sectionIndex": { "alias": "sectionIndex"; "required": false; }; "rowIndex": { "alias": "rowIndex"; "required": false; }; "isLastRow": { "alias": "isLastRow"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "availableFieldsListId": { "alias": "availableFieldsListId"; "required": false; }; "connectedDropListIds": { "alias": "connectedDropListIds"; "required": false; }; "gapGlobal": { "alias": "gapGlobal"; "required": false; }; }, { "rowChange": "rowChange"; "remove": "remove"; "applyRowGapAll": "applyRowGapAll"; "fieldDrop": "fieldDrop"; "select": "select"; }, never, never, true, never>;
|
|
1644
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RowConfiguratorComponent, "praxis-row-configurator", never, { "row": { "alias": "row"; "required": false; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; "availableFields": { "alias": "availableFields"; "required": false; }; "sectionIndex": { "alias": "sectionIndex"; "required": false; }; "rowIndex": { "alias": "rowIndex"; "required": false; }; "isLastRow": { "alias": "isLastRow"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; "availableFieldsListId": { "alias": "availableFieldsListId"; "required": false; }; "connectedDropListIds": { "alias": "connectedDropListIds"; "required": false; }; "gapGlobal": { "alias": "gapGlobal"; "required": false; }; }, { "rowChange": "rowChange"; "remove": "remove"; "applyRowGapAll": "applyRowGapAll"; "fieldDrop": "fieldDrop"; "addVisualBlock": "addVisualBlock"; "addApiField": "addApiField"; "editVisualBlock": "editVisualBlock"; "moveVisualBlock": "moveVisualBlock"; "moveVisualBlockToColumn": "moveVisualBlockToColumn"; "removeVisualBlock": "removeVisualBlock"; "select": "select"; }, never, never, true, never>;
|
|
1483
1645
|
}
|
|
1484
1646
|
|
|
1485
1647
|
declare class FieldConfiguratorComponent {
|
|
@@ -1990,7 +2152,7 @@ declare function getFormAiCatalog(formConfig?: FormConfig): AiCapabilityCatalog;
|
|
|
1990
2152
|
* Manifesto de authoring canônico para o componente praxis-dynamic-form.
|
|
1991
2153
|
* Este arquivo define as operações permitidas pela IA para editar formulários.
|
|
1992
2154
|
*
|
|
1993
|
-
* @version 1.
|
|
2155
|
+
* @version 1.5.0
|
|
1994
2156
|
* @status COMPLIANT - Alinhado com contrato v2, gate de aceitação e semântica local/schema-backed.
|
|
1995
2157
|
*/
|
|
1996
2158
|
declare const PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-form",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.12",
|
|
4
4
|
"description": "Angular dynamic form engine for Praxis UI: metadata-driven forms, hooks, and services integrating @praxisui/* packages.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^20.0.0",
|
|
7
7
|
"@angular/core": "^20.0.0",
|
|
8
8
|
"@angular/cdk": "^20.0.0",
|
|
9
|
-
"@praxisui/rich-content": "^8.0.0-beta.
|
|
10
|
-
"@praxisui/settings-panel": "^8.0.0-beta.
|
|
11
|
-
"@praxisui/visual-builder": "^8.0.0-beta.
|
|
12
|
-
"@praxisui/core": "^8.0.0-beta.
|
|
13
|
-
"@praxisui/cron-builder": "^8.0.0-beta.
|
|
9
|
+
"@praxisui/rich-content": "^8.0.0-beta.12",
|
|
10
|
+
"@praxisui/settings-panel": "^8.0.0-beta.12",
|
|
11
|
+
"@praxisui/visual-builder": "^8.0.0-beta.12",
|
|
12
|
+
"@praxisui/core": "^8.0.0-beta.12",
|
|
13
|
+
"@praxisui/cron-builder": "^8.0.0-beta.12"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"tslib": "^2.3.0",
|