@praxisui/dynamic-form 8.0.0-beta.11 → 8.0.0-beta.13

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
@@ -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';
@@ -53,6 +53,7 @@ interface RuleApplicationResult {
53
53
  actionProps: Record<string, Record<string, any>>;
54
54
  rowProps: Record<string, Record<string, any>>;
55
55
  columnProps: Record<string, Record<string, any>>;
56
+ visualBlockProps: Record<string, Record<string, any>>;
56
57
  }
57
58
  declare class FormRulesService {
58
59
  private readonly jsonLogic;
@@ -96,6 +97,7 @@ interface Operation {
96
97
  sectionId?: string;
97
98
  rowId?: string;
98
99
  columnId?: string;
100
+ itemId?: string;
99
101
  fieldName?: string;
100
102
  sectionIndex?: number;
101
103
  rowIndex?: number;
@@ -106,6 +108,7 @@ interface Operation {
106
108
  sectionId?: string;
107
109
  rowId?: string;
108
110
  columnId?: string;
111
+ itemId?: string;
109
112
  fieldName?: string;
110
113
  sectionIndex?: number;
111
114
  rowIndex?: number;
@@ -178,6 +181,14 @@ declare class DynamicFormLayoutService {
178
181
  private capitalizeFirstLetter;
179
182
  private assertIndex;
180
183
  private mutate;
184
+ private getFieldName;
185
+ private findFieldLayoutItemIndex;
186
+ private getLayoutInsertIndexForFieldIndex;
187
+ private applyLayoutItemsToColumn;
188
+ private insertFieldLayoutItem;
189
+ private removeFieldLayoutItem;
190
+ private hasLayoutItems;
191
+ private moveFieldLayoutItem;
181
192
  moveSection(config: FormConfig, fromIndex: number, toIndex: number): LayoutResult;
182
193
  insertSection(config: FormConfig, section: any, atIndex?: number): LayoutResult;
183
194
  removeSection(config: FormConfig, index: number, _policy?: RemovePolicy): LayoutResult;
@@ -235,6 +246,37 @@ declare class DynamicFormLayoutService {
235
246
  rowId: string;
236
247
  columnId: string;
237
248
  }, field: any, atIndex?: number): LayoutResult;
249
+ insertLayoutItemById(config: FormConfig, target: {
250
+ sectionId: string;
251
+ rowId: string;
252
+ columnId: string;
253
+ }, item: FormLayoutItem, atIndex?: number): LayoutResult;
254
+ moveLayoutItemById(config: FormConfig, from: {
255
+ sectionId: string;
256
+ rowId: string;
257
+ columnId: string;
258
+ itemId: string;
259
+ }, to: {
260
+ sectionId: string;
261
+ rowId: string;
262
+ columnId: string;
263
+ toIndex: number;
264
+ }, options?: {
265
+ policy?: RemovePolicy;
266
+ correlationId?: string;
267
+ origin?: string;
268
+ }): LayoutResult;
269
+ updateLayoutItemById(config: FormConfig, target: {
270
+ sectionId: string;
271
+ rowId: string;
272
+ columnId: string;
273
+ itemId: string;
274
+ }, item: FormLayoutItem): LayoutResult;
275
+ removeLayoutItemById(config: FormConfig, sectionId: string, rowId: string, columnId: string, itemId: string, options?: {
276
+ policy?: RemovePolicy;
277
+ correlationId?: string;
278
+ origin?: string;
279
+ }): LayoutResult;
238
280
  removeFieldById(config: FormConfig, sectionId: string, rowId: string, columnId: string, fieldName: string, options?: {
239
281
  policy?: RemovePolicy;
240
282
  correlationId?: string;
@@ -507,6 +549,21 @@ type ResolvedSectionHeaderVisual = {
507
549
  text?: string;
508
550
  ariaLabel: string;
509
551
  };
552
+ interface FormColumnFieldsRenderItem {
553
+ kind: 'fields';
554
+ id: string;
555
+ fields: FieldMetadata[];
556
+ }
557
+ interface FormColumnRichContentRenderItem {
558
+ kind: 'richContent';
559
+ id: string;
560
+ document: RichContentDocument;
561
+ layout: 'block' | 'inline';
562
+ rootClassName?: string | null;
563
+ className?: string | null;
564
+ style?: Record<string, any> | null;
565
+ }
566
+ type FormColumnRenderItem = FormColumnFieldsRenderItem | FormColumnRichContentRenderItem;
510
567
  declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
511
568
  private crud;
512
569
  private http;
@@ -668,6 +725,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
668
725
  actionRuleProps: Record<string, Record<string, any>>;
669
726
  private rowRuleProps;
670
727
  private columnRuleProps;
728
+ private visualBlockRuleProps;
671
729
  private pendingEntityId;
672
730
  private loadedEntityId;
673
731
  private hydratedEntityId;
@@ -890,11 +948,19 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
890
948
  toggleSectionCollapse(event: Event, section: FormSection): void;
891
949
  sectionPanelId(section: FormSection, index: number): string;
892
950
  getSectionCollapsedSummary(section: FormSection): string;
951
+ getColumnItems(column: FormColumn): FormLayoutItem[];
952
+ getColumnRenderItems(column: FormColumn): FormColumnRenderItem[];
893
953
  getColumnFields(column: {
894
- fields: string[];
954
+ fields?: string[];
955
+ items?: FormLayoutItem[];
895
956
  id?: string;
896
957
  }): FieldMetadata[];
958
+ getRichContentLayoutItemDocument(item: FormLayoutItem): RichContentDocument | null;
959
+ getRichContentLayoutItemLayout(item: FormLayoutItem): 'block' | 'inline';
960
+ private getVisualBlockRuleProps;
961
+ private isRichContentLayoutItemVisible;
897
962
  private getColumnFieldsSignature;
963
+ private getColumnItemsSignature;
898
964
  private getColumnRuleProps;
899
965
  private buildFieldRuleMetadataOverrides;
900
966
  private normalizeRuleFieldOptions;
@@ -1242,6 +1308,8 @@ declare class PraxisDynamicFormConfigEditor implements SettingsValueProvider, On
1242
1308
  onSchemaPrefsChange(reason: string): void;
1243
1309
  private createRuleBuilderConfig;
1244
1310
  private mapMetadataToSchema;
1311
+ private getVisualBlockTargetLabel;
1312
+ private findRichContentNodeText;
1245
1313
  private mapDataTypeToFieldType;
1246
1314
  ngOnDestroy(): void;
1247
1315
  onLayoutSelect(event: any): void;
@@ -1335,11 +1403,42 @@ declare class LayoutPrefsService {
1335
1403
  static ɵprov: i0.ɵɵInjectableDeclaration<LayoutPrefsService>;
1336
1404
  }
1337
1405
 
1406
+ type VisualBlockPresetId = 'text' | 'notice' | 'divider' | 'infoCard';
1407
+ interface VisualBlockPreset {
1408
+ id: VisualBlockPresetId;
1409
+ labelKey: string;
1410
+ icon: string;
1411
+ }
1412
+
1338
1413
  interface FieldDropEvent {
1339
1414
  event: CdkDragDrop<any>;
1340
1415
  sectionIndex: number;
1341
1416
  rowIndex: number;
1342
1417
  }
1418
+ interface VisualBlockEvent {
1419
+ sectionIndex: number;
1420
+ rowIndex: number;
1421
+ columnIndex: number;
1422
+ itemId: string;
1423
+ }
1424
+ interface AddVisualBlockEvent {
1425
+ sectionIndex: number;
1426
+ rowIndex: number;
1427
+ columnIndex: number;
1428
+ presetId: VisualBlockPresetId;
1429
+ }
1430
+ interface AddApiFieldEvent {
1431
+ sectionIndex: number;
1432
+ rowIndex: number;
1433
+ columnIndex: number;
1434
+ fieldName: string;
1435
+ }
1436
+ interface MoveVisualBlockEvent extends VisualBlockEvent {
1437
+ direction: -1 | 1;
1438
+ }
1439
+ interface MoveVisualBlockToColumnEvent extends VisualBlockEvent {
1440
+ targetColumnIndex: number;
1441
+ }
1343
1442
  /**
1344
1443
  * Editor component for configuring sections, rows and fields of a dynamic form.
1345
1444
  * Provides a collapsible palette of available fields.
@@ -1349,13 +1448,18 @@ declare class LayoutEditorComponent implements OnInit {
1349
1448
  configChange: EventEmitter<FormConfig>;
1350
1449
  paletteCollapsed: boolean;
1351
1450
  protected readonly prefs: LayoutPrefsService;
1451
+ private readonly layoutService;
1452
+ private readonly settingsPanel;
1453
+ private readonly i18n;
1454
+ private visualBlockIdSequence;
1352
1455
  protected readonly colorTokens: typeof LayoutColorToken;
1353
1456
  selected: {
1354
- type: 'section' | 'row' | 'column' | 'field';
1457
+ type: 'section' | 'row' | 'column' | 'field' | 'visualBlock';
1355
1458
  sectionIndex?: number;
1356
1459
  rowIndex?: number;
1357
1460
  columnIndex?: number;
1358
1461
  fieldName?: string;
1462
+ itemId?: string;
1359
1463
  } | null;
1360
1464
  gapGlobal: number;
1361
1465
  setGapGlobal(val: number | string): void;
@@ -1380,6 +1484,7 @@ declare class LayoutEditorComponent implements OnInit {
1380
1484
  * Fields that are not yet placed in any section/column of the layout.
1381
1485
  */
1382
1486
  get availableFields(): FieldMetadata[];
1487
+ t(key: string, params?: Record<string, string | number | boolean | null | undefined>): string;
1383
1488
  get columnDropListIds(): string[];
1384
1489
  getColumnId(sectionIndex: number, rowIndex: number, columnIndex: number): string;
1385
1490
  private parseColumnId;
@@ -1390,10 +1495,25 @@ declare class LayoutEditorComponent implements OnInit {
1390
1495
  selectRow(sectionIndex: number, rowIndex: number): void;
1391
1496
  selectColumn(sectionIndex: number, rowIndex: number, columnIndex: number): void;
1392
1497
  dropField({ event }: FieldDropEvent): void;
1498
+ private getColumnLayoutItemByIndex;
1499
+ private getColumnTargetByIndex;
1500
+ private getLayoutItemTargetByIndex;
1393
1501
  dropSection(event: CdkDragDrop<FormSection[]>): void;
1394
1502
  addSection(): void;
1395
1503
  removeSection(index: number): void;
1396
1504
  onSectionUpdated(index: number, updatedSection: FormSection): void;
1505
+ addVisualBlockToColumn(event: AddVisualBlockEvent): void;
1506
+ private createVisualBlockItemId;
1507
+ addApiFieldToColumn(event: AddApiFieldEvent): void;
1508
+ openVisualBlockEditor(event: {
1509
+ sectionIndex: number;
1510
+ rowIndex: number;
1511
+ columnIndex: number;
1512
+ itemId: string;
1513
+ }): void;
1514
+ moveVisualBlock(event: MoveVisualBlockEvent): void;
1515
+ moveVisualBlockToColumn(event: MoveVisualBlockToColumnEvent): void;
1516
+ removeVisualBlock(event: VisualBlockEvent): void;
1397
1517
  private emitNewConfig;
1398
1518
  onApplyStyleToAll(patch: Partial<FormSection>): void;
1399
1519
  trackBySection(index: number, s: FormSection & {
@@ -1406,15 +1526,17 @@ declare class LayoutEditorComponent implements OnInit {
1406
1526
  declare class RowConfiguratorComponent implements OnChanges {
1407
1527
  row: FormRow;
1408
1528
  fieldMetadata: FieldMetadata[];
1529
+ availableFields: FieldMetadata[];
1409
1530
  sectionIndex: number;
1410
1531
  rowIndex: number;
1411
1532
  isLastRow: boolean;
1412
1533
  selected: {
1413
- type: 'section' | 'row' | 'column' | 'field';
1534
+ type: 'section' | 'row' | 'column' | 'field' | 'visualBlock';
1414
1535
  sectionIndex?: number;
1415
1536
  rowIndex?: number;
1416
1537
  columnIndex?: number;
1417
1538
  fieldName?: string;
1539
+ itemId?: string;
1418
1540
  } | null;
1419
1541
  availableFieldsListId: string | null;
1420
1542
  connectedDropListIds: string[];
@@ -1424,8 +1546,42 @@ declare class RowConfiguratorComponent implements OnChanges {
1424
1546
  remove: EventEmitter<void>;
1425
1547
  applyRowGapAll: EventEmitter<number>;
1426
1548
  fieldDrop: EventEmitter<CdkDragDrop<any, any, any>>;
1549
+ addVisualBlock: EventEmitter<{
1550
+ rowIndex: number;
1551
+ columnIndex: number;
1552
+ presetId: VisualBlockPresetId;
1553
+ }>;
1554
+ addApiField: EventEmitter<{
1555
+ rowIndex: number;
1556
+ columnIndex: number;
1557
+ fieldName: string;
1558
+ }>;
1559
+ editVisualBlock: EventEmitter<{
1560
+ rowIndex: number;
1561
+ columnIndex: number;
1562
+ itemId: string;
1563
+ }>;
1564
+ moveVisualBlock: EventEmitter<{
1565
+ rowIndex: number;
1566
+ columnIndex: number;
1567
+ itemId: string;
1568
+ direction: -1 | 1;
1569
+ }>;
1570
+ moveVisualBlockToColumn: EventEmitter<{
1571
+ rowIndex: number;
1572
+ columnIndex: number;
1573
+ targetColumnIndex: number;
1574
+ itemId: string;
1575
+ }>;
1576
+ removeVisualBlock: EventEmitter<{
1577
+ rowIndex: number;
1578
+ columnIndex: number;
1579
+ itemId: string;
1580
+ }>;
1427
1581
  select: EventEmitter<any>;
1428
1582
  activeDropIndex: number | null;
1583
+ protected readonly visualBlockPresets: readonly VisualBlockPreset[];
1584
+ private readonly i18n;
1429
1585
  private hoverTimer;
1430
1586
  protected readonly breakpoints: Breakpoint[];
1431
1587
  previewBreakpoint: Breakpoint;
@@ -1438,7 +1594,21 @@ declare class RowConfiguratorComponent implements OnChanges {
1438
1594
  ngOnChanges(changes: SimpleChanges): void;
1439
1595
  private rebuildConnectedColumnsCache;
1440
1596
  getFieldByName(fieldName: string): FieldMetadata;
1441
- drop(event: CdkDragDrop<string[]>): void;
1597
+ getColumnLayoutItems(column: FormColumn): FormLayoutItem[];
1598
+ trackLayoutItem(_: number, item: FormLayoutItem): string;
1599
+ hasColumnContent(column: FormColumn): boolean;
1600
+ getVisualBlockLabel(item: FormLayoutItem): string;
1601
+ private findRichContentLabel;
1602
+ private findRichNodeLabel;
1603
+ t(key: string, params?: Record<string, string | number | boolean | null | undefined>): string;
1604
+ getFieldLabel(field: FieldMetadata): string;
1605
+ selectVisualBlock(columnIndex: number, item: FormLayoutItem, event: Event): void;
1606
+ openVisualBlockEditor(columnIndex: number, item: FormLayoutItem, event: Event): void;
1607
+ moveVisualBlockItem(columnIndex: number, item: FormLayoutItem, direction: -1 | 1, event: Event): void;
1608
+ canMoveVisualBlockToColumn(columnIndex: number, direction: -1 | 1): boolean;
1609
+ moveVisualBlockToAdjacentColumn(columnIndex: number, item: FormLayoutItem, direction: -1 | 1, event: Event): void;
1610
+ removeVisualBlockItem(columnIndex: number, item: FormLayoutItem, event: Event): void;
1611
+ drop(event: CdkDragDrop<FormLayoutItem[], FormLayoutItem[] | FieldMetadata[], FormLayoutItem | FieldMetadata>): void;
1442
1612
  selectRow(): void;
1443
1613
  openColumnConfig(index: number): void;
1444
1614
  selectColumn(index: number, event: MouseEvent): void;
@@ -1456,6 +1626,8 @@ declare class RowConfiguratorComponent implements OnChanges {
1456
1626
  removeRow(): void;
1457
1627
  moveColumn(index: number, direction: number): void;
1458
1628
  clearColumn(index: number): void;
1629
+ addVisualBlockToColumn(index: number, presetId: VisualBlockPresetId): void;
1630
+ addApiFieldToColumn(index: number, fieldName: string): void;
1459
1631
  addFieldToColumn(index: number): void;
1460
1632
  getColumnId(index: number): string;
1461
1633
  private generateId;
@@ -1479,7 +1651,7 @@ declare class RowConfiguratorComponent implements OnChanges {
1479
1651
  adjustOffset(columnIndex: number, delta: number): void;
1480
1652
  getSuggestedSpan(columnIndex: number): number | null;
1481
1653
  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>;
1654
+ 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
1655
  }
1484
1656
 
1485
1657
  declare class FieldConfiguratorComponent {
@@ -1894,7 +2066,8 @@ declare enum FormRuleTargetType {
1894
2066
  Section = "section",
1895
2067
  Action = "action",
1896
2068
  Row = "row",
1897
- Column = "column"
2069
+ Column = "column",
2070
+ VisualBlock = "visualBlock"
1898
2071
  }
1899
2072
  declare enum FormRuleContext {
1900
2073
  Visibility = "visibility",
@@ -1990,7 +2163,7 @@ declare function getFormAiCatalog(formConfig?: FormConfig): AiCapabilityCatalog;
1990
2163
  * Manifesto de authoring canônico para o componente praxis-dynamic-form.
1991
2164
  * Este arquivo define as operações permitidas pela IA para editar formulários.
1992
2165
  *
1993
- * @version 1.4.0
2166
+ * @version 1.5.0
1994
2167
  * @status COMPLIANT - Alinhado com contrato v2, gate de aceitação e semântica local/schema-backed.
1995
2168
  */
1996
2169
  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.11",
3
+ "version": "8.0.0-beta.13",
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.11",
10
- "@praxisui/settings-panel": "^8.0.0-beta.11",
11
- "@praxisui/visual-builder": "^8.0.0-beta.11",
12
- "@praxisui/core": "^8.0.0-beta.11",
13
- "@praxisui/cron-builder": "^8.0.0-beta.11"
9
+ "@praxisui/rich-content": "^8.0.0-beta.13",
10
+ "@praxisui/settings-panel": "^8.0.0-beta.13",
11
+ "@praxisui/visual-builder": "^8.0.0-beta.13",
12
+ "@praxisui/core": "^8.0.0-beta.13",
13
+ "@praxisui/cron-builder": "^8.0.0-beta.13"
14
14
  },
15
15
  "dependencies": {
16
16
  "tslib": "^2.3.0",